diff --git a/scripts/syncPackageEngineWithDependency.mjs b/scripts/syncPackageEngineWithDependency.mjs index 2f24cc14..6c6d3193 100644 --- a/scripts/syncPackageEngineWithDependency.mjs +++ b/scripts/syncPackageEngineWithDependency.mjs @@ -3,15 +3,6 @@ import { readFile, writeFile } from "fs/promises"; const ENCODING = "utf8"; const INDENTATION = 2; const PACKAGE_PATH = "package.json"; -/** @type {keyof import("type-fest").PackageJson} */ -const PACKAGE_DEPENDENCY_KEYS = [ - "dependencies", - "bundleDependencies", - "bundledDependencies", - "devDependencies", - "optionalDependencies", - "peerDependencies", -]; const [, , engine, dependency] = process.argv; @@ -26,9 +17,11 @@ packageJSON.engines ??= {}; const oldEngineVersion = packageJSON.engines[engine]; +const packageDependencyKeyPattern = /^(?:(?:bundled?|dev|optional|peer)D|d)ependencies$/; + let found = false, updated = false; -for (const key of PACKAGE_DEPENDENCY_KEYS) { - if (!(key in packageJSON) || !(dependency in packageJSON[key])) continue; +for (const key in packageJSON) { + if (!packageDependencyKeyPattern.test(key) || !(dependency in packageJSON[key])) continue; found = true; if (oldEngineVersion === packageJSON[key][dependency]) break; packageJSON.engines[engine] = packageJSON[key][dependency];