build: auto generate electron.d.ts in the spec runner if it is missing

This commit is contained in:
Samuel Attard 2019-03-10 16:24:27 -07:00
parent ca701bb9af
commit 3656d12cba
No known key found for this signature in database
GPG key ID: 191FEF027779CC6C
3 changed files with 26 additions and 11 deletions

View file

@ -33,9 +33,24 @@ async function main () {
await getSpecHash().then(saveSpecHash)
}
if (!fs.existsSync(path.resolve(__dirname, '../electron.d.ts'))) {
console.log('Generating electron.d.ts as it is missing')
generateTypeDefinitions()
}
await runElectronTests()
}
function generateTypeDefinitions () {
const { status } = childProcess.spawnSync('npm', ['run', 'create-typescript-definitions'], {
cwd: path.resolve(__dirname, '..'),
stdio: 'inherit'
})
if (status !== 0) {
throw new Error(`Electron typescript definition generation failed with exit code: ${status}.`)
}
}
function loadLastSpecHash () {
return fs.existsSync(specHashPath)
? fs.readFileSync(specHashPath, 'utf8').split('\n')