1
0
Fork 0
mirror of synced 2024-09-20 11:27:56 +12:00
budibase/scripts/run-affected.js
2024-07-02 11:38:21 +02:00

29 lines
659 B
JavaScript
Executable file

const { execSync } = require("child_process")
const argv = require("yargs").demandOption([
"task",
"since",
"package-name",
]).argv
const { task, since, packageName } = argv
const affectedPackages = execSync(
`yarn --silent lerna ls --since=${since} --json`,
{
encoding: "utf-8",
}
)
const packages = JSON.parse(affectedPackages)
const isAffected = packages.some(pkg => pkg.name === packageName)
if (isAffected) {
console.log(`${packageName} is affected. Running ${task}...`)
execSync(`yarn ${task} --scope=${packageName}`, {
stdio: "inherit",
})
} else {
console.log(`${packageName} is not affected. Skipping ${task}...`)
}