8 lines
609 B
JavaScript
8 lines
609 B
JavaScript
import { readdirSync } from 'node:fs';
|
|
import { join } from 'node:path';
|
|
import { spawnSync } from 'node:child_process';
|
|
let failed=false;
|
|
function walk(dir){for(const entry of readdirSync(dir,{withFileTypes:true})){const p=join(dir,entry.name);if(entry.isDirectory())walk(p);else if(/\.(mjs|cjs|js)$/.test(p)){const result=spawnSync(process.execPath,['--check',p],{encoding:'utf8'});if(result.status!==0){console.error(result.stderr);failed=true;}}}}
|
|
for(const directory of ['apps','packages','scripts','tests'])walk(directory);
|
|
if(failed)process.exit(1);console.log('All JavaScript syntax checks passed.');
|