2021-05-15 20:09:52 +08:00
|
|
|
import fs from "node:fs/promises";
|
2023-12-17 19:34:12 +00:00
|
|
|
|
2021-05-15 20:09:52 +08:00
|
|
|
import chalk from "chalk";
|
2017-11-07 14:39:07 +11:00
|
|
|
|
2022-04-03 01:42:20 +08:00
|
|
|
const packageJson = JSON.parse(
|
|
|
|
|
await fs.readFile(new URL("../package.json", import.meta.url)),
|
|
|
|
|
);
|
2017-11-07 14:39:07 +11:00
|
|
|
|
2022-04-03 01:42:20 +08:00
|
|
|
validateDependencyObject(packageJson.dependencies);
|
|
|
|
|
validateDependencyObject(packageJson.devDependencies);
|
2017-11-07 14:39:07 +11:00
|
|
|
|
|
|
|
|
function validateDependencyObject(object) {
|
2021-01-24 19:26:42 +08:00
|
|
|
for (const key of Object.keys(object)) {
|
2017-11-07 14:39:07 +11:00
|
|
|
if (object[key][0] === "^" || object[key][0] === "~") {
|
|
|
|
|
console.error(
|
|
|
|
|
chalk.red("error"),
|
|
|
|
|
`Dependency "${chalk.bold.red(key)}" should be pinned.`,
|
|
|
|
|
);
|
|
|
|
|
process.exitCode = 1;
|
|
|
|
|
}
|
2021-01-24 19:26:42 +08:00
|
|
|
}
|
2017-11-07 14:39:07 +11:00
|
|
|
}
|