Files
lyroc/scripts/version-sync.js
2025-05-27 14:16:48 +08:00

28 lines
1.2 KiB
JavaScript

const fs = require('fs-extra');
const path = require('path');
// Read version from VERSION file
const version = fs.readFileSync(path.join(__dirname, '../VERSION'), 'utf8').trim();
// Update frontend package.json
const frontendPackage = path.join(__dirname, '../frontend/package.json');
const frontendJson = JSON.parse(fs.readFileSync(frontendPackage, 'utf8'));
frontendJson.version = version;
fs.writeFileSync(frontendPackage, JSON.stringify(frontendJson, null, 2) + '\n');
// Update electron app package.json
const electronPackage = path.join(__dirname, '../electron-app/package.json');
const electronJson = JSON.parse(fs.readFileSync(electronPackage, 'utf8'));
electronJson.version = version;
fs.writeFileSync(electronPackage, JSON.stringify(electronJson, null, 2) + '\n');
// Update backend pyproject.toml
const backendPyproject = path.join(__dirname, '../backend/pyproject.toml');
let pyprojectContent = fs.readFileSync(backendPyproject, 'utf8');
pyprojectContent = pyprojectContent.replace(
/version = "[\d.]+"/,
`version = "${version}"`
);
fs.writeFileSync(backendPyproject, pyprojectContent);
console.log(`Version synchronized to ${version} across all components`);