occam-verify-cli 0.0.319 → 0.0.321

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/main.js CHANGED
@@ -1,22 +1,49 @@
1
1
  "use strict";
2
2
 
3
- const { verifyRelease } = require("../lib/index"),
4
- { arrayUtilities } = require("necessary");
3
+ const { arrayUtilities } = require("necessary"),
4
+ { fileSystemUtilities } = require("occam-file-system"),
5
+ { verifyRelease, releaseContextUtilities } = require("../lib/index");
5
6
 
6
- const { createReleaseContext } = require("./utilities/release");
7
+ const callbacks = require("./callbacks");
7
8
 
8
- const { first } = arrayUtilities;
9
+ const { log } = require("./utilities/logging"),
10
+ { PERIOD } = require("./constants");
11
+
12
+ const { first } = arrayUtilities,
13
+ { loadRelease } = fileSystemUtilities,
14
+ { createReleaseContext } = releaseContextUtilities;
9
15
 
10
16
  function main(commands, options) {
11
17
  const firstCommand = first(commands),
12
18
  { name = firstCommand } = options, ///
13
19
  releaseContextMap = {},
14
20
  shortenedVersion = null,
15
- releaseContext = createReleaseContext(name, shortenedVersion, releaseContextMap);
21
+ dependentNames = [],
22
+ connection = null, ///
23
+ context = {
24
+ log,
25
+ callbacks,
26
+ createRelease,
27
+ releaseContextMap
28
+ };
29
+
30
+ createReleaseContext(connection, name, dependentNames, shortenedVersion, context, (error) => {
31
+ if (error) {
32
+ ///
33
+
34
+ return;
35
+ }
16
36
 
17
- if (releaseContext !== null) {
18
37
  verifyRelease(name, releaseContextMap);
19
- }
38
+ });
20
39
  }
21
40
 
22
41
  module.exports = main;
42
+
43
+ function createRelease(name, callback, context) {
44
+ const topmostDirectoryName = name, ///
45
+ projectsDirectoryPath = PERIOD, ///
46
+ release = loadRelease(topmostDirectoryName, projectsDirectoryPath);
47
+
48
+ callback(release);
49
+ }
package/lib/index.js CHANGED
@@ -18,18 +18,18 @@ _export(exports, {
18
18
  ReleaseContext: function() {
19
19
  return _release1.default;
20
20
  },
21
- verificationUtilities: function() {
22
- return _verification.default;
21
+ releaseContextUtilities: function() {
22
+ return _releaseContext.default;
23
23
  }
24
24
  });
25
25
  var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("./callbacks"));
26
26
  var _release = /*#__PURE__*/ _interopRequireDefault(require("./verify/release"));
27
27
  var _release1 = /*#__PURE__*/ _interopRequireDefault(require("./context/release"));
28
- var _verification = /*#__PURE__*/ _interopRequireDefault(require("./utilities/verification"));
28
+ var _releaseContext = /*#__PURE__*/ _interopRequireDefault(require("./utilities/releaseContext"));
29
29
  function _interopRequireDefault(obj) {
30
30
  return obj && obj.__esModule ? obj : {
31
31
  default: obj
32
32
  };
33
33
  }
