import { publish } from "gh-pages" import { exec } from "child_process" import { random } from "random-emoji" const args = process.argv.splice(2) const randomEmoji = () => random({ count: 1 })[0].character const mFlag = ((args.indexOf("--message") + 1) || (args.indexOf("-m") + 1)) - 1 const message = `${randomEmoji()} ${(mFlag >= 0) ? args[mFlag + 1] : "automated update"} ${randomEmoji()}` console.log("Deploying..."); const run = (command: string): Promise => { return new Promise((res, rej) => { console.log(`🏃 Running: '${command}'`) 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") 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") publish("dist", (err) => { if (err) rej(err) console.log(`😄 Succesfully published to github pages`) res(true) }) }) } catch (err) { console.log(`😭 Something went wrong: ${err}`) } })()