const path = require('path'); const childProcess = require('child_process'); const typeCheck = () => { const tscExec = path.resolve(require.resolve('typescript'), '../../bin/tsc'); const tscChild = childProcess.spawn(process.execPath, [tscExec, '--project', './ts-smoke/tsconfig.json'], { cwd: path.resolve(__dirname, '../') }); tscChild.stdout.on('data', d => console.log(d.toString())); tscChild.stderr.on('data', d => console.error(d.toString())); tscChild.on('exit', (tscStatus) => { if (tscStatus !== 0) { process.exit(tscStatus); } }); }; typeCheck();