occam-verify-cli 0.0.320 → 0.0.322
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 +8 -8
- package/bin/utilities/callbacks.js +57 -0
- package/lib/index.js +5 -1
- package/lib/utilities/releaseContext.js +125 -0
- package/package.json +1 -1
- package/src/index.js +2 -0
- package/{bin/utilities/release.js → src/utilities/releaseContext.js} +7 -7
- package/bin/callbacks.js +0 -27
package/bin/main.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const {
|
|
4
|
-
{
|
|
5
|
-
{
|
|
6
|
-
|
|
7
|
-
const callbacks = require("./callbacks");
|
|
3
|
+
const { arrayUtilities } = require("necessary"),
|
|
4
|
+
{ fileSystemUtilities } = require("occam-file-system"),
|
|
5
|
+
{ verifyRelease, releaseContextUtilities } = require("../lib/index");
|
|
8
6
|
|
|
9
7
|
const { log } = require("./utilities/logging"),
|
|
10
8
|
{ PERIOD } = require("./constants"),
|
|
11
|
-
{
|
|
9
|
+
{ callbacksFromLog } = require("./utilities/callbacks");
|
|
12
10
|
|
|
13
11
|
const { first } = arrayUtilities,
|
|
14
|
-
{ loadRelease } = fileSystemUtilities
|
|
12
|
+
{ loadRelease } = fileSystemUtilities,
|
|
13
|
+
{ createReleaseContext } = releaseContextUtilities;
|
|
15
14
|
|
|
16
15
|
function main(commands, options) {
|
|
17
16
|
const firstCommand = first(commands),
|
|
@@ -20,6 +19,7 @@ function main(commands, options) {
|
|
|
20
19
|
shortenedVersion = null,
|
|
21
20
|
dependentNames = [],
|
|
22
21
|
connection = null, ///
|
|
22
|
+
callbacks = callbacksFromLog(log),
|
|
23
23
|
context = {
|
|
24
24
|
log,
|
|
25
25
|
callbacks,
|
|
@@ -40,7 +40,7 @@ function main(commands, options) {
|
|
|
40
40
|
|
|
41
41
|
module.exports = main;
|
|
42
42
|
|
|
43
|
-
function createRelease(name, callback) {
|
|
43
|
+
function createRelease(name, callback, context) {
|
|
44
44
|
const topmostDirectoryName = name, ///
|
|
45
45
|
projectsDirectoryPath = PERIOD, ///
|
|
46
46
|
release = loadRelease(topmostDirectoryName, projectsDirectoryPath);
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
}
|
package/lib/index.js
CHANGED
|
@@ -17,15 +17,19 @@ _export(exports, {
|
|
|
17
17
|
},
|
|
18
18
|
ReleaseContext: function() {
|
|
19
19
|
return _release1.default;
|
|
20
|
+
},
|
|
21
|
+
releaseContextUtilities: function() {
|
|
22
|
+
return _releaseContext.default;
|
|
20
23
|
}
|
|
21
24
|
});
|
|
22
25
|
var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("./callbacks"));
|
|
23
26
|
var _release = /*#__PURE__*/ _interopRequireDefault(require("./verify/release"));
|
|
24
27
|
var _release1 = /*#__PURE__*/ _interopRequireDefault(require("./context/release"));
|
|
28
|
+
var _releaseContext = /*#__PURE__*/ _interopRequireDefault(require("./utilities/releaseContext"));
|
|
25
29
|
function _interopRequireDefault(obj) {
|
|
26
30
|
return obj && obj.__esModule ? obj : {
|
|
27
31
|
default: obj
|
|
28
32
|
};
|
|
29
33
|
}
|
|
30
34
|
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
package/src/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import ReleaseContext from "../context/release"
|
|
4
4
|
|
|
5
|
-
function createReleaseContext(connection, name, dependentNames, shortenedVersion, context, callback) {
|
|
5
|
+
export function createReleaseContext(connection, name, dependentNames, shortenedVersion, context, callback) {
|
|
6
6
|
const { releaseContextMap } = context,
|
|
7
7
|
releaseContext = releaseContextMap[name] || null;
|
|
8
8
|
|
|
@@ -44,10 +44,10 @@ function createReleaseContext(connection, name, dependentNames, shortenedVersion
|
|
|
44
44
|
|
|
45
45
|
callback(error);
|
|
46
46
|
});
|
|
47
|
-
});
|
|
47
|
+
}, context);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
export default {
|
|
51
51
|
createReleaseContext
|
|
52
52
|
};
|
|
53
53
|
|
|
@@ -67,12 +67,14 @@ function checkCyclicDependencyExists(name, dependentNames, releaseContext) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
function createDependencyReleaseContexts(connection, releaseContext, dependentNames, context, callback) {
|
|
70
|
+
let noError = true;
|
|
71
|
+
|
|
70
72
|
const name = releaseContext.getName(),
|
|
71
73
|
dependencies = releaseContext.getDependencies();
|
|
72
74
|
|
|
73
75
|
dependentNames = [ ...dependentNames, name ]; ///
|
|
74
76
|
|
|
75
|
-
dependencies.asynchronousForEachDependency(
|
|
77
|
+
dependencies.asynchronousForEachDependency((dependency, next, done) => {
|
|
76
78
|
const name = dependency.getName(),
|
|
77
79
|
shortenedVersion = dependency.getShortedVersion(),
|
|
78
80
|
cyclicDependencyExists = checkCyclicDependencyExists(name, dependentNames, releaseContext);
|
|
@@ -98,8 +100,6 @@ function createDependencyReleaseContexts(connection, releaseContext, dependentNa
|
|
|
98
100
|
});
|
|
99
101
|
}, done);
|
|
100
102
|
|
|
101
|
-
let noError = true;
|
|
102
|
-
|
|
103
103
|
function done() {
|
|
104
104
|
const error = !noError;
|
|
105
105
|
|
package/bin/callbacks.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const { Callbacks } = require("../lib/index");
|
|
4
|
-
|
|
5
|
-
const { HALT_MESSAGE, BEGIN_MESSAGE, COMPLETED_MESSAGE } = require("./messages");
|
|
6
|
-
|
|
7
|
-
function halt(filePath, leastLineIndex, greatestLineIndex) { message(HALT_MESSAGE, filePath, leastLineIndex, greatestLineIndex); } ///
|
|
8
|
-
|
|
9
|
-
function begin(filePath, leastLineIndex, greatestLineIndex) { message(BEGIN_MESSAGE, filePath, leastLineIndex, greatestLineIndex); } ///
|
|
10
|
-
|
|
11
|
-
function complete(filePath, leastLineIndex, greatestLineIndex) { message(COMPLETED_MESSAGE, filePath, leastLineIndex, greatestLineIndex); } ///
|
|
12
|
-
|
|
13
|
-
const callbacks = Callbacks.fromHaltBeginAndComplete(halt, begin, complete);
|
|
14
|
-
|
|
15
|
-
module.exports = callbacks;
|
|
16
|
-
|
|
17
|
-
function message(message, filePath, leastLineIndex, greatestLineIndex) {
|
|
18
|
-
if (leastLineIndex === greatestLineIndex) {
|
|
19
|
-
const lineIndex = leastLineIndex; ///
|
|
20
|
-
|
|
21
|
-
message = `'${filePath}' : [${lineIndex}] - ${message}`;
|
|
22
|
-
} else {
|
|
23
|
-
message = `'${filePath}' : [${leastLineIndex}-${greatestLineIndex}] - ${message}`;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
console.log(message);
|
|
27
|
-
}
|