UNPKG

mangle-version

Version:
63 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const fs_1 = require("fs"); const path_1 = require("path"); const version_mangler_1 = require("./lib/version-mangler"); commander_1.program .description('Mangle package.version to [version][+-][build]') .option('-v, --version <version>', 'Override package version') .option('-b, --build <build>', 'Override build version') .option('-m, --mangle <mangle>', 'Override mangled version') .option('-p, --path <path>', 'Set package path instead of cwd') .option('-t, --type <type>', 'Mangle version type [prerelease|build]', 'prerelease') .parse(); const options = commander_1.program.opts(); const packagePath = (0, path_1.resolve)(options.path || process.cwd()); async function getBuildNumber() { if (options.build) { return options.build; } const envBuildVersion = [ 'OMEGA_BUILD_NUMBER', 'BUILD_NUMBER', 'CI_COMMIT_SHA', 'GIT_COMMIT_SHA' ]; for (const x of envBuildVersion) { if (process.env[x]) { const v = process.env[x].slice(0, 7); console.log(`mangle-version: Using build version from ENV[${x}]: ${v}`); return v; } } const gitshaShort = (await (0, version_mangler_1.detectGitCommitSHA)(packagePath)).slice(0, 7); console.log(`mangle-version: Using git commit hash for build version: ${gitshaShort}`); return gitshaShort; } function getVersionNumber() { if (options.version) { return options.version; } const envBuildVersion = [ 'OMEGA_PACKAGE_VERSION', 'PACKAGE_VERSION' ]; for (const x of envBuildVersion) { if (process.env[x]) { console.log(`mangle-version: Using package version from ENV[${x}]: ${process.env[x]}`); return process.env[x]; } } const filePath = (0, path_1.resolve)(packagePath, 'package.json'); const pkg = JSON.parse((0, fs_1.readFileSync)(filePath, 'utf-8')); const packageVersion = `${pkg.version}`; return packageVersion.replace(/[\+\-]\S+$/, ''); } async function modifyPackageVersion() { const version = options.mangle || `${await getVersionNumber()}${options.type === 'prerelease' ? '-' : '+'}${await getBuildNumber()}`; console.log(`mangle-version: Setting package version to: ${version}`); (0, version_mangler_1.modifyPackageJsonSYNC)(packagePath, version); } modifyPackageVersion(); //# sourceMappingURL=main.js.map