From 7cebd9d64d3d896e51b132d6d817f2b87ae5530b Mon Sep 17 00:00:00 2001 From: Brandon Teng Date: Thu, 4 Apr 2024 15:04:45 -0500 Subject: [PATCH] refactoring getDeniedChanges --- src/deny.ts | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/src/deny.ts b/src/deny.ts index f24e593..2614306 100644 --- a/src/deny.ts +++ b/src/deny.ts @@ -8,39 +8,31 @@ export async function getDeniedChanges( ): Promise { const changesDenied: Change[] = [] - let failed = false + let hasDeniedPackage = false for (const change of changes) { change.name = change.name.toLowerCase() const [name, version] = change.package_url.toLowerCase().split('@') - if (deniedPackages) { - for (const denied of deniedPackages) { - const [dpName, dpVersion] = denied.toLowerCase().split('@') - if (dpVersion) { - if (name === dpName && version === dpVersion) { - changesDenied.push(change) - failed = true - } - } else { - if (name === dpName) { - changesDenied.push(change) - failed = true - } - } + for (const denied of deniedPackages) { + const [deniedName, deniedVersion] = denied.toLowerCase().split('@') + if ( + (!deniedVersion || version === deniedVersion) && + name === deniedName + ) { + changesDenied.push(change) + hasDeniedPackage = true } } - if (deniedGroups) { - for (const denied of deniedGroups) { - if (name.startsWith(denied.toLowerCase())) { - changesDenied.push(change) - failed = true - } + for (const denied of deniedGroups) { + if (name.startsWith(denied.toLowerCase())) { + changesDenied.push(change) + hasDeniedPackage = true } } } - if (failed) { + if (hasDeniedPackage) { core.setFailed('Dependency review detected denied packages.') } else { core.info('Dependency review did not detect any denied packages')