const { promisify } = require("util"); const { publish } = require("gh-pages"); const ghpublish = promisify(publish); /* fix for "Unhandled promise rejections" */ process.on("unhandledRejection", (err) => { throw err; }); const Args = process.argv.slice(2); const USE_HTTPS = Args[0] && Args[0].toUpperCase() === "HTTPS"; const branch = "gh-pages"; const org = "waku-org"; const repo = "lab.waku.org"; /* use SSH auth by default */ let repoUrl = USE_HTTPS ? `https://github.com/${org}/${repo}.git` : `git@github.com:${org}/${repo}.git`; /* alternative auth using GitHub user and API token */ if (process.env.GH_USER != undefined) { repoUrl = "https://" + process.env.GH_USER + ":" + process.env.GH_TOKEN + "@" + `github.com/${org}/${repo}.git`; } const main = async (url, branch) => { console.log(`Pushing to: ${url}`); console.log(`On branch: ${branch}`); await ghpublish("build/docs", { repo: url, branch: branch, dotfiles: true, silent: false, }); }; main(repoUrl, branch);