1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- const axios = require("axios")
- const fs = require("fs")
- const { spawnSync } = require("child_process")
- const runCommand = (command, args) => spawnSync(command, args).stdout.toString().replace(/\n/g, "")
- const FAIL_ON_ERROR = false
- const PW_BUILD_DATA_DIR = "./.hoppscotch"
- // const IS_DEV_MODE = process.argv.includes("--dev")
- try {
- (async () => {
- // Create the build data directory if it does not exist.
- if (!fs.existsSync(PW_BUILD_DATA_DIR)) {
- fs.mkdirSync(PW_BUILD_DATA_DIR)
- }
- let version = {}
- // Get the current version name as the tag from Git.
- version.name =
- process.env.TRAVIS_TAG || runCommand("git", ["tag --sort=committerdate | tail -1"])
- // FALLBACK: If version.name was unset, let's grab it from GitHub.
- if (!version.name) {
- version.name = (
- await axios
- .get("https://api.github.com/repos/hoppscotch/hoppscotch/releases")
- // If we can't get it from GitHub, we'll resort to getting it from package.json
- .catch((ex) => ({
- data: [
- {
- tag_name: require("./package.json").version,
- },
- ],
- }))
- ).data[0]["tag_name"]
- }
- // Get the current version hash as the short hash from Git.
- // version.hash = runCommand("git", ["rev-parse", "--short", "HEAD"])
- // Get the 'variant' name as the branch, if it's not master.
- // version.variant =
- // process.env.TRAVIS_BRANCH ||
- // runCommand("git", ["branch"])
- // .split("* ")[1]
- // .split(" ")[0] + (IS_DEV_MODE ? " - DEV MODE" : "")
- // if (["", "master"].includes(version.variant)) {
- // delete version.variant
- // }
- // Write version data into a file
- fs.writeFileSync(`${PW_BUILD_DATA_DIR}/version.json`, JSON.stringify(version))
- })()
- } catch (ex) {
- console.error(ex)
- process.exit(FAIL_ON_ERROR ? 1 : 0)
- }
|