28 lines
627 B
JavaScript
28 lines
627 B
JavaScript
const fs = require('node:fs');
|
|
const semver = require('semver');
|
|
|
|
const outputPath = process.argv[2];
|
|
const currentVersion = process.argv[3];
|
|
|
|
const parsed = semver.parse(currentVersion);
|
|
|
|
let prerelease = '';
|
|
if (parsed.prerelease && parsed.prerelease.length > 0) {
|
|
prerelease = parsed.prerelease.join('.');
|
|
}
|
|
|
|
const {
|
|
major,
|
|
minor,
|
|
patch
|
|
} = parsed;
|
|
|
|
fs.writeFileSync(outputPath, JSON.stringify({
|
|
full_version: currentVersion,
|
|
major,
|
|
minor,
|
|
patch,
|
|
prerelease,
|
|
prerelease_number: prerelease ? parsed.prerelease[parsed.prerelease.length - 1] : '0',
|
|
has_prerelease: prerelease === '' ? 0 : 1
|
|
}, null, 2));
|