UNPKG

@naturalcycles/nodejs-lib

Version:
34 lines (33 loc) 1.22 kB
import { localTime } from '@naturalcycles/js-lib/datetime/localTime.js'; import { _filterUndefinedValues } from '@naturalcycles/js-lib/object/object.util.js'; import { fs2 } from '../fs/fs2.js'; import { git2 } from './git2.js'; export function generateBuildInfo(opt = {}) { const now = localTime.orNow(opt.overrideTimestamp); const ts = now.unix; const rev = git2.getCurrentCommitSha(); const branchName = opt.overrideBranchName || git2.getCurrentBranchName(); const repoName = git2.getCurrentRepoName(); const tsCommit = git2.getCurrentCommitTimestamp(); const ver = [now.toStringCompact(), repoName, branchName, rev].join('_'); let { APP_ENV: env } = process.env; if (!env) { // Attempt to read `envByBranch` from package.json root try { if (fs2.pathExists('package.json')) { const packageJson = fs2.readJson('package.json'); env = packageJson?.['envByBranch']?.[branchName] || packageJson?.['envByBranch']?.['*']; } } catch { } } return _filterUndefinedValues({ ts, tsCommit, repoName, branchName, rev, ver, env, }); }