occam-verify-cli 0.0.323 → 0.0.325

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,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- const options = require("./options");
3
+ const { LOG_LEVEL_OPTIONS, RELEASE_NAME_OPTIONS } = require("./options");
4
4
 
5
- const { RELEASE_NAME_OPTIONS } = options;
6
-
7
- const p = RELEASE_NAME_OPTIONS;
5
+ const l = LOG_LEVEL_OPTIONS,
6
+ p = RELEASE_NAME_OPTIONS;
8
7
 
9
8
  module.exports = {
9
+ l,
10
10
  p
11
11
  };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ const { levels } = require("necessary"),
4
+ { Callbacks } = require("../lib/index"),
5
+ { loggingUtilities } = require("necessary");
6
+
7
+ const { HALT_MESSAGE, BEGIN_MESSAGE, COMPLETED_MESSAGE } = require("./messages");
8
+
9
+ const { log } = loggingUtilities,
10
+ { TRACE_LEVEL } = levels;
11
+
12
+ function halt(filePath, leastLineIndex, greatestLineIndex) { logMessage(HALT_MESSAGE, filePath, leastLineIndex, greatestLineIndex); } ///
13
+
14
+ function begin(filePath, leastLineIndex, greatestLineIndex) { logMessage(BEGIN_MESSAGE, filePath, leastLineIndex, greatestLineIndex); } ///
15
+
16
+ function complete(filePath, leastLineIndex, greatestLineIndex) { logMessage(COMPLETED_MESSAGE, filePath, leastLineIndex, greatestLineIndex); } ///
17
+
18
+ const callbacks = Callbacks.fromHaltBeginAndComplete(halt, begin, complete);
19
+
20
+ module.exports = callbacks;
21
+
22
+ function logMessage(message, filePath, leastLineIndex, greatestLineIndex) {
23
+ if (leastLineIndex === greatestLineIndex) {
24
+ const lineIndex = leastLineIndex; ///
25
+
26
+ message = `'${filePath}' : [${lineIndex}] - ${message}`;
27
+ } else {
28
+ message = `'${filePath}' : [${leastLineIndex}-${greatestLineIndex}] - ${message}`;
29
+ }
30
+
31
+ const level = TRACE_LEVEL;
32
+
33
+ log(message, level);
34
+
35
+ return message;
36
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ const { levels } = require("necessary");
4
+
5
+ const { INFO_LEVEL } = levels;
6
+
7
+ const DEFAULT_LOG_LEVEL = INFO_LEVEL;
8
+
9
+ module.exports = {
10
+ DEFAULT_LOG_LEVEL
11
+ };
package/bin/main.js CHANGED
@@ -1,24 +1,26 @@
1
1
  "use strict";
2
2
 
3
- const { arrayUtilities } = require("necessary"),
4
- { fileSystemUtilities } = require("occam-file-system"),
3
+ const { fileSystemUtilities } = require("occam-file-system"),
4
+ { arrayUtilities, loggingUtilities } = require("necessary"),
5
5
  { verifyRelease, releaseContextUtilities } = require("../lib/index");
6
6
 
7
- const { log } = require("./utilities/logging"),
8
- { PERIOD } = require("./constants"),
9
- { callbacksFromLog } = require("./utilities/callbacks");
7
+ const callbacks = require("./callbacks");
10
8
 
11
- const { first } = arrayUtilities,
9
+ const { PERIOD } = require("./constants"),
10
+ { DEFAULT_LOG_LEVEL } = require("./defaults");
11
+
12
+ const { log } = loggingUtilities,
13
+ { first } = arrayUtilities,
14
+ { setLogLevel } = log,
12
15
  { loadRelease } = fileSystemUtilities,
13
16
  { createReleaseContext } = releaseContextUtilities;
14
17
 
15
18
  function main(commands, options) {
16
19
  const firstCommand = first(commands),
17
- { name = firstCommand } = options, ///
20
+ { logLevel = DEFAULT_LOG_LEVEL, releaseName = firstCommand } = options, ///
18
21
  releaseContextMap = {},
19
22
  shortenedVersion = null,
20
23
  dependentNames = [],
21
- callbacks = callbacksFromLog(log),
22
24
  context = {
23
25
  log,
24
26
  callbacks,
@@ -26,14 +28,16 @@ function main(commands, options) {
26
28
  releaseContextMap
27
29
  };
28
30
 
29
- createReleaseContext(name, dependentNames, shortenedVersion, context, (error) => {
31
+ setLogLevel(logLevel);
32
+
33
+ createReleaseContext(releaseName, dependentNames, shortenedVersion, context, (error) => {
30
34
  if (error) {
31
35
  ///
32
36
 
33
37
  return;
34
38
  }
35
39
 
36
- verifyRelease(name, releaseContextMap);
40
+ verifyRelease(releaseName, releaseContextMap);
37
41
  });
38
42
  }
39
43
 
package/bin/options.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
 
3
- const RELEASE_NAME_OPTIONS = "package-name";
3
+ const LOG_LEVEL_OPTIONS = "log-level",
4
+ RELEASE_NAME_OPTIONS = "package-name";
4
5
 
5
6
  module.exports = {
7
+ LOG_LEVEL_OPTIONS,
6
8
  RELEASE_NAME_OPTIONS
7
9
  };
@@ -165,12 +165,6 @@ var ReleaseContext = /*#__PURE__*/ function() {
165
165
  return this.release.getFile(filePath);
166
166
  }
167
167
  },
168
- {
169
- key: "getName",
170
- value: function getName() {
171
- return this.release.getName();
172
- }
173
- },
174
168
  {
175
169
  key: "getVersion",
176
170
  value: function getVersion() {
@@ -195,11 +189,18 @@ var ReleaseContext = /*#__PURE__*/ function() {
195
189
  return this.release.matchShortenedVersion(shortenedVersion);
196
190
  }
197
191
  },
192
+ {
193
+ key: "getReleaseName",
194
+ value: function getReleaseName() {
195
+ var releaseName = this.release.getName();
196
+ return releaseName;
197
+ }
198
+ },
198
199
  {
199
200
  key: "getRules",
200
201
  value: function getRules() {
201
202
  var releaseNames = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
202
- var name = this.getName(), rules = [], releaseName = name, releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
203
+ var rules = [], releaseName = this.getReleaseName(), releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
203
204
  if (!releaseNamesIncludesReleaseName) {
204
205
  releaseNames.push(releaseName);
205
206
  var bubble = false;
@@ -219,7 +220,7 @@ var ReleaseContext = /*#__PURE__*/ function() {
219
220
  key: "getTypes",
220
221
  value: function getTypes() {
221
222
  var releaseNames = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
222
- var name = this.getName(), types = [], releaseName = name, releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
223
+ var types = [], releaseName = this.getReleaseName(), releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
223
224
  if (!releaseNamesIncludesReleaseName) {
224
225
  releaseNames.push(releaseName);
225
226
  var bubble = false;
@@ -239,7 +240,7 @@ var ReleaseContext = /*#__PURE__*/ function() {
239
240
  key: "getAxioms",
240
241
  value: function getAxioms() {
241
242
  var releaseNames = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
242
- var name = this.getName(), axioms = [], releaseName = name, releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
243
+ var axioms = [], releaseName = this.getReleaseName(), releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
243
244
  if (!releaseNamesIncludesReleaseName) {
244
245
  releaseNames.push(releaseName);
245
246
  var bubble = false;
@@ -259,7 +260,7 @@ var ReleaseContext = /*#__PURE__*/ function() {
259
260
  key: "getCombinators",
260
261
  value: function getCombinators() {
261
262
  var releaseNames = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
262
- var name = this.getName(), combinators = [], releaseName = name, releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
263
+ var combinators = [], releaseName = this.getReleaseName(), releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
263
264
  if (!releaseNamesIncludesReleaseName) {
264
265
  releaseNames.push(releaseName);
265
266
  var bubble = false;
@@ -279,7 +280,7 @@ var ReleaseContext = /*#__PURE__*/ function() {
279
280
  key: "getConstructors",
280
281
  value: function getConstructors() {
281
282
  var releaseNames = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
282
- var name = this.getName(), constructors = [], releaseName = name, releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
283
+ var constructors = [], releaseName = this.getReleaseName(), releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
283
284
  if (!releaseNamesIncludesReleaseName) {
284
285
  releaseNames.push(releaseName);
285
286
  var bubble = false;
@@ -411,4 +412,4 @@ var ReleaseContext = /*#__PURE__*/ function() {
411
412
  return ReleaseContext;
412
413
  }();
413
414
 
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZSwgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbVJlbGVhc2VDb250ZXh0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihsb2csIHJlbGVhc2UsIGNhbGxiYWNrcywgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGZpbGVDb250ZXh0cywgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIHJlbGVhc2VDb250ZXh0cykge1xuICAgIHRoaXMubG9nID0gbG9nO1xuICAgIHRoaXMucmVsZWFzZSA9IHJlbGVhc2U7XG4gICAgdGhpcy5jYWxsYmFja3MgPSBjYWxsYmFja3M7XG4gICAgdGhpcy52ZXJpZmllZCA9IHZlcmlmaWVkO1xuICAgIHRoaXMuY3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXI7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gICAgdGhpcy5mbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlcjtcbiAgICB0aGlzLmZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXI7XG4gICAgdGhpcy5yZWxlYXNlQ29udGV4dHMgPSByZWxlYXNlQ29udGV4dHM7XG4gIH1cblxuICBnZXRMb2coKSB7XG4gICAgcmV0dXJuIHRoaXMubG9nO1xuICB9XG5cbiAgZ2V0UmVsZWFzZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlO1xuICB9XG5cbiAgZ2V0Q2FsbGJhY2tzKCkge1xuICAgIHJldHVybiB0aGlzLmNhbGxiYWNrcztcbiAgfVxuXG4gIGlzVmVyaWZpZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyaWZpZWQ7XG4gIH1cblxuICBnZXRDdXN0b21HcmFtbWFyKCkge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUdyYW1tYXI7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0RmxvcmVuY2VMZXhlcigpIHtcbiAgICByZXR1cm4gdGhpcy5mbG9yZW5jZUxleGVyO1xuICB9XG5cbiAgZ2V0RmxvcmVuY2VQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxvcmVuY2VQYXJzZXI7XG4gIH1cblxuICBnZXRSZWxlYXNlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0RmlsZShmaWxlUGF0aCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlLmdldEZpbGUoZmlsZVBhdGgpOyB9XG5cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMucmVsZWFzZS5nZXROYW1lKCk7IH1cblxuICBnZXRWZXJzaW9uKCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlLmdldFZlcnNpb24oKTsgfVxuXG4gIGdldEZpbGVQYXRocygpIHsgcmV0dXJuIHRoaXMucmVsZWFzZS5nZXRGaWxlUGF0aHMoKTsgfVxuXG4gIGdldERlcGVuZGVuY2llcygpIHsgcmV0dXJuIHRoaXMucmVsZWFzZS5nZXREZXBlbmRlbmNpZXMoKTsgfVxuXG4gIG1hdGNoU2hvcnRlbmVkVmVyc2lvbihzaG9ydGVuZWRWZXJzaW9uKSB7IHJldHVybiB0aGlzLnJlbGVhc2UubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pOyB9XG5cbiAgZ2V0UnVsZXMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgcnVsZXMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWUsIC8vL1xuICAgICAgICAgIHJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZXMuaW5jbHVkZXMocmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaChyZWxlYXNlTmFtZSk7XG5cbiAgICAgIGNvbnN0IGJ1YmJsZSA9IGZhbHNlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlQ29udGV4dFJ1bGVzID0gZmlsZUNvbnRleHQuZ2V0UnVsZXMoYnViYmxlKTtcblxuICAgICAgICBwdXNoKHJ1bGVzLCBmaWxlQ29udGV4dFJ1bGVzKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dFJ1bGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0UnVsZXMocmVsZWFzZU5hbWVzKTtcblxuICAgICAgICBwdXNoKHJ1bGVzLCByZWxlYXNlQ29udGV4dFJ1bGVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIGdldFR5cGVzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIHR5cGVzID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lLCAvLy9cbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHJlbGVhc2VOYW1lKTtcblxuICAgIGlmICghcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSkge1xuICAgICAgcmVsZWFzZU5hbWVzLnB1c2gocmVsZWFzZU5hbWUpO1xuXG4gICAgICBjb25zdCBidWJibGUgPSBmYWxzZTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUNvbnRleHRUeXBlcyA9IGZpbGVDb250ZXh0LmdldFR5cGVzKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaCh0eXBlcywgZmlsZUNvbnRleHRUeXBlcyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRUeXBlcyA9IHJlbGVhc2VDb250ZXh0LmdldFR5cGVzKHJlbGVhc2VOYW1lcyk7XG5cbiAgICAgICAgcHVzaCh0eXBlcywgcmVsZWFzZUNvbnRleHRUeXBlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRBeGlvbXMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgYXhpb21zID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lLCAvLy9cbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHJlbGVhc2VOYW1lKTtcblxuICAgIGlmICghcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSkge1xuICAgICAgcmVsZWFzZU5hbWVzLnB1c2gocmVsZWFzZU5hbWUpO1xuXG4gICAgICBjb25zdCBidWJibGUgPSBmYWxzZTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUNvbnRleHRBeGlvbXMgPSBmaWxlQ29udGV4dC5nZXRBeGlvbXMoYnViYmxlKTtcblxuICAgICAgICBwdXNoKGF4aW9tcywgZmlsZUNvbnRleHRBeGlvbXMpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0QXhpb21zID0gcmVsZWFzZUNvbnRleHQuZ2V0QXhpb21zKHJlbGVhc2VOYW1lcyk7XG5cbiAgICAgICAgcHVzaChheGlvbXMsIHJlbGVhc2VDb250ZXh0QXhpb21zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBheGlvbXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhyZWxlYXNlTmFtZXMgPSBbXSkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICBjb21iaW5hdG9ycyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VOYW1lID0gbmFtZSwgLy8vXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyhyZWxlYXNlTmFtZSk7XG5cbiAgICBpZiAoIXJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUpIHtcbiAgICAgIHJlbGVhc2VOYW1lcy5wdXNoKHJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0Q29tYmluYXRvcnMgPSBmaWxlQ29udGV4dC5nZXRDb21iaW5hdG9ycyhidWJibGUpO1xuXG4gICAgICAgIHB1c2goY29tYmluYXRvcnMsIGZpbGVDb250ZXh0Q29tYmluYXRvcnMpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMgPSByZWxlYXNlQ29udGV4dC5nZXRDb21iaW5hdG9ycyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2goY29tYmluYXRvcnMsIHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIGNvbnN0cnVjdG9ycyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VOYW1lID0gbmFtZSwgLy8vXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyhyZWxlYXNlTmFtZSk7XG5cbiAgICBpZiAoIXJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUpIHtcbiAgICAgIHJlbGVhc2VOYW1lcy5wdXNoKHJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0Q29uc3RydWN0b3JzID0gZmlsZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaChjb25zdHJ1Y3RvcnMsIGZpbGVDb250ZXh0Q29uc3RydWN0b3JzKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyA9IHJlbGVhc2VDb250ZXh0LmdldENvbnN0cnVjdG9ycyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgYWRkRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgfVxuXG4gIHNldFZlcmlmaWVkKHZlcmlmaWVkKSB7XG4gICAgdGhpcy52ZXJpZmllZCA9IHZlcmlmaWVkO1xuICB9XG5cbiAgdG9rZW5pc2UoY29udGVudCkgeyByZXR1cm4gdGhpcy5mbG9yZW5jZUxleGVyLnRva2VuaXNlKGNvbnRlbnQpOyB9XG5cbiAgcGFyc2UodG9rZW5zKSB7IHJldHVybiB0aGlzLmZsb3JlbmNlUGFyc2VyLnBhcnNlKHRva2Vucyk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMubG9nLnRyYWNlKG1lc3NhZ2UpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyB0aGlzLmxvZy5kZWJ1ZyhtZXNzYWdlKTsgfVxuXG4gIGluZm8obWVzc2FnZSkgeyB0aGlzLmxvZy5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMubG9nLndhcm5pbmcobWVzc2FnZSk7IH1cblxuICBlcnJvcihtZXNzYWdlKSB7IHRoaXMubG9nLmVycm9yKG1lc3NhZ2UpOyB9XG5cbiAgZmF0YWwobWVzc2FnZSkgeyB0aGlzLmxvZy5mYXRhbChtZXNzYWdlKTsgfVxuXG4gIGhhbHQoZmlsZVBhdGgsIGxlYXN0TGluZUluZGV4LCBncmVhdGVzdExpbmVJbmRleCkgeyB0aGlzLmNhbGxiYWNrcy5oYWx0KGZpbGVQYXRoLCBsZWFzdExpbmVJbmRleCwgZ3JlYXRlc3RMaW5lSW5kZXgpOyB9XG5cbiAgYmVnaW4oZmlsZVBhdGgsIGxlYXN0TGluZUluZGV4LCBncmVhdGVzdExpbmVJbmRleCkgeyB0aGlzLmNhbGxiYWNrcy5iZWdpbihmaWxlUGF0aCwgbGVhc3RMaW5lSW5kZXgsIGdyZWF0ZXN0TGluZUluZGV4KTsgfVxuXG4gIGNvbXBsZXRlKGZpbGVQYXRoLCBsZWFzdExpbmVJbmRleCwgZ3JlYXRlc3RMaW5lSW5kZXgpIHsgdGhpcy5jYWxsYmFja3MuY29tcGxldGUoZmlsZVBhdGgsIGxlYXN0TGluZUluZGV4LCBncmVhdGVzdExpbmVJbmRleCk7IH1cblxuICBpbml0aWFsaXNlKHJlbGVhc2VDb250ZXh0cywgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cykge1xuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gdGhpczsgIC8vL1xuXG4gICAgcmVsZWFzZUNvbnRleHRzID0gWyByZWxlYXNlQ29udGV4dCwgLi4uZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyBdOyAvLy9cblxuICAgIGNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21SZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHRzKTtcblxuICAgIHRoaXMuZmxvcmVuY2VMZXhlciA9IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbiAgICB0aGlzLmZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbiAgICB0aGlzLnJlbGVhc2VDb250ZXh0cyA9IHJlbGVhc2VDb250ZXh0cztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTG9nUmVsZWFzZUFuZENhbGxiYWNrcyhsb2csIHJlbGVhc2UsIGNhbGxiYWNrcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgdmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyID0gY3VzdG9tR3JhbW1hckZyb21SZWxlYXNlKHJlbGVhc2UpLFxuICAgICAgICAgIGZpbGVDb250ZXh0cyA9IFtdLFxuICAgICAgICAgIGZsb3JlbmNlTGV4ZXIgPSBudWxsLFxuICAgICAgICAgIGZsb3JlbmNlUGFyc2VyID0gbnVsbCxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dHMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IG5ldyBSZWxlYXNlQ29udGV4dChsb2csIHJlbGVhc2UsIGNhbGxiYWNrcywgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGZpbGVDb250ZXh0cywgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIHJlbGVhc2VDb250ZXh0cywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiByZWxlYXNlQ29udGV4dDtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJSZWxlYXNlQ29udGV4dCIsImZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwiZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsImxvZyIsInJlbGVhc2UiLCJjYWxsYmFja3MiLCJ2ZXJpZmllZCIsImN1c3RvbUdyYW1tYXIiLCJmaWxlQ29udGV4dHMiLCJmbG9yZW5jZUxleGVyIiwiZmxvcmVuY2VQYXJzZXIiLCJyZWxlYXNlQ29udGV4dHMiLCJnZXRMb2ciLCJnZXRSZWxlYXNlIiwiZ2V0Q2FsbGJhY2tzIiwiaXNWZXJpZmllZCIsImdldEN1c3RvbUdyYW1tYXIiLCJnZXRGaWxlQ29udGV4dHMiLCJnZXRGbG9yZW5jZUxleGVyIiwiZ2V0RmxvcmVuY2VQYXJzZXIiLCJnZXRSZWxlYXNlQ29udGV4dHMiLCJnZXRGaWxlIiwiZmlsZVBhdGgiLCJnZXROYW1lIiwiZ2V0VmVyc2lvbiIsImdldEZpbGVQYXRocyIsImdldERlcGVuZGVuY2llcyIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRSdWxlcyIsInJlbGVhc2VOYW1lcyIsIm5hbWUiLCJydWxlcyIsInJlbGVhc2VOYW1lIiwicmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSIsImluY2x1ZGVzIiwicHVzaCIsImJ1YmJsZSIsImZvckVhY2giLCJmaWxlQ29udGV4dCIsImZpbGVDb250ZXh0UnVsZXMiLCJyZWxlYXNlQ29udGV4dCIsInJlbGVhc2VDb250ZXh0UnVsZXMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZmlsZUNvbnRleHRUeXBlcyIsInJlbGVhc2VDb250ZXh0VHlwZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJmaWxlQ29udGV4dEF4aW9tcyIsInJlbGVhc2VDb250ZXh0QXhpb21zIiwiZ2V0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImZpbGVDb250ZXh0Q29tYmluYXRvcnMiLCJyZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMiLCJyZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyIsImFkZEZpbGVDb250ZXh0Iiwic2V0VmVyaWZpZWQiLCJ0b2tlbmlzZSIsImNvbnRlbnQiLCJwYXJzZSIsInRva2VucyIsInRyYWNlIiwibWVzc2FnZSIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsImZhdGFsIiwiaGFsdCIsImxlYXN0TGluZUluZGV4IiwiZ3JlYXRlc3RMaW5lSW5kZXgiLCJiZWdpbiIsImNvbXBsZXRlIiwiaW5pdGlhbGlzZSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZUNvbnRleHRzIiwiZnJvbUxvZ1JlbGVhc2VBbmRDYWxsYmFja3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJjdXN0b21HcmFtbWFyRnJvbVJlbGVhc2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBVXFCQTs7O21DQVI2QjtxQkFFN0I7NkJBQzhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRixJQUFNLEFBQUVDLHlDQUEyQ0Msb0NBQWUsQ0FBMURELHdDQUNGLEFBQUVFLDBDQUE0Q0MscUNBQWdCLENBQTVERDtBQUVPLElBQUEsQUFBTUgsK0JBQU47YUFBTUEsZUFDUEssR0FBRyxFQUFFQyxPQUFPLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFQyxhQUFhLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLGVBQWU7OEJBRHZHYjtRQUVqQixJQUFJLENBQUNLLEdBQUcsR0FBR0E7UUFDWCxJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtRQUNyQixJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtRQUN0QixJQUFJLENBQUNDLGVBQWUsR0FBR0E7O2lCQVZOYjs7WUFhbkJjLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLE9BQU8sSUFBSSxDQUFDVCxHQUFHO1lBQ2pCOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWE7Z0JBQ1gsT0FBTyxJQUFJLENBQUNULE9BQU87WUFDckI7OztZQUVBVSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZTtnQkFDYixPQUFPLElB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
415
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZSwgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbVJlbGVhc2VDb250ZXh0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihsb2csIHJlbGVhc2UsIGNhbGxiYWNrcywgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGZpbGVDb250ZXh0cywgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIHJlbGVhc2VDb250ZXh0cykge1xuICAgIHRoaXMubG9nID0gbG9nO1xuICAgIHRoaXMucmVsZWFzZSA9IHJlbGVhc2U7XG4gICAgdGhpcy5jYWxsYmFja3MgPSBjYWxsYmFja3M7XG4gICAgdGhpcy52ZXJpZmllZCA9IHZlcmlmaWVkO1xuICAgIHRoaXMuY3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXI7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gICAgdGhpcy5mbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlcjtcbiAgICB0aGlzLmZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXI7XG4gICAgdGhpcy5yZWxlYXNlQ29udGV4dHMgPSByZWxlYXNlQ29udGV4dHM7XG4gIH1cblxuICBnZXRMb2coKSB7XG4gICAgcmV0dXJuIHRoaXMubG9nO1xuICB9XG5cbiAgZ2V0UmVsZWFzZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlO1xuICB9XG5cbiAgZ2V0Q2FsbGJhY2tzKCkge1xuICAgIHJldHVybiB0aGlzLmNhbGxiYWNrcztcbiAgfVxuXG4gIGlzVmVyaWZpZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyaWZpZWQ7XG4gIH1cblxuICBnZXRDdXN0b21HcmFtbWFyKCkge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUdyYW1tYXI7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0RmxvcmVuY2VMZXhlcigpIHtcbiAgICByZXR1cm4gdGhpcy5mbG9yZW5jZUxleGVyO1xuICB9XG5cbiAgZ2V0RmxvcmVuY2VQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxvcmVuY2VQYXJzZXI7XG4gIH1cblxuICBnZXRSZWxlYXNlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0RmlsZShmaWxlUGF0aCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlLmdldEZpbGUoZmlsZVBhdGgpOyB9XG5cbiAgZ2V0VmVyc2lvbigpIHsgcmV0dXJuIHRoaXMucmVsZWFzZS5nZXRWZXJzaW9uKCk7IH1cblxuICBnZXRGaWxlUGF0aHMoKSB7IHJldHVybiB0aGlzLnJlbGVhc2UuZ2V0RmlsZVBhdGhzKCk7IH1cblxuICBnZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiB0aGlzLnJlbGVhc2UuZ2V0RGVwZW5kZW5jaWVzKCk7IH1cblxuICBtYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbikgeyByZXR1cm4gdGhpcy5yZWxlYXNlLm1hdGNoU2hvcnRlbmVkVmVyc2lvbihzaG9ydGVuZWRWZXJzaW9uKTsgfVxuXG4gIGdldFJlbGVhc2VOYW1lKCkge1xuICAgIGNvbnN0IHJlbGVhc2VOYW1lID0gdGhpcy5yZWxlYXNlLmdldE5hbWUoKTtcblxuICAgIHJldHVybiByZWxlYXNlTmFtZTtcbiAgfVxuXG4gIGdldFJ1bGVzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IHRoaXMuZ2V0UmVsZWFzZU5hbWUoKSxcbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHJlbGVhc2VOYW1lKTtcblxuICAgIGlmICghcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSkge1xuICAgICAgcmVsZWFzZU5hbWVzLnB1c2gocmVsZWFzZU5hbWUpO1xuXG4gICAgICBjb25zdCBidWJibGUgPSBmYWxzZTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUNvbnRleHRSdWxlcyA9IGZpbGVDb250ZXh0LmdldFJ1bGVzKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaChydWxlcywgZmlsZUNvbnRleHRSdWxlcyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRSdWxlcyA9IHJlbGVhc2VDb250ZXh0LmdldFJ1bGVzKHJlbGVhc2VOYW1lcyk7XG5cbiAgICAgICAgcHVzaChydWxlcywgcmVsZWFzZUNvbnRleHRSdWxlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRUeXBlcyhyZWxlYXNlTmFtZXMgPSBbXSkge1xuICAgIGNvbnN0IHR5cGVzID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSB0aGlzLmdldFJlbGVhc2VOYW1lKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyhyZWxlYXNlTmFtZSk7XG5cbiAgICBpZiAoIXJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUpIHtcbiAgICAgIHJlbGVhc2VOYW1lcy5wdXNoKHJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0VHlwZXMgPSBmaWxlQ29udGV4dC5nZXRUeXBlcyhidWJibGUpO1xuXG4gICAgICAgIHB1c2godHlwZXMsIGZpbGVDb250ZXh0VHlwZXMpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0VHlwZXMgPSByZWxlYXNlQ29udGV4dC5nZXRUeXBlcyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2godHlwZXMsIHJlbGVhc2VDb250ZXh0VHlwZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgYXhpb21zID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSB0aGlzLmdldFJlbGVhc2VOYW1lKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyhyZWxlYXNlTmFtZSk7XG5cbiAgICBpZiAoIXJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUpIHtcbiAgICAgIHJlbGVhc2VOYW1lcy5wdXNoKHJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0QXhpb21zID0gZmlsZUNvbnRleHQuZ2V0QXhpb21zKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaChheGlvbXMsIGZpbGVDb250ZXh0QXhpb21zKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dEF4aW9tcyA9IHJlbGVhc2VDb250ZXh0LmdldEF4aW9tcyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2goYXhpb21zLCByZWxlYXNlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VOYW1lID0gdGhpcy5nZXRSZWxlYXNlTmFtZSgpLFxuICAgICAgICAgIHJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZXMuaW5jbHVkZXMocmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaChyZWxlYXNlTmFtZSk7XG5cbiAgICAgIGNvbnN0IGJ1YmJsZSA9IGZhbHNlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlQ29udGV4dENvbWJpbmF0b3JzID0gZmlsZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoYnViYmxlKTtcblxuICAgICAgICBwdXNoKGNvbWJpbmF0b3JzLCBmaWxlQ29udGV4dENvbWJpbmF0b3JzKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMocmVsZWFzZU5hbWVzKTtcblxuICAgICAgICBwdXNoKGNvbWJpbmF0b3JzLCByZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjb21iaW5hdG9ycztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhyZWxlYXNlTmFtZXMgPSBbXSkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ycyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VOYW1lID0gdGhpcy5nZXRSZWxlYXNlTmFtZSgpLFxuICAgICAgICAgIHJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZXMuaW5jbHVkZXMocmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaChyZWxlYXNlTmFtZSk7XG5cbiAgICAgIGNvbnN0IGJ1YmJsZSA9IGZhbHNlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlQ29udGV4dENvbnN0cnVjdG9ycyA9IGZpbGVDb250ZXh0LmdldENvbnN0cnVjdG9ycyhidWJibGUpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCBmaWxlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMgPSByZWxlYXNlQ29udGV4dC5nZXRDb25zdHJ1Y3RvcnMocmVsZWFzZU5hbWVzKTtcblxuICAgICAgICBwdXNoKGNvbnN0cnVjdG9ycywgcmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbiAgfVxuXG4gIGFkZEZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgdGhpcy5maWxlQ29udGV4dHMucHVzaChmaWxlQ29udGV4dCk7XG4gIH1cblxuICBzZXRWZXJpZmllZCh2ZXJpZmllZCkge1xuICAgIHRoaXMudmVyaWZpZWQgPSB2ZXJpZmllZDtcbiAgfVxuXG4gIHRva2VuaXNlKGNvbnRlbnQpIHsgcmV0dXJuIHRoaXMuZmxvcmVuY2VMZXhlci50b2tlbmlzZShjb250ZW50KTsgfVxuXG4gIHBhcnNlKHRva2VucykgeyByZXR1cm4gdGhpcy5mbG9yZW5jZVBhcnNlci5wYXJzZSh0b2tlbnMpOyB9XG5cbiAgdHJhY2UobWVzc2FnZSkgeyB0aGlzLmxvZy50cmFjZShtZXNzYWdlKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5sb2cuZGVidWcobWVzc2FnZSk7IH1cblxuICBpbmZvKG1lc3NhZ2UpIHsgdGhpcy5sb2cuaW5mbyhtZXNzYWdlKTsgfVxuXG4gIHdhcm5pbmcobWVzc2FnZSkgeyB0aGlzLmxvZy53YXJuaW5nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLmxvZy5lcnJvcihtZXNzYWdlKTsgfVxuXG4gIGZhdGFsKG1lc3NhZ2UpIHsgdGhpcy5sb2cuZmF0YWwobWVzc2FnZSk7IH1cblxuICBoYWx0KGZpbGVQYXRoLCBsZWFzdExpbmVJbmRleCwgZ3JlYXRlc3RMaW5lSW5kZXgpIHsgdGhpcy5jYWxsYmFja3MuaGFsdChmaWxlUGF0aCwgbGVhc3RMaW5lSW5kZXgsIGdyZWF0ZXN0TGluZUluZGV4KTsgfVxuXG4gIGJlZ2luKGZpbGVQYXRoLCBsZWFzdExpbmVJbmRleCwgZ3JlYXRlc3RMaW5lSW5kZXgpIHsgdGhpcy5jYWxsYmFja3MuYmVnaW4oZmlsZVBhdGgsIGxlYXN0TGluZUluZGV4LCBncmVhdGVzdExpbmVJbmRleCk7IH1cblxuICBjb21wbGV0ZShmaWxlUGF0aCwgbGVhc3RMaW5lSW5kZXgsIGdyZWF0ZXN0TGluZUluZGV4KSB7IHRoaXMuY2FsbGJhY2tzLmNvbXBsZXRlKGZpbGVQYXRoLCBsZWFzdExpbmVJbmRleCwgZ3JlYXRlc3RMaW5lSW5kZXgpOyB9XG5cbiAgaW5pdGlhbGlzZShyZWxlYXNlQ29udGV4dHMsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMpIHtcbiAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHRoaXM7ICAvLy9cblxuICAgIHJlbGVhc2VDb250ZXh0cyA9IFsgcmVsZWFzZUNvbnRleHQsIC4uLmRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgXTsgLy8vXG5cbiAgICBjb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICB0aGlzLmZsb3JlbmNlTGV4ZXIgPSBmbG9yZW5jZUxleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG4gICAgdGhpcy5mbG9yZW5jZVBhcnNlciA9IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG4gICAgdGhpcy5yZWxlYXNlQ29udGV4dHMgPSByZWxlYXNlQ29udGV4dHM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxvZ1JlbGVhc2VBbmRDYWxsYmFja3MobG9nLCByZWxlYXNlLCBjYWxsYmFja3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IHZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgICAgY3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZShyZWxlYXNlKSxcbiAgICAgICAgICBmaWxlQ29udGV4dHMgPSBbXSxcbiAgICAgICAgICBmbG9yZW5jZUxleGVyID0gbnVsbCxcbiAgICAgICAgICBmbG9yZW5jZVBhcnNlciA9IG51bGwsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHRzID0gW10sXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBuZXcgUmVsZWFzZUNvbnRleHQobG9nLCByZWxlYXNlLCBjYWxsYmFja3MsIHZlcmlmaWVkLCBjdXN0b21HcmFtbWFyLCBmaWxlQ29udGV4dHMsIGZsb3JlbmNlTGV4ZXIsIGZsb3JlbmNlUGFyc2VyLCByZWxlYXNlQ29udGV4dHMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiUmVsZWFzZUNvbnRleHQiLCJmbG9yZW5jZUxleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImxleGVyc1V0aWxpdGllcyIsImZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJsb2ciLCJyZWxlYXNlIiwiY2FsbGJhY2tzIiwidmVyaWZpZWQiLCJjdXN0b21HcmFtbWFyIiwiZmlsZUNvbnRleHRzIiwiZmxvcmVuY2VMZXhlciIsImZsb3JlbmNlUGFyc2VyIiwicmVsZWFzZUNvbnRleHRzIiwiZ2V0TG9nIiwiZ2V0UmVsZWFzZSIsImdldENhbGxiYWNrcyIsImlzVmVyaWZpZWQiLCJnZXRDdXN0b21HcmFtbWFyIiwiZ2V0RmlsZUNvbnRleHRzIiwiZ2V0RmxvcmVuY2VMZXhlciIsImdldEZsb3JlbmNlUGFyc2VyIiwiZ2V0UmVsZWFzZUNvbnRleHRzIiwiZ2V0RmlsZSIsImZpbGVQYXRoIiwiZ2V0VmVyc2lvbiIsImdldEZpbGVQYXRocyIsImdldERlcGVuZGVuY2llcyIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRSZWxlYXNlTmFtZSIsInJlbGVhc2VOYW1lIiwiZ2V0TmFtZSIsImdldFJ1bGVzIiwicmVsZWFzZU5hbWVzIiwicnVsZXMiLCJyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lIiwiaW5jbHVkZXMiLCJwdXNoIiwiYnViYmxlIiwiZm9yRWFjaCIsImZpbGVDb250ZXh0IiwiZmlsZUNvbnRleHRSdWxlcyIsInJlbGVhc2VDb250ZXh0IiwicmVsZWFzZUNvbnRleHRSdWxlcyIsImdldFR5cGVzIiwidHlwZXMiLCJmaWxlQ29udGV4dFR5cGVzIiwicmVsZWFzZUNvbnRleHRUeXBlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImZpbGVDb250ZXh0QXhpb21zIiwicmVsZWFzZUNvbnRleHRBeGlvbXMiLCJnZXRDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZmlsZUNvbnRleHRDb21iaW5hdG9ycyIsInJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJmaWxlQ29udGV4dENvbnN0cnVjdG9ycyIsInJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzIiwiYWRkRmlsZUNvbnRleHQiLCJzZXRWZXJpZmllZCIsInRva2VuaXNlIiwiY29udGVudCIsInBhcnNlIiwidG9rZW5zIiwidHJhY2UiLCJtZXNzYWdlIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwiZmF0YWwiLCJoYWx0IiwibGVhc3RMaW5lSW5kZXgiLCJncmVhdGVzdExpbmVJbmRleCIsImJlZ2luIiwiY29tcGxldGUiLCJpbml0aWFsaXNlIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21SZWxlYXNlQ29udGV4dHMiLCJmcm9tTG9nUmVsZWFzZUFuZENhbGxiYWNrcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFVcUJBOzs7bUNBUjZCO3FCQUU3Qjs2QkFDOEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5GLElBQU0sQUFBRUMseUNBQTJDQyxvQ0FBZSxDQUExREQsd0NBQ0YsQUFBRUUsMENBQTRDQyxxQ0FBZ0IsQ0FBNUREO0FBRU8sSUFBQSxBQUFNSCwrQkFBTjthQUFNQSxlQUNQSyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsRUFBRUMsZUFBZTs4QkFEdkdiO1FBRWpCLElBQUksQ0FBQ0ssR0FBRyxHQUFHQTtRQUNYLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7UUFDckIsSUFBSSxDQUFDQyxjQUFjLEdBQUdBO1FBQ3RCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQTs7aUJBVk5iOztZQWFuQmMsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM7Z0JBQ1AsT0FBTyxJQUFJLENBQUNULEdBQUc7WUFDakI7OztZQUVBVSxLQUFBQTttQkFBQUEsU0FBQUEsYUFBYTtnQkFDWCxPQUFPLElBQUksQ0FBQ1QsT0FBTztZQUNyQjs7O1lBRUFVLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlO2dCQUNiLE9BQU8sSUFBSSxDQUFDVCxTQUFTO1lBQ3ZCOzs7WUFFQVUsS0FBQUE7bUJBQUFB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
@@ -47,15 +47,15 @@ function _unsupportedIterableToArray(o, minLen) {
47
47
  if (n === "Map" || n === "Set") return Array.from(n);
48
48
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
49
49
  }
50
- function createReleaseContext(name, dependentNames, shortenedVersion, context, callback) {
51
- var releaseContextMap = context.releaseContextMap, releaseContext = releaseContextMap[name] || null;
50
+ function createReleaseContext(releaseName, dependentNames, shortenedVersion, context, callback) {
51
+ var releaseContextMap = context.releaseContextMap, releaseContext = releaseContextMap[releaseName] || null;
52
52
  if (releaseContext !== null) {
53
53
  var error = false;
54
54
  callback(error);
55
55
  return;
56
56
  }
57
57
  var createRelease = context.createRelease;
58
- createRelease(name, function(release) {
58
+ createRelease(releaseName, function(release) {
59
59
  if (release === null) {
60
60
  var error = true;
61
61
  callback(error);
@@ -69,7 +69,7 @@ function createReleaseContext(name, dependentNames, shortenedVersion, context, c
69
69
  }
70
70
  createDependencyReleaseContexts(releaseContext, dependentNames, context, function(error) {
71
71
  if (!error) {
72
- releaseContextMap[name] = releaseContext;
72
+ releaseContextMap[releaseName] = releaseContext;
73
73
  }
74
74
  callback(error);
75
75
  });
@@ -78,8 +78,8 @@ function createReleaseContext(name, dependentNames, shortenedVersion, context, c
78
78
  var _default = {
79
79
  createReleaseContext: createReleaseContext
80
80
  };
81
- function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
82
- var dependentNamesIncludesName = dependentNames.includes(name), cyclicDependencyExists = dependentNamesIncludesName; ///
81
+ function checkCyclicDependencyExists(releaseName, dependentNames, releaseContext) {
82
+ var dependentNamesIncludesReleaseName = dependentNames.includes(releaseName), cyclicDependencyExists = dependentNamesIncludesReleaseName; ///
83
83
  if (cyclicDependencyExists) {
84
84
  var firstDependentName = first(dependentNames), dependencyNames = dependentNames.concat(firstDependentName), dependencyNamesString = dependencyNames.join("' -> '");
85
85
  releaseContext.error("There is a cyclic dependency: '".concat(dependencyNamesString, "'."));
@@ -92,18 +92,18 @@ function createDependencyReleaseContexts(releaseContext, dependentNames, context
92
92
  callback(error);
93
93
  };
94
94
  var noError = true;
95
- var name = releaseContext.getName(), dependencies = releaseContext.getDependencies();
95
+ var releaseName = releaseContext.getReleaseName(), dependencies = releaseContext.getDependencies();
96
96
  dependentNames = _toConsumableArray(dependentNames).concat([
97
- name
97
+ releaseName
98
98
  ]); ///
99
99
  dependencies.asynchronousForEachDependency(function(dependency, next, done) {
100
- var name = dependency.getName(), shortenedVersion = dependency.getShortedVersion(), cyclicDependencyExists = checkCyclicDependencyExists(name, dependentNames, releaseContext);
100
+ var name = dependency.getName(), releaseName = name, shortenedVersion = dependency.getShortedVersion(), cyclicDependencyExists = checkCyclicDependencyExists(releaseName, dependentNames, releaseContext);
101
101
  if (cyclicDependencyExists) {
102
102
  noError = false;
103
103
  done();
104
104
  return;
105
105
  }
106
- createReleaseContext(name, dependentNames, shortenedVersion, context, function(error) {
106
+ createReleaseContext(releaseName, dependentNames, shortenedVersion, context, function(error) {
107
107
  if (error) {
108
108
  noError = false;
109
109
  done();
@@ -116,10 +116,10 @@ function createDependencyReleaseContexts(releaseContext, dependentNames, context
116
116
  function checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion) {
117
117
  var release = releaseContext.getRelease(), releaseMatchesShortedVersion = release.matchShortenedVersion(shortenedVersion);
118
118
  if (!releaseMatchesShortedVersion) {
119
- var name = releaseContext.getName(), version = releaseContext.getVersion(), versionString = version.toString(), shortenedVersionString = shortenedVersion.toString();
120
- releaseContext.error("The '".concat(name, "' package's version of ").concat(versionString, " does not match the dependency's shortened version of ").concat(shortenedVersionString, "."));
119
+ var version = releaseContext.getVersion(), releaseName = releaseContext.getReleaseName(), versionString = version.toString(), shortenedVersionString = shortenedVersion.toString();
120
+ releaseContext.error("The '".concat(releaseName, "' package's version of ").concat(versionString, " does not match the dependency's shortened version of ").concat(shortenedVersionString, "."));
121
121
  }
122
122
  return releaseMatchesShortedVersion;
123
123
  }
124
124
 
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSZWxlYXNlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9yZWxlYXNlXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KG5hbWUsIGRlcGVuZGVudE5hbWVzLCBzaG9ydGVuZWRWZXJzaW9uLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW25hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXJyb3IgPSBmYWxzZTtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgY3JlYXRlUmVsZWFzZSB9ID0gY29udGV4dDtcblxuICBjcmVhdGVSZWxlYXNlKG5hbWUsIChyZWxlYXNlKSA9PiB7XG4gICAgaWYgKHJlbGVhc2UgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gdHJ1ZTtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2csIGNhbGxiYWNrcyB9ID0gY29udGV4dCxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IFJlbGVhc2VDb250ZXh0LmZyb21Mb2dSZWxlYXNlQW5kQ2FsbGJhY2tzKGxvZywgcmVsZWFzZSwgY2FsbGJhY2tzKSxcbiAgICAgICAgICByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uID0gY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24ocmVsZWFzZUNvbnRleHQsIHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgaWYgKCFyZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRydWU7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmICghZXJyb3IpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHRNYXBbbmFtZV0gPSByZWxlYXNlQ29udGV4dDtcbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuICAgIH0pO1xuICB9LCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjcmVhdGVSZWxlYXNlQ29udGV4dFxufTtcblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKG5hbWUsIGRlcGVuZGVudE5hbWVzLCByZWxlYXNlQ29udGV4dCkge1xuICBjb25zdCBkZXBlbmRlbnROYW1lc0luY2x1ZGVzTmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKG5hbWUpLFxuICAgICAgICBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzID0gZGVwZW5kZW50TmFtZXNJbmNsdWRlc05hbWU7ICAvLy9cblxuICBpZiAoY3ljbGljRGVwZW5kZW5jeUV4aXN0cykge1xuICAgIGNvbnN0IGZpcnN0RGVwZW5kZW50TmFtZSA9IGZpcnN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbmN5TmFtZXMgPSBkZXBlbmRlbnROYW1lcy5jb25jYXQoZmlyc3REZXBlbmRlbnROYW1lKSxcbiAgICAgICAgICBkZXBlbmRlbmN5TmFtZXNTdHJpbmcgPSBkZXBlbmRlbmN5TmFtZXMuam9pbihgJyAtPiAnYCk7XG5cbiAgICByZWxlYXNlQ29udGV4dC5lcnJvcihgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeUV4aXN0cztcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIGNhbGxiYWNrKSB7XG4gIGxldCBub0Vycm9yID0gdHJ1ZTtcblxuICBjb25zdCBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbnROYW1lcyA9IFsgLi4uZGVwZW5kZW50TmFtZXMsIG5hbWUgXTsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcy5hc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVkVmVyc2lvbigpLFxuICAgICAgICAgIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMobmFtZSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgICBub0Vycm9yID0gZmFsc2U7XG5cbiAgICAgIGRvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZVJlbGVhc2VDb250ZXh0KG5hbWUsIGRlcGVuZGVudE5hbWVzLCBzaG9ydGVuZWRWZXJzaW9uLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBub0Vycm9yID0gZmFsc2U7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCBkb25lKTtcblxuICBmdW5jdGlvbiBkb25lKCkge1xuICAgIGNvbnN0IGVycm9yID0gIW5vRXJyb3I7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24ocmVsZWFzZUNvbnRleHQsIHNob3J0ZW5lZFZlcnNpb24pIHtcbiAgY29uc3QgcmVsZWFzZSA9IHJlbGVhc2VDb250ZXh0LmdldFJlbGVhc2UoKSxcbiAgICAgICAgcmVsZWFzZU1hdGNoZXNTaG9ydGVkVmVyc2lvbiA9IHJlbGVhc2UubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gIGlmICghcmVsZWFzZU1hdGNoZXNTaG9ydGVkVmVyc2lvbikge1xuICAgIGNvbnN0IG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgIHNob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBzaG9ydGVuZWRWZXJzaW9uLnRvU3RyaW5nKCk7XG5cbiAgICByZWxlYXNlQ29udGV4dC5lcnJvcihgVGhlICcke25hbWV9JyBwYWNrYWdlJ3MgdmVyc2lvbiBvZiAke3ZlcnNpb25TdHJpbmd9IGRvZXMgbm90IG1hdGNoIHRoZSBkZXBlbmRlbmN5J3Mgc2hvcnRlbmVkIHZlcnNpb24gb2YgJHtzaG9ydGVuZWRWZXJzaW9uU3RyaW5nfS5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGVhc2VDb250ZXh0IiwibmFtZSIsImRlcGVuZGVudE5hbWVzIiwic2hvcnRlbmVkVmVyc2lvbiIsImNvbnRleHQiLCJjYWxsYmFjayIsInJlbGVhc2VDb250ZXh0TWFwIiwicmVsZWFzZUNvbnRleHQiLCJlcnJvciIsImNyZWF0ZVJlbGVhc2UiLCJyZWxlYXNlIiwibG9nIiwiY2FsbGJhY2tzIiwiUmVsZWFzZUNvbnRleHQiLCJmcm9tTG9nUmVsZWFzZUFuZENhbGxiYWNrcyIsInJlbGVhc2VNYXRjaGVzU2hvcnRlZFZlcnNpb24iLCJjaGVja1JlbGVhc2VNYXRjaGVzU2hvcnRlbmVkVmVyc2lvbiIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJkZXBlbmRlbnROYW1lc0luY2x1ZGVzTmFtZSIsImluY2x1ZGVzIiwiY3ljbGljRGVwZW5kZW5jeUV4aXN0cyIsImZpcnN0RGVwZW5kZW50TmFtZSIsImZpcnN0IiwiZGVwZW5kZW5jeU5hbWVzIiwiY29uY2F0IiwiZGVwZW5kZW5jeU5hbWVzU3RyaW5nIiwiam9pbiIsImRvbmUiLCJub0Vycm9yIiwiZ2V0TmFtZSIsImRlcGVuZGVuY2llcyIsImdldERlcGVuZGVuY2llcyIsImFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5IiwiZGVwZW5kZW5jeSIsIm5leHQiLCJnZXRTaG9ydGVkVmVyc2lvbiIsImdldFJlbGVhc2UiLCJtYXRjaFNob3J0ZW5lZFZlcnNpb24iLCJ2ZXJzaW9uIiwiZ2V0VmVyc2lvbiIsInZlcnNpb25TdHJpbmciLCJ0b1N0cmluZyIsInNob3J0ZW5lZFZlcnNpb25TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUlnQkEsb0JBQW9CO2VBQXBCQTs7SUE2Q2hCLE9BRUU7ZUFGRjs7OzREQS9DMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEIsU0FBU0EscUJBQXFCQyxJQUFJLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFO0lBQzlGLElBQU0sQUFBRUMsb0JBQXNCRixRQUF0QkUsbUJBQ0ZDLGlCQUFpQkQsaUJBQWlCLENBQUNMLEtBQUssSUFBSSxJQUFJO0lBRXRELElBQUlNLG1CQUFtQixJQUFJLEVBQUU7UUFDM0IsSUFBTUMsUUFBUSxLQUFLO1FBRW5CSCxTQUFTRztRQUVUO0lBQ0YsQ0FBQztJQUVELElBQU0sQUFBRUMsZ0JBQWtCTCxRQUFsQks7SUFFUkEsY0FBY1IsTUFBTSxTQUFDUyxTQUFZO1FBQy9CLElBQUlBLFlBQVksSUFBSSxFQUFFO1lBQ3BCLElBQU1GLFFBQVEsSUFBSTtZQUVsQkgsU0FBU0c7WUFFVDtRQUNGLENBQUM7UUFFRCxJQUFRRyxNQUFtQlAsUUFBbkJPLEtBQUtDLFlBQWNSLFFBQWRRLFdBQ1BMLGlCQUFpQk0sZ0JBQWMsQ0FBQ0MsMEJBQTBCLENBQUNILEtBQUtELFNBQVNFLFlBQ3pFRywrQkFBK0JDLG9DQUFvQ1QsZ0JBQWdCSjtRQUV6RixJQUFJLENBQUNZLDhCQUE4QjtZQUNqQyxJQUFNUCxTQUFRLElBQUk7WUFFbEJILFNBQVNHO1lBRVQ7UUFDRixDQUFDO1FBRURTLGdDQUFnQ1YsZ0JBQWdCTCxnQkFBZ0JFLFNBQVMsU0FBQ0ksT0FBVTtZQUNsRixJQUFJLENBQUNBLE9BQU87Z0JBQ1ZGLGlCQUFpQixDQUFDTCxLQUFLLEdBQUdNO1lBQzVCLENBQUM7WUFFREYsU0FBU0c7UUFDWDtJQUNGLEdBQUdKO0FBQ0w7SUFFQSxXQUFlO0lBQ2JKLHNCQUFBQTtBQUNGO0FBRUEsU0FBU2tCLDRCQUE0QmpCLElBQUksRUFBRUMsY0FBYyxFQUFFSyxjQUFjLEVBQUU7SUFDekUsSUFBTVksNkJBQTZCakIsZUFBZWtCLFFBQVEsQ0FBQ25CLE9BQ3JEb0IseUJBQXlCRiw0QkFBNkIsR0FBRztJQUUvRCxJQUFJRSx3QkFBd0I7UUFDMUIsSUFBTUMscUJBQXFCQyxNQUFNckIsaUJBQzNCc0Isa0JBQWtCdEIsZUFBZXVCLE1BQU0sQ0FBQ0gscUJBQ3hDSSx3QkFBd0JGLGdCQUFnQkcsSUFBSSxDQUFFO1FBRXBEcEIsZUFBZUMsS0FBSyxDQUFDLEFBQUMsa0NBQXVELE9BQXRCa0IsdUJBQXNCO0lBQy9FLENBQUM7SUFFRCxPQUFPTDtBQUNUO0FBRUEsU0FBU0osZ0NBQWdDVixjQUFjLEVBQUVMLGNBQWMsRUFBRUUsT0FBTyxFQUFFQyxRQUFRLEVBQUU7UUFrQ2pGdUIsT0FBVCxTQUFTQSxPQUFPO1FBQ2QsSUFBTXBCLFFBQVEsQ0FBQ3FCO1FBRWZ4QixTQUFTRztJQUNYO0lBckNBLElBQUlxQixVQUFVLElBQUk7SUFFbEIsSUFBTTVCLE9BQU9NLGVBQWV1QixPQUFPLElBQzdCQyxlQUFleEIsZUFBZXlCLGVBQWU7SUFFbkQ5QixpQkFBaUIsQUFBRSxtQkFBR0EsdUJBQUw7UUFBcUJEO0tBQU0sR0FBRyxHQUFHO0lBRWxEOEIsYUFBYUUsNkJBQTZCLENBQUMsU0FBQ0MsWUFBWUMsTUFBTVAsTUFBUztRQUNyRSxJQUFNM0IsT0FBT2lDLFdBQVdKLE9BQU8sSUFDekIzQixtQkFBbUIrQixXQUFXRSxpQkFBaUIsSUFDL0NmLHlCQUF5QkgsNEJBQTRCakIsTUFBTUMsZ0JBQWdCSztRQUVqRixJQUFJYyx3QkFBd0I7WUFDMUJRLFVBQVUsS0FBSztZQUVmRDtZQUVBO1FBQ0YsQ0FBQztRQUVENUIscUJBQXFCQyxNQUFNQyxnQkFBZ0JDLGtCQUFrQkMsU0FBUyxTQUFDSSxPQUFVO1lBQy9FLElBQUlBLE9BQU87Z0JBQ1RxQixVQUFVLEtBQUs7Z0JBRWZEO2dCQUVBO1lBQ0YsQ0FBQztZQUVETztRQUNGO0lBQ0YsR0FBR1A7QUFPTDtBQUVBLFNBQVNaLG9DQUFvQ1QsY0FBYyxFQUFFSixnQkFBZ0IsRUFBRTtJQUM3RSxJQUFNTyxVQUFVSCxlQUFlOEIsVUFBVSxJQUNuQ3RCLCtCQUErQkwsUUFBUTRCLHFCQUFxQixDQUFDbkM7SUFFbkUsSUFBSSxDQUFDWSw4QkFBOEI7UUFDakMsSUFBTWQsT0FBT00sZUFBZXVCLE9BQU8sSUFDN0JTLFVBQVVoQyxlQUFlaUMsVUFBVSxJQUNuQ0MsZ0JBQWdCRixRQUFRRyxRQUFRLElBQ2hDQyx5QkFBeUJ4QyxpQkFBaUJ1QyxRQUFRO1FBRXhEbkMsZUFBZUMsS0FBSyxDQUFDLEFBQUMsUUFBcUNpQyxPQUE5QnhDLE1BQUssMkJBQStGMEMsT0FBdEVGLGVBQWMsMERBQStFLE9BQXZCRSx3QkFBdUI7SUFDMUosQ0FBQztJQUVELE9BQU81QjtBQUNUIn0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSZWxlYXNlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9yZWxlYXNlXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VOYW1lLCBkZXBlbmRlbnROYW1lcywgc2hvcnRlbmVkVmVyc2lvbiwgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCBlcnJvciA9IGZhbHNlO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyBjcmVhdGVSZWxlYXNlIH0gPSBjb250ZXh0O1xuXG4gIGNyZWF0ZVJlbGVhc2UocmVsZWFzZU5hbWUsIChyZWxlYXNlKSA9PiB7XG4gICAgaWYgKHJlbGVhc2UgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gdHJ1ZTtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2csIGNhbGxiYWNrcyB9ID0gY29udGV4dCxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IFJlbGVhc2VDb250ZXh0LmZyb21Mb2dSZWxlYXNlQW5kQ2FsbGJhY2tzKGxvZywgcmVsZWFzZSwgY2FsbGJhY2tzKSxcbiAgICAgICAgICByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uID0gY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24ocmVsZWFzZUNvbnRleHQsIHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgaWYgKCFyZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRydWU7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmICghZXJyb3IpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdID0gcmVsZWFzZUNvbnRleHQ7XG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgICB9KTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRcbn07XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyhyZWxlYXNlTmFtZSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKHJlbGVhc2VOYW1lKSxcbiAgICAgICAgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IGRlcGVuZGVudE5hbWVzLmNvbmNhdChmaXJzdERlcGVuZGVudE5hbWUpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmVycm9yKGBUaGVyZSBpcyBhIGN5Y2xpYyBkZXBlbmRlbmN5OiAnJHtkZXBlbmRlbmN5TmFtZXNTdHJpbmd9Jy5gKTtcbiAgfVxuXG4gIHJldHVybiBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgbGV0IG5vRXJyb3IgPSB0cnVlO1xuXG4gIGNvbnN0IHJlbGVhc2VOYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0UmVsZWFzZU5hbWUoKSxcbiAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgZGVwZW5kZW50TmFtZXMgPSBbIC4uLmRlcGVuZGVudE5hbWVzLCByZWxlYXNlTmFtZSBdOyAgLy8vXG5cbiAgZGVwZW5kZW5jaWVzLmFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY29uc3QgbmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgIHJlbGVhc2VOYW1lID0gbmFtZSwgLy9cbiAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVkVmVyc2lvbigpLFxuICAgICAgICAgIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMocmVsZWFzZU5hbWUsIGRlcGVuZGVudE5hbWVzLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICBpZiAoY3ljbGljRGVwZW5kZW5jeUV4aXN0cykge1xuICAgICAgbm9FcnJvciA9IGZhbHNlO1xuXG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjcmVhdGVSZWxlYXNlQ29udGV4dChyZWxlYXNlTmFtZSwgZGVwZW5kZW50TmFtZXMsIHNob3J0ZW5lZFZlcnNpb24sIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIG5vRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sIGRvbmUpO1xuXG4gIGZ1bmN0aW9uIGRvbmUoKSB7XG4gICAgY29uc3QgZXJyb3IgPSAhbm9FcnJvcjtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1JlbGVhc2VNYXRjaGVzU2hvcnRlbmVkVmVyc2lvbihyZWxlYXNlQ29udGV4dCwgc2hvcnRlbmVkVmVyc2lvbikge1xuICBjb25zdCByZWxlYXNlID0gcmVsZWFzZUNvbnRleHQuZ2V0UmVsZWFzZSgpLFxuICAgICAgICByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uID0gcmVsZWFzZS5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgaWYgKCFyZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uKSB7XG4gICAgY29uc3QgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldFJlbGVhc2VOYW1lKCksXG4gICAgICAgICAgdmVyc2lvblN0cmluZyA9IHZlcnNpb24udG9TdHJpbmcoKSxcbiAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uU3RyaW5nID0gc2hvcnRlbmVkVmVyc2lvbi50b1N0cmluZygpO1xuXG4gICAgcmVsZWFzZUNvbnRleHQuZXJyb3IoYFRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UncyB2ZXJzaW9uIG9mICR7dmVyc2lvblN0cmluZ30gZG9lcyBub3QgbWF0Y2ggdGhlIGRlcGVuZGVuY3kncyBzaG9ydGVuZWQgdmVyc2lvbiBvZiAke3Nob3J0ZW5lZFZlcnNpb25TdHJpbmd9LmApO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VNYXRjaGVzU2hvcnRlZFZlcnNpb247XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlTmFtZSIsImRlcGVuZGVudE5hbWVzIiwic2hvcnRlbmVkVmVyc2lvbiIsImNvbnRleHQiLCJjYWxsYmFjayIsInJlbGVhc2VDb250ZXh0TWFwIiwicmVsZWFzZUNvbnRleHQiLCJlcnJvciIsImNyZWF0ZVJlbGVhc2UiLCJyZWxlYXNlIiwibG9nIiwiY2FsbGJhY2tzIiwiUmVsZWFzZUNvbnRleHQiLCJmcm9tTG9nUmVsZWFzZUFuZENhbGxiYWNrcyIsInJlbGVhc2VNYXRjaGVzU2hvcnRlZFZlcnNpb24iLCJjaGVja1JlbGVhc2VNYXRjaGVzU2hvcnRlbmVkVmVyc2lvbiIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJkZXBlbmRlbnROYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUiLCJpbmNsdWRlcyIsImN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJmaXJzdERlcGVuZGVudE5hbWUiLCJmaXJzdCIsImRlcGVuZGVuY3lOYW1lcyIsImNvbmNhdCIsImRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJkb25lIiwibm9FcnJvciIsImdldFJlbGVhc2VOYW1lIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5IiwibmV4dCIsIm5hbWUiLCJnZXROYW1lIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJnZXRSZWxlYXNlIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJzaG9ydGVuZWRWZXJzaW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7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
@@ -14,11 +14,11 @@ function _interopRequireDefault(obj) {
14
14
  default: obj
15
15
  };
16
16
  }
17
- function verifyRelease(name, releaseContextMap) {
18
- var releaseContext = releaseContextMap[name], verified = releaseContext.isVerified();
17
+ function verifyRelease(releaseName, releaseContextMap) {
18
+ var releaseContext = releaseContextMap[releaseName], verified = releaseContext.isVerified();
19
19
  var releaseVerified = verified; ///
20
20
  if (!releaseVerified) {
21
- releaseContext.debug("Verifying the '".concat(name, "' package..."));
21
+ releaseContext.debug("Verifying the '".concat(releaseName, "' package..."));
22
22
  var dependencyReleasesVVerified = verifyDependencyReleases(releaseContext, releaseContextMap);
23
23
  if (dependencyReleasesVVerified) {
24
24
  var releaseFilesVerified = verifyReleaseFiles(releaseContext, releaseContextMap);
@@ -30,13 +30,13 @@ function verifyRelease(name, releaseContextMap) {
30
30
  if (releaseVerified) {
31
31
  var verified1 = true;
32
32
  releaseContext.setVerified(verified1);
33
- releaseContext.info("Verified the '".concat(name, "' package."));
33
+ releaseContext.info("Verified the '".concat(releaseName, "' package."));
34
34
  }
35
35
  return releaseVerified;
36
36
  }
37
37
  function verifyReleaseFiles(releaseContext, releaseContextMap) {
38
38
  var dependencies = releaseContext.getDependencies(), releaseContexts = dependencies.mapDependency(function(dependency) {
39
- var name = dependency.getName(), _$releaseContext = releaseContextMap[name];
39
+ var name = dependency.getName(), releaseName = name, _$releaseContext = releaseContextMap[releaseName];
40
40
  return _$releaseContext;
41
41
  }), dependencyReleaseContexts = retrieveDependencyReleaseContexts(dependencies, releaseContextMap);
42
42
  releaseContext.initialise(releaseContexts, dependencyReleaseContexts);
@@ -45,7 +45,7 @@ function verifyReleaseFiles(releaseContext, releaseContextMap) {
45
45
  }
46
46
  function verifyDependencyReleases(releaseContext, releaseContextMap) {
47
47
  var dependencies = releaseContext.getDependencies(), dependencyReleasesVVerified = dependencies.everyDependency(function(dependency) {
48
- var name = dependency.getName(), releaseVerified = verifyRelease(name, releaseContextMap);
48
+ var name = dependency.getName(), releaseName = name, releaseVerified = verifyRelease(releaseName, releaseContextMap);
49
49
  if (releaseVerified) {
50
50
  return true;
51
51
  }
@@ -65,4 +65,4 @@ function retrieveDependencyReleaseContexts(dependencies, releaseContextMap) {
65
65
  return dependencyReleaseContexts;
66
66
  }
67
67
 
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZpbGVzIGZyb20gXCIuLi92ZXJpZnkvZmlsZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UmVsZWFzZShuYW1lLCByZWxlYXNlQ29udGV4dE1hcCkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW25hbWVdLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0LmlzVmVyaWZpZWQoKTtcblxuICBsZXQgcmVsZWFzZVZlcmlmaWVkID0gdmVyaWZpZWQ7IC8vL1xuXG4gIGlmICghcmVsZWFzZVZlcmlmaWVkKSB7XG4gICAgcmVsZWFzZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bmFtZX0nIHBhY2thZ2UuLi5gKTtcblxuICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCA9IHZlcmlmeURlcGVuZGVuY3lSZWxlYXNlcyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gICAgaWYgKGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgcmVsZWFzZUZpbGVzVmVyaWZpZWQgPSB2ZXJpZnlSZWxlYXNlRmlsZXMocmVsZWFzZUNvbnRleHQsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgaWYgKHJlbGVhc2VGaWxlc1ZlcmlmaWVkKSB7XG4gICAgICAgIHJlbGVhc2VWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJlbGVhc2VWZXJpZmllZCkge1xuICAgIGNvbnN0IHZlcmlmaWVkID0gdHJ1ZTtcblxuICAgIHJlbGVhc2VDb250ZXh0LnNldFZlcmlmaWVkKHZlcmlmaWVkKTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtuYW1lfScgcGFja2FnZS5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VGaWxlcyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApIHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCksXG4gICAgICAgIHJlbGVhc2VDb250ZXh0cyA9IGRlcGVuZGVuY2llcy5tYXBEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbbmFtZV07XG5cbiAgICAgICAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gICAgICAgIH0pLFxuICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY2llcywgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gIHJlbGVhc2VDb250ZXh0LmluaXRpYWxpc2UocmVsZWFzZUNvbnRleHRzLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICBjb25zdCBmaWxlc1ZlcmlmaWVkID0gdmVyaWZ5RmlsZXMocmVsZWFzZUNvbnRleHQpLFxuICAgICAgICByZWxlYXNlRmlsZXNWZXJpZmllZCA9IGZpbGVzVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiByZWxlYXNlRmlsZXNWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVwZW5kZW5jeVJlbGVhc2VzKHJlbGVhc2VDb250ZXh0LCByZWxlYXNlQ29udGV4dE1hcCkge1xuICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKSxcbiAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VzVlZlcmlmaWVkID0gZGVwZW5kZW5jaWVzLmV2ZXJ5RGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICByZWxlYXNlVmVyaWZpZWQgPSB2ZXJpZnlSZWxlYXNlKG5hbWUsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgICAgIGlmIChyZWxlYXNlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY2llcywgcmVsZWFzZUNvbnRleHRNYXAsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBkZXBlbmRlbmNpZXMuZm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3kpID0+IHtcbiAgICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtkZXBlbmRlbmN5UmVsZWFzZU5hbWVdLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc0RlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCA9IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuaW5jbHVkZXMoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmICghZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0KSB7XG4gICAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgICAgIHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmNpZXMsIHJlbGVhc2VDb250ZXh0TWFwLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5wdXNoKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cztcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSZWxlYXNlIiwibmFtZSIsInJlbGVhc2VDb250ZXh0TWFwIiwicmVsZWFzZUNvbnRleHQiLCJ2ZXJpZmllZCIsImlzVmVyaWZpZWQiLCJyZWxlYXNlVmVyaWZpZWQiLCJkZWJ1ZyIsImRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCIsInZlcmlmeURlcGVuZGVuY3lSZWxlYXNlcyIsInJlbGVhc2VGaWxlc1ZlcmlmaWVkIiwidmVyaWZ5UmVsZWFzZUZpbGVzIiwic2V0VmVyaWZpZWQiLCJpbmZvIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwicmVsZWFzZUNvbnRleHRzIiwibWFwRGVwZW5kZW5jeSIsImRlcGVuZGVuY3kiLCJnZXROYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImluaXRpYWxpc2UiLCJmaWxlc1ZlcmlmaWVkIiwidmVyaWZ5RmlsZXMiLCJldmVyeURlcGVuZGVuY3kiLCJmb3JFYWNoRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lOYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VOYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0IiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0lu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
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZpbGVzIGZyb20gXCIuLi92ZXJpZnkvZmlsZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UmVsZWFzZShyZWxlYXNlTmFtZSwgcmVsZWFzZUNvbnRleHRNYXApIHtcbiAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIHZlcmlmaWVkID0gcmVsZWFzZUNvbnRleHQuaXNWZXJpZmllZCgpO1xuXG4gIGxldCByZWxlYXNlVmVyaWZpZWQgPSB2ZXJpZmllZDsgLy8vXG5cbiAgaWYgKCFyZWxlYXNlVmVyaWZpZWQpIHtcbiAgICByZWxlYXNlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UuLi5gKTtcblxuICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCA9IHZlcmlmeURlcGVuZGVuY3lSZWxlYXNlcyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gICAgaWYgKGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgcmVsZWFzZUZpbGVzVmVyaWZpZWQgPSB2ZXJpZnlSZWxlYXNlRmlsZXMocmVsZWFzZUNvbnRleHQsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgaWYgKHJlbGVhc2VGaWxlc1ZlcmlmaWVkKSB7XG4gICAgICAgIHJlbGVhc2VWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJlbGVhc2VWZXJpZmllZCkge1xuICAgIGNvbnN0IHZlcmlmaWVkID0gdHJ1ZTtcblxuICAgIHJlbGVhc2VDb250ZXh0LnNldFZlcmlmaWVkKHZlcmlmaWVkKTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UuYCk7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlSZWxlYXNlRmlsZXMocmVsZWFzZUNvbnRleHQsIHJlbGVhc2VDb250ZXh0TWFwKSB7XG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpLFxuICAgICAgICByZWxlYXNlQ29udGV4dHMgPSBkZXBlbmRlbmNpZXMubWFwRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWUsIC8vL1xuICAgICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdO1xuXG4gICAgICAgICAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xuICAgICAgICB9KSxcbiAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmNpZXMsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKHJlbGVhc2VDb250ZXh0cywgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgY29uc3QgZmlsZXNWZXJpZmllZCA9IHZlcmlmeUZpbGVzKHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgcmVsZWFzZUZpbGVzVmVyaWZpZWQgPSBmaWxlc1ZlcmlmaWVkOyAvLy9cblxuICByZXR1cm4gcmVsZWFzZUZpbGVzVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcGVuZGVuY3lSZWxlYXNlcyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApIHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCksXG4gICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCA9IGRlcGVuZGVuY2llcy5ldmVyeURlcGVuZGVuY3koKGRlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lLCAvLy9cbiAgICAgICAgICAgICAgICByZWxlYXNlVmVyaWZpZWQgPSB2ZXJpZnlSZWxlYXNlKHJlbGVhc2VOYW1lLCByZWxlYXNlQ29udGV4dE1hcCk7XG5cbiAgICAgICAgICBpZiAocmVsZWFzZVZlcmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBkZXBlbmRlbmN5UmVsZWFzZXNWVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmNpZXMsIHJlbGVhc2VDb250ZXh0TWFwLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gW10pIHtcbiAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbZGVwZW5kZW5jeVJlbGVhc2VOYW1lXSxcbiAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzSW5jbHVkZXNEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCk7XG5cbiAgICBpZiAoIWRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc0RlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCkge1xuICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQsICAvLy9cbiAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gICAgICByZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jaWVzLCByZWxlYXNlQ29udGV4dE1hcCwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMucHVzaChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHM7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UmVsZWFzZSIsInJlbGVhc2VOYW1lIiwicmVsZWFzZUNvbnRleHRNYXAiLCJyZWxlYXNlQ29udGV4dCIsInZlcmlmaWVkIiwiaXNWZXJpZmllZCIsInJlbGVhc2VWZXJpZmllZCIsImRlYnVnIiwiZGVwZW5kZW5jeVJlbGVhc2VzVlZlcmlmaWVkIiwidmVyaWZ5RGVwZW5kZW5jeVJlbGVhc2VzIiwicmVsZWFzZUZpbGVzVmVyaWZpZWQiLCJ2ZXJpZnlSZWxlYXNlRmlsZXMiLCJzZXRWZXJpZmllZCIsImluZm8iLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJyZWxlYXNlQ29udGV4dHMiLCJtYXBEZXBlbmRlbmN5IiwiZGVwZW5kZW5jeSIsIm5hbWUiLCJnZXROYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImluaXRpYWxpc2UiLCJmaWxlc1ZlcmlmaWVkIiwidmVyaWZ5RmlsZXMiLCJldmVyeURlcGVuZGVuY3kiLCJmb3JFYWNoRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lOYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VOYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0IiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0IiwiaW5jbHVkZXMiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzBEQUZBOzs7Ozs7QUFFVCxTQUFTQSxjQUFjQyxXQUFXLEVBQUVDLGlCQUFpQixFQUFFO0lBQ3BFLElBQU1DLGlCQUFpQkQsaUJBQWlCLENBQUNELFlBQVksRUFDL0NHLFdBQVdELGVBQWVFLFVBQVU7SUFFMUMsSUFBSUMsa0JBQWtCRixVQUFVLEdBQUc7SUFFbkMsSUFBSSxDQUFDRSxpQkFBaUI7UUFDcEJILGVBQWVJLEtBQUssQ0FBQyxBQUFDLGtCQUE2QixPQUFaTixhQUFZO1FBRW5ELElBQU1PLDhCQUE4QkMseUJBQXlCTixnQkFBZ0JEO1FBRTdFLElBQUlNLDZCQUE2QjtZQUMvQixJQUFNRSx1QkFBdUJDLG1CQUFtQlIsZ0JBQWdCRDtZQUVoRSxJQUFJUSxzQkFBc0I7Z0JBQ3hCSixrQkFBa0IsSUFBSTtZQUN4QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxpQkFBaUI7UUFDbkIsSUFBTUYsWUFBVyxJQUFJO1FBRXJCRCxlQUFlUyxXQUFXLENBQUNSO1FBRTNCRCxlQUFlVSxJQUFJLENBQUMsQUFBQyxpQkFBNEIsT0FBWlosYUFBWTtJQUNuRCxDQUFDO0lBRUQsT0FBT0s7QUFDVDtBQUVBLFNBQVNLLG1CQUFtQlIsY0FBYyxFQUFFRCxpQkFBaUIsRUFBRTtJQUM3RCxJQUFNWSxlQUFlWCxlQUFlWSxlQUFlLElBQzdDQyxrQkFBa0JGLGFBQWFHLGFBQWEsQ0FBQyxTQUFDQyxZQUFlO1FBQzNELElBQU1DLE9BQU9ELFdBQVdFLE9BQU8sSUFDekJuQixjQUFja0IsTUFDZGhCLG1CQUFpQkQsaUJBQWlCLENBQUNELFlBQVk7UUFFckQsT0FBT0U7SUFDVCxJQUNBa0IsNEJBQTRCQyxrQ0FBa0NSLGNBQWNaO0lBRWxGQyxlQUFlb0IsVUFBVSxDQUFDUCxpQkFBaUJLO0lBRTNDLElBQU1HLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDdEIsaUJBQzVCTyx1QkFBdUJjLGVBQWUsR0FBRztJQUUvQyxPQUFPZDtBQUNUO0FBRUEsU0FBU0QseUJBQXlCTixjQUFjLEVBQUVELGlCQUFpQixFQUFFO0lBQ25FLElBQU1ZLGVBQWVYLGVBQWVZLGVBQWUsSUFDN0NQLDhCQUE4Qk0sYUFBYVksZUFBZSxDQUFDLFNBQUNSLFlBQWU7UUFDekUsSUFBTUMsT0FBT0QsV0FBV0UsT0FBTyxJQUN6Qm5CLGNBQWNrQixNQUNkYixrQkFBa0JOLGNBQWNDLGFBQWFDO1FBRW5ELElBQUlJLGlCQUFpQjtZQUNuQixPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0g7SUFFTixPQUFPRTtBQUNUO0FBRUEsU0FBU2Msa0NBQWtDUixZQUFZLEVBQUVaLGlCQUFpQixFQUFrQztRQUFoQ21CLDRCQUFBQSxpRUFBNEIsRUFBRTtJQUN4R1AsYUFBYWEsaUJBQWlCLENBQUMsU0FBQ1QsWUFBZTtRQUM3QyxJQUFNVSxpQkFBaUJWLFdBQVdFLE9BQU8sSUFDbkNTLHdCQUF3QkQsZ0JBQ3hCRSwyQkFBMkI1QixpQkFBaUIsQ0FBQzJCLHNCQUFzQixFQUNuRUUsNERBQTREViwwQkFBMEJXLFFBQVEsQ0FBQ0Y7UUFFckcsSUFBSSxDQUFDQywyREFBMkQ7WUFDOUQsSUFBTTVCLGlCQUFpQjJCLDBCQUNqQmhCLGlCQUFlWCxlQUFlWSxlQUFlO1lBRW5ETyxrQ0FBa0NSLGdCQUFjWixtQkFBbUJtQjtZQUVuRUEsMEJBQTBCWSxJQUFJLENBQUNIO1FBQ2pDLENBQUM7SUFDSDtJQUVBLE9BQU9UO0FBQ1QifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.323",
4
+ "version": "0.0.325",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -59,8 +59,6 @@ export default class ReleaseContext {
59
59
 
60
60
  getFile(filePath) { return this.release.getFile(filePath); }
61
61
 
62
- getName() { return this.release.getName(); }
63
-
64
62
  getVersion() { return this.release.getVersion(); }
65
63
 
66
64
  getFilePaths() { return this.release.getFilePaths(); }
@@ -69,10 +67,15 @@ export default class ReleaseContext {
69
67
 
70
68
  matchShortenedVersion(shortenedVersion) { return this.release.matchShortenedVersion(shortenedVersion); }
71
69
 
70
+ getReleaseName() {
71
+ const releaseName = this.release.getName();
72
+
73
+ return releaseName;
74
+ }
75
+
72
76
  getRules(releaseNames = []) {
73
- const name = this.getName(),
74
- rules = [],
75
- releaseName = name, ///
77
+ const rules = [],
78
+ releaseName = this.getReleaseName(),
76
79
  releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
77
80
 
78
81
  if (!releaseNamesIncludesReleaseName) {
@@ -97,9 +100,8 @@ export default class ReleaseContext {
97
100
  }
98
101
 
99
102
  getTypes(releaseNames = []) {
100
- const name = this.getName(),
101
- types = [],
102
- releaseName = name, ///
103
+ const types = [],
104
+ releaseName = this.getReleaseName(),
103
105
  releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
104
106
 
105
107
  if (!releaseNamesIncludesReleaseName) {
@@ -124,9 +126,8 @@ export default class ReleaseContext {
124
126
  }
125
127
 
126
128
  getAxioms(releaseNames = []) {
127
- const name = this.getName(),
128
- axioms = [],
129
- releaseName = name, ///
129
+ const axioms = [],
130
+ releaseName = this.getReleaseName(),
130
131
  releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
131
132
 
132
133
  if (!releaseNamesIncludesReleaseName) {
@@ -151,9 +152,8 @@ export default class ReleaseContext {
151
152
  }
152
153
 
153
154
  getCombinators(releaseNames = []) {
154
- const name = this.getName(),
155
- combinators = [],
156
- releaseName = name, ///
155
+ const combinators = [],
156
+ releaseName = this.getReleaseName(),
157
157
  releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
158
158
 
159
159
  if (!releaseNamesIncludesReleaseName) {
@@ -178,9 +178,8 @@ export default class ReleaseContext {
178
178
  }
179
179
 
180
180
  getConstructors(releaseNames = []) {
181
- const name = this.getName(),
182
- constructors = [],
183
- releaseName = name, ///
181
+ const constructors = [],
182
+ releaseName = this.getReleaseName(),
184
183
  releaseNamesIncludesReleaseName = releaseNames.includes(releaseName);
185
184
 
186
185
  if (!releaseNamesIncludesReleaseName) {
@@ -2,9 +2,9 @@
2
2
 
3
3
  import ReleaseContext from "../context/release"
4
4
 
5
- export function createReleaseContext(name, dependentNames, shortenedVersion, context, callback) {
5
+ export function createReleaseContext(releaseName, dependentNames, shortenedVersion, context, callback) {
6
6
  const { releaseContextMap } = context,
7
- releaseContext = releaseContextMap[name] || null;
7
+ releaseContext = releaseContextMap[releaseName] || null;
8
8
 
9
9
  if (releaseContext !== null) {
10
10
  const error = false;
@@ -16,7 +16,7 @@ export function createReleaseContext(name, dependentNames, shortenedVersion, con
16
16
 
17
17
  const { createRelease } = context;
18
18
 
19
- createRelease(name, (release) => {
19
+ createRelease(releaseName, (release) => {
20
20
  if (release === null) {
21
21
  const error = true;
22
22
 
@@ -39,7 +39,7 @@ export function createReleaseContext(name, dependentNames, shortenedVersion, con
39
39
 
40
40
  createDependencyReleaseContexts(releaseContext, dependentNames, context, (error) => {
41
41
  if (!error) {
42
- releaseContextMap[name] = releaseContext;
42
+ releaseContextMap[releaseName] = releaseContext;
43
43
  }
44
44
 
45
45
  callback(error);
@@ -51,9 +51,9 @@ export default {
51
51
  createReleaseContext
52
52
  };
53
53
 
54
- function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
55
- const dependentNamesIncludesName = dependentNames.includes(name),
56
- cyclicDependencyExists = dependentNamesIncludesName; ///
54
+ function checkCyclicDependencyExists(releaseName, dependentNames, releaseContext) {
55
+ const dependentNamesIncludesReleaseName = dependentNames.includes(releaseName),
56
+ cyclicDependencyExists = dependentNamesIncludesReleaseName; ///
57
57
 
58
58
  if (cyclicDependencyExists) {
59
59
  const firstDependentName = first(dependentNames),
@@ -69,15 +69,16 @@ function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
69
69
  function createDependencyReleaseContexts(releaseContext, dependentNames, context, callback) {
70
70
  let noError = true;
71
71
 
72
- const name = releaseContext.getName(),
72
+ const releaseName = releaseContext.getReleaseName(),
73
73
  dependencies = releaseContext.getDependencies();
74
74
 
75
- dependentNames = [ ...dependentNames, name ]; ///
75
+ dependentNames = [ ...dependentNames, releaseName ]; ///
76
76
 
77
77
  dependencies.asynchronousForEachDependency((dependency, next, done) => {
78
78
  const name = dependency.getName(),
79
+ releaseName = name, //
79
80
  shortenedVersion = dependency.getShortedVersion(),
80
- cyclicDependencyExists = checkCyclicDependencyExists(name, dependentNames, releaseContext);
81
+ cyclicDependencyExists = checkCyclicDependencyExists(releaseName, dependentNames, releaseContext);
81
82
 
82
83
  if (cyclicDependencyExists) {
83
84
  noError = false;
@@ -87,7 +88,7 @@ function createDependencyReleaseContexts(releaseContext, dependentNames, context
87
88
  return;
88
89
  }
89
90
 
90
- createReleaseContext(name, dependentNames, shortenedVersion, context, (error) => {
91
+ createReleaseContext(releaseName, dependentNames, shortenedVersion, context, (error) => {
91
92
  if (error) {
92
93
  noError = false;
93
94
 
@@ -112,12 +113,12 @@ function checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion) {
112
113
  releaseMatchesShortedVersion = release.matchShortenedVersion(shortenedVersion);
113
114
 
114
115
  if (!releaseMatchesShortedVersion) {
115
- const name = releaseContext.getName(),
116
- version = releaseContext.getVersion(),
116
+ const version = releaseContext.getVersion(),
117
+ releaseName = releaseContext.getReleaseName(),
117
118
  versionString = version.toString(),
118
119
  shortenedVersionString = shortenedVersion.toString();
119
120
 
120
- releaseContext.error(`The '${name}' package's version of ${versionString} does not match the dependency's shortened version of ${shortenedVersionString}.`);
121
+ releaseContext.error(`The '${releaseName}' package's version of ${versionString} does not match the dependency's shortened version of ${shortenedVersionString}.`);
121
122
  }
122
123
 
123
124
  return releaseMatchesShortedVersion;
@@ -2,14 +2,14 @@
2
2
 
3
3
  import verifyFiles from "../verify/files";
4
4
 
5
- export default function verifyRelease(name, releaseContextMap) {
6
- const releaseContext = releaseContextMap[name],
5
+ export default function verifyRelease(releaseName, releaseContextMap) {
6
+ const releaseContext = releaseContextMap[releaseName],
7
7
  verified = releaseContext.isVerified();
8
8
 
9
9
  let releaseVerified = verified; ///
10
10
 
11
11
  if (!releaseVerified) {
12
- releaseContext.debug(`Verifying the '${name}' package...`);
12
+ releaseContext.debug(`Verifying the '${releaseName}' package...`);
13
13
 
14
14
  const dependencyReleasesVVerified = verifyDependencyReleases(releaseContext, releaseContextMap);
15
15
 
@@ -27,7 +27,7 @@ export default function verifyRelease(name, releaseContextMap) {
27
27
 
28
28
  releaseContext.setVerified(verified);
29
29
 
30
- releaseContext.info(`Verified the '${name}' package.`);
30
+ releaseContext.info(`Verified the '${releaseName}' package.`);
31
31
  }
32
32
 
33
33
  return releaseVerified;
@@ -37,7 +37,8 @@ function verifyReleaseFiles(releaseContext, releaseContextMap) {
37
37
  const dependencies = releaseContext.getDependencies(),
38
38
  releaseContexts = dependencies.mapDependency((dependency) => {
39
39
  const name = dependency.getName(),
40
- releaseContext = releaseContextMap[name];
40
+ releaseName = name, ///
41
+ releaseContext = releaseContextMap[releaseName];
41
42
 
42
43
  return releaseContext;
43
44
  }),
@@ -55,7 +56,8 @@ function verifyDependencyReleases(releaseContext, releaseContextMap) {
55
56
  const dependencies = releaseContext.getDependencies(),
56
57
  dependencyReleasesVVerified = dependencies.everyDependency((dependency) => {
57
58
  const name = dependency.getName(),
58
- releaseVerified = verifyRelease(name, releaseContextMap);
59
+ releaseName = name, ///
60
+ releaseVerified = verifyRelease(releaseName, releaseContextMap);
59
61
 
60
62
  if (releaseVerified) {
61
63
  return true;
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- const { levels } = require("necessary"),
4
- { Callbacks } = require("../../lib/index");
5
-
6
- const { HALT_MESSAGE, BEGIN_MESSAGE, COMPLETED_MESSAGE } = require("../messages");
7
-
8
- const { TRACE_LEVEL } = levels;
9
-
10
- function callbacksFromLog(log) {
11
- const level = TRACE_LEVEL;
12
-
13
- function halt(filePath, leastLineIndex, greatestLineIndex) {
14
- let message = HALT_MESSAGE;
15
-
16
- message = messageFromMessageFilePathLeastLineIndexAndGreatestLineIndex(message, filePath, leastLineIndex, greatestLineIndex);
17
-
18
- log(level, message);
19
- }
20
-
21
- function begin(filePath, leastLineIndex, greatestLineIndex) {
22
- let message = BEGIN_MESSAGE;
23
-
24
- message = messageFromMessageFilePathLeastLineIndexAndGreatestLineIndex(message, filePath, leastLineIndex, greatestLineIndex);
25
-
26
- log(level, message);
27
- }
28
-
29
- function complete(filePath, leastLineIndex, greatestLineIndex) {
30
- let message = COMPLETED_MESSAGE;
31
-
32
- message = messageFromMessageFilePathLeastLineIndexAndGreatestLineIndex(message, filePath, leastLineIndex, greatestLineIndex);
33
-
34
- log(level, message);
35
- }
36
-
37
- const callbacks = Callbacks.fromHaltBeginAndComplete(halt, begin, complete);
38
-
39
- return callbacks;
40
- }
41
-
42
-
43
- module.exports = {
44
- callbacksFromLog
45
- };
46
-
47
- function messageFromMessageFilePathLeastLineIndexAndGreatestLineIndex(message, filePath, leastLineIndex, greatestLineIndex) {
48
- if (leastLineIndex === greatestLineIndex) {
49
- const lineIndex = leastLineIndex; ///
50
-
51
- message = `'${filePath}' : [${lineIndex}] - ${message}`;
52
- } else {
53
- message = `'${filePath}' : [${leastLineIndex}-${greatestLineIndex}] - ${message}`;
54
- }
55
-
56
- return message;
57
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- const { levels } = require("necessary");
4
-
5
- const { TRACE_LEVEL, DEBUG_LEVEL, INFO_LEVEL, WARNING_LEVEL, ERROR_LEVEL, FATAL_LEVEL } = levels;
6
-
7
- function log(level, message) {
8
- console.log(`(${level}) ${message}`)
9
- }
10
-
11
- function trace(message) { log(TRACE_LEVEL, message); }
12
-
13
- function debug(message) { log(DEBUG_LEVEL, message); }
14
-
15
- function info(message) { log(INFO_LEVEL, message); }
16
-
17
- function warning(message) { log(WARNING_LEVEL, message); }
18
-
19
- function error(message) { log(ERROR_LEVEL, message); }
20
-
21
- function fatal(message) { log(FATAL_LEVEL, message); }
22
-
23
- Object.assign(log, {
24
- trace,
25
- debug,
26
- info,
27
- warning,
28
- error,
29
- fatal
30
- });
31
-
32
- module.exports = {
33
- log
34
- };