34
34
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYWxsYmFja3MgfSBmcm9tIFwiLi9jYWxsYmFja3NcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyaWZ5UmVsZWFzZSB9IGZyb20gXCIuL3ZlcmlmeS9yZWxlYXNlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlbGVhc2VDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC9yZWxlYXNlXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyaWZpY2F0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3ZlcmlmaWNhdGlvblwiO1xuIl0sIm5hbWVzIjpbIkNhbGxiYWNrcyIsInZlcmlmeVJlbGVhc2UiLCJSZWxlYXNlQ29udGV4dCIsInZlcmlmaWNhdGlvblV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxTQUFTO2VBQVRBLGtCQUFTOztJQUNUQyxhQUFhO2VBQWJBLGdCQUFhOztJQUNiQyxjQUFjO2VBQWRBLGlCQUFjOztJQUVkQyxxQkFBcUI7ZUFBckJBLHFCQUFxQjs7OzhEQUpKOzREQUNJOzZEQUNDO2lFQUVPIn0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYWxsYmFja3MgfSBmcm9tIFwiLi9jYWxsYmFja3NcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyaWZ5UmVsZWFzZSB9IGZyb20gXCIuL3ZlcmlmeS9yZWxlYXNlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlbGVhc2VDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC9yZWxlYXNlXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVsZWFzZUNvbnRleHRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHRcIjtcbiJdLCJuYW1lcyI6WyJDYWxsYmFja3MiLCJ2ZXJpZnlSZWxlYXNlIiwiUmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlQ29udGV4dFV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxTQUFTO2VBQVRBLGtCQUFTOztJQUNUQyxhQUFhO2VBQWJBLGdCQUFhOztJQUNiQyxjQUFjO2VBQWRBLGlCQUFjOztJQUVkQyx1QkFBdUI7ZUFBdkJBLHVCQUF1Qjs7OzhEQUpOOzREQUNJOzZEQUNDO21FQUVTIn0=
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ createReleaseContext: function() {
13
+ return createReleaseContext;
14
+ },
15
+ default: function() {
16
+ return _default;
17
+ }
18
+ });
19
+ var _release = /*#__PURE__*/ _interopRequireDefault(require("../context/release"));
20
+ function _arrayLikeToArray(arr, len) {
21
+ if (len == null || len > arr.length) len = arr.length;
22
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
23
+ return arr2;
24
+ }
25
+ function _arrayWithoutHoles(arr) {
26
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
27
+ }
28
+ function _interopRequireDefault(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
33
+ function _iterableToArray(iter) {
34
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
35
+ }
36
+ function _nonIterableSpread() {
37
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
38
+ }
39
+ function _toConsumableArray(arr) {
40
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
41
+ }
42
+ function _unsupportedIterableToArray(o, minLen) {
43
+ if (!o) return;
44
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
45
+ var n = Object.prototype.toString.call(o).slice(8, -1);
46
+ if (n === "Object" && o.constructor) n = o.constructor.name;
47
+ if (n === "Map" || n === "Set") return Array.from(n);
48
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
49
+ }
50
+ function createReleaseContext(connection, name, dependentNames, shortenedVersion, context, callback) {
51
+ var releaseContextMap = context.releaseContextMap, releaseContext = releaseContextMap[name] || null;
52
+ if (releaseContext !== null) {
53
+ var error = false;
54
+ callback(error);
55
+ return;
56
+ }
57
+ var createRelease = context.createRelease;
58
+ createRelease(name, function(release) {
59
+ if (release === null) {
60
+ var error = true;
61
+ callback(error);
62
+ return;
63
+ }
64
+ var log = context.log, callbacks = context.callbacks, releaseContext = _release.default.fromLogReleaseAndCallbacks(log, release, callbacks), releaseMatchesShortedVersion = checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion);
65
+ if (!releaseMatchesShortedVersion) {
66
+ var error1 = true;
67
+ callback(error1);
68
+ return;
69
+ }
70
+ createDependencyReleaseContexts(connection, releaseContext, dependentNames, context, function(error) {
71
+ if (!error) {
72
+ releaseContextMap[name] = releaseContext;
73
+ }
74
+ callback(error);
75
+ });
76
+ }, context);
77
+ }
78
+ var _default = {
79
+ createReleaseContext: createReleaseContext
80
+ };
81
+ function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
82
+ var dependentNamesIncludesName = dependentNames.includes(name), cyclicDependencyExists = dependentNamesIncludesName; ///
83
+ if (cyclicDependencyExists) {
84
+ var firstDependentName = first(dependentNames), dependencyNames = dependentNames.concat(firstDependentName), dependencyNamesString = dependencyNames.join("' -> '");
85
+ releaseContext.error("There is a cyclic dependency: '".concat(dependencyNamesString, "'."));
86
+ }
87
+ return cyclicDependencyExists;
88
+ }
89
+ function createDependencyReleaseContexts(connection, releaseContext, dependentNames, context, callback) {
90
+ var done = function done() {
91
+ var error = !noError;
92
+ callback(error);
93
+ };
94
+ var noError = true;
95
+ var name = releaseContext.getName(), dependencies = releaseContext.getDependencies();
96
+ dependentNames = _toConsumableArray(dependentNames).concat([
97
+ name
98
+ ]); ///
99
+ dependencies.asynchronousForEachDependency(function(dependency, next, done) {
100
+ var name = dependency.getName(), shortenedVersion = dependency.getShortedVersion(), cyclicDependencyExists = checkCyclicDependencyExists(name, dependentNames, releaseContext);
101
+ if (cyclicDependencyExists) {
102
+ noError = false;
103
+ done();
104
+ return;
105
+ }
106
+ createReleaseContext(connection, name, dependentNames, shortenedVersion, context, function(error) {
107
+ if (error) {
108
+ noError = false;
109
+ done();
110
+ return;
111
+ }
112
+ next();
113
+ });
114
+ }, done);
115
+ }
116
+ function checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion) {
117
+ var release = releaseContext.getRelease(), releaseMatchesShortedVersion = release.matchShortenedVersion(shortenedVersion);
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, "."));
121
+ }
122
+ return releaseMatchesShortedVersion;
123
+ }
124
+
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSZWxlYXNlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9yZWxlYXNlXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGNvbm5lY3Rpb24sIG5hbWUsIGRlcGVuZGVudE5hbWVzLCBzaG9ydGVuZWRWZXJzaW9uLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW25hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXJyb3IgPSBmYWxzZTtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgY3JlYXRlUmVsZWFzZSB9ID0gY29udGV4dDtcblxuICBjcmVhdGVSZWxlYXNlKG5hbWUsIChyZWxlYXNlKSA9PiB7XG4gICAgaWYgKHJlbGVhc2UgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gdHJ1ZTtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2csIGNhbGxiYWNrcyB9ID0gY29udGV4dCxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IFJlbGVhc2VDb250ZXh0LmZyb21Mb2dSZWxlYXNlQW5kQ2FsbGJhY2tzKGxvZywgcmVsZWFzZSwgY2FsbGJhY2tzKSxcbiAgICAgICAgICByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uID0gY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24ocmVsZWFzZUNvbnRleHQsIHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgaWYgKCFyZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRydWU7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoY29ubmVjdGlvbiwgcmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmICghZXJyb3IpIHtcbiAgICAgICAgcmVsZWFzZUNvbnRleHRNYXBbbmFtZV0gPSByZWxlYXNlQ29udGV4dDtcbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuICAgIH0pO1xuICB9LCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjcmVhdGVSZWxlYXNlQ29udGV4dFxufTtcblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKG5hbWUsIGRlcGVuZGVudE5hbWVzLCByZWxlYXNlQ29udGV4dCkge1xuICBjb25zdCBkZXBlbmRlbnROYW1lc0luY2x1ZGVzTmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKG5hbWUpLFxuICAgICAgICBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzID0gZGVwZW5kZW50TmFtZXNJbmNsdWRlc05hbWU7ICAvLy9cblxuICBpZiAoY3ljbGljRGVwZW5kZW5jeUV4aXN0cykge1xuICAgIGNvbnN0IGZpcnN0RGVwZW5kZW50TmFtZSA9IGZpcnN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbmN5TmFtZXMgPSBkZXBlbmRlbnROYW1lcy5jb25jYXQoZmlyc3REZXBlbmRlbnROYW1lKSxcbiAgICAgICAgICBkZXBlbmRlbmN5TmFtZXNTdHJpbmcgPSBkZXBlbmRlbmN5TmFtZXMuam9pbihgJyAtPiAnYCk7XG5cbiAgICByZWxlYXNlQ29udGV4dC5lcnJvcihgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeUV4aXN0cztcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhjb25uZWN0aW9uLCByZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIGNhbGxiYWNrKSB7XG4gIGxldCBub0Vycm9yID0gdHJ1ZTtcblxuICBjb25zdCBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbnROYW1lcyA9IFsgLi4uZGVwZW5kZW50TmFtZXMsIG5hbWUgXTsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcy5hc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVkVmVyc2lvbigpLFxuICAgICAgICAgIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMobmFtZSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgICBub0Vycm9yID0gZmFsc2U7XG5cbiAgICAgIGRvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGNvbm5lY3Rpb24sIG5hbWUsIGRlcGVuZGVudE5hbWVzLCBzaG9ydGVuZWRWZXJzaW9uLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBub0Vycm9yID0gZmFsc2U7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCBkb25lKTtcblxuICBmdW5jdGlvbiBkb25lKCkge1xuICAgIGNvbnN0IGVycm9yID0gIW5vRXJyb3I7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24ocmVsZWFzZUNvbnRleHQsIHNob3J0ZW5lZFZlcnNpb24pIHtcbiAgY29uc3QgcmVsZWFzZSA9IHJlbGVhc2VDb250ZXh0LmdldFJlbGVhc2UoKSxcbiAgICAgICAgcmVsZWFzZU1hdGNoZXNTaG9ydGVkVmVyc2lvbiA9IHJlbGVhc2UubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gIGlmICghcmVsZWFzZU1hdGNoZXNTaG9ydGVkVmVyc2lvbikge1xuICAgIGNvbnN0IG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgIHNob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBzaG9ydGVuZWRWZXJzaW9uLnRvU3RyaW5nKCk7XG5cbiAgICByZWxlYXNlQ29udGV4dC5lcnJvcihgVGhlICcke25hbWV9JyBwYWNrYWdlJ3MgdmVyc2lvbiBvZiAke3ZlcnNpb25TdHJpbmd9IGRvZXMgbm90IG1hdGNoIHRoZSBkZXBlbmRlbmN5J3Mgc2hvcnRlbmVkIHZlcnNpb24gb2YgJHtzaG9ydGVuZWRWZXJzaW9uU3RyaW5nfS5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGVhc2VDb250ZXh0IiwiY29ubmVjdGlvbiIsIm5hbWUiLCJkZXBlbmRlbnROYW1lcyIsInNob3J0ZW5lZFZlcnNpb24iLCJjb250ZXh0IiwiY2FsbGJhY2siLCJyZWxlYXNlQ29udGV4dE1hcCIsInJlbGVhc2VDb250ZXh0IiwiZXJyb3IiLCJjcmVhdGVSZWxlYXNlIiwicmVsZWFzZSIsImxvZyIsImNhbGxiYWNrcyIsIlJlbGVhc2VDb250ZXh0IiwiZnJvbUxvZ1JlbGVhc2VBbmRDYWxsYmFja3MiLCJyZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uIiwiY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24iLCJjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZGVwZW5kZW50TmFtZXNJbmNsdWRlc05hbWUiLCJpbmNsdWRlcyIsImN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJmaXJzdERlcGVuZGVudE5hbWUiLCJmaXJzdCIsImRlcGVuZGVuY3lOYW1lcyIsImNvbmNhdCIsImRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJkb25lIiwibm9FcnJvciIsImdldE5hbWUiLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJhc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSIsImRlcGVuZGVuY3kiLCJuZXh0IiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJnZXRSZWxlYXNlIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJzaG9ydGVuZWRWZXJzaW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFJZ0JBLG9CQUFvQjtlQUFwQkE7O0lBNkNoQixPQUVFO2VBRkY7Ozs0REEvQzJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBCLFNBQVNBLHFCQUFxQkMsVUFBVSxFQUFFQyxJQUFJLEVBQUVD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
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.319",
4
+ "version": "0.0.321",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -14,7 +14,7 @@
14
14
  "necessary": "^11.0.40",
