snyk-nuget-plugin 2.8.0 → 2.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -15,12 +15,13 @@ exports.FILTERED_DEPENDENCY_PREFIX = [
|
|
|
15
15
|
// dependencies are causing noise for the customers and are not of interested.
|
|
16
16
|
'runtime',
|
|
17
17
|
];
|
|
18
|
-
function recursivelyPopulateNodes(depGraphBuilder, allPackagesForFramework, parentID, dependencies,
|
|
18
|
+
function recursivelyPopulateNodes(depGraphBuilder, allPackagesForFramework, parentID, dependencies, overrides, visited) {
|
|
19
19
|
if (!dependencies) {
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
+
const visitedCopy = new Set(visited);
|
|
22
23
|
for (const [childName, childResolvedVersion] of Object.entries(dependencies)) {
|
|
23
|
-
const localVisited =
|
|
24
|
+
const localVisited = visitedCopy || new Set();
|
|
24
25
|
// Ignore packages with specific prefixes, which for one reason or the other are no interesting and pollutes the
|
|
25
26
|
// graph. Refer to comments on the individual elements in the ignore list for more information.
|
|
26
27
|
if (exports.FILTERED_DEPENDENCY_PREFIX.some((prefix) => childName.startsWith(prefix))) {
|
|
@@ -54,7 +55,7 @@ function recursivelyPopulateNodes(depGraphBuilder, allPackagesForFramework, pare
|
|
|
54
55
|
depGraphBuilder.connectDep(parentID, childID);
|
|
55
56
|
localVisited.add(childID);
|
|
56
57
|
debug(`Adding dependency: ${parentID} -> ${childID}`);
|
|
57
|
-
recursivelyPopulateNodes(depGraphBuilder, allPackagesForFramework, childID, childPkgEntry.dependencies,
|
|
58
|
+
recursivelyPopulateNodes(depGraphBuilder, allPackagesForFramework, childID, childPkgEntry.dependencies, overrides, localVisited);
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
function buildDepGraph(projectName, targetFramework, projectAssets, overrides) {
|
|
@@ -66,27 +67,27 @@ function buildDepGraph(projectName, targetFramework, projectAssets, overrides) {
|
|
|
66
67
|
// This should ideally not happen if validateManifest and parse are called first
|
|
67
68
|
throw new errors_1.InvalidManifestError('Target framework not found in lock file metadata.');
|
|
68
69
|
}
|
|
69
|
-
const
|
|
70
|
+
const assetsTargetFramework = Object.keys(projectAssets.targets).find((key) => key.includes(targetFramework)) || targetFramework;
|
|
71
|
+
const allPackagesForFramework = projectAssets.targets[assetsTargetFramework];
|
|
70
72
|
if (!allPackagesForFramework) {
|
|
71
73
|
// This should ideally not happen if validateManifest and parse are called first
|
|
72
|
-
throw new errors_1.InvalidManifestError(`Target framework '${
|
|
74
|
+
throw new errors_1.InvalidManifestError(`Target framework '${assetsTargetFramework}' not found in project.assets.json dependencies.`);
|
|
73
75
|
}
|
|
74
76
|
// Identify direct dependencies for the selected framework
|
|
75
77
|
const directDependencies = {};
|
|
76
|
-
projectAssets.projectFileDependencyGroups[
|
|
78
|
+
projectAssets.projectFileDependencyGroups[assetsTargetFramework].forEach((dependency) => {
|
|
77
79
|
const dependencySplit = dependency.split(' ');
|
|
78
80
|
directDependencies[dependencySplit[0]] = dependencySplit[2];
|
|
79
81
|
});
|
|
80
|
-
debug(`Direct dependencies found in lock file for ${
|
|
82
|
+
debug(`Direct dependencies found in lock file for ${assetsTargetFramework}: '${Object.keys(directDependencies)}'`);
|
|
81
83
|
if (Object.keys(directDependencies).length === 0) {
|
|
82
84
|
debug('No direct dependencies found in project.assets.json for the selected framework.');
|
|
83
85
|
// Return a graph with just the root if no direct dependencies
|
|
84
86
|
return depGraphBuilder.build();
|
|
85
87
|
}
|
|
86
|
-
const visited = new Set();
|
|
87
88
|
// Start recursive population from direct dependencies
|
|
88
89
|
recursivelyPopulateNodes(depGraphBuilder, allPackagesForFramework, 'root-node', directDependencies, // Pass the direct dependencies object
|
|
89
|
-
|
|
90
|
+
overrides);
|
|
90
91
|
return depGraphBuilder.build();
|
|
91
92
|
}
|
|
92
93
|
function validateManifest(manifest) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotnet-core-v3-parser.js","sourceRoot":"","sources":["../../../lib/nuget-parser/parsers/dotnet-core-v3-parser.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dotnet-core-v3-parser.js","sourceRoot":"","sources":["../../../lib/nuget-parser/parsers/dotnet-core-v3-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED