snyk-paket-parser 1.4.3 → 1.5.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.
|
@@ -13,27 +13,44 @@ var GIT = 'git';
|
|
|
13
13
|
var GIST = 'gist';
|
|
14
14
|
var HTTP = 'http';
|
|
15
15
|
function parseNuget(line) {
|
|
16
|
+
var commentRegex = new RegExp("(?:" + COMMENTS[0] + "|" + COMMENTS[1] + ").+");
|
|
17
|
+
var nameVersionOptionsRegex = new RegExp(/(\S+)\s*([^:\n]*)(:.*)?/);
|
|
18
|
+
var versionFirstOptionRegex = new RegExp(/\s(?=[^ ]*$)/);
|
|
19
|
+
var _a = tslib_1.__read(line
|
|
20
|
+
.replace(NUGET, '') // Remove 'nuget' string
|
|
21
|
+
.replace(commentRegex, '') // Remove comments from line end
|
|
22
|
+
.trim()
|
|
23
|
+
.match(nameVersionOptionsRegex), 4), name = _a[1], versionRangeAndFirstOption = _a[2], restOptions = _a[3]; // Split into groups for further parsing
|
|
24
|
+
// nuget dependency result object to be returned
|
|
16
25
|
var result = {
|
|
17
|
-
|
|
26
|
+
source: NUGET,
|
|
27
|
+
name: name,
|
|
28
|
+
versionRange: versionRangeAndFirstOption,
|
|
18
29
|
options: {},
|
|
19
|
-
source: 'nuget',
|
|
20
|
-
versionRange: '',
|
|
21
30
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
if (restOptions) {
|
|
32
|
+
// tslint:disable-next-line:prefer-const
|
|
33
|
+
var _b = tslib_1.__read(versionRangeAndFirstOption.split(versionFirstOptionRegex), 2), versionRange = _b[0], firstOptionName = _b[1];
|
|
34
|
+
result.versionRange = versionRange;
|
|
35
|
+
// If version is missing it will treat first option as version
|
|
36
|
+
if (!firstOptionName) {
|
|
37
|
+
result.versionRange = '';
|
|
38
|
+
firstOptionName = versionRange;
|
|
39
|
+
}
|
|
40
|
+
result.options = ("" + firstOptionName + restOptions)
|
|
41
|
+
.split(/\s*,\s*/) // Split by comma if there is couple possibilities for option (e.g. framework >= net40, net45)
|
|
42
|
+
.reverse()
|
|
43
|
+
.reduce(function (optionsMap, option, index, array) {
|
|
44
|
+
if (option.includes(':')) {
|
|
45
|
+
var _a = tslib_1.__read(option.split(/:\s*/), 2), optionKey = _a[0], value = _a[1];
|
|
46
|
+
optionsMap[optionKey] = value;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
array[index + 1] = array[index + 1] + ", " + option;
|
|
50
|
+
}
|
|
51
|
+
return optionsMap;
|
|
52
|
+
}, {});
|
|
30
53
|
}
|
|
31
|
-
dependencyString = dependencyString.replace(NUGET, '').trim();
|
|
32
|
-
// Split by space between words. First chunk will be name of the dependency and all rest - version.
|
|
33
|
-
var dependencyStringParts = dependencyString.split(/\s+/);
|
|
34
|
-
result.name = dependencyStringParts[0];
|
|
35
|
-
result.versionRange = dependencyStringParts.splice(1).join(' ');
|
|
36
|
-
// TODO: parse options
|
|
37
54
|
return result;
|
|
38
55
|
}
|
|
39
56
|
// https://fsprojects.github.io/Paket/github-dependencies.html
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies-parser.js","sourceRoot":"","sources":["../lib/dependencies-parser.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,IAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7B,IAAM,KAAK,GAAG,OAAO,CAAC;AACtB,IAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,oEAAoE;AACpE,IAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,IAAM,KAAK,GAAG,OAAO,CAAC;AACtB,IAAM,OAAO,GAAG,SAAS,CAAC;AAC1B,IAAM,GAAG,GAAG,KAAK,CAAC;AAClB,IAAM,IAAI,GAAG,MAAM,CAAC;AACpB,IAAM,IAAI,GAAG,MAAM,CAAC;AAwCpB,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"dependencies-parser.js","sourceRoot":"","sources":["../lib/dependencies-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
"description": "Generate a dep tree given a collection of manifests",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
|
-
"test": "
|
|
6
|
+
"test": "jest",
|
|
7
7
|
"test-jest": "jest",
|
|
8
|
-
"test-node4": "npm build && node ./test/node4/index.js",
|
|
9
8
|
"lint": "tslint -p tsconfig.json",
|
|
10
9
|
"build": "tsc",
|
|
11
10
|
"build-watch": "tsc -w",
|
|
@@ -19,7 +18,7 @@
|
|
|
19
18
|
"author": "snyk.io",
|
|
20
19
|
"license": "Apache-2.0",
|
|
21
20
|
"engines": {
|
|
22
|
-
"node": ">=
|
|
21
|
+
"node": ">=6"
|
|
23
22
|
},
|
|
24
23
|
"files": [
|
|
25
24
|
"bin",
|
|
@@ -30,7 +29,7 @@
|
|
|
30
29
|
"tslib": "^1.9.3"
|
|
31
30
|
},
|
|
32
31
|
"devDependencies": {
|
|
33
|
-
"@types/node": "^
|
|
32
|
+
"@types/node": "^6.14.3",
|
|
34
33
|
"ts-node": "7.0.0",
|
|
35
34
|
"tslint": "5.11.0",
|
|
36
35
|
"typescript": "3.0.1",
|
|
@@ -38,5 +37,5 @@
|
|
|
38
37
|
"jest": "^23.6.0",
|
|
39
38
|
"ts-jest": "^23.10.5"
|
|
40
39
|
},
|
|
41
|
-
"version": "1.
|
|
40
|
+
"version": "1.5.0"
|
|
42
41
|
}
|