diff --git a/scripts/version-sync.mjs b/scripts/version-sync.mjs new file mode 100644 index 0000000..67d337b --- /dev/null +++ b/scripts/version-sync.mjs @@ -0,0 +1,26 @@ +import fs from 'fs'; +import { promisify } from 'util'; +import { join } from 'path'; +import pkg from '../package.json'; + +const readDir = promisify(fs.readdir); +const readFile = promisify(fs.readFile); +const writeFile = promisify(fs.writeFile); + +async function syncPackageVersions() { + const packagesPath = 'packages'; // path for all packages + const { version } = pkg; + + const packages = await readDir(packagesPath); + + packages.forEach(async pack => { + const packagePath = join(packagesPath, pack, 'package.json'); + const p = JSON.parse(await readFile(packagePath, 'utf-8')); + p.version = version; + await writeFile(packagePath, `${JSON.stringify(p, null, 2)}\n`); + }); + + console.log(`Versions with root: ${version}`); +} + +syncPackageVersions();