Allow trailing * for wildcard matching

This commit is contained in:
Sander Declerck 2026-01-14 17:51:41 +01:00
parent d7a9884ff6
commit 2d609066c8
No known key found for this signature in database
3 changed files with 99 additions and 4 deletions

View file

@ -68,7 +68,7 @@ export function modifyNpmInfoResponse(body, headers) {
// Check if this package is excluded from minimum age filtering
const packageName = bodyJson.name;
const exclusions = getNpmMinimumPackageAgeExclusions();
if (packageName && exclusions.includes(packageName)) {
if (packageName && exclusions.some((pattern) => matchesExclusionPattern(packageName, pattern))) {
ui.writeVerbose(
`Safe-chain: ${packageName} is excluded from minimum package age filtering (minimumPackageAgeExclusions setting).`
);
@ -187,3 +187,17 @@ function getMostRecentTag(tagList) {
export function getHasSuppressedVersions() {
return state.hasSuppressedVersions;
}
/**
* Checks if a package name matches an exclusion pattern.
* Supports trailing wildcard (*) for prefix matching.
* @param {string} packageName
* @param {string} pattern
* @returns {boolean}
*/
function matchesExclusionPattern(packageName, pattern) {
if (pattern.endsWith("*")) {
return packageName.startsWith(pattern.slice(0, -1));
}
return packageName === pattern;
}