Pin dependency policy exceptions to versions
This commit is contained in:
+3
-1
@@ -36,7 +36,9 @@ export async function verifyDirectPackage(item, document, policy, dependencies)
|
||||
}
|
||||
|
||||
const lifecycle = ["preinstall", "install", "postinstall"].filter((name) => versionData.scripts?.[name]);
|
||||
if (lifecycle.length && !policy.allowDirectLifecycleScripts.includes(item.name)) {
|
||||
const lifecycleException = policy.allowDirectLifecycleScripts[item.name];
|
||||
const lifecycleAllowed = lifecycleException?.versions.includes(item.version) && Date.parse(lifecycleException.expiresAt) > dependencies.now();
|
||||
if (lifecycle.length && !lifecycleAllowed) {
|
||||
failures.push(`direct package declares lifecycle hook(s): ${lifecycle.join(", ")}`);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user