snyk-paket-parser 1.4.1 → 1.6.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.
@@ -1,49 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var line_parser_1 = require("./line-parser");
5
- var COMMENTS = ['#', '//'];
6
- var GROUP = 'group';
7
- var SOURCE = 'source';
3
+ const line_parser_1 = require("./line-parser");
4
+ const COMMENTS = ['#', '//'];
5
+ const GROUP = 'group';
6
+ const SOURCE = 'source';
8
7
  // https://fsprojects.github.io/Paket/dependencies-file.html#Sources
9
- var GITHUB = 'github';
10
- var NUGET = 'nuget';
11
- var CLITOOL = 'clitool';
12
- var GIT = 'git';
13
- var GIST = 'gist';
14
- var HTTP = 'http';
8
+ const GITHUB = 'github';
9
+ const NUGET = 'nuget';
10
+ const CLITOOL = 'clitool';
11
+ const GIT = 'git';
12
+ const GIST = 'gist';
13
+ const HTTP = 'http';
15
14
  function parseNuget(line) {
16
- var result = {
17
- name: '',
15
+ const commentRegex = new RegExp(`(?:${COMMENTS[0]}|${COMMENTS[1]}).+`);
16
+ const nameVersionOptionsRegex = new RegExp(/(\S+)\s*([^:\n]*)(:.*)?/);
17
+ const versionFirstOptionRegex = new RegExp(/\s(?=[^ ]*$)/);
18
+ const [, name, versionRangeAndFirstOption, restOptions] = line
19
+ .replace(NUGET, '') // Remove 'nuget' string
20
+ .replace(commentRegex, '') // Remove comments from line end
21
+ .trim()
22
+ .match(nameVersionOptionsRegex); // Split into groups for further parsing
23
+ // nuget dependency result object to be returned
24
+ const result = {
25
+ source: NUGET,
26
+ name,
27
+ versionRange: versionRangeAndFirstOption,
18
28
  options: {},
19
- source: 'nuget',
20
- versionRange: '',
21
29
  };
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();
30
+ if (restOptions) {
31
+ // tslint:disable-next-line:prefer-const
32
+ let [versionRange, firstOptionName] = versionRangeAndFirstOption.split(versionFirstOptionRegex);
33
+ result.versionRange = versionRange;
34
+ // If version is missing it will treat first option as version
35
+ if (!firstOptionName) {
36
+ result.versionRange = '';
37
+ firstOptionName = versionRange;
38
+ }
39
+ result.options = `${firstOptionName}${restOptions}`
40
+ .split(/\s*,\s*/) // Split by comma if there is couple possibilities for option (e.g. framework >= net40, net45)
41
+ .reverse()
42
+ .reduce((optionsMap, option, index, array) => {
43
+ if (option.includes(':')) {
44
+ const [optionKey, value] = option.split(/:\s*/);
45
+ optionsMap[optionKey] = value;
46
+ }
47
+ else {
48
+ array[index + 1] = `${array[index + 1]}, ${option}`;
49
+ }
50
+ return optionsMap;
51
+ }, {});
30
52
  }
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
53
  return result;
38
54
  }
39
55
  // https://fsprojects.github.io/Paket/github-dependencies.html
40
56
  function parseGithub(line) {
41
- var re = /"[^"]*"|\S+/g;
42
- var parts = line.match(re).splice(1);
43
- var _a = tslib_1.__read(parts[0].split(':'), 2), repo = _a[0], version = _a[1];
57
+ const re = /"[^"]*"|\S+/g;
58
+ const parts = line.match(re).splice(1);
59
+ const [repo, version] = parts[0].split(':');
44
60
  return {
45
61
  file: parts[1] || '',
46
- repo: repo,
62
+ repo,
47
63
  source: 'github',
48
64
  token: parts[2] || '',
49
65
  version: version || '',
@@ -52,45 +68,44 @@ function parseGithub(line) {
52
68
  // https://fsprojects.github.io/Paket/nuget-dependencies.html#NuGet-feeds
53
69
  function parseSource(line) {
54
70
  // Split URL and option string including possible comments.
55
- var urlRe = /^source ([^\s]+)(.*)$/i;
56
- var _a = tslib_1.__read(line.match(urlRe), 3), url = _a[1], optionsString = _a[2];
71
+ const urlRe = /^source ([^\s]+)(.*)$/i;
72
+ const [, url, optionsString] = line.match(urlRe);
57
73
  // Options in this line is always double quoted.
58
- var options = {};
59
- var optionsRe = /(.*?)\W*:\W*"(.*?)"/g;
60
- var optionsStringTrimmed = optionsString.trim();
61
- var matches = optionsRe.exec(optionsStringTrimmed);
74
+ const options = {};
75
+ const optionsRe = /(.*?)\W*:\W*"(.*?)"/g;
76
+ const optionsStringTrimmed = optionsString.trim();
77
+ let matches = optionsRe.exec(optionsStringTrimmed);
62
78
  while (matches) {
63
79
  options[matches[1].trim()] = matches[2].trim();
64
80
  matches = optionsRe.exec(optionsStringTrimmed);
65
81
  }
66
82
  return {
67
- options: options,
68
- url: url,
83
+ options,
84
+ url,
69
85
  };
70
86
  }
71
87
  function parseGroupOption(line) {
72
88
  // Line could be separated by space or by colon.
73
89
  // TODO: Think what to do with possible comment in the line.
74
- var result = line.match(/(\S+?)\s*(:|\s)\s*(.*)/);
90
+ const result = line.match(/(\S+?)\s*(:|\s)\s*(.*)/);
75
91
  return [result[1] || '', result[3] || ''];
76
92
  }
77
93
  function parseDependenciesFile(input) {
78
- var e_1, _a;
79
- var lines = line_parser_1.parseLines(input);
80
- var result = [];
81
- var group = {
94
+ const lines = line_parser_1.parseLines(input);
95
+ const result = [];
96
+ let group = {
82
97
  dependencies: [],
83
98
  name: null,
84
99
  options: {},
85
100
  sources: [],
86
101
  };
87
- var _loop_1 = function (line) {
88
- var isComment = !!COMMENTS.find(function (comment) { return line.data.startsWith(comment); });
102
+ for (const line of lines) {
103
+ const isComment = !!COMMENTS.find((comment) => line.data.startsWith(comment));
89
104
  // Ignore commented lines.
90
105
  if (isComment) {
91
- return "continue";
106
+ continue;
92
107
  }
93
- if (line.data.startsWith(GROUP + " ")) {
108
+ if (line.data.startsWith(`${GROUP} `)) {
94
109
  result.push(group);
95
110
  group = {
96
111
  dependencies: [],
@@ -99,44 +114,31 @@ function parseDependenciesFile(input) {
99
114
  sources: [],
100
115
  };
101
116
  }
102
- else if (line.data.startsWith(SOURCE + " ")) {
117
+ else if (line.data.startsWith(`${SOURCE} `)) {
103
118
  group.sources.push(parseSource(line.data));
104
119
  }
105
- else if (line.data.startsWith(GITHUB + " ")) {
120
+ else if (line.data.startsWith(`${GITHUB} `)) {
106
121
  group.dependencies.push(parseGithub(line.data));
107
122
  }
108
- else if (line.data.startsWith(NUGET + " ")) {
123
+ else if (line.data.startsWith(`${NUGET} `)) {
109
124
  group.dependencies.push(parseNuget(line.data));
110
125
  }
111
- else if (line.data.startsWith(CLITOOL + " ")) {
126
+ else if (line.data.startsWith(`${CLITOOL} `)) {
112
127
  // TODO
113
128
  }
114
- else if (line.data.startsWith(GIT + " ")) {
129
+ else if (line.data.startsWith(`${GIT} `)) {
115
130
  // TODO
116
131
  }
117
- else if (line.data.startsWith(GIST + " ")) {
132
+ else if (line.data.startsWith(`${GIST} `)) {
118
133
  // TODO
119
134
  }
120
- else if (line.data.startsWith(HTTP + " ")) {
135
+ else if (line.data.startsWith(`${HTTP} `)) {
121
136
  // TODO
122
137
  }
123
138
  else {
124
- var _a = tslib_1.__read(parseGroupOption(line.data), 2), name = _a[0], value = _a[1];
139
+ const [name, value] = parseGroupOption(line.data);
125
140
  group.options[name] = value;
126
141
  }
127
- };
128
- try {
129
- for (var lines_1 = tslib_1.__values(lines), lines_1_1 = lines_1.next(); !lines_1_1.done; lines_1_1 = lines_1.next()) {
130
- var line = lines_1_1.value;
131
- _loop_1(line);
132
- }
133
- }
134
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
135
- finally {
136
- try {
137
- if (lines_1_1 && !lines_1_1.done && (_a = lines_1.return)) _a.call(lines_1);
138
- }
139
- finally { if (e_1) throw e_1.error; }
140
142
  }
141
143
  result.push(group);
142
144
  return result;
@@ -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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"}
@@ -1,20 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var InvalidUserInputError = /** @class */ (function (_super) {
5
- tslib_1.__extends(InvalidUserInputError, _super);
6
- function InvalidUserInputError() {
7
- var args = [];
8
- for (var _i = 0; _i < arguments.length; _i++) {
9
- args[_i] = arguments[_i];
10
- }
11
- var _this = _super.apply(this, tslib_1.__spread(args)) || this;
12
- _this.code = 422;
13
- _this.name = 'InvalidUserInputError';
14
- Error.captureStackTrace(_this, InvalidUserInputError);
15
- return _this;
3
+ class InvalidUserInputError extends Error {
4
+ constructor(...args) {
5
+ super(...args);
6
+ this.code = 422;
7
+ this.name = 'InvalidUserInputError';
8
+ Error.captureStackTrace(this, InvalidUserInputError);
16
9
  }
17
- return InvalidUserInputError;
18
- }(Error));
10
+ }
19
11
  exports.InvalidUserInputError = InvalidUserInputError;
20
12
  //# sourceMappingURL=invalid-user-input-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invalid-user-input-error.js","sourceRoot":"","sources":["../../lib/errors/invalid-user-input-error.ts"],"names":[],"mappings":";;;AAAA;IAA2C,iDAAK;IAI9C;QAAY,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAA1B,gDACW,IAAI,WAEd;QANM,UAAI,GAAG,GAAG,CAAC;QACX,UAAI,GAAG,uBAAuB,CAAC;QAIpC,KAAK,CAAC,iBAAiB,CAAC,KAAI,EAAE,qBAAqB,CAAC,CAAC;;IACvD,CAAC;IACH,4BAAC;AAAD,CAAC,AARD,CAA2C,KAAK,GAQ/C;AARY,sDAAqB"}
1
+ {"version":3,"file":"invalid-user-input-error.js","sourceRoot":"","sources":["../../lib/errors/invalid-user-input-error.ts"],"names":[],"mappings":";;AAAA,MAAa,qBAAsB,SAAQ,KAAK;IAI9C,YAAY,GAAG,IAAW;QACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAJV,SAAI,GAAG,GAAG,CAAC;QACX,SAAI,GAAG,uBAAuB,CAAC;QAIpC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,CAAC;CACF;AARD,sDAQC"}
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var OutOfSyncError = /** @class */ (function (_super) {
5
- tslib_1.__extends(OutOfSyncError, _super);
6
- function OutOfSyncError(dependencyName) {
7
- var _this = _super.call(this, "Dependency " + dependencyName + " was not found in paket.lock. Your " +
3
+ class OutOfSyncError extends Error {
4
+ constructor(dependencyName) {
5
+ super(`Dependency ${dependencyName} was not found in paket.lock. Your ` +
8
6
  'paket.dependencies and paket.lock are probably out of sync. Please ' +
9
- 'run "paket install" and try again.') || this;
10
- _this.code = 422;
11
- _this.name = 'OutOfSyncError';
12
- _this.dependencyName = dependencyName;
13
- Error.captureStackTrace(_this, OutOfSyncError);
14
- return _this;
7
+ 'run "paket install" and try again.');
8
+ this.code = 422;
9
+ this.name = 'OutOfSyncError';
10
+ this.dependencyName = dependencyName;
11
+ Error.captureStackTrace(this, OutOfSyncError);
15
12
  }
16
- return OutOfSyncError;
17
- }(Error));
13
+ }
18
14
  exports.OutOfSyncError = OutOfSyncError;
19
15
  //# sourceMappingURL=out-of-sync-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"out-of-sync-error.js","sourceRoot":"","sources":["../../lib/errors/out-of-sync-error.ts"],"names":[],"mappings":";;;AAAA;IAAoC,0CAAK;IAMvC,wBAAY,cAAsB;QAAlC,YACE,kBAAM,gBAAc,cAAc,wCAAqC;YACrE,qEAAqE;YACrE,oCAAoC,CAAC,SAGxC;QAXM,UAAI,GAAG,GAAG,CAAC;QACX,UAAI,GAAG,gBAAgB,CAAC;QAQ7B,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,KAAK,CAAC,iBAAiB,CAAC,KAAI,EAAE,cAAc,CAAC,CAAC;;IAChD,CAAC;IACH,qBAAC;AAAD,CAAC,AAbD,CAAoC,KAAK,GAaxC;AAbY,wCAAc"}
1
+ {"version":3,"file":"out-of-sync-error.js","sourceRoot":"","sources":["../../lib/errors/out-of-sync-error.ts"],"names":[],"mappings":";;AAAA,MAAa,cAAe,SAAQ,KAAK;IAMvC,YAAY,cAAsB;QAChC,KAAK,CAAC,cAAc,cAAc,qCAAqC;YACrE,qEAAqE;YACrE,oCAAoC,CAAC,CAAC;QARnC,SAAI,GAAG,GAAG,CAAC;QACX,SAAI,GAAG,gBAAgB,CAAC;QAQ7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;CACF;AAbD,wCAaC"}
package/dist/index.d.ts CHANGED
@@ -16,4 +16,3 @@ export declare enum DepType {
16
16
  dev = "dev"
17
17
  }
18
18
  export declare function buildDepTreeFromFiles(root: string, manifestFilePath: string, lockFilePath: string, includeDev?: boolean, strict?: boolean): Promise<DepTree>;
19
- export declare function buildDepTree(manifestFileContents: string, lockFileContents: string, includeDev?: boolean, strict?: boolean, defaultManifestFileName?: string): Promise<DepTree>;
package/dist/index.js CHANGED
@@ -1,281 +1,170 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var lock_parser_1 = require("./lock-parser");
5
- var dependencies_parser_1 = require("./dependencies-parser");
6
- var path = require("path");
7
- var fs = require("fs");
8
- var errors_1 = require("./errors");
3
+ const tslib_1 = require("tslib");
4
+ const lock_parser_1 = require("./lock-parser");
5
+ const dependencies_parser_1 = require("./dependencies-parser");
6
+ const path = require("path");
7
+ const fs = require("fs");
8
+ const errors_1 = require("./errors");
9
9
  exports.InvalidUserInputError = errors_1.InvalidUserInputError;
10
10
  exports.OutOfSyncError = errors_1.OutOfSyncError;
11
- var DEV_GROUPS = ['build', 'test', 'tests'];
12
- var SUPPORTED_SOURCES = ['nuget'];
13
- var FREQUENCY_THRESHOLD = 100;
11
+ const DEV_GROUPS = ['build', 'test', 'tests'];
12
+ const SUPPORTED_SOURCES = ['nuget'];
13
+ const FREQUENCY_THRESHOLD = 100;
14
14
  var DepType;
15
15
  (function (DepType) {
16
16
  DepType["prod"] = "prod";
17
17
  DepType["dev"] = "dev";
18
18
  })(DepType = exports.DepType || (exports.DepType = {}));
19
- function buildDepTreeFromFiles(root, manifestFilePath, lockFilePath, includeDev, strict) {
20
- if (includeDev === void 0) { includeDev = false; }
21
- if (strict === void 0) { strict = true; }
22
- return tslib_1.__awaiter(this, void 0, void 0, function () {
23
- var manifestFileFullPath, lockFileFullPath, manifestFileContents, lockFileContents;
24
- return tslib_1.__generator(this, function (_a) {
25
- switch (_a.label) {
26
- case 0:
27
- manifestFileFullPath = path.resolve(root, manifestFilePath);
28
- lockFileFullPath = path.resolve(root, lockFilePath);
29
- if (!fs.existsSync(manifestFileFullPath)) {
30
- throw new errors_1.InvalidUserInputError('Target file paket.dependencies not found at ' +
31
- ("location: " + manifestFileFullPath));
32
- }
33
- if (!fs.existsSync(lockFileFullPath)) {
34
- throw new errors_1.InvalidUserInputError('Lockfile not found at location: ' +
35
- lockFileFullPath);
36
- }
37
- manifestFileContents = fs.readFileSync(manifestFileFullPath, 'utf-8');
38
- lockFileContents = fs.readFileSync(lockFileFullPath, 'utf-8');
39
- return [4 /*yield*/, buildDepTree(manifestFileContents, lockFileContents, includeDev, strict, manifestFileFullPath)];
40
- case 1: return [2 /*return*/, _a.sent()];
41
- }
42
- });
19
+ function buildDepTreeFromFiles(root, manifestFilePath, lockFilePath, includeDev = false, strict = true) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const manifestFileFullPath = path.resolve(root, manifestFilePath);
22
+ const lockFileFullPath = path.resolve(root, lockFilePath);
23
+ if (!fs.existsSync(manifestFileFullPath)) {
24
+ throw new errors_1.InvalidUserInputError('Target file paket.dependencies not found at ' +
25
+ `location: ${manifestFileFullPath}`);
26
+ }
27
+ if (!fs.existsSync(lockFileFullPath)) {
28
+ throw new errors_1.InvalidUserInputError('Lockfile not found at location: ' +
29
+ lockFileFullPath);
30
+ }
31
+ const manifestFileContents = fs.readFileSync(manifestFileFullPath, 'utf-8');
32
+ const lockFileContents = fs.readFileSync(lockFileFullPath, 'utf-8');
33
+ return {
34
+ dependencies: yield buildDepTree(manifestFileContents, lockFileContents, includeDev, strict),
35
+ name: path.basename(path.dirname(manifestFileFullPath)),
36
+ version: '',
37
+ };
43
38
  });
44
39
  }
45
40
  exports.buildDepTreeFromFiles = buildDepTreeFromFiles;
46
- function buildDepTree(manifestFileContents, lockFileContents, includeDev, strict, defaultManifestFileName) {
47
- if (includeDev === void 0) { includeDev = false; }
48
- if (strict === void 0) { strict = true; }
49
- if (defaultManifestFileName === void 0) { defaultManifestFileName = 'paket.dependencies'; }
50
- return tslib_1.__awaiter(this, void 0, void 0, function () {
51
- var e_1, _a, e_2, _b, manifestFile, lockFile, depTree, dependenciesMap, _c, _d, dep, _e, _f, dep, frequentSubTree;
52
- return tslib_1.__generator(this, function (_g) {
53
- manifestFile = dependencies_parser_1.parseDependenciesFile(manifestFileContents);
54
- lockFile = lock_parser_1.parseLockFile(lockFileContents);
55
- depTree = {
56
- dependencies: {},
57
- name: defaultManifestFileName,
58
- version: '',
59
- };
60
- dependenciesMap = new Map();
61
- collectRootDeps(manifestFile, dependenciesMap);
62
- collectResolvedDeps(lockFile, dependenciesMap);
63
- try {
64
- for (_c = tslib_1.__values(dependenciesMap.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
65
- dep = _d.value;
66
- if (dep.root) {
67
- calculateReferences(dep, dependenciesMap);
68
- }
69
- }
41
+ function buildDepTree(manifestFileContents, lockFileContents, includeDev = false, strict = true) {
42
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
43
+ const manifestFile = dependencies_parser_1.parseDependenciesFile(manifestFileContents);
44
+ const lockFile = lock_parser_1.parseLockFile(lockFileContents);
45
+ const dependenciesMap = new Map();
46
+ collectRootDeps(manifestFile, dependenciesMap);
47
+ collectResolvedDeps(lockFile, dependenciesMap);
48
+ for (const dep of dependenciesMap.values()) {
49
+ if (dep.root) {
50
+ calculateReferences(dep, dependenciesMap);
70
51
  }
71
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
72
- finally {
73
- try {
74
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
75
- }
76
- finally { if (e_1) throw e_1.error; }
77
- }
78
- try {
79
- for (_e = tslib_1.__values(dependenciesMap.values()), _f = _e.next(); !_f.done; _f = _e.next()) {
80
- dep = _f.value;
81
- if (dep.root && (includeDev || dep.depType === DepType.prod)) {
82
- if (strict && !dep.resolved) {
83
- throw new errors_1.OutOfSyncError(dep.name);
84
- }
85
- depTree.dependencies[dep.name] = buildTreeFromList(dep, dependenciesMap);
86
- if (!dep.resolved) {
87
- depTree.dependencies[dep.name].missingLockFileEntry = true;
88
- }
89
- }
52
+ }
53
+ const dependencies = {};
54
+ for (const dep of dependenciesMap.values()) {
55
+ if (dep.root && (includeDev || dep.depType === DepType.prod)) {
56
+ if (strict && !dep.resolved) {
57
+ throw new errors_1.OutOfSyncError(dep.name);
90
58
  }
91
- }
92
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
93
- finally {
94
- try {
95
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
59
+ dependencies[dep.name] = buildTreeFromList(dep, dependenciesMap);
60
+ if (!dep.resolved) {
61
+ dependencies[dep.name].missingLockFileEntry = true;
96
62
  }
97
- finally { if (e_2) throw e_2.error; }
98
63
  }
99
- frequentSubTree = buildFrequentDepsSubtree(dependenciesMap);
100
- if (Object.keys(frequentSubTree.dependencies).length) {
101
- depTree.dependencies[frequentSubTree.name] = frequentSubTree;
102
- }
103
- return [2 /*return*/, depTree];
104
- });
64
+ }
65
+ const frequentSubTree = buildFrequentDepsSubtree(dependenciesMap);
66
+ if (Object.keys(frequentSubTree.dependencies).length) {
67
+ dependencies[frequentSubTree.name] = frequentSubTree;
68
+ }
69
+ return dependencies;
105
70
  });
106
71
  }
107
- exports.buildDepTree = buildDepTree;
108
72
  function collectRootDeps(manifestFile, dependenciesMap) {
109
- var e_3, _a, e_4, _b;
110
- try {
111
- for (var manifestFile_1 = tslib_1.__values(manifestFile), manifestFile_1_1 = manifestFile_1.next(); !manifestFile_1_1.done; manifestFile_1_1 = manifestFile_1.next()) {
112
- var group = manifestFile_1_1.value;
113
- var isDev = DEV_GROUPS.indexOf((group.name || '').toLowerCase()) !== -1;
114
- try {
115
- for (var _c = tslib_1.__values(group.dependencies), _d = _c.next(); !_d.done; _d = _c.next()) {
116
- var dep = _d.value;
117
- if (SUPPORTED_SOURCES.indexOf(dep.source.toLowerCase()) === -1) {
118
- continue;
119
- }
120
- var nugetDep = dep;
121
- if (!dependenciesMap.has(nugetDep.name.toLowerCase())) {
122
- dependenciesMap.set(nugetDep.name.toLowerCase(), {
123
- name: nugetDep.name,
124
- // Will be overwritten in `collectResolvedDeps`.
125
- version: nugetDep.versionRange,
126
- // Will be overwritten in `collectResolvedDeps`.
127
- dependencies: [],
128
- depType: isDev ? DepType.dev : DepType.prod,
129
- root: true,
130
- refs: 1,
131
- // Will be overwritten in `collectResolvedDeps`.
132
- resolved: false,
133
- });
134
- }
135
- }
73
+ for (const group of manifestFile) {
74
+ const isDev = DEV_GROUPS.indexOf((group.name || '').toLowerCase()) !== -1;
75
+ for (const dep of group.dependencies) {
76
+ if (SUPPORTED_SOURCES.indexOf(dep.source.toLowerCase()) === -1) {
77
+ continue;
136
78
  }
137
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
138
- finally {
139
- try {
140
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
141
- }
142
- finally { if (e_4) throw e_4.error; }
79
+ const nugetDep = dep;
80
+ if (!dependenciesMap.has(nugetDep.name.toLowerCase())) {
81
+ dependenciesMap.set(nugetDep.name.toLowerCase(), {
82
+ name: nugetDep.name,
83
+ // Will be overwritten in `collectResolvedDeps`.
84
+ version: nugetDep.versionRange,
85
+ // Will be overwritten in `collectResolvedDeps`.
86
+ dependencies: [],
87
+ depType: isDev ? DepType.dev : DepType.prod,
88
+ root: true,
89
+ refs: 1,
90
+ // Will be overwritten in `collectResolvedDeps`.
91
+ resolved: false,
92
+ });
143
93
  }
144
94
  }
145
95
  }
146
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
147
- finally {
148
- try {
149
- if (manifestFile_1_1 && !manifestFile_1_1.done && (_a = manifestFile_1.return)) _a.call(manifestFile_1);
150
- }
151
- finally { if (e_3) throw e_3.error; }
152
- }
153
96
  }
154
97
  function collectResolvedDeps(lockFile, dependenciesMap) {
155
- var e_5, _a, e_6, _b;
156
- try {
157
- for (var _c = tslib_1.__values(lockFile.groups), _d = _c.next(); !_d.done; _d = _c.next()) {
158
- var group = _d.value;
159
- var isDev = DEV_GROUPS.indexOf((group.name || '').toLowerCase()) !== -1;
160
- try {
161
- for (var _e = tslib_1.__values(group.dependencies), _f = _e.next(); !_f.done; _f = _e.next()) {
162
- var dep = _f.value;
163
- if (SUPPORTED_SOURCES.indexOf(dep.repository.toLowerCase()) === -1) {
164
- continue;
165
- }
166
- if (dependenciesMap.has(dep.name.toLowerCase())) {
167
- var rootDep = dependenciesMap.get(dep.name.toLowerCase());
168
- rootDep.version = dep.version;
169
- rootDep.dependencies = dep.dependencies.map(function (d) { return d.name.toLowerCase(); });
170
- rootDep.resolved = true;
171
- }
172
- else {
173
- dependenciesMap.set(dep.name.toLowerCase(), {
174
- name: dep.name,
175
- version: dep.version,
176
- dependencies: dep.dependencies.map(function (d) { return d.name.toLowerCase(); }),
177
- depType: isDev ? DepType.dev : DepType.prod,
178
- root: false,
179
- refs: 0,
180
- resolved: true,
181
- });
182
- }
183
- }
98
+ for (const group of lockFile.groups) {
99
+ const isDev = DEV_GROUPS.indexOf((group.name || '').toLowerCase()) !== -1;
100
+ for (const dep of group.dependencies) {
101
+ if (SUPPORTED_SOURCES.indexOf(dep.repository.toLowerCase()) === -1) {
102
+ continue;
184
103
  }
185
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
186
- finally {
187
- try {
188
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
189
- }
190
- finally { if (e_6) throw e_6.error; }
104
+ if (dependenciesMap.has(dep.name.toLowerCase())) {
105
+ const rootDep = dependenciesMap.get(dep.name.toLowerCase());
106
+ rootDep.version = dep.version;
107
+ rootDep.dependencies = dep.dependencies.map((d) => d.name.toLowerCase());
108
+ rootDep.resolved = true;
109
+ }
110
+ else {
111
+ dependenciesMap.set(dep.name.toLowerCase(), {
112
+ name: dep.name,
113
+ version: dep.version,
114
+ dependencies: dep.dependencies.map((d) => d.name.toLowerCase()),
115
+ depType: isDev ? DepType.dev : DepType.prod,
116
+ root: false,
117
+ refs: 0,
118
+ resolved: true,
119
+ });
191
120
  }
192
121
  }
193
122
  }
194
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
195
- finally {
196
- try {
197
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
198
- }
199
- finally { if (e_5) throw e_5.error; }
200
- }
201
123
  }
202
124
  function calculateReferences(node, dependenciesMap) {
203
- var e_7, _a;
204
- try {
205
- for (var _b = tslib_1.__values(node.dependencies), _c = _b.next(); !_c.done; _c = _b.next()) {
206
- var subName = _c.value;
207
- var sub = dependenciesMap.get(subName);
208
- sub.refs += node.refs;
209
- // Do not propagate calculations if we already reach threshold for the node.
210
- if (sub.refs < FREQUENCY_THRESHOLD) {
211
- calculateReferences(sub, dependenciesMap);
212
- }
213
- }
214
- }
215
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
216
- finally {
217
- try {
218
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
125
+ for (const subName of node.dependencies) {
126
+ const sub = dependenciesMap.get(subName);
127
+ sub.refs += node.refs;
128
+ // Do not propagate calculations if we already reach threshold for the node.
129
+ if (sub.refs < FREQUENCY_THRESHOLD) {
130
+ calculateReferences(sub, dependenciesMap);
219
131
  }
220
- finally { if (e_7) throw e_7.error; }
221
132
  }
222
133
  }
223
134
  function buildFrequentDepsSubtree(dependenciesMap) {
224
- var tree = {
135
+ const tree = {
225
136
  name: 'meta-common-packages',
226
137
  version: 'meta',
227
138
  dependencies: {},
228
139
  };
229
- getFrequentDependencies(dependenciesMap).forEach(function (listItem) {
230
- var treeNode = buildTreeFromList(listItem, dependenciesMap);
140
+ getFrequentDependencies(dependenciesMap).forEach((listItem) => {
141
+ const treeNode = buildTreeFromList(listItem, dependenciesMap);
231
142
  tree.dependencies[treeNode.name] = treeNode;
232
143
  });
233
144
  return tree;
234
145
  }
235
146
  function getFrequentDependencies(dependenciesMap) {
236
- var e_8, _a;
237
- var frequentDeps = [];
238
- try {
239
- for (var _b = tslib_1.__values(dependenciesMap.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
240
- var dep = _c.value;
241
- if (!dep.root && dep.refs >= FREQUENCY_THRESHOLD) {
242
- frequentDeps.push(dep);
243
- }
244
- }
245
- }
246
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
247
- finally {
248
- try {
249
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
147
+ const frequentDeps = [];
148
+ for (const dep of dependenciesMap.values()) {
149
+ if (!dep.root && dep.refs >= FREQUENCY_THRESHOLD) {
150
+ frequentDeps.push(dep);
250
151
  }
251
- finally { if (e_8) throw e_8.error; }
252
152
  }
253
153
  return frequentDeps;
254
154
  }
255
155
  function buildTreeFromList(listItem, dependenciesMap) {
256
- var e_9, _a;
257
- var tree = {
156
+ const tree = {
258
157
  name: listItem.name,
259
158
  version: listItem.version,
260
159
  dependencies: {},
261
160
  depType: listItem.depType,
262
161
  };
263
- try {
264
- for (var _b = tslib_1.__values(listItem.dependencies), _c = _b.next(); !_c.done; _c = _b.next()) {
265
- var name = _c.value;
266
- var subListItem = dependenciesMap.get(name);
267
- if (!(subListItem.refs >= FREQUENCY_THRESHOLD)) {
268
- var subtree = buildTreeFromList(subListItem, dependenciesMap);
269
- tree.dependencies[subtree.name] = subtree;
270
- }
271
- }
272
- }
273
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
274
- finally {
275
- try {
276
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
162
+ for (const name of listItem.dependencies) {
163
+ const subListItem = dependenciesMap.get(name);
164
+ if (!(subListItem.refs >= FREQUENCY_THRESHOLD)) {
165
+ const subtree = buildTreeFromList(subListItem, dependenciesMap);
166
+ tree.dependencies[subtree.name] = subtree;
277
167
  }
278
- finally { if (e_9) throw e_9.error; }
279
168
  }
280
169
  return tree;
281
170
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var Line = /** @class */ (function () {
5
- function Line(data, indentation) {
3
+ class Line {
4
+ constructor(data, indentation) {
6
5
  this.data = data;
7
6
  this.indentation = indentation;
8
7
  }
9
- return Line;
10
- }());
8
+ }
11
9
  exports.Line = Line;
12
10
  function countIndents(line, indent) {
13
- var spaces = line.match(/^\s*/)[0].length;
14
- var count = spaces / indent.length;
11
+ const spaces = line.match(/^\s*/)[0].length;
12
+ const count = spaces / indent.length;
15
13
  if (count % 1 !== 0) {
16
14
  throw new Error('Line indentation malformed');
17
15
  }
@@ -30,29 +28,16 @@ function removeByteOrderMark(input) {
30
28
  return input;
31
29
  }
32
30
  // parse space indented lines into array of Lines
33
- function parseLines(input, indent /* two spaces */, lineSeparator) {
34
- if (indent === void 0) { indent = ' '; }
35
- if (lineSeparator === void 0) { lineSeparator = /\r?\n/; }
36
- var e_1, _a;
37
- var lines = removeByteOrderMark(input).split(lineSeparator);
38
- var result = [];
39
- try {
40
- for (var lines_1 = tslib_1.__values(lines), lines_1_1 = lines_1.next(); !lines_1_1.done; lines_1_1 = lines_1.next()) {
41
- var line = lines_1_1.value;
42
- var data = line.trim();
43
- if (data === '') { // GROUPS often separated by blank lines
44
- continue;
45
- }
46
- var indentation = countIndents(line, indent);
47
- result.push(new Line(data, indentation));
48
- }
49
- }
50
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
51
- finally {
52
- try {
53
- if (lines_1_1 && !lines_1_1.done && (_a = lines_1.return)) _a.call(lines_1);
31
+ function parseLines(input, indent = ' ' /* two spaces */, lineSeparator = /\r?\n/) {
32
+ const lines = removeByteOrderMark(input).split(lineSeparator);
33
+ const result = [];
34
+ for (const line of lines) {
35
+ const data = line.trim();
36
+ if (data === '') { // GROUPS often separated by blank lines
37
+ continue;
54
38
  }
55
- finally { if (e_1) throw e_1.error; }
39
+ const indentation = countIndents(line, indent);
40
+ result.push(new Line(data, indentation));
56
41
  }
57
42
  return result;
58
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"line-parser.js","sourceRoot":"","sources":["../lib/line-parser.ts"],"names":[],"mappings":";;;AAAA;IAIE,cAAY,IAAY,EAAE,WAAmB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IACH,WAAC;AAAD,CAAC,AARD,IAQC;AARY,oBAAI;AAUjB,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc;IAChD,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,+EAA+E;AAC/E,iDAAiD;AACjD,EAAE;AACF,kDAAkD;AAClD,wEAAwE;AACxE,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;QACpD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iDAAiD;AACjD,SAAgB,UAAU,CACxB,KAAa,EACb,MAAqB,CAAC,gBAAgB,EACtC,aAA+B;IAD/B,uBAAA,EAAA,aAAqB;IACrB,8BAAA,EAAA,uBAA+B;;IAG/B,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAM,MAAM,GAAW,EAAE,CAAC;;QAE1B,KAAmB,IAAA,UAAA,iBAAA,KAAK,CAAA,4BAAA,+CAAE;YAArB,IAAM,IAAI,kBAAA;YACb,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAEzB,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,wCAAwC;gBACzD,SAAS;aACV;YAED,IAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;SAC1C;;;;;;;;;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAtBD,gCAsBC"}
1
+ {"version":3,"file":"line-parser.js","sourceRoot":"","sources":["../lib/line-parser.ts"],"names":[],"mappings":";;AAAA,MAAa,IAAI;IAIf,YAAY,IAAY,EAAE,WAAmB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AARD,oBAQC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,+EAA+E;AAC/E,iDAAiD;AACjD,EAAE;AACF,kDAAkD;AAClD,wEAAwE;AACxE,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;QACpD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iDAAiD;AACjD,SAAgB,UAAU,CACxB,KAAa,EACb,SAAiB,IAAI,CAAC,gBAAgB,EACtC,gBAAwB,OAAO;IAG/B,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,wCAAwC;YACzD,SAAS;SACV;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;KAC1C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAtBD,gCAsBC"}
@@ -1,42 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var line_parser_1 = require("./line-parser");
5
- var REPOSITORY_TYPES = ['HTTP', 'GIST', 'GIT', 'NUGET', 'GITHUB']; // naming convention in paket's standard parser
6
- var GROUP = 'GROUP';
7
- var REMOTE = 'REMOTE';
8
- var SPECS = 'SPECS';
3
+ const line_parser_1 = require("./line-parser");
4
+ const REPOSITORY_TYPES = ['HTTP', 'GIST', 'GIT', 'NUGET', 'GITHUB']; // naming convention in paket's standard parser
5
+ const GROUP = 'GROUP';
6
+ const REMOTE = 'REMOTE';
7
+ const SPECS = 'SPECS';
9
8
  function parseOptions(optionsString) {
10
- var e_1, _a;
11
- var options = {};
12
- try {
13
- for (var _b = tslib_1.__values(optionsString.split(/, +/)), _c = _b.next(); !_c.done; _c = _b.next()) {
14
- var option = _c.value;
15
- var optionParts = option.split(/: +/);
16
- if (optionParts[0] !== '') {
17
- options[optionParts[0]] = optionParts[1];
18
- }
19
- }
20
- }
21
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
22
- finally {
23
- try {
24
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
9
+ const options = {};
10
+ for (const option of optionsString.split(/, +/)) {
11
+ const optionParts = option.split(/: +/);
12
+ if (optionParts[0] !== '') {
13
+ options[optionParts[0]] = optionParts[1];
25
14
  }
26
- finally { if (e_1) throw e_1.error; }
27
15
  }
28
16
  return options;
29
17
  }
30
18
  function parseDependencyLine(line, isSubDependency) {
31
- var re = /^([^ ]+)\W+\(([^)]+)\)\W*(.*)$/;
32
- var match = line.data.match(re);
33
- var result = {
19
+ const re = /^([^ ]+)\W+\(([^)]+)\)\W*(.*)$/;
20
+ const match = line.data.match(re);
21
+ const result = {
34
22
  name: '',
35
23
  version: '',
36
24
  options: {},
37
25
  };
38
26
  if (!match && !isSubDependency) {
39
- throw new Error("Malformed paket.lock file: Missing resolved version on " + line.data);
27
+ throw new Error(`Malformed paket.lock file: Missing resolved version on ${line.data}`);
40
28
  }
41
29
  // Octokit (0.10.0)
42
30
  // Microsoft.Net.Http
@@ -56,79 +44,68 @@ function parseDependencyLine(line, isSubDependency) {
56
44
  return result;
57
45
  }
58
46
  function parseLockFile(input) {
59
- var e_2, _a;
60
- var result = {
47
+ const result = {
61
48
  groups: [],
62
49
  };
63
- var lines = line_parser_1.parseLines(input);
64
- var group = {
50
+ const lines = line_parser_1.parseLines(input);
51
+ let group = {
65
52
  name: null,
66
53
  repositories: {},
67
54
  dependencies: [],
68
55
  };
69
- var depContext = {};
70
- var dependency = null;
71
- try {
72
- for (var lines_1 = tslib_1.__values(lines), lines_1_1 = lines_1.next(); !lines_1_1.done; lines_1_1 = lines_1.next()) {
73
- var line = lines_1_1.value;
74
- var upperCaseLine = line.data.toUpperCase();
75
- if (line.indentation === 0) { // group or group option
76
- if (upperCaseLine.startsWith(GROUP)) {
77
- result.groups.push(group);
78
- depContext = {};
79
- group = {
80
- name: line.data.substr(GROUP.length).trim(),
81
- repositories: {},
82
- dependencies: [],
83
- };
84
- }
85
- else if (REPOSITORY_TYPES.indexOf(upperCaseLine) !== -1) {
86
- depContext.repository = line.data;
87
- group.repositories[line.data] = [];
88
- }
89
- else {
90
- var _b = tslib_1.__read(line.data.split(':'), 2), optionName = _b[0], optionValue = _b[1];
91
- group.options = group.options || {};
92
- // TODO: keeping null option values to know the option names
93
- // need to decide what to do with them
94
- group.options[optionName.trim()] = optionValue ? optionValue.trim() : null;
95
- }
56
+ let depContext = {};
57
+ let dependency = null;
58
+ for (const line of lines) {
59
+ const upperCaseLine = line.data.toUpperCase();
60
+ if (line.indentation === 0) { // group or group option
61
+ if (upperCaseLine.startsWith(GROUP)) {
62
+ result.groups.push(group);
63
+ depContext = {};
64
+ group = {
65
+ name: line.data.substr(GROUP.length).trim(),
66
+ repositories: {},
67
+ dependencies: [],
68
+ };
96
69
  }
97
- else if (line.indentation === 1) { // remote or specs
98
- if (upperCaseLine.startsWith(REMOTE)) {
99
- var remote = line.data.substring(REMOTE.length + ':'.length).trim();
100
- if (remote) {
101
- depContext.remote = remote;
102
- group.repositories[depContext.repository].push(remote);
103
- }
104
- }
105
- else if (upperCaseLine.startsWith(SPECS)) {
106
- // TODO: for now we add the specs as boolean in meta
107
- group.specs = true;
108
- }
70
+ else if (REPOSITORY_TYPES.indexOf(upperCaseLine) !== -1) {
71
+ depContext.repository = line.data;
72
+ group.repositories[line.data] = [];
109
73
  }
110
74
  else {
111
- var dep = parseDependencyLine(line, line.indentation === 3);
112
- if (line.indentation === 2) { // Resolved Dependency
113
- dep.remote = depContext.remote;
114
- dep.repository = depContext.repository;
115
- dependency = dep;
116
- }
117
- else { // Transitive Dependency
118
- dependency.dependencies.push(dep);
75
+ const [optionName, optionValue] = line.data.split(':');
76
+ group.options = group.options || {};
77
+ // TODO: keeping null option values to know the option names
78
+ // need to decide what to do with them
79
+ group.options[optionName.trim()] = optionValue ? optionValue.trim() : null;
80
+ }
81
+ }
82
+ else if (line.indentation === 1) { // remote or specs
83
+ if (upperCaseLine.startsWith(REMOTE)) {
84
+ const remote = line.data.substring(REMOTE.length + ':'.length).trim();
85
+ if (remote) {
86
+ depContext.remote = remote;
87
+ group.repositories[depContext.repository].push(remote);
119
88
  }
120
89
  }
121
- if (group && dependency && group.dependencies.indexOf(dependency) === -1) {
122
- group.dependencies.push(dependency);
90
+ else if (upperCaseLine.startsWith(SPECS)) {
91
+ // TODO: for now we add the specs as boolean in meta
92
+ group.specs = true;
123
93
  }
124
94
  }
125
- }
126
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
127
- finally {
128
- try {
129
- if (lines_1_1 && !lines_1_1.done && (_a = lines_1.return)) _a.call(lines_1);
95
+ else {
96
+ const dep = parseDependencyLine(line, line.indentation === 3);
97
+ if (line.indentation === 2) { // Resolved Dependency
98
+ dep.remote = depContext.remote;
99
+ dep.repository = depContext.repository;
100
+ dependency = dep;
101
+ }
102
+ else { // Transitive Dependency
103
+ dependency.dependencies.push(dep);
104
+ }
105
+ }
106
+ if (group && dependency && group.dependencies.indexOf(dependency) === -1) {
107
+ group.dependencies.push(dependency);
130
108
  }
131
- finally { if (e_2) throw e_2.error; }
132
109
  }
133
110
  result.groups.push(group);
134
111
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"lock-parser.js","sourceRoot":"","sources":["../lib/lock-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock-parser.js","sourceRoot":"","sources":["../lib/lock-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.1"
40
+ "version": "1.6.0"
42
41
  }