-
Notifications
You must be signed in to change notification settings - Fork 32
/
test.js
29 lines (29 loc) · 1.02 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import fs from 'fs';
import path, {dirname} from 'path';
import assert from 'assert';
import {spawn} from 'child_process';
import syntaxError from 'syntax-error';
import {fileURLToPath} from 'url';
import {createRequire} from 'module';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const require = createRequire(__dirname);
const folders = ['.', ...Object.keys(require(path.join(__dirname, './package.json')).directories)];
const files = [];
for (const folder of folders) {
for (const file of fs.readdirSync(folder).filter((v) => v.endsWith('.js'))) {
files.push(path.resolve(path.join(folder, file)));
}
}
for (const file of files) {
if (file == __filename) continue;
console.error('Checking', file);
const error = syntaxError(fs.readFileSync(file, 'utf8'), file, {
sourceType: 'module',
allowReturnOutsideFunction: true,
allowAwaitOutsideFunction: true,
});
if (error) assert.ok(error.length < 1, file + '\n\n' + error);
assert.ok(file);
console.log('Done', file);
}