fix(linter): create-package-json should omit non-npm and ignored packages (#17883)

This commit is contained in:
Miroslav Jonaš 2023-06-30 22:00:45 +02:00 committed by GitHub
parent 576262bb03
commit 3d77b4d40e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -45,7 +45,7 @@ export default createESLintRule<Options, MessageIds>({
type: 'object',
properties: {
buildTargets: [{ type: 'string' }],
ignoreDependencies: [{ type: 'string' }],
ignoredDependencies: [{ type: 'string' }],
checkMissingDependencies: { type: 'boolean' },
checkObsoleteDependencies: { type: 'boolean' },
checkVersionMismatches: { type: 'boolean' },

View File

@ -181,6 +181,7 @@ export function findProjectsNpmDependencies(
target: string,
options: {
helperDependencies?: string[];
ignoredDependencies?: string[];
},
fileMap?: ProjectFileMap
): NpmDeps {
@ -213,6 +214,7 @@ export function findProjectsNpmDependencies(
graph,
npmDeps,
seen,
options.ignoredDependencies || [],
dependencyInputs,
selfInputs
);
@ -226,6 +228,7 @@ function findAllNpmDeps(
graph: ProjectGraph,
npmDeps: NpmDeps,
seen: Set<string>,
ignoredDependencies: string[],
dependencyPatterns: string[],
rootPatterns?: string[]
): void {
@ -260,6 +263,14 @@ function findAllNpmDeps(
} else {
if (node) {
seen.add(dep);
// do not add ignored dependencies to the list or non-npm dependencies
if (
ignoredDependencies.includes(node.data.packageName) ||
node.type !== 'npm'
) {
continue;
}
npmDeps.dependencies[node.data.packageName] = node.data.version;
recursivelyCollectPeerDependencies(node.name, graph, npmDeps, seen);
} else if (graph.nodes[dep]) {
@ -269,6 +280,7 @@ function findAllNpmDeps(
graph,
npmDeps,
seen,
ignoredDependencies,
dependencyPatterns
);
}