Files
monorepo/LCU.WebApps.Collections.RepoClient/version.js
T
2026-03-25 15:52:34 +00:00

43 lines
1.3 KiB
JavaScript

const { gitDescribeSync } = require('git-describe');
const { version } = require('./package.json');
const { resolve, relative } = require('path');
const { writeFileSync } = require('fs-extra');
function getGitInfo() {
try {
return gitDescribeSync({
dirtyMark: false,
dirtySemver: false
});
} catch (err) {
const commit = process.env.BUILD_SOURCEVERSION || process.env.GIT_COMMIT || 'unknown';
const ref = process.env.BUILD_SOURCEBRANCHNAME || process.env.GIT_BRANCH || 'unknown';
const build = process.env.BUILD_BUILDNUMBER || process.env.BUILD_NUMBER || 'local';
return {
raw: `${version}-${build}`,
tag: version,
distance: 0,
hash: commit,
semverString: version,
suffix: build,
ref
};
}
}
const gitInfo = getGitInfo();
gitInfo.version = version;
const file = resolve(__dirname, '.', 'src', 'environments', 'version.ts');
writeFileSync(file,
`// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
/* tslint:disable */
export const VERSION = ${JSON.stringify(gitInfo, null, 4)};
export const BUILD_STAMP = ${JSON.stringify(new Date())};
/* tslint:enable */
`, { encoding: 'utf-8' });
console.log(`Wrote version info ${gitInfo.raw} to ${relative(resolve(__dirname, '..'), file)}`);