UNPKG

@aimee-blue/ab-service-kit

Version:
67 lines (49 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.appName = exports.appVersion = void 0; var _fsExtra = require("fs-extra"); var _child_process = require("child_process"); var _abShared = require("@aimee-blue/ab-shared"); const packageJson = 'package.json'; let loadedPackageJson; async function loadPackageJson() { if (loadedPackageJson) { return loadedPackageJson; } const packageJsonExists = await (0, _fsExtra.pathExists)(packageJson); if (!packageJsonExists) { throw new Error('Cannot find package.json, this application is meant to be run with current package.json in cwd'); } const contents = await (0, _fsExtra.readFile)(packageJson, { encoding: 'utf8' }); loadedPackageJson = JSON.parse(contents); return loadedPackageJson; } function determineGitVersion() { const gitResult = (0, _child_process.spawnSync)('git', ['describe', '--long', '--dirty=+', '--abbrev=10', '--tags'], { encoding: 'utf8' }); if (gitResult.error || gitResult.status !== 0) { return null; } const gitVersion = gitResult.stdout.trim(); const versionStr = gitVersion.startsWith('v') ? gitVersion.substring(1) : gitVersion; return versionStr; } const appVersion = _abShared.Utils.onceAsync(async () => { const loaded = await loadPackageJson(); if (loaded.version === '0.0.0-development') { return determineGitVersion() || loaded.version; } return loaded.version; }); exports.appVersion = appVersion; const appName = _abShared.Utils.onceAsync(async () => { const loaded = await loadPackageJson(); return loaded.name; }); exports.appName = appName; //# sourceMappingURL=app.js.map