build-strap 3.0.0-dev.40 → 4.0.0-dev.46
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/LICENSE +1 -1
- package/artifactory.js +1 -1
- package/cert.js +1 -1
- package/copy.js +1 -1
- package/copy.js.flow +1 -1
- package/cp.js +1 -1
- package/docker.container.js +1 -1
- package/docker.js +4 -7
- package/docker.js.flow +2 -5
- package/docker.network.js +1 -1
- package/docker.volume.js +1 -1
- package/dockerCleanup.js +1 -1
- package/dockerCompose.js +1 -1
- package/fs.js +1 -1
- package/git.js +1 -1
- package/hg.js +1 -1
- package/inline-resources.js +1 -1
- package/maps.js +1 -1
- package/package.json +1 -1
- package/pkg.js +1 -1
- package/run.js +1 -1
- package/src/copy.js +1 -1
- package/src/docker.js +2 -5
- package/src/version.js +9 -8
- package/version.js +11 -10
- package/version.js.flow +9 -8
- package/yarn.js +1 -1
package/LICENSE
CHANGED
package/artifactory.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.artifactoryCleanup = artifactoryCleanup;exports.artifactoryDelete = artifactoryDelete;exports.artifactoryNpm = artifactoryNpm;exports.artifactoryPut = artifactoryPut;exports.artifactoryRequest = artifactoryRequest;exports.artifactoryStandard = artifactoryStandard;exports.downloadRepositoryFile = downloadRepositoryFile;exports.getArtifactoryConfig = getArtifactoryConfig;exports.getLatestRepositoryVersion = getLatestRepositoryVersion;exports.getNpmArtifacts = getNpmArtifacts;exports.parseVersionedFilePath = parseVersionedFilePath;
|
|
2
2
|
var _path = _interopRequireDefault(require("path"));
|
|
3
3
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
4
4
|
var _requestPromiseNative = _interopRequireDefault(require("request-promise-native"));
|
package/cert.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.generateCert = generateCert;exports.getCertConfig = getCertConfig;exports.getIpAddresses = getIpAddresses;
|
|
2
2
|
var _os = _interopRequireDefault(require("os"));
|
|
3
3
|
var _requestPromiseNative = _interopRequireDefault(require("request-promise-native"));
|
|
4
4
|
var _path = _interopRequireDefault(require("path"));
|
package/copy.js
CHANGED
|
@@ -77,4 +77,4 @@ async function copySrc({
|
|
|
77
77
|
(0, _cp.onKillSignal)(() => watcher.close());
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb3B5LmpzIl0sIm5hbWVzIjpbInRpbWVyIiwidGhyb3R0bGVkQ2FsbGJhY2siLCJjYkZuIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImNvcHlTcmMiLCJmcm9tIiwidG8iLCJ3YXRjaCIsInByb2Nlc3MiLCJhcmd2IiwiaW5jbHVkZXMiLCJ3YXRjaGVyIiwiY2hva2lkYXIiLCJwYXRoIiwiam9pbiIsImlnbm9yZUluaXRpYWwiLCJvbiIsImV2ZW50IiwiZmlsZVBhdGgiLCJzdGFydCIsIkRhdGUiLCJzcmMiLCJyZWxhdGl2ZSIsImRlc3QiLCJkaXJuYW1lIiwibm9zb3J0IiwiZG90IiwiZGVwZW5kZW5jaWVzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImRlcCIsInRvQ29weSIsImVuZCIsInRpbWUiLCJnZXRUaW1lIiwiY2xvc2UiXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUQ7O0FBRUEsSUFBSUEsS0FBSyxHQUFHLElBQVo7QUFDQSxlQUFlQyxpQkFBZixDQUFpQ0MsSUFBakMsRUFBdUM7QUFDckMsTUFBSSxDQUFDQSxJQUFELElBQVMsT0FBT0EsSUFBUCxLQUFnQixVQUE3QixFQUF5QztBQUN2QztBQUNEO0FBQ0QsTUFBSUYsS0FBSixFQUFXO0FBQ1RHLElBQUFBLFlBQVksQ0FBQ0gsS0FBRCxDQUFaO0FBQ0FBLElBQUFBLEtBQUssR0FBRyxJQUFSO0FBQ0Q7QUFDREEsRUFBQUEsS0FBSyxHQUFHSSxVQUFVLENBQUMsTUFBTTtBQUN2QkosSUFBQUEsS0FBSyxHQUFHLElBQVI7QUFDQUUsSUFBQUEsSUFBSTtBQUNMLEdBSGlCLEVBR2YsR0FIZSxDQUFsQjtBQUlEOzs7Ozs7Ozs7QUFTTSxlQUFlRyxPQUFmLENBQXVCO0FBQzVCQyxFQUFBQSxJQUQ0QjtBQUU1QkMsRUFBQUEsRUFGNEI7QUFHNUJDLEVBQUFBLEtBQUssR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLFFBQWIsQ0FBc0IsU0FBdEIsQ0FIb0I7QUFJNUJULEVBQUFBLElBSjRCO0FBS1YsRUFMYixFQUtnQztBQUNyQyxRQUFNLGlCQUFRSSxJQUFSLEVBQWNDLEVBQWQsQ0FBTjtBQUNBLE1BQUlMLElBQUosRUFBVSxNQUFNQSxJQUFJLEVBQVY7QUFDVixNQUFJTSxLQUFKLEVBQVc7QUFDVCxVQUFNSSxPQUFPLEdBQUdDLGtCQUFTTCxLQUFULENBQWUsQ0FBQ00sY0FBS0MsSUFBTCxDQUFVVCxJQUFWLEVBQWdCLE9BQWhCLENBQUQsQ0FBZixFQUEyQztBQUN6RFUsTUFBQUEsYUFBYSxFQUFFLElBRDBDLEVBQTNDLENBQWhCOzs7QUFJQUosSUFBQUEsT0FBTyxDQUFDSyxFQUFSLENBQVcsS0FBWCxFQUFrQixPQUFPQyxLQUFQLEVBQWNDLFFBQWQsS0FBMkI7QUFDM0MsWUFBTUMsS0FBSyxHQUFHLElBQUlDLElBQUosRUFBZDtBQUNBLFlBQU1DLEdBQUcsR0FBR1IsY0FBS1MsUUFBTCxDQUFjakIsSUFBZCxFQUFvQmEsUUFBcEIsQ0FBWjtBQUNBLFlBQU1LLElBQUksR0FBR1YsY0FBS0MsSUFBTCxDQUFVUixFQUFWLEVBQWNlLEdBQWQsQ0FBYjtBQUNBLGNBQVFKLEtBQVI7QUFDRSxhQUFLLEtBQUw7QUFDQSxhQUFLLFFBQUw7QUFDRSxnQkFBTSxpQkFBUUosY0FBS1csT0FBTCxDQUFhRCxJQUFiLENBQVIsQ0FBTjtBQUNBLGdCQUFNLGtCQUFTTCxRQUFULEVBQW1CSyxJQUFuQixDQUFOO0FBQ0E7QUFDRixhQUFLLFFBQUw7QUFDQSxhQUFLLFdBQUw7QUFDRSw0QkFBU0EsSUFBVCxFQUFlLEVBQUVFLE1BQU0sRUFBRSxJQUFWLEVBQWdCQyxHQUFHLEVBQUUsSUFBckIsRUFBZjtBQUNBO0FBQ0Y7QUFDRSxpQkFYSjs7QUFhQTtBQUNBLFVBQUlDLDhCQUFhSixJQUFiLENBQUosRUFBd0I7QUFDdEIsY0FBTUssT0FBTyxDQUFDQyxHQUFSO0FBQ0pGLHNDQUFhSixJQUFiLEVBQW1CTyxHQUFuQixDQUF1QixPQUFPQyxHQUFQLEtBQWU7QUFDcEMsZ0JBQU1DLE1BQU0sR0FBR25CLGNBQUtDLElBQUwsQ0FBVVQsSUFBVixFQUFnQlEsY0FBS1MsUUFBTCxDQUFjaEIsRUFBZCxFQUFrQnlCLEdBQWxCLENBQWhCLENBQWY7QUFDQSxnQkFBTSxrQkFBU0MsTUFBVCxFQUFpQkQsR0FBakIsQ0FBTjtBQUNBLDZCQUFVLFdBQVVBLEdBQUksNkJBQXhCO0FBQ0QsU0FKRCxDQURJLENBQU47O0FBT0Q7QUFDRCxZQUFNRSxHQUFHLEdBQUcsSUFBSWIsSUFBSixFQUFaO0FBQ0EsWUFBTWMsSUFBSSxHQUFHRCxHQUFHLENBQUNFLE9BQUosS0FBZ0JoQixLQUFLLENBQUNnQixPQUFOLEVBQTdCO0FBQ0EseUJBQVUsR0FBRWxCLEtBQU0sS0FBSU0sSUFBSyxXQUFVVyxJQUFLLEtBQTFDLEVBQWdERCxHQUFoRDtBQUNBakMsTUFBQUEsaUJBQWlCLENBQUNDLElBQUQsQ0FBakI7QUFDRCxLQS9CRDs7QUFpQ0EsMEJBQWEsTUFBTVUsT0FBTyxDQUFDeUIsS0FBUixFQUFuQjtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgY2hva2lkYXIgZnJvbSAnY2hva2lkYXInO1xuaW1wb3J0IHsgY29weUZpbGUsIG1ha2VEaXIsIGNvcHlEaXIsIGNsZWFuRGlyIH0gZnJvbSAnLi9mcyc7XG5pbXBvcnQgeyBvbktpbGxTaWduYWwgfSBmcm9tICcuL2NwJztcbmltcG9ydCB7IGJ1aWxkTG9nIH0gZnJvbSAnLi9ydW4nO1xuaW1wb3J0IHsgZGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9pbmxpbmUtcmVzb3VyY2VzJztcblxubGV0IHRpbWVyID0gbnVsbDtcbmFzeW5jIGZ1bmN0aW9uIHRocm90dGxlZENhbGxiYWNrKGNiRm4pIHtcbiAgaWYgKCFjYkZuIHx8IHR5cGVvZiBjYkZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICh0aW1lcikge1xuICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgdGltZXIgPSBudWxsO1xuICB9XG4gIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdGltZXIgPSBudWxsO1xuICAgIGNiRm4oKTtcbiAgfSwgMjAwKTtcbn1cblxuZXhwb3J0IHR5cGUgQ29weVNyY09wdGlvbnMgPSB7XG4gIGZyb206IHN0cmluZyxcbiAgdG86IHN0cmluZyxcbiAgd2F0Y2g/OiBib29sZWFuLFxuICBjYkZuPzogKCkgPT4gUHJvbWlzZTxhbnk+IHwgdm9pZCxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb3B5U3JjKHtcbiAgZnJvbSxcbiAgdG8sXG4gIHdhdGNoID0gcHJvY2Vzcy5hcmd2LmluY2x1ZGVzKCctLXdhdGNoJyksXG4gIGNiRm4sXG59OiBDb3B5U3JjT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGNvcHlEaXIoZnJvbSwgdG8pO1xuICBpZiAoY2JGbikgYXdhaXQgY2JGbigpO1xuICBpZiAod2F0Y2gpIHtcbiAgICBjb25zdCB3YXRjaGVyID0gY2hva2lkYXIud2F0Y2goW3BhdGguam9pbihmcm9tLCAnLyoqLyonKV0sIHtcbiAgICAgIGlnbm9yZUluaXRpYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICB3YXRjaGVyLm9uKCdhbGwnLCBhc3luYyAoZXZlbnQsIGZpbGVQYXRoKSA9PiB7XG4gICAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCBzcmMgPSBwYXRoLnJlbGF0aXZlKGZyb20sIGZpbGVQYXRoKTtcbiAgICAgIGNvbnN0IGRlc3QgPSBwYXRoLmpvaW4odG8sIHNyYyk7XG4gICAgICBzd2l0Y2ggKGV2ZW50KSB7XG4gICAgICAgIGNhc2UgJ2FkZCc6XG4gICAgICAgIGNhc2UgJ2NoYW5nZSc6XG4gICAgICAgICAgYXdhaXQgbWFrZURpcihwYXRoLmRpcm5hbWUoZGVzdCkpO1xuICAgICAgICAgIGF3YWl0IGNvcHlGaWxlKGZpbGVQYXRoLCBkZXN0KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5saW5rJzpcbiAgICAgICAgY2FzZSAndW5saW5rRGlyJzpcbiAgICAgICAgICBjbGVhbkRpcihkZXN0LCB7IG5vc29ydDogdHJ1ZSwgZG90OiB0cnVlIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIENoZWNrIGRlcGVuZGVuY2llc1xuICAgICAgaWYgKGRlcGVuZGVuY2llc1tkZXN0XSkge1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICBkZXBlbmRlbmNpZXNbZGVzdF0ubWFwKGFzeW5jIChkZXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRvQ29weSA9IHBhdGguam9pbihmcm9tLCBwYXRoLnJlbGF0aXZlKHRvLCBkZXApKTtcbiAgICAgICAgICAgIGF3YWl0IGNvcHlGaWxlKHRvQ29weSwgZGVwKTtcbiAgICAgICAgICAgIGJ1aWxkTG9nKGBjb3BpZWQgJyR7ZGVwfScgZHVlIHRvIGNoYW5nZWQgZGVwZW5kZW5jeWApO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgZW5kID0gbmV3IERhdGUoKTtcbiAgICAgIGNvbnN0IHRpbWUgPSBlbmQuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpO1xuICAgICAgYnVpbGRMb2coYCR7ZXZlbnR9ICcke2Rlc3R9JyBhZnRlciAke3RpbWV9IG1zYCwgZW5kKTtcbiAgICAgIHRocm90dGxlZENhbGxiYWNrKGNiRm4pO1xuICAgIH0pO1xuXG4gICAgb25LaWxsU2lnbmFsKCgpID0+IHdhdGNoZXIuY2xvc2UoKSk7XG4gIH1cbn1cbiJdfQ==
|
package/copy.js.flow
CHANGED
package/cp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.onKillSignal = exports.exec = void 0;exports.spawn = spawn;exports.spawnAdv = spawnAdv;
|
|
2
2
|
var _child_process = _interopRequireDefault(require("child_process"));
|
|
3
3
|
var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
|
|
4
4
|
var _run = require("./run");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
|
package/docker.container.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports._dockerContainerLs = _dockerContainerLs;exports.dockerContainerFind = dockerContainerFind;exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports._dockerContainerInspect = _dockerContainerInspect;exports._dockerContainerLs = _dockerContainerLs;exports.dockerContainerFind = dockerContainerFind;exports.dockerContainerInspect = void 0;exports.dockerContainerKill = dockerContainerKill;exports.dockerContainerLs = void 0;exports.dockerContainerRestart = dockerContainerRestart;exports.dockerContainerRm = dockerContainerRm;exports.dockerContainerRun = dockerContainerRun;exports.dockerContainerRunDaemon = dockerContainerRunDaemon;exports.dockerContainerStart = dockerContainerStart;exports.dockerContainerStop = dockerContainerStop;exports.dockerContainerWaitForStart = void 0;exports.dockerTryStopContainer = dockerTryStopContainer;
|
|
2
2
|
var _bytes = _interopRequireDefault(require("bytes"));
|
|
3
3
|
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
4
4
|
var _run = require("./run");
|
package/docker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.copyFilesFromDockerImage = copyFilesFromDockerImage;exports.dockerBuild = dockerBuild;exports.dockerImages = dockerImages;exports.dockerLogin = dockerLogin;exports.dockerPull = dockerPull;exports.dockerPullAndRunContainer = dockerPullAndRunContainer;exports.dockerPush = dockerPush;exports.dockerRmi = dockerRmi;exports.dockerTag = dockerTag;exports.dockerTagVersion = dockerTagVersion;exports.getDockerConfig = getDockerConfig;exports.getDockerDigest = getDockerDigest;exports.getDockerId = getDockerId;exports.getDockerRepo = getDockerRepo;exports.getDockerTags = getDockerTags;exports.getUntaggedDockerIds = getUntaggedDockerIds;exports.parseDockerDate = void 0;
|
|
2
2
|
var _path = _interopRequireDefault(require("path"));
|
|
3
3
|
var _bytes = _interopRequireDefault(require("bytes"));
|
|
4
4
|
var _isReachable = _interopRequireDefault(require("is-reachable"));
|
|
@@ -84,7 +84,7 @@ repo = getDockerRepo())
|
|
|
84
84
|
['latest', `${major}`, `${major}.${minor}`, `${major}.${minor}.${patch}`],
|
|
85
85
|
repo);
|
|
86
86
|
|
|
87
|
-
} else if (branch === (0, _version.getDevBranch)()) {
|
|
87
|
+
} else if (branch === (await (0, _version.getDevBranch)())) {
|
|
88
88
|
await dockerTag(imageId, ['latest-dev'], repo);
|
|
89
89
|
} else if (branch.match(/^(release|patch)-/)) {
|
|
90
90
|
await dockerTag(imageId, ['latest-rc'], repo);
|
|
@@ -229,10 +229,7 @@ async function dockerPull({
|
|
|
229
229
|
offline = process.argv.includes('--offline'),
|
|
230
230
|
testUrl })
|
|
231
231
|
{
|
|
232
|
-
if (
|
|
233
|
-
offline ||
|
|
234
|
-
!(await (0, _isReachable.default)(testUrl || 'https://hub.docker.com')))
|
|
235
|
-
{
|
|
232
|
+
if (offline || !(await (0, _isReachable.default)(testUrl || 'https://hub.docker.com'))) {
|
|
236
233
|
if (offline === false) {
|
|
237
234
|
throw new Error('Offline, cannot docker pull');
|
|
238
235
|
}
|
|
@@ -365,4 +362,4 @@ async function copyFilesFromDockerImage({
|
|
|
365
362
|
throw new Error('Some files failed to copy');
|
|
366
363
|
}
|
|
367
364
|
}
|
|
368
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb2NrZXIuanMiXSwibmFtZXMiOlsiZ2V0RG9ja2VyQ29uZmlnIiwiZG9ja2VyIiwicGFyc2VEb2NrZXJEYXRlIiwiZGF0ZSIsInRvRGF0ZSIsImRvY2tlckJ1aWxkIiwidGFncyIsImJ1aWxkQXJncyIsInRhcmdldCIsImV4dHJhQXJncyIsInJlcG8iLCJnZXREb2NrZXJSZXBvIiwiZG9ja2VyRmlsZSIsIndvcmtEaXIiLCJhcmdzIiwicGF0aCIsInJlc29sdmUiLCJyZWR1Y2UiLCJhciIsInQiLCJhIiwic3RkaW8iLCJkb2NrZXJUYWciLCJpbWFnZUlkIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImRvY2tlclRhZ1ZlcnNpb24iLCJpc1JlbGVhc2UiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJicmFuY2giLCJtYXRjaCIsImRvY2tlckltYWdlcyIsImZpbHRlciIsImNhcHR1cmVPdXRwdXQiLCJzcGxpdCIsImxpbmUiLCJ0cmltIiwibCIsIlJlcG9zaXRvcnkiLCJyZXBvc2l0b3J5IiwiVGFnIiwidGFnIiwiSUQiLCJpZCIsIkRpZ2VzdCIsImRpZ2VzdCIsIkNyZWF0ZWRBdCIsIlNpemUiLCJKU09OIiwicGFyc2UiLCJjcmVhdGVkIiwic2l6ZSIsImJ5dGVzIiwibSIsImdldERvY2tlcklkIiwiZ2V0VW50YWdnZWREb2NrZXJJZHMiLCJnZXREb2NrZXJUYWdzIiwiZnVsbE5hbWUiLCJnZXREb2NrZXJEaWdlc3QiLCJkb2NrZXJMb2dpbiIsInVzZXIiLCJwYXNzd29yZCIsInJlZ2lzdHJ5IiwicmVnIiwicHJvY2VzcyIsImVudiIsIkFSVElGQUNUT1JZX1VTRVIiLCJBUlRJRkFDVE9SWV9QQVNTV09SRCIsImRvY2tlclB1c2giLCJwcmV2IiwiZG9ja2VyUHVsbCIsImltYWdlIiwib2ZmbGluZSIsImFyZ3YiLCJpbmNsdWRlcyIsInRlc3RVcmwiLCJFcnJvciIsImRvY2tlclJtaSIsImltYWdlcyIsImlnbm9yZUVycm9ycyIsImNhdGNoIiwiZXJyIiwibWVzc2FnZSIsImRrclJlcG8iLCJuYW1lIiwiZGtyTmFtZSIsImRvY2tlclB1bGxBbmRSdW5Db250YWluZXIiLCJvcHRpb25zIiwicnVuQXJncyIsImNtZCIsIm5ldHdvcmsiLCJhbGlhcyIsImNvcHlGaWxlc0Zyb21Eb2NrZXJJbWFnZSIsImZpbGVQYXRocyIsImNvbnRhaW5lciIsInNwYXduT3B0aW9ucyIsInBpcGVPdXRwdXQiLCJjb3B5RXJyb3JzIiwiZm9yRWFjaCIsImZwIiwiZnJvbSIsInRvIiwiZXJyb3IiLCJwdXNoIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUEsMkM7Ozs7Ozs7O0FBUU8sU0FBU0EsZUFBVCxHQUF5QztBQUM5QyxTQUFPLG1CQUFTQyxNQUFULElBQW1CLEVBQTFCO0FBQ0Q7O0FBRU0sTUFBTUMsZUFBZSxHQUFHLENBQUNDLElBQUQ7QUFDN0IscUJBQU9BLElBQVAsRUFBYSx3QkFBYixFQUF1Q0MsTUFBdkMsRUFESyxDOztBQUdBLGVBQWVDLFdBQWY7QUFDTEMsSUFBYyxHQUFHLENBQUMsUUFBRCxDQURaO0FBRUxDLFNBQW1CLEdBQUcsRUFGakI7QUFHTEMsTUFBZSxHQUFHLElBSGI7QUFJTEMsU0FBdUIsR0FBRyxFQUpyQjtBQUtMQyxJQUFZLEdBQUdDLGFBQWEsRUFMdkI7QUFNTEMsVUFBa0IsR0FBRyxjQU5oQjtBQU9MQyxPQUFlLEdBQUcsR0FQYjtBQVFZO0FBQ2pCLFFBQU1DLElBQUksR0FBRztBQUNYLFNBRFc7QUFFWCxLQUFHLENBQUMsSUFBRCxFQUFPQyxjQUFLQyxPQUFMLENBQWFKLFVBQWIsQ0FBUCxDQUZRO0FBR1gsTUFBSUosTUFBTSxHQUFHLENBQUMsVUFBRCxFQUFhQSxNQUFiLENBQUgsR0FBMEIsRUFBcEMsQ0FIVztBQUlYLEtBQUdGLElBQUksQ0FBQ1csTUFBTCxDQUFZLENBQUNDLEVBQUQsRUFBS0MsQ0FBTCxLQUFXLENBQUMsR0FBR0QsRUFBSixF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RCxLQUFQLEVBQWM7QUFDZEwsTUFBQUEsVUFBVSxDQUFDTSxJQUFYLENBQWdCRCxLQUFoQjtBQUNEO0FBQ0Y7O0FBRUQsTUFBSUwsVUFBVSxDQUFDTyxNQUFYLEdBQW9CLENBQXBCLElBQXlCekIsWUFBWSxLQUFLLElBQTlDLEVBQW9EO0FBQ2xELFVBQU0sSUFBSUgsS0FBSixDQUFVLDJCQUFWLENBQU47QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGJ5dGVzIGZyb20gJ2J5dGVzJztcbmltcG9ydCBpc1JlYWNoYWJsZSBmcm9tICdpcy1yZWFjaGFibGUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5pbXBvcnQgeyBnZXRDZmcsIGdldFBrZ05hbWUsIGdldFBrZ1Njb3BlIH0gZnJvbSAnLi9wa2cnO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICcuL2NwJztcbmltcG9ydCB7IGdldFZlcnNpb24sIGdldERldkJyYW5jaCB9IGZyb20gJy4vdmVyc2lvbic7XG5pbXBvcnQge1xuICBkb2NrZXJDb250YWluZXJSdW5EYWVtb24sXG4gIGRvY2tlckNvbnRhaW5lcktpbGwsXG59IGZyb20gJy4vZG9ja2VyLmNvbnRhaW5lcic7XG5pbXBvcnQgeyBkb2NrZXJOZXR3b3JrQ29ubmVjdCB9IGZyb20gJy4vZG9ja2VyLm5ldHdvcmsnO1xuXG5leHBvcnQgdHlwZSBEb2NrZXJDb25maWcgPSB7XG4gIHJlZ2lzdHJ5Pzogc3RyaW5nLFxuICByZXBvc2l0b3J5Pzogc3RyaW5nLFxuICBuYW1lPzogc3RyaW5nLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvY2tlckNvbmZpZygpOiBEb2NrZXJDb25maWcge1xuICByZXR1cm4gZ2V0Q2ZnKCkuZG9ja2VyIHx8IHt9O1xufVxuXG5leHBvcnQgY29uc3QgcGFyc2VEb2NrZXJEYXRlID0gKGRhdGU6IHN0cmluZyk6IERhdGUgPT5cbiAgbW9tZW50KGRhdGUsICdZWVlZLU1NLUREIEhIOm1tOnNzIFpaJykudG9EYXRlKCk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJCdWlsZChcbiAgdGFnczogc3RyaW5nW10gPSBbJ2xhdGVzdCddLFxuICBidWlsZEFyZ3M6IHN0cmluZ1tdID0gW10sXG4gIHRhcmdldDogP3N0cmluZyA9IG51bGwsXG4gIGV4dHJhQXJncz86ID8oc3RyaW5nW10pID0gW10sXG4gIHJlcG86IHN0cmluZyA9IGdldERvY2tlclJlcG8oKSxcbiAgZG9ja2VyRmlsZTogc3RyaW5nID0gJy4vRG9ja2VyZmlsZScsXG4gIHdvcmtEaXI6IHN0cmluZyA9ICcuJyxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgJ2J1aWxkJyxcbiAgICAuLi5bJy1mJywgcGF0aC5yZXNvbHZlKGRvY2tlckZpbGUpXSxcbiAgICAuLi4odGFyZ2V0ID8gWyctLXRhcmdldCcsIHRhcmdldF0gOiBbXSksXG4gICAgLi4udGFncy5yZWR1Y2UoKGFyLCB0KSA9PiBbLi4uYXIsICctdCcsIGAke3JlcG99OiR7dH1gXSwgW10pLFxuICAgIC4uLmJ1aWxkQXJncy5yZWR1Y2UoKGFyLCBhKSA9PiBbLi4uYXIsICctLWJ1aWxkLWFyZycsIGFdLCBbXSksXG4gICAgLi4uKGV4dHJhQXJncyB8fCBbXSksXG4gICAgcGF0aC5yZXNvbHZlKHdvcmtEaXIpLFxuICBdO1xuXG4gIHJldHVybiBzcGF3bignZG9ja2VyJywgYXJncywgeyBzdGRpbzogJ2luaGVyaXQnIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyVGFnKFxuICBpbWFnZUlkOiBzdHJpbmcsXG4gIHRhZ3M6IHN0cmluZ1tdID0gWydsYXRlc3QnXSxcbiAgcmVwbz86IHN0cmluZyA9IGdldERvY2tlclJlcG8oKSxcbik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICB0YWdzLm1hcChhc3luYyAodCkgPT4ge1xuICAgICAgYXdhaXQgc3Bhd24oJ2RvY2tlcicsIFsndGFnJywgaW1hZ2VJZCwgYCR7cmVwb306JHt0fWBdKTtcbiAgICAgIGJ1aWxkTG9nKGBUYWdnZWQgaW1hZ2UgJHtpbWFnZUlkfSBhcyAke3JlcG99OiR7dH1gKTtcbiAgICB9KSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBcHBseSB0aGUgc3RhbmRhcmQgY29udmVudGlvbiBmb3IgdGFnZ2luZyB0aGUgZG9ja2VyIGltYWdlIGZvciB0aGUgcHJvamVjdCxcbiAqIGJhc2VkIG9uIHRoZSBzb3VyY2UgY29udHJvbCBicmFuY2ggYmVpbmcgYnVpbHQuXG4gKiBGb3IgcmVsZWFzZXMsIGFwcGxpZXMgYGxhdGVzdGAsIGBNLm0ucGAsIGBNLm1gLCBgTWBcbiAqIEZvciByZWxlYXNlIGNhbmRpZGF0ZXMsIGFwcGxpZXMgYGxhdGVzdC1yY2BcbiAqIEZvciBmZWF0dXJlIGJyYW5jaGVzLCBhcHBsaWVzIGBsYXRlc3QtZmVhdHVyZWBcbiAqIEZvciBkZXZlbG9wbWVudCBicmFuY2gsIGFwcGxpZXMgYGxhdGVzdC1kZXZgXG4gKiBBbGwgb3RoZXIgYnJhbmNoZXMsIG5vIHRhZyBpcyBhcHBsaWVzXG4gKiBAcGFyYW0ge3N0cmluZ30gaW1hZ2VJZCBpZCBvZiB0aGUgZG9ja2VyIGltYWdlIHRvIHdoaWNoIHRvIGFwcGx5IHRoZSB0YWdzXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVwbyBvcHRpb25hbCBvdmVycmlkZSBvZiB0aGUgZG9ja2VyIHJlcG8gdXJsIHRvIHVzZSAoZGVyaXZlZCBmcm9tIHBhY2thZ2UuanNvbiBieSBkZWZhdWx0KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyVGFnVmVyc2lvbihcbiAgaW1hZ2VJZDogc3RyaW5nLFxuICByZXBvPzogc3RyaW5nID0gZ2V0RG9ja2VyUmVwbygpLFxuKSB7XG4gIGNvbnN0IHsgaXNSZWxlYXNlLCBtYWpvciwgbWlub3IsIHBhdGNoLCBicmFuY2ggfSA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgLy8gZGV0ZXJtaW5lIHdoYXQgdGFncyB0byBhcHBseVxuICBpZiAoaXNSZWxlYXNlKSB7XG4gICAgYXdhaXQgZG9ja2VyVGFnKFxuICAgICAgaW1hZ2VJZCxcbiAgICAgIFsnbGF0ZXN0JywgYCR7bWFqb3J9YCwgYCR7bWFqb3J9LiR7bWlub3J9YCwgYCR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9YF0sXG4gICAgICByZXBvLFxuICAgICk7XG4gIH0gZWxzZSBpZiAoYnJhbmNoID09PSBnZXREZXZCcmFuY2goKSkge1xuICAgIGF3YWl0IGRvY2tlclRhZyhpbWFnZUlkLCBbJ2xhdGVzdC1kZXYnXSwgcmVwbyk7XG4gIH0gZWxzZSBpZiAoYnJhbmNoLm1hdGNoKC9eKHJlbGVhc2V8cGF0Y2gpLS8pKSB7XG4gICAgYXdhaXQgZG9ja2VyVGFnKGltYWdlSWQsIFsnbGF0ZXN0LXJjJ10sIHJlcG8pO1xuICB9IGVsc2UgaWYgKGJyYW5jaC5tYXRjaCgvXmZlYXR1cmUtLykpIHtcbiAgICBhd2FpdCBkb2NrZXJUYWcoaW1hZ2VJZCwgWydsYXRlc3QtZmVhdHVyZSddLCByZXBvKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBEb2NrZXJJbWFnZSA9IHtcbiAgcmVwb3NpdG9yeTogc3RyaW5nLFxuICB0YWc6IHN0cmluZyxcbiAgaWQ6IHN0cmluZyxcbiAgZGlnZXN0OiBzdHJpbmcsXG4gIGNyZWF0ZWQ6IERhdGUsXG4gIHNpemU6IG51bWJlcixcbn07XG5cbmV4cG9ydCB0eXBlIERvY2tlckltYWdlRmlsdGVyID0gKGk6IERvY2tlckltYWdlKSA9PiBib29sZWFuO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VySW1hZ2VzKFxuICByZXBvPzogP3N0cmluZyA9IGdldERvY2tlclJlcG8oKSxcbiAgZmlsdGVyPzogP0RvY2tlckltYWdlRmlsdGVyID0gbnVsbCxcbik6IFByb21pc2U8RG9ja2VySW1hZ2VbXT4ge1xuICByZXR1cm4gKFxuICAgIGF3YWl0IHNwYXduKFxuICAgICAgJ2RvY2tlcicsXG4gICAgICBbJ2ltYWdlcycsICctLWZvcm1hdCcsIGB7e2pzb24gLn19YCwgLi4uKHJlcG8gPyBbcmVwb10gOiBbXSldLFxuICAgICAgeyBjYXB0dXJlT3V0cHV0OiB0cnVlIH0sXG4gICAgKVxuICApXG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIoKGxpbmUpID0+ICEhbGluZS50cmltKCkpXG4gICAgLm1hcCgobCkgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBSZXBvc2l0b3J5OiByZXBvc2l0b3J5LFxuICAgICAgICBUYWc6IHRhZyxcbiAgICAgICAgSUQ6IGlkLFxuICAgICAgICBEaWdlc3Q6IGRpZ2VzdCxcbiAgICAgICAgQ3JlYXRlZEF0LFxuICAgICAgICBTaXplLFxuICAgICAgfSA9IEpTT04ucGFyc2UobC50cmltKCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVwb3NpdG9yeSxcbiAgICAgICAgdGFnLFxuICAgICAgICBpZCxcbiAgICAgICAgZGlnZXN0LFxuICAgICAgICBjcmVhdGVkOiBwYXJzZURvY2tlckRhdGUoQ3JlYXRlZEF0KSxcbiAgICAgICAgc2l6ZTogYnl0ZXMucGFyc2UoU2l6ZSksXG4gICAgICB9O1xuICAgIH0pXG4gICAgLmZpbHRlcihcbiAgICAgIChtKSA9PlxuICAgICAgICAobSAmJiBtLmlkKSAhPSBudWxsICYmXG4gICAgICAgICh0eXBlb2YgZmlsdGVyID09PSAnZnVuY3Rpb24nID8gZmlsdGVyKG0pIDogdHJ1ZSksXG4gICAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERvY2tlcklkKFxuICB0YWc6IHN0cmluZyA9ICdsYXRlc3QnLFxuICByZXBvPzogP3N0cmluZyxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZG9ja2VySW1hZ2VzKHJlcG8sIChtKSA9PiBtLnRhZyA9PT0gdGFnKSkubWFwKChtKSA9PiBtLmlkKVswXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFVudGFnZ2VkRG9ja2VySWRzKFxuICByZXBvPzogP3N0cmluZyxcbiAgZmlsdGVyPzogP0RvY2tlckltYWdlRmlsdGVyID0gbnVsbCxcbik6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkb2NrZXJJbWFnZXMoXG4gICAgICByZXBvLFxuICAgICAgKG0pID0+XG4gICAgICAgIG0udGFnID09PSAnPG5vbmU+JyAmJiAodHlwZW9mIGZpbHRlciA9PT0gJ2Z1bmN0aW9uJyA/IGZpbHRlcihtKSA6IHRydWUpLFxuICAgIClcbiAgKS5tYXAoKG0pID0+IG0uaWQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RG9ja2VyVGFncyhcbiAgaWQ/OiA/c3RyaW5nLFxuICByZXBvPzogP3N0cmluZyxcbiAgZnVsbE5hbWU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgZmlsdGVyPzogP0RvY2tlckltYWdlRmlsdGVyID0gbnVsbCxcbik6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkb2NrZXJJbWFnZXMoXG4gICAgICByZXBvLFxuICAgICAgKG0pID0+XG4gICAgICAgICghaWQgfHwgbS5pZCA9PT0gaWQpICYmXG4gICAgICAgICh0eXBlb2YgZmlsdGVyID09PSAnZnVuY3Rpb24nID8gZmlsdGVyKG0pIDogdHJ1ZSksXG4gICAgKVxuICApLm1hcCgobSkgPT4gKGZ1bGxOYW1lID8gYCR7bS5yZXBvc2l0b3J5fToke20udGFnfWAgOiBtLnRhZykpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RG9ja2VyRGlnZXN0KFxuICBpbWFnZUlkOiBzdHJpbmcsXG4gIHJlcG8/OiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gKGF3YWl0IGRvY2tlckltYWdlcyhyZXBvLCAobSkgPT4gbS5pZCA9PT0gaW1hZ2VJZCkpLm1hcChcbiAgICAobSkgPT4gbS5kaWdlc3QsXG4gIClbMF07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJMb2dpbihcbiAgdXNlcjogc3RyaW5nLFxuICBwYXNzd29yZDogc3RyaW5nLFxuICByZWdpc3RyeTogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlZyA9IHJlZ2lzdHJ5IHx8IGdldERvY2tlckNvbmZpZygpLnJlZ2lzdHJ5O1xuICBhd2FpdCBzcGF3bihcbiAgICAnZG9ja2VyJyxcbiAgICBbXG4gICAgICAnbG9naW4nLFxuICAgICAgJy11JyxcbiAgICAgIHVzZXIgfHwgcHJvY2Vzcy5lbnYuQVJUSUZBQ1RPUllfVVNFUiB8fCAnJyxcbiAgICAgICctcCcsXG4gICAgICBwYXNzd29yZCB8fCBwcm9jZXNzLmVudi5BUlRJRkFDVE9SWV9QQVNTV09SRCB8fCAnJyxcbiAgICAgIC4uLihyZWcgPyBbcmVnXSA6IFtdKSxcbiAgICBdLFxuICAgIHsgc3RkaW86ICdpbmhlcml0JyB9LFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyUHVzaChcbiAgdGFncz86IHN0cmluZ1tdID0gWydsYXRlc3QnXSxcbiAgcmVwbz86IHN0cmluZyA9IGdldERvY2tlclJlcG8oKSxcbikge1xuICAvLyBkbyB0aGlzIHNlcXVlbnRpYWxseSwgc28geW91IGRvbid0IHB1c2ggdGhlIHNhbWUgaW1hZ2Ugc2ltdWx0YW5lb3VzbHlcbiAgYXdhaXQgdGFncy5yZWR1Y2UoYXN5bmMgKHByZXYsIHRhZykgPT4ge1xuICAgIGF3YWl0IHByZXY7XG4gICAgYXdhaXQgc3Bhd24oJ2RvY2tlcicsIFsncHVzaCcsIGAke3JlcG99OiR7dGFnfWBdLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG4gIH0sIFByb21pc2UucmVzb2x2ZSgpKTtcbn1cblxuZXhwb3J0IHR5cGUgRG9ja2VyUHVsbE9wdGlvbnMgPSB7XG4gIGltYWdlOiBzdHJpbmcsXG4gIG9mZmxpbmU/OiBib29sZWFuLFxuICB0ZXN0VXJsPzogP3N0cmluZyxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJQdWxsKHtcbiAgaW1hZ2UsXG4gIG9mZmxpbmUgPSBwcm9jZXNzLmFyZ3YuaW5jbHVkZXMoJy0tb2ZmbGluZScpLFxuICB0ZXN0VXJsLFxufTogRG9ja2VyUHVsbE9wdGlvbnMpIHtcbiAgaWYgKFxuICAgIG9mZmxpbmUgfHxcbiAgICAhKGF3YWl0IGlzUmVhY2hhYmxlKHRlc3RVcmwgfHwgJ2h0dHBzOi8vaHViLmRvY2tlci5jb20nKSlcbiAgKSB7XG4gICAgaWYgKG9mZmxpbmUgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09mZmxpbmUsIGNhbm5vdCBkb2NrZXIgcHVsbCcpO1xuICAgIH1cbiAgICBidWlsZExvZygnSXQgbG9va3MgbGlrZSB5b3UgYXJlIG9mZmxpbmUsIHNraXBwaW5nIGRvY2tlciBwdWxsJyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gdGhyb3dzIG9uIGZhaWx1cmVcbiAgICBhd2FpdCBzcGF3bignZG9ja2VyJywgWydwdWxsJywgaW1hZ2VdLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvY2tlclJtaShcbiAgaW1hZ2VzOiBzdHJpbmdbXSA9IFtdLFxuICBpZ25vcmVFcnJvcnM6IGJvb2xlYW4gPSB0cnVlLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIG11c3QgZG8gdGhlc2Ugc2VxdWVudGlhbGx5LCBvciB0aGV5IHdpbGwgaW50ZXJmZXJlIHdpdGggZWFjaCBvdGhlclxuICBhd2FpdCBpbWFnZXMucmVkdWNlKGFzeW5jIChwcmV2LCBpbWFnZSkgPT4ge1xuICAgIGF3YWl0IHByZXY7XG4gICAgYXdhaXQgc3Bhd24oJ2RvY2tlcicsIFsncm1pJywgaW1hZ2VdLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgaWYgKGlnbm9yZUVycm9ycykge1xuICAgICAgICBidWlsZExvZyhcbiAgICAgICAgICBgV2FybmluZyAoaWdub3JlZCBFcnJvcik6IEZhaWxlZCB0byBybSBpbWFnZShzKTogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBQcm9taXNlLnJlc29sdmUoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREb2NrZXJSZXBvKCk6IHN0cmluZyB7XG4gIGNvbnN0IHsgcmVnaXN0cnksIHJlcG9zaXRvcnk6IGRrclJlcG8sIG5hbWU6IGRrck5hbWUgfSA9IGdldERvY2tlckNvbmZpZygpO1xuICBjb25zdCByZXBvc2l0b3J5ID0gZGtyUmVwbyB8fCBnZXRQa2dTY29wZSgpO1xuICBjb25zdCBuYW1lID0gZGtyTmFtZSB8fCBnZXRQa2dOYW1lKGZhbHNlKTtcbiAgaWYgKCFyZXBvc2l0b3J5IHx8ICFuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0RvY2tlciBjb25maWd1cmF0aW9uIGlzIG1pc3Npbmcgb3IgaW5jb21wbGV0ZSBpbiBwYWNrYWdlLmpzb24nLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGAke3JlZ2lzdHJ5ID8gYCR7cmVnaXN0cnl9L2AgOiAnJ30ke3JlcG9zaXRvcnl9LyR7bmFtZX1gO1xufVxuXG5leHBvcnQgdHlwZSBQdWxsQW5kUnVuQ29udGFpbmVyT3B0aW9ucyA9IHtcbiAgLi4uRG9ja2VyUHVsbE9wdGlvbnMsXG4gIHJ1bkFyZ3M/OiBzdHJpbmdbXSxcbiAgY21kPzogc3RyaW5nW10sXG4gIG5ldHdvcms/OiA/c3RyaW5nLFxuICBhbGlhcz86ID9zdHJpbmcsXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyUHVsbEFuZFJ1bkNvbnRhaW5lcihcbiAgaW1hZ2U6IHN0cmluZyxcbiAgb3B0aW9uczogUHVsbEFuZFJ1bkNvbnRhaW5lck9wdGlvbnMgPSB7fSxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHtcbiAgICBydW5BcmdzID0gW10sXG4gICAgY21kID0gW10sXG4gICAgbmV0d29yayxcbiAgICBhbGlhcyxcbiAgICBvZmZsaW5lID0gcHJvY2Vzcy5hcmd2LmluY2x1ZGVzKCctLW9mZmxpbmUnKSxcbiAgICB0ZXN0VXJsLFxuICB9ID0gb3B0aW9ucztcblxuICB0cnkge1xuICAgIGF3YWl0IGRvY2tlclB1bGwoeyBpbWFnZSwgb2ZmbGluZSwgdGVzdFVybCB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgYnVpbGRMb2coYGRvY2tlciBwdWxsIGZhaWxlZCAoJHtlcnIubWVzc2FnZX0pLCBhdHRlbXB0aW5nIHRvIGNvbnRpbnVlLi4uYCk7XG4gIH1cbiAgY29uc3QgeyBpZCB9ID0gYXdhaXQgZG9ja2VyQ29udGFpbmVyUnVuRGFlbW9uKHsgaW1hZ2UsIHJ1bkFyZ3MsIGNtZCB9KTtcbiAgaWYgKG5ldHdvcmspIHtcbiAgICBhd2FpdCBkb2NrZXJOZXR3b3JrQ29ubmVjdChuZXR3b3JrLCBpZCwgYWxpYXMpO1xuICB9XG4gIHJldHVybiBpZDtcbn1cblxuZXhwb3J0IHR5cGUgQ29weUZpbGVQYXRoQ29uZmlnID0ge1xuICBmcm9tOiBzdHJpbmcsXG4gIHRvOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgdHlwZSBDb3B5RmlsZXNGcm9tRG9ja2VySW1hZ2VDb25maWcgPSB7XG4gIGltYWdlSWQ6IHN0cmluZyxcbiAgZmlsZVBhdGhzOiBDb3B5RmlsZVBhdGhDb25maWdbXSxcbiAgaWdub3JlRXJyb3JzPzogP2Jvb2xlYW4sXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29weUZpbGVzRnJvbURvY2tlckltYWdlKHtcbiAgaW1hZ2VJZCxcbiAgZmlsZVBhdGhzLFxuICBpZ25vcmVFcnJvcnMsXG59OiBDb3B5RmlsZXNGcm9tRG9ja2VySW1hZ2VDb25maWcpOiBQcm9taXNlPGFueT4ge1xuICBjb25zdCBjb250YWluZXIgPSBhd2FpdCBkb2NrZXJDb250YWluZXJSdW5EYWVtb24oe1xuICAgIGltYWdlOiBpbWFnZUlkLFxuICAgIHJ1bkFyZ3M6IFsnLWl0JywgJy0tcm0nLCAnLS1lbnRyeXBvaW50PS9iaW4vYmFzaCddLFxuICAgIGNtZDogWydyZWFkJywgJy1wJywgJ3BhdXNlJ10sXG4gIH0pO1xuXG4gIGJ1aWxkTG9nKGBDb3B5aW5nIEZpbGVzIGZyb20gRG9ja2VyIEltYWdlIC0gaW1hZ2VJZCAoJHtpbWFnZUlkfSlgKTtcblxuICBjb25zdCBzcGF3bk9wdGlvbnMgPSB7XG4gICAgc3RkaW86ICdpbmhlcml0JyxcbiAgICBwaXBlT3V0cHV0OiB0cnVlLFxuICAgIGNhcHR1cmVPdXRwdXQ6IGZhbHNlLFxuICB9O1xuICBjb25zdCBjb3B5RXJyb3JzID0gW107XG5cbiAgdHJ5IHtcbiAgICBmaWxlUGF0aHMuZm9yRWFjaChhc3luYyAoZnApID0+IHtcbiAgICAgIC8vIFRyeSB0byBjb3B5IGZyb20gdGhlIERlYnVnIEZvbGRlclxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgc3Bhd24oXG4gICAgICAgICAgJ2RvY2tlcicsXG4gICAgICAgICAgWydjcCcsIGAke2NvbnRhaW5lci5pZH06JHtmcC5mcm9tfWAsIGZwLnRvXSxcbiAgICAgICAgICBzcGF3bk9wdGlvbnMsXG4gICAgICAgICk7XG4gICAgICAgIGJ1aWxkTG9nKGBDb3BpZWQgJHtmcC5mcm9tfSA9PiAke2ZwLnRvfWApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29weUVycm9ycy5wdXNoKGVycm9yKTtcbiAgICAgICAgYnVpbGRMb2coYEVycm9yIGNvcHlpbmcgZmlsZSAke2ZwLmZyb219YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGRvY2tlckNvbnRhaW5lcktpbGwoY29udGFpbmVyLmlkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29weUVycm9ycy5wdXNoKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY29weUVycm9ycy5sZW5ndGggPiAwICYmIGlnbm9yZUVycm9ycyAhPT0gdHJ1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignU29tZSBmaWxlcyBmYWlsZWQgdG8gY29weScpO1xuICB9XG59XG4iXX0=
|
|
365
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb2NrZXIuanMiXSwibmFtZXMiOlsiZ2V0RG9ja2VyQ29uZmlnIiwiZG9ja2VyIiwicGFyc2VEb2NrZXJEYXRlIiwiZGF0ZSIsInRvRGF0ZSIsImRvY2tlckJ1aWxkIiwidGFncyIsImJ1aWxkQXJncyIsInRhcmdldCIsImV4dHJhQXJncyIsInJlcG8iLCJnZXREb2NrZXJSZXBvIiwiZG9ja2VyRmlsZSIsIndvcmtEaXIiLCJhcmdzIiwicGF0aCIsInJlc29sdmUiLCJyZWR1Y2UiLCJhciIsInQiLCJhIiwic3RkaW8iLCJkb2NrZXJUYWciLCJpbWFnZUlkIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImRvY2tlclRhZ1ZlcnNpb24iLCJpc1JlbGVhc2UiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJicmFuY2giLCJtYXRjaCIsImRvY2tlckltYWdlcyIsImZpbHRlciIsImNhcHR1cmVPdXRwdXQiLCJzcGxpdCIsImxpbmUiLCJ0cmltIiwibCIsIlJlcG9zaXRvcnkiLCJyZXBvc2l0b3J5IiwiVGFnIiwidGFnIiwiSUQiLCJpZCIsIkRpZ2VzdCIsImRpZ2VzdCIsIkNyZWF0ZWRBdCIsIlNpemUiLCJKU09OIiwicGFyc2UiLCJjcmVhdGVkIiwic2l6ZSIsImJ5dGVzIiwibSIsImdldERvY2tlcklkIiwiZ2V0VW50YWdnZWREb2NrZXJJZHMiLCJnZXREb2NrZXJUYWdzIiwiZnVsbE5hbWUiLCJnZXREb2NrZXJEaWdlc3QiLCJkb2NrZXJMb2dpbiIsInVzZXIiLCJwYXNzd29yZCIsInJlZ2lzdHJ5IiwicmVnIiwicHJvY2VzcyIsImVudiIsIkFSVElGQUNUT1JZX1VTRVIiLCJBUlRJRkFDVE9SWV9QQVNTV09SRCIsImRvY2tlclB1c2giLCJwcmV2IiwiZG9ja2VyUHVsbCIsImltYWdlIiwib2ZmbGluZSIsImFyZ3YiLCJpbmNsdWRlcyIsInRlc3RVcmwiLCJFcnJvciIsImRvY2tlclJtaSIsImltYWdlcyIsImlnbm9yZUVycm9ycyIsImNhdGNoIiwiZXJyIiwibWVzc2FnZSIsImRrclJlcG8iLCJuYW1lIiwiZGtyTmFtZSIsImRvY2tlclB1bGxBbmRSdW5Db250YWluZXIiLCJvcHRpb25zIiwicnVuQXJncyIsImNtZCIsIm5ldHdvcmsiLCJhbGlhcyIsImNvcHlGaWxlc0Zyb21Eb2NrZXJJbWFnZSIsImZpbGVQYXRocyIsImNvbnRhaW5lciIsInNwYXduT3B0aW9ucyIsInBpcGVPdXRwdXQiLCJjb3B5RXJyb3JzIiwiZm9yRWFjaCIsImZwIiwiZnJvbSIsInRvIiwiZXJyb3IiLCJwdXNoIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUEsMkM7Ozs7Ozs7O0FBUU8sU0FBU0EsZUFBVCxHQUF5QztBQUM5QyxTQUFPLG1CQUFTQyxNQUFULElBQW1CLEVBQTFCO0FBQ0Q7O0FBRU0sTUFBTUMsZUFBZSxHQUFHLENBQUNDLElBQUQ7QUFDN0IscUJBQU9BLElBQVAsRUFBYSx3QkFBYixFQUF1Q0MsTUFBdkMsRUFESyxDOztBQUdBLGVBQWVDLFdBQWY7QUFDTEMsSUFBYyxHQUFHLENBQUMsUUFBRCxDQURaO0FBRUxDLFNBQW1CLEdBQUcsRUFGakI7QUFHTEMsTUFBZSxHQUFHLElBSGI7QUFJTEMsU0FBdUIsR0FBRyxFQUpyQjtBQUtMQyxJQUFZLEdBQUdDLGFBQWEsRUFMdkI7QUFNTEMsVUFBa0IsR0FBRyxjQU5oQjtBQU9MQyxPQUFlLEdBQUcsR0FQYjtBQVFZO0FBQ2pCLFFBQU1DLElBQUksR0FBRztBQUNYLFNBRFc7QUFFWCxLQUFHLENBQUMsSUFBRCxFQUFPQyxjQUFLQyxPQUFMLENBQWFKLFVBQWIsQ0FBUCxDQUZRO0FBR1gsTUFBSUosTUFBTSxHQUFHLENBQUMsVUFBRCxFQUFhQSxNQUFiLENBQUgsR0FBMEIsRUFBcEMsQ0FIVztBQUlYLEtBQUdGLElBQUksQ0FBQ1csTUFBTCxDQUFZLENBQUNDLEVBQUQsRUFBS0MsQ0FBTCxLQUFXLENBQUMsR0FBR0QsRUFBSixF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LE9BQU8yRCxLQUFQLEVBQWM7QUFDZEwsTUFBQUEsVUFBVSxDQUFDTSxJQUFYLENBQWdCRCxLQUFoQjtBQUNEO0FBQ0Y7O0FBRUQsTUFBSUwsVUFBVSxDQUFDTyxNQUFYLEdBQW9CLENBQXBCLElBQXlCekIsWUFBWSxLQUFLLElBQTlDLEVBQW9EO0FBQ2xELFVBQU0sSUFBSUgsS0FBSixDQUFVLDJCQUFWLENBQU47QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGJ5dGVzIGZyb20gJ2J5dGVzJztcbmltcG9ydCBpc1JlYWNoYWJsZSBmcm9tICdpcy1yZWFjaGFibGUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5pbXBvcnQgeyBnZXRDZmcsIGdldFBrZ05hbWUsIGdldFBrZ1Njb3BlIH0gZnJvbSAnLi9wa2cnO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICcuL2NwJztcbmltcG9ydCB7IGdldFZlcnNpb24sIGdldERldkJyYW5jaCB9IGZyb20gJy4vdmVyc2lvbic7XG5pbXBvcnQge1xuICBkb2NrZXJDb250YWluZXJSdW5EYWVtb24sXG4gIGRvY2tlckNvbnRhaW5lcktpbGwsXG59IGZyb20gJy4vZG9ja2VyLmNvbnRhaW5lcic7XG5pbXBvcnQgeyBkb2NrZXJOZXR3b3JrQ29ubmVjdCB9IGZyb20gJy4vZG9ja2VyLm5ldHdvcmsnO1xuXG5leHBvcnQgdHlwZSBEb2NrZXJDb25maWcgPSB7XG4gIHJlZ2lzdHJ5Pzogc3RyaW5nLFxuICByZXBvc2l0b3J5Pzogc3RyaW5nLFxuICBuYW1lPzogc3RyaW5nLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvY2tlckNvbmZpZygpOiBEb2NrZXJDb25maWcge1xuICByZXR1cm4gZ2V0Q2ZnKCkuZG9ja2VyIHx8IHt9O1xufVxuXG5leHBvcnQgY29uc3QgcGFyc2VEb2NrZXJEYXRlID0gKGRhdGU6IHN0cmluZyk6IERhdGUgPT5cbiAgbW9tZW50KGRhdGUsICdZWVlZLU1NLUREIEhIOm1tOnNzIFpaJykudG9EYXRlKCk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJCdWlsZChcbiAgdGFnczogc3RyaW5nW10gPSBbJ2xhdGVzdCddLFxuICBidWlsZEFyZ3M6IHN0cmluZ1tdID0gW10sXG4gIHRhcmdldDogP3N0cmluZyA9IG51bGwsXG4gIGV4dHJhQXJncz86ID8oc3RyaW5nW10pID0gW10sXG4gIHJlcG86IHN0cmluZyA9IGdldERvY2tlclJlcG8oKSxcbiAgZG9ja2VyRmlsZTogc3RyaW5nID0gJy4vRG9ja2VyZmlsZScsXG4gIHdvcmtEaXI6IHN0cmluZyA9ICcuJyxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgJ2J1aWxkJyxcbiAgICAuLi5bJy1mJywgcGF0aC5yZXNvbHZlKGRvY2tlckZpbGUpXSxcbiAgICAuLi4odGFyZ2V0ID8gWyctLXRhcmdldCcsIHRhcmdldF0gOiBbXSksXG4gICAgLi4udGFncy5yZWR1Y2UoKGFyLCB0KSA9PiBbLi4uYXIsICctdCcsIGAke3JlcG99OiR7dH1gXSwgW10pLFxuICAgIC4uLmJ1aWxkQXJncy5yZWR1Y2UoKGFyLCBhKSA9PiBbLi4uYXIsICctLWJ1aWxkLWFyZycsIGFdLCBbXSksXG4gICAgLi4uKGV4dHJhQXJncyB8fCBbXSksXG4gICAgcGF0aC5yZXNvbHZlKHdvcmtEaXIpLFxuICBdO1xuXG4gIHJldHVybiBzcGF3bignZG9ja2VyJywgYXJncywgeyBzdGRpbzogJ2luaGVyaXQnIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyVGFnKFxuICBpbWFnZUlkOiBzdHJpbmcsXG4gIHRhZ3M6IHN0cmluZ1tdID0gWydsYXRlc3QnXSxcbiAgcmVwbz86IHN0cmluZyA9IGdldERvY2tlclJlcG8oKSxcbik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICB0YWdzLm1hcChhc3luYyAodCkgPT4ge1xuICAgICAgYXdhaXQgc3Bhd24oJ2RvY2tlcicsIFsndGFnJywgaW1hZ2VJZCwgYCR7cmVwb306JHt0fWBdKTtcbiAgICAgIGJ1aWxkTG9nKGBUYWdnZWQgaW1hZ2UgJHtpbWFnZUlkfSBhcyAke3JlcG99OiR7dH1gKTtcbiAgICB9KSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBcHBseSB0aGUgc3RhbmRhcmQgY29udmVudGlvbiBmb3IgdGFnZ2luZyB0aGUgZG9ja2VyIGltYWdlIGZvciB0aGUgcHJvamVjdCxcbiAqIGJhc2VkIG9uIHRoZSBzb3VyY2UgY29udHJvbCBicmFuY2ggYmVpbmcgYnVpbHQuXG4gKiBGb3IgcmVsZWFzZXMsIGFwcGxpZXMgYGxhdGVzdGAsIGBNLm0ucGAsIGBNLm1gLCBgTWBcbiAqIEZvciByZWxlYXNlIGNhbmRpZGF0ZXMsIGFwcGxpZXMgYGxhdGVzdC1yY2BcbiAqIEZvciBmZWF0dXJlIGJyYW5jaGVzLCBhcHBsaWVzIGBsYXRlc3QtZmVhdHVyZWBcbiAqIEZvciBkZXZlbG9wbWVudCBicmFuY2gsIGFwcGxpZXMgYGxhdGVzdC1kZXZgXG4gKiBBbGwgb3RoZXIgYnJhbmNoZXMsIG5vIHRhZyBpcyBhcHBsaWVzXG4gKiBAcGFyYW0ge3N0cmluZ30gaW1hZ2VJZCBpZCBvZiB0aGUgZG9ja2VyIGltYWdlIHRvIHdoaWNoIHRvIGFwcGx5IHRoZSB0YWdzXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVwbyBvcHRpb25hbCBvdmVycmlkZSBvZiB0aGUgZG9ja2VyIHJlcG8gdXJsIHRvIHVzZSAoZGVyaXZlZCBmcm9tIHBhY2thZ2UuanNvbiBieSBkZWZhdWx0KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyVGFnVmVyc2lvbihcbiAgaW1hZ2VJZDogc3RyaW5nLFxuICByZXBvPzogc3RyaW5nID0gZ2V0RG9ja2VyUmVwbygpLFxuKSB7XG4gIGNvbnN0IHsgaXNSZWxlYXNlLCBtYWpvciwgbWlub3IsIHBhdGNoLCBicmFuY2ggfSA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgLy8gZGV0ZXJtaW5lIHdoYXQgdGFncyB0byBhcHBseVxuICBpZiAoaXNSZWxlYXNlKSB7XG4gICAgYXdhaXQgZG9ja2VyVGFnKFxuICAgICAgaW1hZ2VJZCxcbiAgICAgIFsnbGF0ZXN0JywgYCR7bWFqb3J9YCwgYCR7bWFqb3J9LiR7bWlub3J9YCwgYCR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9YF0sXG4gICAgICByZXBvLFxuICAgICk7XG4gIH0gZWxzZSBpZiAoYnJhbmNoID09PSAoYXdhaXQgZ2V0RGV2QnJhbmNoKCkpKSB7XG4gICAgYXdhaXQgZG9ja2VyVGFnKGltYWdlSWQsIFsnbGF0ZXN0LWRldiddLCByZXBvKTtcbiAgfSBlbHNlIGlmIChicmFuY2gubWF0Y2goL14ocmVsZWFzZXxwYXRjaCktLykpIHtcbiAgICBhd2FpdCBkb2NrZXJUYWcoaW1hZ2VJZCwgWydsYXRlc3QtcmMnXSwgcmVwbyk7XG4gIH0gZWxzZSBpZiAoYnJhbmNoLm1hdGNoKC9eZmVhdHVyZS0vKSkge1xuICAgIGF3YWl0IGRvY2tlclRhZyhpbWFnZUlkLCBbJ2xhdGVzdC1mZWF0dXJlJ10sIHJlcG8pO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIERvY2tlckltYWdlID0ge1xuICByZXBvc2l0b3J5OiBzdHJpbmcsXG4gIHRhZzogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICBkaWdlc3Q6IHN0cmluZyxcbiAgY3JlYXRlZDogRGF0ZSxcbiAgc2l6ZTogbnVtYmVyLFxufTtcblxuZXhwb3J0IHR5cGUgRG9ja2VySW1hZ2VGaWx0ZXIgPSAoaTogRG9ja2VySW1hZ2UpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJJbWFnZXMoXG4gIHJlcG8/OiA/c3RyaW5nID0gZ2V0RG9ja2VyUmVwbygpLFxuICBmaWx0ZXI/OiA/RG9ja2VySW1hZ2VGaWx0ZXIgPSBudWxsLFxuKTogUHJvbWlzZTxEb2NrZXJJbWFnZVtdPiB7XG4gIHJldHVybiAoXG4gICAgYXdhaXQgc3Bhd24oXG4gICAgICAnZG9ja2VyJyxcbiAgICAgIFsnaW1hZ2VzJywgJy0tZm9ybWF0JywgYHt7anNvbiAufX1gLCAuLi4ocmVwbyA/IFtyZXBvXSA6IFtdKV0sXG4gICAgICB7IGNhcHR1cmVPdXRwdXQ6IHRydWUgfSxcbiAgICApXG4gIClcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLmZpbHRlcigobGluZSkgPT4gISFsaW5lLnRyaW0oKSlcbiAgICAubWFwKChsKSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIFJlcG9zaXRvcnk6IHJlcG9zaXRvcnksXG4gICAgICAgIFRhZzogdGFnLFxuICAgICAgICBJRDogaWQsXG4gICAgICAgIERpZ2VzdDogZGlnZXN0LFxuICAgICAgICBDcmVhdGVkQXQsXG4gICAgICAgIFNpemUsXG4gICAgICB9ID0gSlNPTi5wYXJzZShsLnRyaW0oKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXBvc2l0b3J5LFxuICAgICAgICB0YWcsXG4gICAgICAgIGlkLFxuICAgICAgICBkaWdlc3QsXG4gICAgICAgIGNyZWF0ZWQ6IHBhcnNlRG9ja2VyRGF0ZShDcmVhdGVkQXQpLFxuICAgICAgICBzaXplOiBieXRlcy5wYXJzZShTaXplKSxcbiAgICAgIH07XG4gICAgfSlcbiAgICAuZmlsdGVyKFxuICAgICAgKG0pID0+XG4gICAgICAgIChtICYmIG0uaWQpICE9IG51bGwgJiZcbiAgICAgICAgKHR5cGVvZiBmaWx0ZXIgPT09ICdmdW5jdGlvbicgPyBmaWx0ZXIobSkgOiB0cnVlKSxcbiAgICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RG9ja2VySWQoXG4gIHRhZzogc3RyaW5nID0gJ2xhdGVzdCcsXG4gIHJlcG8/OiA/c3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIChhd2FpdCBkb2NrZXJJbWFnZXMocmVwbywgKG0pID0+IG0udGFnID09PSB0YWcpKS5tYXAoKG0pID0+IG0uaWQpWzBdO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VW50YWdnZWREb2NrZXJJZHMoXG4gIHJlcG8/OiA/c3RyaW5nLFxuICBmaWx0ZXI/OiA/RG9ja2VySW1hZ2VGaWx0ZXIgPSBudWxsLFxuKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gKFxuICAgIGF3YWl0IGRvY2tlckltYWdlcyhcbiAgICAgIHJlcG8sXG4gICAgICAobSkgPT5cbiAgICAgICAgbS50YWcgPT09ICc8bm9uZT4nICYmICh0eXBlb2YgZmlsdGVyID09PSAnZnVuY3Rpb24nID8gZmlsdGVyKG0pIDogdHJ1ZSksXG4gICAgKVxuICApLm1hcCgobSkgPT4gbS5pZCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREb2NrZXJUYWdzKFxuICBpZD86ID9zdHJpbmcsXG4gIHJlcG8/OiA/c3RyaW5nLFxuICBmdWxsTmFtZTogYm9vbGVhbiA9IGZhbHNlLFxuICBmaWx0ZXI/OiA/RG9ja2VySW1hZ2VGaWx0ZXIgPSBudWxsLFxuKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gKFxuICAgIGF3YWl0IGRvY2tlckltYWdlcyhcbiAgICAgIHJlcG8sXG4gICAgICAobSkgPT5cbiAgICAgICAgKCFpZCB8fCBtLmlkID09PSBpZCkgJiZcbiAgICAgICAgKHR5cGVvZiBmaWx0ZXIgPT09ICdmdW5jdGlvbicgPyBmaWx0ZXIobSkgOiB0cnVlKSxcbiAgICApXG4gICkubWFwKChtKSA9PiAoZnVsbE5hbWUgPyBgJHttLnJlcG9zaXRvcnl9OiR7bS50YWd9YCA6IG0udGFnKSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREb2NrZXJEaWdlc3QoXG4gIGltYWdlSWQ6IHN0cmluZyxcbiAgcmVwbz86IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZG9ja2VySW1hZ2VzKHJlcG8sIChtKSA9PiBtLmlkID09PSBpbWFnZUlkKSkubWFwKFxuICAgIChtKSA9PiBtLmRpZ2VzdCxcbiAgKVswXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvY2tlckxvZ2luKFxuICB1c2VyOiBzdHJpbmcsXG4gIHBhc3N3b3JkOiBzdHJpbmcsXG4gIHJlZ2lzdHJ5OiBzdHJpbmcsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVnID0gcmVnaXN0cnkgfHwgZ2V0RG9ja2VyQ29uZmlnKCkucmVnaXN0cnk7XG4gIGF3YWl0IHNwYXduKFxuICAgICdkb2NrZXInLFxuICAgIFtcbiAgICAgICdsb2dpbicsXG4gICAgICAnLXUnLFxuICAgICAgdXNlciB8fCBwcm9jZXNzLmVudi5BUlRJRkFDVE9SWV9VU0VSIHx8ICcnLFxuICAgICAgJy1wJyxcbiAgICAgIHBhc3N3b3JkIHx8IHByb2Nlc3MuZW52LkFSVElGQUNUT1JZX1BBU1NXT1JEIHx8ICcnLFxuICAgICAgLi4uKHJlZyA/IFtyZWddIDogW10pLFxuICAgIF0sXG4gICAgeyBzdGRpbzogJ2luaGVyaXQnIH0sXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJQdXNoKFxuICB0YWdzPzogc3RyaW5nW10gPSBbJ2xhdGVzdCddLFxuICByZXBvPzogc3RyaW5nID0gZ2V0RG9ja2VyUmVwbygpLFxuKSB7XG4gIC8vIGRvIHRoaXMgc2VxdWVudGlhbGx5LCBzbyB5b3UgZG9uJ3QgcHVzaCB0aGUgc2FtZSBpbWFnZSBzaW11bHRhbmVvdXNseVxuICBhd2FpdCB0YWdzLnJlZHVjZShhc3luYyAocHJldiwgdGFnKSA9PiB7XG4gICAgYXdhaXQgcHJldjtcbiAgICBhd2FpdCBzcGF3bignZG9ja2VyJywgWydwdXNoJywgYCR7cmVwb306JHt0YWd9YF0sIHsgc3RkaW86ICdpbmhlcml0JyB9KTtcbiAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpO1xufVxuXG5leHBvcnQgdHlwZSBEb2NrZXJQdWxsT3B0aW9ucyA9IHtcbiAgaW1hZ2U6IHN0cmluZyxcbiAgb2ZmbGluZT86IGJvb2xlYW4sXG4gIHRlc3RVcmw/OiA/c3RyaW5nLFxufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvY2tlclB1bGwoe1xuICBpbWFnZSxcbiAgb2ZmbGluZSA9IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1vZmZsaW5lJyksXG4gIHRlc3RVcmwsXG59OiBEb2NrZXJQdWxsT3B0aW9ucykge1xuICBpZiAob2ZmbGluZSB8fCAhKGF3YWl0IGlzUmVhY2hhYmxlKHRlc3RVcmwgfHwgJ2h0dHBzOi8vaHViLmRvY2tlci5jb20nKSkpIHtcbiAgICBpZiAob2ZmbGluZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT2ZmbGluZSwgY2Fubm90IGRvY2tlciBwdWxsJyk7XG4gICAgfVxuICAgIGJ1aWxkTG9nKCdJdCBsb29rcyBsaWtlIHlvdSBhcmUgb2ZmbGluZSwgc2tpcHBpbmcgZG9ja2VyIHB1bGwnKTtcbiAgfSBlbHNlIHtcbiAgICAvLyB0aHJvd3Mgb24gZmFpbHVyZVxuICAgIGF3YWl0IHNwYXduKCdkb2NrZXInLCBbJ3B1bGwnLCBpbWFnZV0sIHsgc3RkaW86ICdpbmhlcml0JyB9KTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9ja2VyUm1pKFxuICBpbWFnZXM6IHN0cmluZ1tdID0gW10sXG4gIGlnbm9yZUVycm9yczogYm9vbGVhbiA9IHRydWUsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gbXVzdCBkbyB0aGVzZSBzZXF1ZW50aWFsbHksIG9yIHRoZXkgd2lsbCBpbnRlcmZlcmUgd2l0aCBlYWNoIG90aGVyXG4gIGF3YWl0IGltYWdlcy5yZWR1Y2UoYXN5bmMgKHByZXYsIGltYWdlKSA9PiB7XG4gICAgYXdhaXQgcHJldjtcbiAgICBhd2FpdCBzcGF3bignZG9ja2VyJywgWydybWknLCBpbWFnZV0sIHsgc3RkaW86ICdpbmhlcml0JyB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICBpZiAoaWdub3JlRXJyb3JzKSB7XG4gICAgICAgIGJ1aWxkTG9nKFxuICAgICAgICAgIGBXYXJuaW5nIChpZ25vcmVkIEVycm9yKTogRmFpbGVkIHRvIHJtIGltYWdlKHMpOiAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFByb21pc2UucmVzb2x2ZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvY2tlclJlcG8oKTogc3RyaW5nIHtcbiAgY29uc3QgeyByZWdpc3RyeSwgcmVwb3NpdG9yeTogZGtyUmVwbywgbmFtZTogZGtyTmFtZSB9ID0gZ2V0RG9ja2VyQ29uZmlnKCk7XG4gIGNvbnN0IHJlcG9zaXRvcnkgPSBka3JSZXBvIHx8IGdldFBrZ1Njb3BlKCk7XG4gIGNvbnN0IG5hbWUgPSBka3JOYW1lIHx8IGdldFBrZ05hbWUoZmFsc2UpO1xuICBpZiAoIXJlcG9zaXRvcnkgfHwgIW5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnRG9ja2VyIGNvbmZpZ3VyYXRpb24gaXMgbWlzc2luZyBvciBpbmNvbXBsZXRlIGluIHBhY2thZ2UuanNvbicsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gYCR7cmVnaXN0cnkgPyBgJHtyZWdpc3RyeX0vYCA6ICcnfSR7cmVwb3NpdG9yeX0vJHtuYW1lfWA7XG59XG5cbmV4cG9ydCB0eXBlIFB1bGxBbmRSdW5Db250YWluZXJPcHRpb25zID0ge1xuICAuLi5Eb2NrZXJQdWxsT3B0aW9ucyxcbiAgcnVuQXJncz86IHN0cmluZ1tdLFxuICBjbWQ/OiBzdHJpbmdbXSxcbiAgbmV0d29yaz86ID9zdHJpbmcsXG4gIGFsaWFzPzogP3N0cmluZyxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb2NrZXJQdWxsQW5kUnVuQ29udGFpbmVyKFxuICBpbWFnZTogc3RyaW5nLFxuICBvcHRpb25zOiBQdWxsQW5kUnVuQ29udGFpbmVyT3B0aW9ucyA9IHt9LFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qge1xuICAgIHJ1bkFyZ3MgPSBbXSxcbiAgICBjbWQgPSBbXSxcbiAgICBuZXR3b3JrLFxuICAgIGFsaWFzLFxuICAgIG9mZmxpbmUgPSBwcm9jZXNzLmFyZ3YuaW5jbHVkZXMoJy0tb2ZmbGluZScpLFxuICAgIHRlc3RVcmwsXG4gIH0gPSBvcHRpb25zO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgZG9ja2VyUHVsbCh7IGltYWdlLCBvZmZsaW5lLCB0ZXN0VXJsIH0pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBidWlsZExvZyhgZG9ja2VyIHB1bGwgZmFpbGVkICgke2Vyci5tZXNzYWdlfSksIGF0dGVtcHRpbmcgdG8gY29udGludWUuLi5gKTtcbiAgfVxuICBjb25zdCB7IGlkIH0gPSBhd2FpdCBkb2NrZXJDb250YWluZXJSdW5EYWVtb24oeyBpbWFnZSwgcnVuQXJncywgY21kIH0pO1xuICBpZiAobmV0d29yaykge1xuICAgIGF3YWl0IGRvY2tlck5ldHdvcmtDb25uZWN0KG5ldHdvcmssIGlkLCBhbGlhcyk7XG4gIH1cbiAgcmV0dXJuIGlkO1xufVxuXG5leHBvcnQgdHlwZSBDb3B5RmlsZVBhdGhDb25maWcgPSB7XG4gIGZyb206IHN0cmluZyxcbiAgdG86IHN0cmluZyxcbn07XG5cbmV4cG9ydCB0eXBlIENvcHlGaWxlc0Zyb21Eb2NrZXJJbWFnZUNvbmZpZyA9IHtcbiAgaW1hZ2VJZDogc3RyaW5nLFxuICBmaWxlUGF0aHM6IENvcHlGaWxlUGF0aENvbmZpZ1tdLFxuICBpZ25vcmVFcnJvcnM/OiA/Ym9vbGVhbixcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb3B5RmlsZXNGcm9tRG9ja2VySW1hZ2Uoe1xuICBpbWFnZUlkLFxuICBmaWxlUGF0aHMsXG4gIGlnbm9yZUVycm9ycyxcbn06IENvcHlGaWxlc0Zyb21Eb2NrZXJJbWFnZUNvbmZpZyk6IFByb21pc2U8YW55PiB7XG4gIGNvbnN0IGNvbnRhaW5lciA9IGF3YWl0IGRvY2tlckNvbnRhaW5lclJ1bkRhZW1vbih7XG4gICAgaW1hZ2U6IGltYWdlSWQsXG4gICAgcnVuQXJnczogWyctaXQnLCAnLS1ybScsICctLWVudHJ5cG9pbnQ9L2Jpbi9iYXNoJ10sXG4gICAgY21kOiBbJ3JlYWQnLCAnLXAnLCAncGF1c2UnXSxcbiAgfSk7XG5cbiAgYnVpbGRMb2coYENvcHlpbmcgRmlsZXMgZnJvbSBEb2NrZXIgSW1hZ2UgLSBpbWFnZUlkICgke2ltYWdlSWR9KWApO1xuXG4gIGNvbnN0IHNwYXduT3B0aW9ucyA9IHtcbiAgICBzdGRpbzogJ2luaGVyaXQnLFxuICAgIHBpcGVPdXRwdXQ6IHRydWUsXG4gICAgY2FwdHVyZU91dHB1dDogZmFsc2UsXG4gIH07XG4gIGNvbnN0IGNvcHlFcnJvcnMgPSBbXTtcblxuICB0cnkge1xuICAgIGZpbGVQYXRocy5mb3JFYWNoKGFzeW5jIChmcCkgPT4ge1xuICAgICAgLy8gVHJ5IHRvIGNvcHkgZnJvbSB0aGUgRGVidWcgRm9sZGVyXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBzcGF3bihcbiAgICAgICAgICAnZG9ja2VyJyxcbiAgICAgICAgICBbJ2NwJywgYCR7Y29udGFpbmVyLmlkfToke2ZwLmZyb219YCwgZnAudG9dLFxuICAgICAgICAgIHNwYXduT3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICAgICAgYnVpbGRMb2coYENvcGllZCAke2ZwLmZyb219ID0+ICR7ZnAudG99YCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb3B5RXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICBidWlsZExvZyhgRXJyb3IgY29weWluZyBmaWxlICR7ZnAuZnJvbX1gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZG9ja2VyQ29udGFpbmVyS2lsbChjb250YWluZXIuaWQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb3B5RXJyb3JzLnB1c2goZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb3B5RXJyb3JzLmxlbmd0aCA+IDAgJiYgaWdub3JlRXJyb3JzICE9PSB0cnVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTb21lIGZpbGVzIGZhaWxlZCB0byBjb3B5Jyk7XG4gIH1cbn1cbiJdfQ==
|
package/docker.js.flow
CHANGED
|
@@ -84,7 +84,7 @@ export async function dockerTagVersion(
|
|
|
84
84
|
['latest', `${major}`, `${major}.${minor}`, `${major}.${minor}.${patch}`],
|
|
85
85
|
repo,
|
|
86
86
|
);
|
|
87
|
-
} else if (branch === getDevBranch()) {
|
|
87
|
+
} else if (branch === (await getDevBranch())) {
|
|
88
88
|
await dockerTag(imageId, ['latest-dev'], repo);
|
|
89
89
|
} else if (branch.match(/^(release|patch)-/)) {
|
|
90
90
|
await dockerTag(imageId, ['latest-rc'], repo);
|
|
@@ -229,10 +229,7 @@ export async function dockerPull({
|
|
|
229
229
|
offline = process.argv.includes('--offline'),
|
|
230
230
|
testUrl,
|
|
231
231
|
}: DockerPullOptions) {
|
|
232
|
-
if (
|
|
233
|
-
offline ||
|
|
234
|
-
!(await isReachable(testUrl || 'https://hub.docker.com'))
|
|
235
|
-
) {
|
|
232
|
+
if (offline || !(await isReachable(testUrl || 'https://hub.docker.com'))) {
|
|
236
233
|
if (offline === false) {
|
|
237
234
|
throw new Error('Offline, cannot docker pull');
|
|
238
235
|
}
|
package/docker.network.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports._dockerNetworkLs = _dockerNetworkLs;exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports._dockerNetworkLs = _dockerNetworkLs;exports.dockerNetworkConnect = dockerNetworkConnect;exports.dockerNetworkCreate = dockerNetworkCreate;exports.dockerNetworkDelete = dockerNetworkDelete;exports.dockerNetworkFind = dockerNetworkFind;exports.dockerNetworkLs = void 0;exports.dockerNetworkRm = dockerNetworkRm;
|
|
2
2
|
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
3
3
|
var _cp = require("./cp");
|
|
4
4
|
var _docker = require("./docker");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
|
package/docker.volume.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports._dockerVolumeInspect = _dockerVolumeInspect;exports._dockerVolumeLs = _dockerVolumeLs;exports.dockerVolumeCreate = dockerVolumeCreate;exports.dockerVolumeFind = dockerVolumeFind;exports.dockerVolumeLs = exports.dockerVolumeInspect = void 0;exports.dockerVolumeRm = dockerVolumeRm;
|
|
2
2
|
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
3
3
|
var _cp = require("./cp");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
|
|
4
4
|
|
package/dockerCleanup.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.dockerImageCleanup = exports.dockerContainerCleanup = exports.dockerCleanup = exports.default = void 0;
|
|
2
2
|
var _uniq = _interopRequireDefault(require("lodash/uniq"));
|
|
3
3
|
var _docker = require("./docker");
|
|
4
4
|
|
package/dockerCompose.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.dockerComposeCreateVolumes = exports.dockerComposeCreateResourceTracker = exports.dockerComposeCreateNetworks = exports.DockerComposeService = void 0;exports.dockerComposeGetAllServices = dockerComposeGetAllServices;exports.dockerComposeParse = exports.dockerComposeGetMain = void 0;exports.dockerComposeRunService = dockerComposeRunService;exports.dockerComposeTeardown = dockerComposeTeardown;
|
|
2
2
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
3
3
|
var _jsYaml = _interopRequireDefault(require("js-yaml"));
|
|
4
4
|
var _path = _interopRequireDefault(require("path"));
|
package/fs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.writeFile = exports.renameFile = exports.readFile = exports.readDir = exports.moveDir = exports.makeDir = exports.copyFile = exports.copyDir = exports.cleanDir = void 0;
|
|
2
2
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
3
3
|
var _path = _interopRequireDefault(require("path"));
|
|
4
4
|
var _glob = _interopRequireDefault(require("glob"));
|
package/git.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.git = git;exports.gitBranch = gitBranch;exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.git = git;exports.gitBranch = gitBranch;exports.gitInfo = gitInfo;exports.gitRevId = gitRevId;
|
|
2
2
|
var _cp = require("./cp");
|
|
3
3
|
|
|
4
4
|
async function git(args) {
|
package/hg.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.hg = hg;exports.hgBranch = hgBranch;exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.hg = hg;exports.hgBranch = hgBranch;exports.hgInfo = hgInfo;exports.hgRevId = hgRevId;
|
|
2
2
|
var _cp = require("./cp");
|
|
3
3
|
|
|
4
4
|
async function hg(args, cwd) {
|
package/inline-resources.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.dependencies = void 0;exports.inlineResources = inlineResources;exports.inlineResourcesFromString = inlineResourcesFromString;exports.requireResourcesLoader = requireResourcesLoader;exports.webpackInlineResourceLoader = webpackInlineResourceLoader;
|
|
2
2
|
var _glob = _interopRequireDefault(require("glob"));
|
|
3
3
|
var _path = _interopRequireDefault(require("path"));
|
|
4
4
|
var _fs = _interopRequireDefault(require("fs"));
|
package/maps.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.values = exports.mapValuesAsync = exports.mapValues = exports.keys = exports.filterNullish = exports.filterKeys = exports.entries = void 0;
|
|
2
2
|
// Util functions for using objects as maps and preserving type information
|
|
3
3
|
|
|
4
4
|
/**
|
package/package.json
CHANGED
package/pkg.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getCfg = getCfg;exports.getPkg = getPkg;exports.getPkgName = getPkgName;exports.getPkgScope = getPkgScope;exports.setPkg = setPkg;
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
package/run.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.buildLog = buildLog;exports.default = void 0;exports.format = format;exports.handleEntryPoint = handleEntryPoint;exports.run = run;exports.runCli = runCli;
|
|
2
2
|
function format(time = new Date()) {
|
|
3
3
|
return time.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, '$1');
|
|
4
4
|
}
|
package/src/copy.js
CHANGED
package/src/docker.js
CHANGED
|
@@ -84,7 +84,7 @@ export async function dockerTagVersion(
|
|
|
84
84
|
['latest', `${major}`, `${major}.${minor}`, `${major}.${minor}.${patch}`],
|
|
85
85
|
repo,
|
|
86
86
|
);
|
|
87
|
-
} else if (branch === getDevBranch()) {
|
|
87
|
+
} else if (branch === (await getDevBranch())) {
|
|
88
88
|
await dockerTag(imageId, ['latest-dev'], repo);
|
|
89
89
|
} else if (branch.match(/^(release|patch)-/)) {
|
|
90
90
|
await dockerTag(imageId, ['latest-rc'], repo);
|
|
@@ -229,10 +229,7 @@ export async function dockerPull({
|
|
|
229
229
|
offline = process.argv.includes('--offline'),
|
|
230
230
|
testUrl,
|
|
231
231
|
}: DockerPullOptions) {
|
|
232
|
-
if (
|
|
233
|
-
offline ||
|
|
234
|
-
!(await isReachable(testUrl || 'https://hub.docker.com'))
|
|
235
|
-
) {
|
|
232
|
+
if (offline || !(await isReachable(testUrl || 'https://hub.docker.com'))) {
|
|
236
233
|
if (offline === false) {
|
|
237
234
|
throw new Error('Offline, cannot docker pull');
|
|
238
235
|
}
|
package/src/version.js
CHANGED
|
@@ -6,9 +6,8 @@ import { getCfg, getPkg } from './pkg';
|
|
|
6
6
|
import { buildLog } from './run';
|
|
7
7
|
|
|
8
8
|
export function getBuild(): string {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return arg || process.env.BUILD_NUMBER || '0';
|
|
9
|
+
const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
|
|
10
|
+
return (arg && arg.substr(11)) || process.env.BUILD_NUMBER || '0';
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
export function getReleaseBranch(): string {
|
|
@@ -17,7 +16,7 @@ export function getReleaseBranch(): string {
|
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
type RepoType = 'git' | 'hg' | 'unknown';
|
|
20
|
-
export function getRepoType(): RepoType {
|
|
19
|
+
export async function getRepoType(): Promise<RepoType> {
|
|
21
20
|
const { repoType } = getCfg();
|
|
22
21
|
|
|
23
22
|
return (
|
|
@@ -36,7 +35,7 @@ type RepoInfo = {
|
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
export async function getRepoInfo(): Promise<RepoInfo> {
|
|
39
|
-
const repoType = getRepoType();
|
|
38
|
+
const repoType = await getRepoType();
|
|
40
39
|
const { branch, revision } =
|
|
41
40
|
repoType === 'git'
|
|
42
41
|
? await gitInfo()
|
|
@@ -49,9 +48,9 @@ export async function getRepoInfo(): Promise<RepoInfo> {
|
|
|
49
48
|
return { branch, revision };
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
export function getDevBranch(): string {
|
|
51
|
+
export async function getDevBranch(): Promise<string> {
|
|
53
52
|
const { devBranch } = getCfg();
|
|
54
|
-
return devBranch || getRepoType() === 'hg' ? 'default' : 'dev';
|
|
53
|
+
return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
export async function getIsRelease(
|
|
@@ -118,7 +117,9 @@ export async function getVersion(
|
|
|
118
117
|
npm,
|
|
119
118
|
info,
|
|
120
119
|
};
|
|
121
|
-
if (logIt)
|
|
120
|
+
if (logIt) {
|
|
121
|
+
buildLog(`Building version ${info}`);
|
|
122
|
+
}
|
|
122
123
|
}
|
|
123
124
|
return version;
|
|
124
125
|
}
|
package/version.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getBanner = getBanner;exports.getBuild = getBuild;exports.getDevBranch = getDevBranch;exports.getIsRelease = getIsRelease;exports.getReleaseBranch = getReleaseBranch;exports.getRepoInfo = getRepoInfo;exports.getRepoType = getRepoType;exports.getUniqueBuildTag = getUniqueBuildTag;exports.getVersion = getVersion;exports.getVersionCode = getVersionCode;exports.useVersionCache = useVersionCache;
|
|
2
2
|
var _fs = _interopRequireDefault(require("fs"));
|
|
3
3
|
var _git = require("./git");
|
|
4
4
|
var _hg = require("./hg");
|
|
@@ -6,9 +6,8 @@ var _pkg = require("./pkg");
|
|
|
6
6
|
var _run = require("./run");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
|
|
7
7
|
|
|
8
8
|
function getBuild() {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return arg || process.env.BUILD_NUMBER || '0';
|
|
9
|
+
const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
|
|
10
|
+
return arg && arg.substr(11) || process.env.BUILD_NUMBER || '0';
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
function getReleaseBranch() {
|
|
@@ -17,7 +16,7 @@ function getReleaseBranch() {
|
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
|
|
20
|
-
function getRepoType() {
|
|
19
|
+
async function getRepoType() {
|
|
21
20
|
const { repoType } = (0, _pkg.getCfg)();
|
|
22
21
|
|
|
23
22
|
return (
|
|
@@ -36,7 +35,7 @@ function getRepoType() {
|
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
async function getRepoInfo() {
|
|
39
|
-
const repoType = getRepoType();
|
|
38
|
+
const repoType = await getRepoType();
|
|
40
39
|
const { branch, revision } =
|
|
41
40
|
repoType === 'git' ?
|
|
42
41
|
await (0, _git.gitInfo)() :
|
|
@@ -49,9 +48,9 @@ async function getRepoInfo() {
|
|
|
49
48
|
return { branch, revision };
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
function getDevBranch() {
|
|
51
|
+
async function getDevBranch() {
|
|
53
52
|
const { devBranch } = (0, _pkg.getCfg)();
|
|
54
|
-
return devBranch || getRepoType() === 'hg' ? 'default' : 'dev';
|
|
53
|
+
return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
async function getIsRelease(
|
|
@@ -118,7 +117,9 @@ release = null)
|
|
|
118
117
|
npm,
|
|
119
118
|
info };
|
|
120
119
|
|
|
121
|
-
if (logIt)
|
|
120
|
+
if (logIt) {
|
|
121
|
+
(0, _run.buildLog)(`Building version ${info}`);
|
|
122
|
+
}
|
|
122
123
|
}
|
|
123
124
|
return version;
|
|
124
125
|
}
|
|
@@ -139,4 +140,4 @@ async function getUniqueBuildTag() {
|
|
|
139
140
|
const { branch, revision, build } = await getVersion();
|
|
140
141
|
return `${branch}-${revision}-${build}`;
|
|
141
142
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLE1BQUlDLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVY7QUFDQUosRUFBQUEsR0FBRyxHQUFHQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBYjtBQUNBLFNBQU9OLEdBQUcsSUFB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dUIsaUJBQWYsR0FBb0Q7QUFDekQsUUFBTSxFQUFFcEMsTUFBRixFQUFVQyxRQUFWLEVBQW9CcUIsS0FBcEIsS0FBOEIsTUFBTVQsVUFBVSxFQUFwRDtBQUNBLFNBQVEsR0FBRWIsTUFBTyxJQUFHQyxRQUFTLElBQUdxQixLQUFNLEVBQXRDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGdpdEluZm8gfSBmcm9tICcuL2dpdCc7XG5pbXBvcnQgeyBoZ0luZm8gfSBmcm9tICcuL2hnJztcbmltcG9ydCB7IGdldENmZywgZ2V0UGtnIH0gZnJvbSAnLi9wa2cnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZCgpOiBzdHJpbmcge1xuICBsZXQgYXJnID0gcHJvY2Vzcy5hcmd2LmZpbmQoKGVsKSA9PiAvXi0tYnVpbGROdW09XFxkKyQvLnRlc3QoZWwpKTtcbiAgYXJnID0gYXJnICYmIGFyZy5zdWJzdHIoMTEpO1xuICByZXR1cm4gYXJnIHx8IHByb2Nlc3MuZW52LkJVSUxEX05VTUJFUiB8fCAnMCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxlYXNlQnJhbmNoKCk6IHN0cmluZyB7XG4gIGNvbnN0IHsgcmVsZWFzZUJyYW5jaCB9ID0gZ2V0Q2ZnKCk7XG4gIHJldHVybiByZWxlYXNlQnJhbmNoIHx8ICdtYXN0ZXInO1xufVxuXG50eXBlIFJlcG9UeXBlID0gJ2dpdCcgfCAnaGcnIHwgJ3Vua25vd24nO1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9UeXBlKCk6IFJlcG9UeXBlIHtcbiAgY29uc3QgeyByZXBvVHlwZSB9ID0gZ2V0Q2ZnKCk7XG5cbiAgcmV0dXJuIChcbiAgICByZXBvVHlwZSB8fFxuICAgIChmcy5leGlzdHNTeW5jKCcuLy5oZycpXG4gICAgICA/ICdoZydcbiAgICAgIDogZnMuZXhpc3RzU3luYygnLi8uZ2l0JylcbiAgICAgID8gJ2dpdCdcbiAgICAgIDogJ3Vua25vd24nKVxuICApO1xufVxuXG50eXBlIFJlcG9JbmZvID0ge1xuICBicmFuY2g6IHN0cmluZyxcbiAgcmV2aXNpb246IHN0cmluZyxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvSW5mbygpOiBQcm9taXNlPFJlcG9JbmZvPiB7XG4gIGNvbnN0IHJlcG9UeXBlID0gZ2V0UmVwb1R5cGUoKTtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPVxuICAgIHJlcG9UeXBlID09PSAnZ2l0J1xuICAgICAgPyBhd2FpdCBnaXRJbmZvKClcbiAgICAgIDogcmVwb1R5cGUgPT09ICdoZydcbiAgICAgID8gYXdhaXQgaGdJbmZvKClcbiAgICAgIDoge307XG4gIGlmICghYnJhbmNoIHx8ICFyZXZpc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHBhcnNlIGJyYW5jaCBhbmQgcmV2aXNpb24gZnJvbSBzb3VyY2UgcmVwby4nKTtcbiAgfVxuICByZXR1cm4geyBicmFuY2gsIHJldmlzaW9uIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXZCcmFuY2goKTogc3RyaW5nIHtcbiAgY29uc3QgeyBkZXZCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gZGV2QnJhbmNoIHx8IGdldFJlcG9UeXBlKCkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gIH1cbiAgcmV0dXJuIHZlcnNpb247XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYW5uZXIoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBjb3B5cmlnaHQgPSAnJyB9ID0gZ2V0Q2ZnKCk7XG4gIGNvbnN0IHsgaW5mbywgbmFtZSB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gIHJldHVybiBgJHtuYW1lfSB2JHtpbmZvfSB8IChjKSAke3RvZGF5LmdldEZ1bGxZZWFyKCl9ICR7Y29weXJpZ2h0fSB8IGJ1aWx0IG9uICR7dG9kYXkudG9JU09TdHJpbmcoKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmVyc2lvbkNvZGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGAvLyBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWRcbmV4cG9ydCBjb25zdCB2ZXJzaW9uID0gJHtKU09OLnN0cmluZ2lmeShhd2FpdCBnZXRWZXJzaW9uKCksIG51bGwsIDIpfWA7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVbmlxdWVCdWlsZFRhZygpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7IGJyYW5jaCwgcmV2aXNpb24sIGJ1aWxkIH0gPSBhd2FpdCBnZXRWZXJzaW9uKCk7XG4gIHJldHVybiBgJHticmFuY2h9LSR7cmV2aXNpb259LSR7YnVpbGR9YDtcbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLFFBQU1DLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVo7QUFDQSxTQUFRSixHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBUixJQUEyQkwsT0FBTyxDQUFDTSxHQUFSLENBQVlDLFlB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LGVBQWV1QixpQkFBZixHQUFvRDtBQUN6RCxRQUFNLEVBQUVwQyxNQUFGLEVBQVVDLFFBQVYsRUFBb0JxQixLQUFwQixLQUE4QixNQUFNVCxVQUFVLEVBQXBEO0FBQ0EsU0FBUSxHQUFFYixNQUFPLElBQUdDLFFBQVMsSUFBR3FCLEtBQU0sRUFBdEM7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZ2l0SW5mbyB9IGZyb20gJy4vZ2l0JztcbmltcG9ydCB7IGhnSW5mbyB9IGZyb20gJy4vaGcnO1xuaW1wb3J0IHsgZ2V0Q2ZnLCBnZXRQa2cgfSBmcm9tICcuL3BrZyc7XG5pbXBvcnQgeyBidWlsZExvZyB9IGZyb20gJy4vcnVuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkKCk6IHN0cmluZyB7XG4gIGNvbnN0IGFyZyA9IHByb2Nlc3MuYXJndi5maW5kKChlbCkgPT4gL14tLWJ1aWxkTnVtPVxcZCskLy50ZXN0KGVsKSk7XG4gIHJldHVybiAoYXJnICYmIGFyZy5zdWJzdHIoMTEpKSB8fCBwcm9jZXNzLmVudi5CVUlMRF9OVU1CRVIgfHwgJzAnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsZWFzZUJyYW5jaCgpOiBzdHJpbmcge1xuICBjb25zdCB7IHJlbGVhc2VCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gcmVsZWFzZUJyYW5jaCB8fCAnbWFzdGVyJztcbn1cblxudHlwZSBSZXBvVHlwZSA9ICdnaXQnIHwgJ2hnJyB8ICd1bmtub3duJztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvVHlwZSgpOiBQcm9taXNlPFJlcG9UeXBlPiB7XG4gIGNvbnN0IHsgcmVwb1R5cGUgfSA9IGdldENmZygpO1xuXG4gIHJldHVybiAoXG4gICAgcmVwb1R5cGUgfHxcbiAgICAoZnMuZXhpc3RzU3luYygnLi8uaGcnKVxuICAgICAgPyAnaGcnXG4gICAgICA6IGZzLmV4aXN0c1N5bmMoJy4vLmdpdCcpXG4gICAgICA/ICdnaXQnXG4gICAgICA6ICd1bmtub3duJylcbiAgKTtcbn1cblxudHlwZSBSZXBvSW5mbyA9IHtcbiAgYnJhbmNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVwb0luZm8oKTogUHJvbWlzZTxSZXBvSW5mbz4ge1xuICBjb25zdCByZXBvVHlwZSA9IGF3YWl0IGdldFJlcG9UeXBlKCk7XG4gIGNvbnN0IHsgYnJhbmNoLCByZXZpc2lvbiB9ID1cbiAgICByZXBvVHlwZSA9PT0gJ2dpdCdcbiAgICAgID8gYXdhaXQgZ2l0SW5mbygpXG4gICAgICA6IHJlcG9UeXBlID09PSAnaGcnXG4gICAgICA/IGF3YWl0IGhnSW5mbygpXG4gICAgICA6IHt9O1xuICBpZiAoIWJyYW5jaCB8fCAhcmV2aXNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBicmFuY2ggYW5kIHJldmlzaW9uIGZyb20gc291cmNlIHJlcG8uJyk7XG4gIH1cbiAgcmV0dXJuIHsgYnJhbmNoLCByZXZpc2lvbiB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGV2QnJhbmNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgZGV2QnJhbmNoIH0gPSBnZXRDZmcoKTtcbiAgcmV0dXJuIGRldkJyYW5jaCB8fCAoYXdhaXQgZ2V0UmVwb1R5cGUoKSkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSB7XG4gICAgICBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFubmVyKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgY29weXJpZ2h0ID0gJycgfSA9IGdldENmZygpO1xuICBjb25zdCB7IGluZm8sIG5hbWUgfSA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICByZXR1cm4gYCR7bmFtZX0gdiR7aW5mb30gfCAoYykgJHt0b2RheS5nZXRGdWxsWWVhcigpfSAke2NvcHlyaWdodH0gfCBidWlsdCBvbiAke3RvZGF5LnRvSVNPU3RyaW5nKCl9YDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb25Db2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBgLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9ICR7SlNPTi5zdHJpbmdpZnkoYXdhaXQgZ2V0VmVyc2lvbigpLCBudWxsLCAyKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VW5pcXVlQnVpbGRUYWcoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uLCBidWlsZCB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICByZXR1cm4gYCR7YnJhbmNofS0ke3JldmlzaW9ufS0ke2J1aWxkfWA7XG59XG4iXX0=
|
package/version.js.flow
CHANGED
|
@@ -6,9 +6,8 @@ import { getCfg, getPkg } from './pkg';
|
|
|
6
6
|
import { buildLog } from './run';
|
|
7
7
|
|
|
8
8
|
export function getBuild(): string {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return arg || process.env.BUILD_NUMBER || '0';
|
|
9
|
+
const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
|
|
10
|
+
return (arg && arg.substr(11)) || process.env.BUILD_NUMBER || '0';
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
export function getReleaseBranch(): string {
|
|
@@ -17,7 +16,7 @@ export function getReleaseBranch(): string {
|
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
type RepoType = 'git' | 'hg' | 'unknown';
|
|
20
|
-
export function getRepoType(): RepoType {
|
|
19
|
+
export async function getRepoType(): Promise<RepoType> {
|
|
21
20
|
const { repoType } = getCfg();
|
|
22
21
|
|
|
23
22
|
return (
|
|
@@ -36,7 +35,7 @@ type RepoInfo = {
|
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
export async function getRepoInfo(): Promise<RepoInfo> {
|
|
39
|
-
const repoType = getRepoType();
|
|
38
|
+
const repoType = await getRepoType();
|
|
40
39
|
const { branch, revision } =
|
|
41
40
|
repoType === 'git'
|
|
42
41
|
? await gitInfo()
|
|
@@ -49,9 +48,9 @@ export async function getRepoInfo(): Promise<RepoInfo> {
|
|
|
49
48
|
return { branch, revision };
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
export function getDevBranch(): string {
|
|
51
|
+
export async function getDevBranch(): Promise<string> {
|
|
53
52
|
const { devBranch } = getCfg();
|
|
54
|
-
return devBranch || getRepoType() === 'hg' ? 'default' : 'dev';
|
|
53
|
+
return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
export async function getIsRelease(
|
|
@@ -118,7 +117,9 @@ export async function getVersion(
|
|
|
118
117
|
npm,
|
|
119
118
|
info,
|
|
120
119
|
};
|
|
121
|
-
if (logIt)
|
|
120
|
+
if (logIt) {
|
|
121
|
+
buildLog(`Building version ${info}`);
|
|
122
|
+
}
|
|
122
123
|
}
|
|
123
124
|
return version;
|
|
124
125
|
}
|
package/yarn.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.yarnAdv = yarnAdv;exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.yarn = yarn;exports.yarnAdv = yarnAdv;exports.yarnFiles = void 0;exports.yarnInstall = yarnInstall;exports.yarnUpgrade = yarnUpgrade;
|
|
2
2
|
var _md5File = _interopRequireDefault(require("md5-file"));
|
|
3
3
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
4
4
|
var _path = _interopRequireDefault(require("path"));
|