snyk-nuget-plugin 1.25.5 → 1.26.0
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.
package/dist/index.js
CHANGED
|
@@ -34,7 +34,6 @@ async function inspect(root, targetFile, options) {
|
|
|
34
34
|
return Promise.reject(error);
|
|
35
35
|
}
|
|
36
36
|
const createPackageTree = (depTree) => {
|
|
37
|
-
// TODO implement for paket and more than one framework
|
|
38
37
|
const targetFramework = depTree.meta
|
|
39
38
|
? depTree.meta.targetFramework
|
|
40
39
|
: undefined;
|
|
@@ -54,6 +53,21 @@ async function inspect(root, targetFile, options) {
|
|
|
54
53
|
options.strict)
|
|
55
54
|
.then(createPackageTree);
|
|
56
55
|
}
|
|
56
|
+
if (options['dotnet-runtime-resolution']) {
|
|
57
|
+
if (manifestType !== 'dotnet-core') {
|
|
58
|
+
return Promise.reject(new Error('runtime resolution beta flag is currently only applicable for .net core projects'));
|
|
59
|
+
}
|
|
60
|
+
const result = await nugetParser.buildDepGraphFromFiles(root, targetFile, manifestType, options['assets-project-name'], options['project-name-prefix']);
|
|
61
|
+
return {
|
|
62
|
+
dependencyGraph: result.dependencyGraph,
|
|
63
|
+
package: 'n/a',
|
|
64
|
+
plugin: {
|
|
65
|
+
name: 'snyk-nuget-plugin',
|
|
66
|
+
targetFile,
|
|
67
|
+
targetRuntime: result.targetFramework,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
57
71
|
return nugetParser
|
|
58
72
|
.buildDepTreeFromFiles(root, targetFile, options.packagesFolder, manifestType, options['assets-project-name'], options['project-name-prefix'])
|
|
59
73
|
.then(createPackageTree);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,8CAA8C;AAC9C,iDAAiD;AACjD,qCAA6C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parse = void 0;
|
|
4
|
+
const debugModule = require("debug");
|
|
5
|
+
const dep_graph_1 = require("@snyk/dep-graph");
|
|
6
|
+
const debug = debugModule('snyk');
|
|
7
|
+
// Dependencies that starts with these are discarded
|
|
8
|
+
const FILTERED_DEPENDENCY_PREFIX = ['runtime'];
|
|
9
|
+
function recursivelyPopulateNodes(depGraphBuilder, targetDeps, node, runtimeAssembly, visited) {
|
|
10
|
+
const parentId = node.type === 'root' ? 'root-node' : `${node.name}@${node.version}`;
|
|
11
|
+
for (const depNode of Object.entries(node.dependencies || {})) {
|
|
12
|
+
const localVisited = visited || new Set();
|
|
13
|
+
const name = depNode[0];
|
|
14
|
+
let version = depNode[1];
|
|
15
|
+
if (runtimeAssembly && name in runtimeAssembly) {
|
|
16
|
+
version = runtimeAssembly[name];
|
|
17
|
+
}
|
|
18
|
+
const childNode = Object.assign(Object.assign({}, targetDeps[`${name}/${version}`]), { name,
|
|
19
|
+
version });
|
|
20
|
+
const childId = `${childNode.name}@${childNode.version}`;
|
|
21
|
+
if (localVisited.has(childId)) {
|
|
22
|
+
const prunedId = `${childId}:pruned`;
|
|
23
|
+
depGraphBuilder.addPkgNode({ name: childNode.name, version: childNode.version }, prunedId, {
|
|
24
|
+
labels: { pruned: 'true' },
|
|
25
|
+
});
|
|
26
|
+
depGraphBuilder.connectDep(parentId, prunedId);
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
depGraphBuilder.addPkgNode({ name: childNode.name, version: childNode.version }, childId);
|
|
30
|
+
depGraphBuilder.connectDep(parentId, childId);
|
|
31
|
+
localVisited.add(childId);
|
|
32
|
+
recursivelyPopulateNodes(depGraphBuilder, targetDeps, childNode, runtimeAssembly, localVisited);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function buildGraph(projectName, projectAssets, runtimeAssembly) {
|
|
36
|
+
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'nuget' }, {
|
|
37
|
+
name: projectName,
|
|
38
|
+
version: projectAssets.project.version,
|
|
39
|
+
});
|
|
40
|
+
// FIXME: Multiple frameworks
|
|
41
|
+
const key = Object.keys(projectAssets.project.frameworks)[0];
|
|
42
|
+
const topLevelDeps = Object.keys(projectAssets.project.frameworks[key].dependencies);
|
|
43
|
+
// The project.assets.json file is already structured quite decently, so we just use that file directly
|
|
44
|
+
const targetDeps = Object.entries(projectAssets.targets[key]).reduce((acc, entry) => {
|
|
45
|
+
const [nameWithVersion, pkg] = entry;
|
|
46
|
+
if (FILTERED_DEPENDENCY_PREFIX.some((prefix) => nameWithVersion.startsWith(prefix))) {
|
|
47
|
+
return acc;
|
|
48
|
+
}
|
|
49
|
+
return Object.assign(Object.assign({}, acc), { [nameWithVersion]: pkg });
|
|
50
|
+
}, {});
|
|
51
|
+
const topLevelDepPackages = topLevelDeps.reduce((acc, topLevelDepName) => {
|
|
52
|
+
const nameWithVersion = Object.keys(targetDeps).find((targetDep) => targetDep.startsWith(topLevelDepName));
|
|
53
|
+
if (!nameWithVersion) {
|
|
54
|
+
throw new Error("cant find a name and a version in assets file, something's very malformed");
|
|
55
|
+
}
|
|
56
|
+
const [name, version] = nameWithVersion.split('/');
|
|
57
|
+
return Object.assign(Object.assign({}, acc), { [name]: version });
|
|
58
|
+
}, {});
|
|
59
|
+
const rootNode = {
|
|
60
|
+
type: 'root',
|
|
61
|
+
dependencies: topLevelDepPackages,
|
|
62
|
+
};
|
|
63
|
+
recursivelyPopulateNodes(depGraphBuilder, targetDeps, rootNode, runtimeAssembly);
|
|
64
|
+
return depGraphBuilder.build();
|
|
65
|
+
}
|
|
66
|
+
function parse(projectName, projectAssets, runtimeAssembly) {
|
|
67
|
+
debug('Trying to parse .net core manifest with v2 depGraph builder');
|
|
68
|
+
let result;
|
|
69
|
+
if (!runtimeAssembly) {
|
|
70
|
+
result = buildGraph(projectName, projectAssets);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
result = buildGraph(projectName, projectAssets, runtimeAssembly);
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
exports.parse = parse;
|
|
78
|
+
//# sourceMappingURL=dotnet-core-v2-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotnet-core-v2-parser.js","sourceRoot":"","sources":["../../lib/nuget-parser/dotnet-core-v2-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMinimumTargetFrameworkFromPackagesConfig = exports.buildDepTreeFromFiles = void 0;
|
|
3
|
+
exports.getMinimumTargetFrameworkFromPackagesConfig = exports.buildDepTreeFromFiles = exports.buildDepGraphFromFiles = void 0;
|
|
4
4
|
const fs = require("fs");
|
|
5
5
|
const path = require("path");
|
|
6
6
|
const csproj_parser_1 = require("./csproj-parser");
|
|
7
7
|
const debugModule = require("debug");
|
|
8
|
-
const debug = debugModule('snyk');
|
|
9
8
|
const dotnetCoreParser = require("./dotnet-core-parser");
|
|
9
|
+
const dotnetCoreV2Parser = require("./dotnet-core-v2-parser");
|
|
10
10
|
const dotnetFrameworkParser = require("./dotnet-framework-parser");
|
|
11
11
|
const projectJsonParser = require("./project-json-parser");
|
|
12
12
|
const packagesConfigParser = require("./packages-config-parser");
|
|
13
13
|
const errors_1 = require("../errors");
|
|
14
14
|
const depsParser = require("dotnet-deps-parser");
|
|
15
15
|
const framework_1 = require("./framework");
|
|
16
|
+
const debug = debugModule('snyk');
|
|
16
17
|
const PARSERS = {
|
|
17
18
|
'dotnet-core': {
|
|
18
19
|
depParser: dotnetCoreParser,
|
|
19
20
|
fileContentParser: JSON,
|
|
20
21
|
},
|
|
22
|
+
'dotnet-core-v2': {
|
|
23
|
+
depParser: dotnetCoreV2Parser,
|
|
24
|
+
fileContentParser: JSON,
|
|
25
|
+
},
|
|
21
26
|
'packages.config': {
|
|
22
27
|
depParser: dotnetFrameworkParser,
|
|
23
28
|
fileContentParser: packagesConfigParser,
|
|
@@ -40,19 +45,49 @@ function getRootName(root, projectRootFolder, projectNamePrefix) {
|
|
|
40
45
|
}
|
|
41
46
|
return defaultRootName;
|
|
42
47
|
}
|
|
43
|
-
|
|
44
|
-
var _a, _b;
|
|
45
|
-
const safeRoot = root || '.';
|
|
46
|
-
const safeTargetFile = targetFile || '.';
|
|
47
|
-
const fileContentPath = path.resolve(safeRoot, safeTargetFile);
|
|
48
|
-
let fileContent;
|
|
48
|
+
function getFileContents(fileContentPath) {
|
|
49
49
|
try {
|
|
50
50
|
debug(`Parsing content of ${fileContentPath}`);
|
|
51
|
-
|
|
51
|
+
return fs.readFileSync(fileContentPath, 'utf-8');
|
|
52
52
|
}
|
|
53
53
|
catch (error) {
|
|
54
54
|
throw new errors_1.FileNotProcessableError(error);
|
|
55
55
|
}
|
|
56
|
+
}
|
|
57
|
+
async function buildDepGraphFromFiles(root, targetFile, manifestType, useProjectNameFromAssetsFile, projectNamePrefix) {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
const safeRoot = root || '.';
|
|
60
|
+
const safeTargetFile = targetFile || '.';
|
|
61
|
+
const fileContentPath = path.resolve(safeRoot, safeTargetFile);
|
|
62
|
+
const fileContent = getFileContents(fileContentPath);
|
|
63
|
+
const projectRootFolder = path.resolve(fileContentPath, '../../');
|
|
64
|
+
const targetFramework = await (0, csproj_parser_1.getTargetFrameworksFromProjFile)(projectRootFolder);
|
|
65
|
+
const parser = PARSERS['dotnet-core-v2'];
|
|
66
|
+
const manifest = await parser.fileContentParser.parse(fileContent);
|
|
67
|
+
let resolvedProjectName = getRootName(root, projectRootFolder, projectNamePrefix);
|
|
68
|
+
if (manifestType === 'dotnet-core' && useProjectNameFromAssetsFile) {
|
|
69
|
+
const projectName = (_b = (_a = manifest === null || manifest === void 0 ? void 0 : manifest.project) === null || _a === void 0 ? void 0 : _a.restore) === null || _b === void 0 ? void 0 : _b.projectName;
|
|
70
|
+
if (projectName) {
|
|
71
|
+
resolvedProjectName = projectName;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
debug("project.assets.json file doesn't contain a value for 'projectName'. Using default value: " +
|
|
75
|
+
resolvedProjectName);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const depGraph = parser.depParser.parse(resolvedProjectName, manifest);
|
|
79
|
+
return {
|
|
80
|
+
dependencyGraph: depGraph,
|
|
81
|
+
targetFramework: targetFramework === null || targetFramework === void 0 ? void 0 : targetFramework.original,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
exports.buildDepGraphFromFiles = buildDepGraphFromFiles;
|
|
85
|
+
async function buildDepTreeFromFiles(root, targetFile, packagesFolderPath, manifestType, useProjectNameFromAssetsFile, projectNamePrefix) {
|
|
86
|
+
var _a, _b;
|
|
87
|
+
const safeRoot = root || '.';
|
|
88
|
+
const safeTargetFile = targetFile || '.';
|
|
89
|
+
const fileContentPath = path.resolve(safeRoot, safeTargetFile);
|
|
90
|
+
const fileContent = getFileContents(fileContentPath);
|
|
56
91
|
const projectRootFolder = path.resolve(fileContentPath, '../../');
|
|
57
92
|
const packagesFolder = getPackagesFolder(packagesFolderPath, projectRootFolder);
|
|
58
93
|
const tree = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/nuget-parser/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,mDAAkE;AAClE,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/nuget-parser/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://github.com/snyk/snyk-nuget-plugin#readme",
|
|
36
36
|
"dependencies": {
|
|
37
|
+
"@snyk/dep-graph": "^2.7.0",
|
|
37
38
|
"debug": "^4.3.4",
|
|
38
39
|
"dotnet-deps-parser": "5.3.0",
|
|
39
40
|
"jszip": "3.10.1",
|
|
@@ -53,5 +54,5 @@
|
|
|
53
54
|
"ts-jest": "^28.0.8",
|
|
54
55
|
"typescript": "^4.9.5"
|
|
55
56
|
},
|
|
56
|
-
"version": "1.
|
|
57
|
+
"version": "1.26.0"
|
|
57
58
|
}
|