14 lines
497 B
JavaScript
14 lines
497 B
JavaScript
|
|
const ts = require('typescript');
|
||
|
|
const fs = require('fs');
|
||
|
|
|
||
|
|
const path = process.argv[2];
|
||
|
|
try {
|
||
|
|
const src = fs.readFileSync(path, 'utf-8');
|
||
|
|
const sourceFile = ts.createSourceFile(path, src, ts.ScriptTarget.Latest, true);
|
||
|
|
// 检查顶层语句数量判断是否能 parse
|
||
|
|
const stmtCount = sourceFile.statements ? sourceFile.statements.length : 0;
|
||
|
|
console.log('[OK]', path.split(/[\\/]/).pop(), ':', stmtCount, 'top-level statements');
|
||
|
|
} catch (e) {
|
||
|
|
console.log('[FAIL]', e.message);
|
||
|
|
}
|