this repo has no description
at v1.3.9 946 B view raw
1// Update dependencies in all packages 2/* eslint-disable no-console */ 3const fs = require("fs"); 4const path = require("path"); 5const child_process = require("child_process"); 6 7const packageToUpdate = process.argv[2]; 8 9function getDeps(packageJSON) { 10 const ret = {}; 11 Object.assign(ret, packageJSON.dependencies || {}); 12 Object.assign(ret, packageJSON.devDependencies || {}); 13 Object.assign(ret, packageJSON.peerDependencies || {}); 14 return ret; 15} 16 17function exec(cmd, dir) { 18 child_process.execSync(cmd, { cwd: dir, stdio: "inherit" }); 19} 20 21for (const package of fs.readdirSync("./packages")) { 22 const packageJSON = JSON.parse(fs.readFileSync(path.join("./packages", package, "package.json"), "utf8")); 23 24 const deps = getDeps(packageJSON); 25 if (Object.keys(deps).includes(packageToUpdate)) { 26 console.log(`Updating ${packageToUpdate} in ${package}`); 27 exec(`pnpm update ${packageToUpdate}`, path.join("./packages", package)); 28 } 29}