Notes/scripts/update-version.ts

39 lines
1.2 KiB
TypeScript
Raw Normal View History

/**
* @module
*
* This script synchronizes the `package.json` version of the monorepo (root `package.json`)
* into the apps, so that it is properly displayed.
*/
2025-05-27 22:25:00 +03:00
import { join } from "path";
import { readFileSync, writeFileSync } from "fs";
function patchPackageJson(packageJsonPath: string, version: string) {
// Read the version from package.json and process it.
2025-05-27 22:25:00 +03:00
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
// Write the adjusted version back in.
packageJson.version = version;
const formattedJson = JSON.stringify(packageJson, null, 2);
2025-05-27 22:25:00 +03:00
writeFileSync(packageJsonPath, formattedJson);
}
function getVersion(packageJsonPath: string) {
2025-05-27 22:25:00 +03:00
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
return packageJson.version;
}
function main() {
2025-05-27 22:25:00 +03:00
const version = getVersion(join(__dirname, "..", "package.json"));
2025-05-27 22:26:52 +03:00
for (const appName of ["server", "client", "desktop"]) {
2025-05-27 22:25:00 +03:00
patchPackageJson(join(__dirname, "..", "apps", appName, "package.json"), version);
}
for (const packageName of ["commons"]) {
2025-05-27 22:25:00 +03:00
patchPackageJson(join(__dirname, "..", "packages", packageName, "package.json"), version);
}
}
main();