const { publish } = require('gh-pages') const { exec } = require('child_process') const args = process.argv.splice(2) const mFlag = (args.indexOf('--message') + 1 || args.indexOf('-m') + 1) - 1 const message = `${mFlag >= 0 ? args[mFlag + 1] : 'automated update'}` console.log('Deploying...') const run = (command: string): Promise => { return new Promise((res, rej) => { console.log(`🏃 Running: '${command}'`) //@ts-ignore exec(command, (err, stdout, stderr) => { if (err != null) rej(err) else if (typeof stderr != 'string') rej(new Error(stderr)) else res(stdout) }) }) } ;(async () => { try { if (!args.includes('--skipBuild') && !args.includes('-sb')) { await run('npm run build') } if (!args.includes('--skipGit') && !args.includes('-sg')) { await run('git add .') await run(`git commit -m " ${message} "`) await run('git push origin master') } await new Promise((res, rej) => { console.log('🏃 Updating github pages') //@ts-ignore publish('dist', err => { if (err) rej(err) console.log(`😄 Succesfully published to github pages`) res(true) }) }) } catch (err) { console.log(`😭 Something went wrong: ${err}`) } })()