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
- name: '',
26
+ source: NUGET,
27
+ name: name,
28
+ versionRange: versionRangeAndFirstOption,
18
29
  options: {},
19
- source: 'nuget',
20
- versionRange: '',
21
30
  };
22
- // Get position of first option.
23
- var firstOptionMatch = /\s*[^\s]+\s*:/.exec(line);
24
- var dependencyString = line;
25
- // let optionsString = '';
26
- if (firstOptionMatch) {
27
- // Split line by position of first option.
28
- dependencyString = line.substr(0, firstOptionMatch.index);
29
- // optionsString = line.substr(firstOptionMatch.index).trim();
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":"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"}
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": "node ./test-runner.js",
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": ">=4"
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": "^4.0.47",
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.4.3"
40
+ "version": "1.5.0"
42
41
  }