Skip to content
Snippets Groups Projects
Unverified Commit 044f643c authored by Sebastian Poxhofer's avatar Sebastian Poxhofer Committed by GitHub
Browse files

fix(packageRules/package*): consider packageNames for package* excludes (#27047)

parent 12a90228
No related branches found
No related tags found
No related merge requests found
...@@ -56,4 +56,17 @@ describe('util/package-rules/package-names', () => { ...@@ -56,4 +56,17 @@ describe('util/package-rules/package-names', () => {
expect(result).toBeFalse(); expect(result).toBeFalse();
}); });
}); });
it('should excludePackageName', () => {
const result = packageNameMatcher.excludes(
{
depName: 'abc',
packageName: 'def',
},
{
excludePackageNames: ['def'],
},
);
expect(result).toBeTrue();
});
}); });
...@@ -32,15 +32,29 @@ export class PackageNameMatcher extends Matcher { ...@@ -32,15 +32,29 @@ export class PackageNameMatcher extends Matcher {
} }
override excludes( override excludes(
{ depName }: PackageRuleInputConfig, { depName, packageName }: PackageRuleInputConfig,
{ excludePackageNames }: PackageRule, packageRule: PackageRule,
): boolean | null { ): boolean | null {
const { excludePackageNames } = packageRule;
if (is.undefined(excludePackageNames)) { if (is.undefined(excludePackageNames)) {
return null; return null;
} }
if (is.undefined(depName)) { if (is.undefined(depName)) {
return false; return false;
} }
return excludePackageNames.includes(depName);
if (is.string(packageName) && excludePackageNames.includes(packageName)) {
return true;
}
if (excludePackageNames.includes(depName)) {
logger.once.info(
{ packageRule, packageName, depName },
'Use excludeDepNames instead of excludePackageNames',
);
return true;
}
return false;
} }
} }
...@@ -55,5 +55,18 @@ describe('util/package-rules/package-prefixes', () => { ...@@ -55,5 +55,18 @@ describe('util/package-rules/package-prefixes', () => {
); );
expect(result).toBeFalse(); expect(result).toBeFalse();
}); });
it('should return true if packageName matched', () => {
const result = packagePrefixesMatcher.excludes(
{
depName: 'abc1',
packageName: 'def1',
},
{
excludePackagePrefixes: ['def'],
},
);
expect(result).toBeTrue();
});
}); });
}); });
...@@ -34,9 +34,10 @@ export class PackagePrefixesMatcher extends Matcher { ...@@ -34,9 +34,10 @@ export class PackagePrefixesMatcher extends Matcher {
} }
override excludes( override excludes(
{ depName }: PackageRuleInputConfig, { depName, packageName }: PackageRuleInputConfig,
{ excludePackagePrefixes }: PackageRule, packageRule: PackageRule,
): boolean | null { ): boolean | null {
const { excludePackagePrefixes } = packageRule;
if (is.undefined(excludePackagePrefixes)) { if (is.undefined(excludePackagePrefixes)) {
return null; return null;
} }
...@@ -44,6 +45,20 @@ export class PackagePrefixesMatcher extends Matcher { ...@@ -44,6 +45,20 @@ export class PackagePrefixesMatcher extends Matcher {
return false; return false;
} }
return excludePackagePrefixes.some((prefix) => depName.startsWith(prefix)); if (
is.string(packageName) &&
excludePackagePrefixes.some((prefix) => packageName.startsWith(prefix))
) {
return true;
}
if (excludePackagePrefixes.some((prefix) => depName.startsWith(prefix))) {
logger.once.info(
{ packageName, depName },
'Use excludeDepPatterns instead of excludePackagePrefixes',
);
return true;
}
return false;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment