refactoring getDeniedChanges
This commit is contained in:
+14
-22
@@ -8,39 +8,31 @@ export async function getDeniedChanges(
|
||||
): Promise<Change[]> {
|
||||
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')
|
||||
|
||||
Reference in New Issue
Block a user