15
15
  "occam-custom-grammars": "^5.0.357",
16
16
  "occam-dom": "^3.0.171",
17
- "occam-file-system": "^5.0.44",
17
+ "occam-file-system": "^5.0.45",
18
18
  "occam-grammar-utilities": "^7.0.66"
19
19
  },
20
20
  "devDependencies": {
package/src/index.js CHANGED
@@ -4,4 +4,4 @@ export { default as Callbacks } from "./callbacks";
4
4
  export { default as verifyRelease } from "./verify/release";
5
5
  export { default as ReleaseContext } from "./context/release";
6
6
 
7
- export { default as verificationUtilities } from "./utilities/verification";
7
+ export { default as releaseContextUtilities } from "./utilities/releaseContext";
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ import ReleaseContext from "../context/release"
4
+
5
+ export function createReleaseContext(connection, name, dependentNames, shortenedVersion, context, callback) {
6
+ const { releaseContextMap } = context,
7
+ releaseContext = releaseContextMap[name] || null;
8
+
9
+ if (releaseContext !== null) {
10
+ const error = false;
11
+
12
+ callback(error);
13
+
14
+ return;
15
+ }
16
+
17
+ const { createRelease } = context;
18
+
19
+ createRelease(name, (release) => {
20
+ if (release === null) {
21
+ const error = true;
22
+
23
+ callback(error);
24
+
25
+ return;
26
+ }
27
+
28
+ const { log, callbacks } = context,
29
+ releaseContext = ReleaseContext.fromLogReleaseAndCallbacks(log, release, callbacks),
30
+ releaseMatchesShortedVersion = checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion);
31
+
32
+ if (!releaseMatchesShortedVersion) {
33
+ const error = true;
34
+
35
+ callback(error);
36
+
37
+ return;
38
+ }
39
+
40
+ createDependencyReleaseContexts(connection, releaseContext, dependentNames, context, (error) => {
41
+ if (!error) {
42
+ releaseContextMap[name] = releaseContext;
43
+ }
44
+
45
+ callback(error);
46
+ });
47
+ }, context);
48
+ }
49
+
50
+ export default {
51
+ createReleaseContext
52
+ };
53
+
54
+ function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
55
+ const dependentNamesIncludesName = dependentNames.includes(name),
56
+ cyclicDependencyExists = dependentNamesIncludesName; ///
57
+
58
+ if (cyclicDependencyExists) {
59
+ const firstDependentName = first(dependentNames),
60
+ dependencyNames = dependentNames.concat(firstDependentName),
61
+ dependencyNamesString = dependencyNames.join(`' -> '`);
62
+
63
+ releaseContext.error(`There is a cyclic dependency: '${dependencyNamesString}'.`);
64
+ }
65
+
66
+ return cyclicDependencyExists;
67
+ }
68
+
69
+ function createDependencyReleaseContexts(connection, releaseContext, dependentNames, context, callback) {
70
+ let noError = true;
71
+
72
+ const name = releaseContext.getName(),
73
+ dependencies = releaseContext.getDependencies();
74
+
75
+ dependentNames = [ ...dependentNames, name ]; ///
76
+
77
+ dependencies.asynchronousForEachDependency((dependency, next, done) => {
78
+ const name = dependency.getName(),
79
+ shortenedVersion = dependency.getShortedVersion(),
80
+ cyclicDependencyExists = checkCyclicDependencyExists(name, dependentNames, releaseContext);
81
+
82
+ if (cyclicDependencyExists) {
83
+ noError = false;
84
+
85
+ done();
86
+
87
+ return;
88
+ }
89
+
90
+ createReleaseContext(connection, name, dependentNames, shortenedVersion, context, (error) => {
91
+ if (error) {
92
+ noError = false;
93
+
94
+ done();
95
+
96
+ return;
97
+ }
98
+
99
+ next();
100
+ });
101
+ }, done);
102
+
103
+ function done() {
104
+ const error = !noError;
105
+
106
+ callback(error);
107
+ }
108
+ }
109
+
110
+ function checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion) {
111
+ const release = releaseContext.getRelease(),
112
+ releaseMatchesShortedVersion = release.matchShortenedVersion(shortenedVersion);
113
+
114
+ if (!releaseMatchesShortedVersion) {
115
+ const name = releaseContext.getName(),
116
+ version = releaseContext.getVersion(),
117
+ versionString = version.toString(),
118
+ shortenedVersionString = shortenedVersion.toString();
119
+
120
+ releaseContext.error(`The '${name}' package's version of ${versionString} does not match the dependency's shortened version of ${shortenedVersionString}.`);
121
+ }
122
+
123
+ return releaseMatchesShortedVersion;
124
+ }
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- const { fileSystemUtilities } = require("occam-file-system"),
4
- { ReleaseContext, verificationUtilities } = require("../../lib/index");
5
-
6
- const callbacks = require("../callbacks");
7
-
8
- const { log } = require("../utilities/logging"),
9
- { PERIOD } = require("../constants");
10
-
11
- const { loadRelease } = fileSystemUtilities,
12
- { checkCyclicDependencyExists, checkReleaseMatchesShortenedVersion} = verificationUtilities;
13
-
14
- function createReleaseContext(name, shortenedVersion, releaseContextMap, dependentNames = []) {
15
- let releaseContext = releaseContextMap[name] || null;
16
-
17
- if (releaseContext === null) {
18
- const release = createRelease(name);
19
-
20
- if (release !== null) {
21
- releaseContext = ReleaseContext.fromLogReleaseAndCallbacks(log, release, callbacks);
22
- }
23
- }
24
-
25
- if (releaseContext !== null) {
26
- const releaseMatchesShortedVersion = checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion),
27
- dependencyReleaseContextsCreated = createDependencyReleaseContexts(releaseContext, releaseContextMap, dependentNames);
28
-
29
- if (!releaseMatchesShortedVersion || !dependencyReleaseContextsCreated) {
30
- releaseContext = null;
31
- }
32
- }
33
-
34
- releaseContextMap[name] = releaseContext;
35
-
36
- return releaseContext;
37
- }
38
-
39
- module.exports = {
40
- createReleaseContext
41
- };
42
-
43
- function createRelease(name) {
44
- const topmostDirectoryName = name, ///
45
- projectsDirectoryPath = PERIOD;
46
-
47
- let release = loadRelease(topmostDirectoryName, projectsDirectoryPath);
48
-
49
- if (release === null) {
50
- log.error(`The '${name}' package cannot be loaded.`);
51
- }
52
-
53
- return release;
54
- }
55
-
56
- function createDependencyReleaseContexts(releaseContext, releaseContextMap, dependentNames = []) {
57
- const name = releaseContext.getName(),
58
- dependencies = releaseContext.getDependencies();
59
-
60
- dependentNames = [ ...dependentNames, name ]; ///
61
-
62
- const dependencyReleaseContextsCreated = dependencies.everyDependency((dependency) => {
63
- const name = dependency.getName(),
64
- shortenedVersion = dependency.getShortedVersion(),
65
- cyclicDependencyExists = checkCyclicDependencyExists(name, dependentNames, releaseContext);
66
-
67
- if (!cyclicDependencyExists) {
68
- const releaseContext = createReleaseContext(name, shortenedVersion, releaseContextMap, dependentNames);
69
-
70
- if (releaseContext !== null) {
71
- return true;
72
- }
73
- }
74
- });
75
-
76
- return dependencyReleaseContextsCreated;
77
- }
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- checkCyclicDependencyExists: function() {
13
- return checkCyclicDependencyExists;
14
- },
15
- checkReleaseMatchesShortenedVersion: function() {
16
- return checkReleaseMatchesShortenedVersion;
17
- },
18
- default: function() {
19
- return _default;
20
- }
21
- });
22
- var _necessary = require("necessary");
23
- var first = _necessary.arrayUtilities.first;
24
- function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
25
- var dependentNamesIncludesName = dependentNames.includes(name), cyclicDependencyExists = dependentNamesIncludesName; ///
26
- if (cyclicDependencyExists) {
27
- var firstDependentName = first(dependentNames), dependencyNames = dependentNames.concat(firstDependentName), dependencyNamesString = dependencyNames.join("' -> '");
28
- releaseContext.error("There is a cyclic dependency: '".concat(dependencyNamesString, "'."));
29
- }
30
- return cyclicDependencyExists;
31
- }
32
- function checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion) {
33
- var release = releaseContext.getRelease(), releaseMatchesShortedVersion = release.matchShortenedVersion(shortenedVersion);
34
- if (!releaseMatchesShortedVersion) {
35
- var name = releaseContext.getName(), version = releaseContext.getVersion(), versionString = version.toString(), shortenedVersionString = shortenedVersion.toString();
36
- releaseContext.error("The '".concat(name, "' package's version of ").concat(versionString, " does not match the dependency's shortened version of ").concat(shortenedVersionString, "."));
37
- }
38
- return releaseMatchesShortedVersion;
39
- }
40
- var _default = {
41
- checkCyclicDependencyExists: checkCyclicDependencyExists,
42
- checkReleaseMatchesShortenedVersion: checkReleaseMatchesShortenedVersion
43
- };
44
-
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMobmFtZSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNOYW1lID0gZGVwZW5kZW50TmFtZXMuaW5jbHVkZXMobmFtZSksXG4gICAgICAgIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBkZXBlbmRlbnROYW1lc0luY2x1ZGVzTmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IGRlcGVuZGVudE5hbWVzLmNvbmNhdChmaXJzdERlcGVuZGVudE5hbWUpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmVycm9yKGBUaGVyZSBpcyBhIGN5Y2xpYyBkZXBlbmRlbmN5OiAnJHtkZXBlbmRlbmN5TmFtZXNTdHJpbmd9Jy5gKTtcbiAgfVxuXG4gIHJldHVybiBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24ocmVsZWFzZUNvbnRleHQsIHNob3J0ZW5lZFZlcnNpb24pIHtcbiAgY29uc3QgcmVsZWFzZSA9IHJlbGVhc2VDb250ZXh0LmdldFJlbGVhc2UoKSxcbiAgICAgICAgcmVsZWFzZU1hdGNoZXNTaG9ydGVkVmVyc2lvbiA9IHJlbGVhc2UubWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gIGlmICghcmVsZWFzZU1hdGNoZXNTaG9ydGVkVmVyc2lvbikge1xuICAgIGNvbnN0IG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgIHNob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBzaG9ydGVuZWRWZXJzaW9uLnRvU3RyaW5nKCk7XG5cbiAgICByZWxlYXNlQ29udGV4dC5lcnJvcihgVGhlICcke25hbWV9JyBwYWNrYWdlJ3MgdmVyc2lvbiBvZiAke3ZlcnNpb25TdHJpbmd9IGRvZXMgbm90IG1hdGNoIHRoZSBkZXBlbmRlbmN5J3Mgc2hvcnRlbmVkIHZlcnNpb24gb2YgJHtzaG9ydGVuZWRWZXJzaW9uU3RyaW5nfS5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlTWF0Y2hlc1Nob3J0ZWRWZXJzaW9uO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyxcbiAgY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb25cbn07XG4iXSwibmFtZXMiOlsiY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiY2hlY2tSZWxlYXNlTWF0Y2hlc1Nob3J0ZW5lZFZlcnNpb24iLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwibmFtZSIsImRlcGVuZGVudE5hbWVzIiwicmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbnROYW1lc0luY2x1ZGVzTmFtZSIsImluY2x1ZGVzIiwiY3ljbGljRGVwZW5kZW5jeUV4aXN0cyIsImZpcnN0RGVwZW5kZW50TmFtZSIsImRlcGVuZGVuY3lOYW1lcyIsImNvbmNhdCIsImRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJlcnJvciIsInNob3J0ZW5lZFZlcnNpb24iLCJyZWxlYXNlIiwiZ2V0UmVsZWFzZSIsInJlbGVhc2VNYXRjaGVzU2hvcnRlZFZlcnNpb24iLCJtYXRjaFNob3J0ZW5lZFZlcnNpb24iLCJnZXROYW1lIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJzaG9ydGVuZWRWZXJzaW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNZ0JBLDJCQUEyQjtlQUEzQkE7O0lBZUFDLG1DQUFtQztlQUFuQ0E7O0lBZ0JoQixPQUdFO2VBSEY7Ozt5QkFuQytCO0FBRS9CLElBQU0sQUFBRUMsUUFBVUMseUJBQWMsQ0FBeEJEO0FBRUQsU0FBU0YsNEJBQTRCSSxJQUFJLEVBQUVDLGNBQWMsRUFBRUMsY0FBYyxFQUFFO0lBQ2hGLElBQU1DLDZCQUE2QkYsZUFBZUcsUUFBUSxDQUFDSixPQUNyREsseUJBQXlCRiw0QkFBNkIsR0FBRztJQUUvRCxJQUFJRSx3QkFBd0I7UUFDMUIsSUFBTUMscUJBQXFCUixNQUFNRyxpQkFDM0JNLGtCQUFrQk4sZUFBZU8sTUFBTSxDQUFDRixxQkFDeENHLHdCQUF3QkYsZ0JBQWdCRyxJQUFJLENBQUU7UUFFcERSLGVBQWVTLEtBQUssQ0FBQyxBQUFDLGtDQUF1RCxPQUF0QkYsdUJBQXNCO0lBQy9FLENBQUM7SUFFRCxPQUFPSjtBQUNUO0FBRU8sU0FBU1Isb0NBQW9DSyxjQUFjLEVBQUVVLGdCQUFnQixFQUFFO0lBQ3BGLElBQU1DLFVBQVVYLGVBQWVZLFVBQVUsSUFDbkNDLCtCQUErQkYsUUFBUUcscUJBQXFCLENBQUNKO0lBRW5FLElBQUksQ0FBQ0csOEJBQThCO1FBQ2pDLElBQU1mLE9BQU9FLGVBQWVlLE9BQU8sSUFDN0JDLFVBQVVoQixlQUFlaUIsVUFBVSxJQUNuQ0MsZ0JBQWdCRixRQUFRRyxRQUFRLElBQ2hDQyx5QkFBeUJWLGlCQUFpQlMsUUFBUTtRQUV4RG5CLGVBQWVTLEtBQUssQ0FBQyxBQUFDLFFBQXFDUyxPQUE5QnBCLE1BQUssMkJBQStGc0IsT0FBdEVGLGVBQWMsMERBQStFLE9BQXZCRSx3QkFBdUI7SUFDMUosQ0FBQztJQUVELE9BQU9QO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JuQiw2QkFBQUE7SUFDQUMscUNBQUFBO0FBQ0YifQ==
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- import { arrayUtilities } from "necessary";
4
-
5
- const { first } = arrayUtilities;
6
-
7
- export function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
8
- const dependentNamesIncludesName = dependentNames.includes(name),
9
- cyclicDependencyExists = dependentNamesIncludesName; ///
10
-
11
- if (cyclicDependencyExists) {
12
- const firstDependentName = first(dependentNames),
13
- dependencyNames = dependentNames.concat(firstDependentName),
14
- dependencyNamesString = dependencyNames.join(`' -> '`);
15
-
16
- releaseContext.error(`There is a cyclic dependency: '${dependencyNamesString}'.`);
17
- }
18
-
19
- return cyclicDependencyExists;
20
- }
21
-
22
- export function checkReleaseMatchesShortenedVersion(releaseContext, shortenedVersion) {
23
- const release = releaseContext.getRelease(),
24
- releaseMatchesShortedVersion = release.matchShortenedVersion(shortenedVersion);
25
-
26
- if (!releaseMatchesShortedVersion) {
27
- const name = releaseContext.getName(),
28
- version = releaseContext.getVersion(),
29
- versionString = version.toString(),
30
- shortenedVersionString = shortenedVersion.toString();
31
-
32
- releaseContext.error(`The '${name}' package's version of ${versionString} does not match the dependency's shortened version of ${shortenedVersionString}.`);
33
- }
34
-
35
- return releaseMatchesShortedVersion;
36
- }
37
-
38
- export default {
39
- checkCyclicDependencyExists,
40
- checkReleaseMatchesShortenedVersion
41
- };