28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
import { readFileSync, writeFileSync } from "node:fs";
|
|
|
|
const semver = await import("semver");
|
|
|
|
const targetVersion = process.env.npm_package_version;
|
|
const targetSemver = semver.parse(targetVersion);
|
|
|
|
// read minAppVersion from manifest.json and bump version to target version
|
|
const manifest = JSON.parse(readFileSync("manifest.json", "utf8"));
|
|
const { minAppVersion } = manifest;
|
|
// Write manifest.json with target version only if the target version is not a pre-release version
|
|
if (targetSemver.prerelease.length === 0) {
|
|
manifest.version = targetVersion;
|
|
writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t"));
|
|
|
|
// update versions.json with target version and minAppVersion from manifest.json
|
|
// but only if the target version is not already in versions.json
|
|
const versions = JSON.parse(readFileSync("versions.json", "utf8"));
|
|
if (!Object.values(versions).includes(minAppVersion)) {
|
|
versions[targetVersion] = minAppVersion;
|
|
writeFileSync("versions.json", JSON.stringify(versions, null, "\t"));
|
|
}
|
|
} else {
|
|
console.log(
|
|
`Skipping version bump in manifest.json for pre-release version: ${targetVersion}`
|
|
);
|
|
}
|