occam-open-cli 4.0.44 → 4.0.45
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/constants.js +0 -6
- package/bin/operation/deflateRelease.js +4 -2
- package/bin/post.js +8 -7
- package/lib/constants.js +2 -4
- package/lib/utilities/fileSystem.js +4 -4
- package/package.json +2 -2
- package/src/constants.js +0 -1
- package/src/utilities/fileSystem.js +4 -4
- package/bin/contentTypes.js +0 -7
package/bin/constants.js
CHANGED
|
@@ -3,23 +3,17 @@
|
|
|
3
3
|
const END = "end",
|
|
4
4
|
DATA = "data",
|
|
5
5
|
OPEN = "open",
|
|
6
|
-
BASE64 = "base64",
|
|
7
6
|
OPEN_CLI = "Open-CLI",
|
|
8
|
-
USER_AGENT = "user-agent",
|
|
9
7
|
DOUBLE_DOTS = "..",
|
|
10
8
|
EMPTY_STRING = "",
|
|
11
|
-
CONTENT_TYPE = "content-type",
|
|
12
9
|
PACKAGE_JSON = "package.json";
|
|
13
10
|
|
|
14
11
|
module.exports = {
|
|
15
12
|
END,
|
|
16
13
|
DATA,
|
|
17
14
|
OPEN,
|
|
18
|
-
BASE64,
|
|
19
15
|
OPEN_CLI,
|
|
20
|
-
USER_AGENT,
|
|
21
16
|
DOUBLE_DOTS,
|
|
22
17
|
EMPTY_STRING,
|
|
23
|
-
CONTENT_TYPE,
|
|
24
18
|
PACKAGE_JSON
|
|
25
19
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { encodings } from "necessary";
|
|
4
|
+
|
|
3
5
|
const { deflate } = require("zlib");
|
|
4
6
|
|
|
5
|
-
const {
|
|
7
|
+
const { BASE64_ENCODING } = encodings;
|
|
6
8
|
|
|
7
9
|
function deflateReleaseOperation(proceed, abort, context) {
|
|
8
10
|
const { release } = context,
|
|
@@ -16,7 +18,7 @@ function deflateReleaseOperation(proceed, abort, context) {
|
|
|
16
18
|
return;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
const encoding =
|
|
21
|
+
const encoding = BASE64_ENCODING,
|
|
20
22
|
deflatedReleaseJSONString = buffer.toString(encoding),
|
|
21
23
|
deflatedRelease = deflatedReleaseJSONString; ///
|
|
22
24
|
|
package/bin/post.js
CHANGED
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
const os = require("os");
|
|
4
4
|
|
|
5
5
|
const { Readable } = require("stream");
|
|
6
|
-
const { requestUtilities } = require("necessary");
|
|
6
|
+
const { headers, contentTypes, requestUtilities } = require("necessary");
|
|
7
7
|
|
|
8
|
-
const {
|
|
8
|
+
const { OPEN_CLI } = require("./constants"),
|
|
9
|
+
{ retrieveHostURL } = require("./configuration"),
|
|
9
10
|
{ getPackageVersion } = require("./utilities/packageJSON"),
|
|
10
11
|
{ contentFromResponse } = require("./utilities/response"),
|
|
11
|
-
{ USER_AGENT, CONTENT_TYPE, OPEN_CLI } = require("./constants"),
|
|
12
|
-
{ APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE } = require("./contentTypes"),
|
|
13
12
|
{ SERVER_ERROR_MESSAGE, SERVER_FAILED_TO_RESPOND_ERROR_MESSAGE } = require("./messages");
|
|
14
13
|
|
|
15
|
-
const { createPostRequest } = requestUtilities
|
|
14
|
+
const { createPostRequest } = requestUtilities,
|
|
15
|
+
{ USER_AGENT_HEADER, CONTENT_TYPE_HEADER } = headers,
|
|
16
|
+
{ APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE } = contentTypes;
|
|
16
17
|
|
|
17
18
|
function post(uri, data, callback) {
|
|
18
19
|
const host = getHost(),
|
|
@@ -80,9 +81,9 @@ function getHeaders() {
|
|
|
80
81
|
const headers = {},
|
|
81
82
|
userAgent = getUserAgent();
|
|
82
83
|
|
|
83
|
-
headers[
|
|
84
|
+
headers[USER_AGENT_HEADER] = userAgent;
|
|
84
85
|
|
|
85
|
-
headers[
|
|
86
|
+
headers[CONTENT_TYPE_HEADER] = APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE;
|
|
86
87
|
|
|
87
88
|
return headers;
|
|
88
89
|
}
|
package/lib/constants.js
CHANGED
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.ENTRIES_MAXIMUM_ARRAY_LENGTH = exports.DOUBLE_SPACE =
|
|
6
|
-
var DOT = ".";
|
|
7
|
-
exports.DOT = DOT;
|
|
5
|
+
exports.ENTRIES_MAXIMUM_ARRAY_LENGTH = exports.DOUBLE_SPACE = void 0;
|
|
8
6
|
var DOUBLE_SPACE = " ";
|
|
9
7
|
exports.DOUBLE_SPACE = DOUBLE_SPACE;
|
|
10
8
|
var ENTRIES_MAXIMUM_ARRAY_LENGTH = 1024;
|
|
11
9
|
exports.ENTRIES_MAXIMUM_ARRAY_LENGTH = ENTRIES_MAXIMUM_ARRAY_LENGTH;
|
|
12
10
|
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBET1VCTEVfU1BBQ0UgPSBcIiAgXCI7XG5leHBvcnQgY29uc3QgRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCA9IDEwMjQ7XG4iXSwibmFtZXMiOlsiRE9VQkxFX1NQQUNFIiwiRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7Ozs7QUFFTCxHQUFLLENBQUNBLFlBQVksR0FBRyxDQUFJO1FBQW5CQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyw0QkFBNEIsR0FBRyxJQUFJO1FBQW5DQSw0QkFBNEIsR0FBNUJBLDRCQUE0QiJ9
|
|
@@ -19,8 +19,8 @@ var _project = _interopRequireDefault(require("../project"));
|
|
|
19
19
|
var _release = _interopRequireDefault(require("../release"));
|
|
20
20
|
var _projects = _interopRequireDefault(require("../projects"));
|
|
21
21
|
var _directory = _interopRequireDefault(require("../directory"));
|
|
22
|
-
var _constants = require("../constants");
|
|
23
22
|
var _name = require("../utilities/name");
|
|
23
|
+
var _constants = require("../constants");
|
|
24
24
|
var _filePath = require("../utilities/filePath");
|
|
25
25
|
var _messages = require("../messages");
|
|
26
26
|
function _interopRequireDefault(obj) {
|
|
@@ -49,7 +49,7 @@ function _interopRequireWildcard(obj) {
|
|
|
49
49
|
return newObj;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
var concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryPathFromPath = _necessary.pathUtilities.topmostDirectoryPathFromPath, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
|
|
52
|
+
var PERIOD_CHARACTER = _necessary.characters.PERIOD_CHARACTER, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryPathFromPath = _necessary.pathUtilities.topmostDirectoryPathFromPath, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
|
|
53
53
|
function loadFile(path, projectsDirectoryPath) {
|
|
54
54
|
var file = null;
|
|
55
55
|
try {
|
|
@@ -102,7 +102,7 @@ function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadH
|
|
|
102
102
|
return projects;
|
|
103
103
|
}
|
|
104
104
|
function releaseFromName(name) {
|
|
105
|
-
var topmostDirectoryName = name, projectsDirectoryPath =
|
|
105
|
+
var topmostDirectoryName = name, projectsDirectoryPath = PERIOD_CHARACTER, loadOnlyRecognisedFiles = true, doNotLoadHiddenFilesAndDirectories = true, entries = entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories), versionNumber = null, release = new _release.default(name, entries, versionNumber);
|
|
106
106
|
return release;
|
|
107
107
|
}
|
|
108
108
|
var _default = {
|
|
@@ -185,4 +185,4 @@ function topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath, d
|
|
|
185
185
|
return topmostDirectoryNames1;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcclxuXHJcbmltcG9ydCBGaWxlIGZyb20gXCIuLi9maWxlXCI7XHJcbmltcG9ydCBGaWxlcyBmcm9tIFwiLi4vZmlsZXNcIjtcclxuaW1wb3J0IEVudHJpZXMgZnJvbSBcIi4uL2VudHJpZXNcIjtcclxuaW1wb3J0IFByb2plY3QgZnJvbSBcIi4uL3Byb2plY3RcIjtcclxuaW1wb3J0IFJlbGVhc2UgZnJvbSBcIi4uL3JlbGVhc2VcIjtcclxuaW1wb3J0IFByb2plY3RzIGZyb20gXCIuLi9wcm9qZWN0c1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IERPVCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNOYW1lSGlkZGVuTmFtZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xyXG5pbXBvcnQgeyBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlUGF0aFwiO1xyXG5pbXBvcnQgeyBjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UgfSBmcm9tIFwiLi4vZmlsZVwiO1xyXG5pbXBvcnQgeyBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UgfSBmcm9tIFwiLi4vbWVzc2FnZXNcIjtcclxuXHJcbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocywgdG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgICAgZmlsZSA9IG5ldyBGaWxlKHBhdGgsIGNvbnRlbnQpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgcGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKSxcclxuICAgICAgICBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgdG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgbWtkaXJwLnN5bmModG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHdyaXRlRmlsZShhYnNvbHV0ZVBhdGgsIGNvbnRlbnQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGVzKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIGZpbGVzID0gbmV3IEZpbGVzKGFycmF5KTtcclxuXHJcbiAgcGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGVzKGZpbGVzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBmaWxlcy5mb3JFYWNoRmlsZSgoZmlsZSkgPT4ge1xyXG4gICAgc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgbmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lLCAgLy8vXHJcbiAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpLFxyXG4gICAgICAgIHByb2plY3QgPSBuZXcgUHJvamVjdChuYW1lLCBlbnRyaWVzKTtcclxuXHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUHJvamVjdHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gIGxldCBwcm9qZWN0cztcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFycmF5ID0gW107XHJcblxyXG4gICAgcHJvamVjdHMgPSBuZXcgUHJvamVjdHMoYXJyYXkpO1xyXG5cclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMuZm9yRWFjaCgodG9wbW9zdERpcmVjdG9yeU5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgICAgIHByb2plY3RzLmFkZFByb2plY3QocHJvamVjdCk7XHJcbiAgICB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcHJvamVjdHMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHByb2plY3RzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVsZWFzZUZyb21OYW1lKG5hbWUpIHtcclxuICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IG5hbWUsIC8vL1xyXG4gICAgICAgIHByb2plY3RzRGlyZWN0b3J5UGF0aCA9IERPVCxcclxuICAgICAgICBsb2FkT25seVJlY29nbmlzZWRGaWxlcyA9IHRydWUsXHJcbiAgICAgICAgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyA9IHRydWUsXHJcbiAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpLFxyXG4gICAgICAgIHZlcnNpb25OdW1iZXIgPSBudWxsLCAvLy9cclxuICAgICAgICByZWxlYXNlID0gbmV3IFJlbGVhc2UobmFtZSwgZW50cmllcywgdmVyc2lvbk51bWJlcik7XHJcblxyXG4gIHJldHVybiByZWxlYXNlO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbG9hZEZpbGUsXHJcbiAgc2F2ZUZpbGUsXHJcbiAgbG9hZEZpbGVzLFxyXG4gIHNhdmVGaWxlcyxcclxuICBsb2FkUHJvamVjdCxcclxuICBsb2FkUHJvamVjdHMsXHJcbiAgcmVsZWFzZUZyb21OYW1lXHJcbn07XHJcblxyXG5mdW5jdGlvbiBkaXJlY3RvcnlGcm9tUGF0aChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZGlyZWN0b3J5ID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICBkaXJlY3RvcnkgPSBuZXcgRGlyZWN0b3J5KHBhdGgpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBkaXJlY3Rvcnk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlOYW1lOyAgLy8vXHJcblxyXG4gIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpO1xyXG5cclxuICBjb25zdCBlbnRyaWVzID0gbmV3IEVudHJpZXMoYXJyYXkpO1xyXG5cclxuICByZXR1cm4gZW50cmllcztcclxufVxyXG5cclxuZnVuY3Rpb24gZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoYXJyYXksIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gIGNvbnN0IGFic29sdXRlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHN1YkVudHJ5TmFtZXMuZm9yRWFjaCgoc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSA9ICFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lLFxyXG4gICAgICAgICAgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyxcclxuICAgICAgICAgIGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzID0gIWxvYWRPbmx5UmVjb2duaXNlZEZpbGVzO1xyXG5cclxuICAgIGlmIChzdWJFbnRyeU5hbWVOb3RIaWRkZW5OYW1lIHx8IGxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgIGxldCBlbnRyeTtcclxuXHJcbiAgICAgIGNvbnN0IHBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgICAgZGlyZWN0b3J5ID0gZGlyZWN0b3J5RnJvbVBhdGgocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChkaXJlY3RvcnkgIT09IG51bGwpIHtcclxuICAgICAgICBjb25zdCBkaXJlY3RvcnlQYXRoID0gcGF0aDsgLy8vXHJcblxyXG4gICAgICAgIGlmIChsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgZW50cnkgPSBkaXJlY3Rvcnk7ICAvLy9cclxuXHJcbiAgICAgICAgICBhcnJheS5wdXNoKGVudHJ5KTsgIC8vL1xyXG5cclxuICAgICAgICAgIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG5cclxuICAgICAgICAgIGlmIChhcnJheUxlbmd0aCA+IEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEhfRVhDRUVERURfTUVTU0FHRSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCBkaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTsgLy8vXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggPSBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoKGZpbGVQYXRoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVSZWNvZ25pc2VkRmlsZSA9IGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoOyAgLy8vXHJcblxyXG4gICAgICAgICAgaWYgKGZpbGVSZWNvZ25pc2VkRmlsZSB8fCBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBlbnRyeSA9IGZpbGU7IC8vL1xyXG5cclxuICAgICAgICAgICAgYXJyYXkucHVzaChlbnRyeSk7ICAvLy9cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFycmF5TGVuZ3RoID4gRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCkge1xyXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBsZXQgdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG5cclxuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMgPSBzdWJFbnRyeU5hbWVzLnJlZHVjZSgodG9wbW9zdERpcmVjdG9yeU5hbWVzLCBzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IGFic29sdXRlU3ViRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSA9ICFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lLFxyXG4gICAgICAgICAgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcztcclxuXHJcbiAgICBpZiAoc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSB8fCBsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICBjb25zdCBzdWJFbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVTdWJFbnRyeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKHN1YkVudHJ5RGlyZWN0b3J5KSB7XHJcbiAgICAgICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBzdWJFbnRyeU5hbWU7ICAvLy9cclxuXHJcbiAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWVzLnB1c2godG9wbW9zdERpcmVjdG9yeU5hbWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxufVxyXG4iXSwibmFtZXMiOlsibG9hZEZpbGUiLCJzYXZlRmlsZSIsImxvYWRGaWxlcyIsInNhdmVGaWxlcyIsImxvYWRQcm9qZWN0IiwibG9hZFByb2plY3RzIiwicmVsZWFzZUZyb21OYW1lIiwiY29uY2F0ZW5hdGVQYXRocyIsInRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgiLCJyZWFkRmlsZSIsIndyaXRlRmlsZSIsImlzRW50cnlGaWxlIiwicmVhZERpcmVjdG9yeSIsImlzRW50cnlEaXJlY3RvcnkiLCJwYXRoIiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwiZmlsZSIsImFic29sdXRlUGF0aCIsImVudHJ5RmlsZSIsImNvbnRlbnQiLCJlcnJvciIsImdldFBhdGgiLCJnZXRDb250ZW50IiwidG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCIsInN5bmMiLCJwYXRocyIsImFycmF5IiwiZmlsZXMiLCJmb3JFYWNoIiwiYWRkRmlsZSIsImZvckVhY2hGaWxlIiwidG9wbW9zdERpcmVjdG9yeU5hbWUiLCJsb2FkT25seVJlY29nbmlzZWRGaWxlcyIsImRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMiLCJuYW1lIiwiZW50cmllcyIsImVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUiLCJwcm9qZWN0IiwicHJvamVjdHMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoIiwiYWRkUHJvamVjdCIsInZlcnNpb25OdW1iZXIiLCJyZWxlYXNlIiwiZGlyZWN0b3J5RnJvbVBhdGgiLCJkaXJlY3RvcnkiLCJlbnRyeURpcmVjdG9yeSIsInJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsImVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVEaXJlY3RvcnlQYXRoIiwic3ViRW50cnlOYW1lcyIsInN1YkVudHJ5TmFtZSIsInN1YkVudHJ5TmFtZUhpZGRlbk5hbWUiLCJzdWJFbnRyeU5hbWVOb3RIaWRkZW5OYW1lIiwibG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMiLCJsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyIsImVudHJ5IiwiZGlyZWN0b3J5UGF0aCIsInB1c2giLCJhcnJheUxlbmd0aCIsImxlbmd0aCIsIkVycm9yIiwiZmlsZVBhdGgiLCJmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImZpbGVSZWNvZ25pc2VkRmlsZSIsInJlZHVjZSIsImFic29sdXRlU3ViRW50cnlQYXRoIiwic3ViRW50cnlEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUF3QklBLFFBQVEsR0FBUkEsUUFBUTtRQXFCUkMsUUFBUSxHQUFSQSxRQUFRO1FBV1JDLFNBQVMsR0FBVEEsU0FBUztRQWFUQyxTQUFTLEdBQVRBLFNBQVM7UUFNVEMsV0FBVyxHQUFYQSxXQUFXO1FBUVhDLFlBQVksR0FBWkEsWUFBWTtRQXNCWkMsZUFBZSxHQUFmQSxlQUFlOztBQXZHWixHQUFRLENBQVIsT0FBUTtBQUV3QixHQUFXLENBQVgsVUFBVztBQUU3QyxHQUFTLENBQVQsS0FBUztBQUNSLEdBQVUsQ0FBVixNQUFVO0FBQ1IsR0FBWSxDQUFaLFFBQVk7QUFDWixHQUFZLENB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
|
|
188
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCBta2RpcnAgZnJvbSBcIm1rZGlycFwiO1xyXG5cclxuaW1wb3J0IHsgY2hhcmFjdGVycywgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcclxuXHJcbmltcG9ydCBGaWxlIGZyb20gXCIuLi9maWxlXCI7XHJcbmltcG9ydCBGaWxlcyBmcm9tIFwiLi4vZmlsZXNcIjtcclxuaW1wb3J0IEVudHJpZXMgZnJvbSBcIi4uL2VudHJpZXNcIjtcclxuaW1wb3J0IFByb2plY3QgZnJvbSBcIi4uL3Byb2plY3RcIjtcclxuaW1wb3J0IFJlbGVhc2UgZnJvbSBcIi4uL3JlbGVhc2VcIjtcclxuaW1wb3J0IFByb2plY3RzIGZyb20gXCIuLi9wcm9qZWN0c1wiO1xyXG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuLi9kaXJlY3RvcnlcIjtcclxuXHJcbmltcG9ydCB7IGlzTmFtZUhpZGRlbk5hbWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcclxuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVBhdGhcIjtcclxuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL2ZpbGVcIjtcclxuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFIH0gZnJvbSBcIi4uL21lc3NhZ2VzXCI7XHJcblxyXG5jb25zdCB7IFBFUklPRF9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnMsXHJcbiAgICAgIHsgY29uY2F0ZW5hdGVQYXRocywgdG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGNvbnRlbnQgPSByZWFkRmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgICAgZmlsZSA9IG5ldyBGaWxlKHBhdGgsIGNvbnRlbnQpO1xyXG4gICAgfVxyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgcGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKSxcclxuICAgICAgICBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgdG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgbWtkaXJwLnN5bmModG9wbW9zdEFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHdyaXRlRmlsZShhYnNvbHV0ZVBhdGgsIGNvbnRlbnQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGVzKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBhcnJheSA9IFtdLFxyXG4gICAgICAgIGZpbGVzID0gbmV3IEZpbGVzKGFycmF5KTtcclxuXHJcbiAgcGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGVzKGZpbGVzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBmaWxlcy5mb3JFYWNoRmlsZSgoZmlsZSkgPT4ge1xyXG4gICAgc2F2ZUZpbGUoZmlsZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgbmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lLCAgLy8vXHJcbiAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tVG9wbW9zdERpcmVjdG9yeU5hbWUodG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpLFxyXG4gICAgICAgIHByb2plY3QgPSBuZXcgUHJvamVjdChuYW1lLCBlbnRyaWVzKTtcclxuXHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUHJvamVjdHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gIGxldCBwcm9qZWN0cztcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGFycmF5ID0gW107XHJcblxyXG4gICAgcHJvamVjdHMgPSBuZXcgUHJvamVjdHMoYXJyYXkpO1xyXG5cclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMuZm9yRWFjaCgodG9wbW9zdERpcmVjdG9yeU5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgICAgIHByb2plY3RzLmFkZFByb2plY3QocHJvamVjdCk7XHJcbiAgICB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcHJvamVjdHMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHByb2plY3RzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVsZWFzZUZyb21OYW1lKG5hbWUpIHtcclxuICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IG5hbWUsIC8vL1xyXG4gICAgICAgIHByb2plY3RzRGlyZWN0b3J5UGF0aCA9IFBFUklPRF9DSEFSQUNURVIsXHJcbiAgICAgICAgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMgPSB0cnVlLFxyXG4gICAgICAgIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMgPSB0cnVlLFxyXG4gICAgICAgIGVudHJpZXMgPSBlbnRyaWVzRnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSxcclxuICAgICAgICB2ZXJzaW9uTnVtYmVyID0gbnVsbCwgLy8vXHJcbiAgICAgICAgcmVsZWFzZSA9IG5ldyBSZWxlYXNlKG5hbWUsIGVudHJpZXMsIHZlcnNpb25OdW1iZXIpO1xyXG5cclxuICByZXR1cm4gcmVsZWFzZTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGxvYWRGaWxlLFxyXG4gIHNhdmVGaWxlLFxyXG4gIGxvYWRGaWxlcyxcclxuICBzYXZlRmlsZXMsXHJcbiAgbG9hZFByb2plY3QsXHJcbiAgbG9hZFByb2plY3RzLFxyXG4gIHJlbGVhc2VGcm9tTmFtZVxyXG59O1xyXG5cclxuZnVuY3Rpb24gZGlyZWN0b3J5RnJvbVBhdGgocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGRpcmVjdG9yeSA9IG51bGw7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICBpZiAoZW50cnlEaXJlY3RvcnkpIHtcclxuICAgICAgZGlyZWN0b3J5ID0gbmV3IERpcmVjdG9yeShwYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZGlyZWN0b3J5O1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbnRyaWVzRnJvbVRvcG1vc3REaXJlY3RvcnlOYW1lKHRvcG1vc3REaXJlY3RvcnlOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgY29uc3QgYXJyYXkgPSBbXSxcclxuICAgICAgICByZWxhdGl2ZURpcmVjdG9yeVBhdGggPSB0b3Btb3N0RGlyZWN0b3J5TmFtZTsgIC8vL1xyXG5cclxuICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChhcnJheSwgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKTtcclxuXHJcbiAgY29uc3QgZW50cmllcyA9IG5ldyBFbnRyaWVzKGFycmF5KTtcclxuXHJcbiAgcmV0dXJuIGVudHJpZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGFycmF5LCByZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMsIGRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICBjb25zdCBhYnNvbHV0ZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcmVsYXRpdmVEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShhYnNvbHV0ZURpcmVjdG9yeVBhdGgpO1xyXG5cclxuICBzdWJFbnRyeU5hbWVzLmZvckVhY2goKHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3Qgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgPSAhc3ViRW50cnlOYW1lSGlkZGVuTmFtZSxcclxuICAgICAgICAgIGxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzID0gIWRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMsXHJcbiAgICAgICAgICBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyA9ICFsb2FkT25seVJlY29nbmlzZWRGaWxlcztcclxuXHJcbiAgICBpZiAoc3ViRW50cnlOYW1lTm90SGlkZGVuTmFtZSB8fCBsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICBsZXQgZW50cnk7XHJcblxyXG4gICAgICBjb25zdCBwYXRoID0gY29uY2F0ZW5hdGVQYXRocyhyZWxhdGl2ZURpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICAgIGRpcmVjdG9yeSA9IGRpcmVjdG9yeUZyb21QYXRoKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoZGlyZWN0b3J5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IHBhdGg7IC8vL1xyXG5cclxuICAgICAgICBpZiAobG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgIGVudHJ5ID0gZGlyZWN0b3J5OyAgLy8vXHJcblxyXG4gICAgICAgICAgYXJyYXkucHVzaChlbnRyeSk7ICAvLy9cclxuXHJcbiAgICAgICAgICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcclxuXHJcbiAgICAgICAgICBpZiAoYXJyYXlMZW5ndGggPiBFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFTlRSSUVTX01BWElNVU1fQVJSQVlfTEVOR1RIX0VYQ0VFREVEX01FU1NBR0UpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChhcnJheSwgZGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcywgZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3Rvcmllcyk7IC8vL1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoID0gaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aChmaWxlUGF0aCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUmVjb2duaXNlZEZpbGUgPSBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aDsgIC8vL1xyXG5cclxuICAgICAgICAgIGlmIChmaWxlUmVjb2duaXNlZEZpbGUgfHwgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgICAgZW50cnkgPSBmaWxlOyAvLy9cclxuXHJcbiAgICAgICAgICAgIGFycmF5LnB1c2goZW50cnkpOyAgLy8vXHJcblxyXG4gICAgICAgICAgICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcclxuXHJcbiAgICAgICAgICAgIGlmIChhcnJheUxlbmd0aCA+IEVOVFJJRVNfTUFYSU1VTV9BUlJBWV9MRU5HVEgpIHtcclxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRU5UUklFU19NQVhJTVVNX0FSUkFZX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBkb05vdExvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgbGV0IHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3REaXJlY3RvcnlOYW1lcywgc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVN1YkVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgPSAhc3ViRW50cnlOYW1lSGlkZGVuTmFtZSxcclxuICAgICAgICAgIGxvYWRIaWRkZW5GaWxlc0FuZERpcmVjdG9yaWVzID0gIWRvTm90TG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXM7XHJcblxyXG4gICAgaWYgKHN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUgfHwgbG9hZEhpZGRlbkZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgY29uc3Qgc3ViRW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5wdXNoKHRvcG1vc3REaXJlY3RvcnlOYW1lKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbn1cclxuIl0sIm5hbWVzIjpbImxvYWRGaWxlIiwic2F2ZUZpbGUiLCJsb2FkRmlsZXMiLCJzYXZlRmlsZXMiLCJsb2FkUHJvamVjdCIsImxvYWRQcm9qZWN0cyIsInJlbGVhc2VGcm9tTmFtZSIsIlBFUklPRF9DSEFSQUNURVIiLCJjb25jYXRlbmF0ZVBhdGhzIiwidG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCIsInJlYWRGaWxlIiwid3JpdGVGaWxlIiwiaXNFbnRyeUZpbGUiLCJyZWFkRGlyZWN0b3J5IiwiaXNFbnRyeURpcmVjdG9yeSIsInBhdGgiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJmaWxlIiwiYWJzb2x1dGVQYXRoIiwiZW50cnlGaWxlIiwiY29udGVudCIsImVycm9yIiwiZ2V0UGF0aCIsImdldENvbnRlbnQiLCJ0b3Btb3N0QWJzb2x1dGVEaXJlY3RvcnlQYXRoIiwic3luYyIsInBhdGhzIiwiYXJyYXkiLCJmaWxlcyIsImZvckVhY2giLCJhZGRGaWxlIiwiZm9yRWFjaEZpbGUiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZSIsImxvYWRPbmx5UmVjb2duaXNlZEZpbGVzIiwiZG9Ob3RMb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyIsIm5hbWUiLCJlbnRyaWVzIiwiZW50cmllc0Zyb21Ub3Btb3N0RGlyZWN0b3J5TmFtZSIsInByb2plY3QiLCJwcm9qZWN0cyIsInRvcG1vc3REaXJlY3RvcnlOYW1lcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJhZGRQcm9qZWN0IiwidmVyc2lvbk51bWJlciIsInJlbGVhc2UiLCJkaXJlY3RvcnlGcm9tUGF0aCIsImRpcmVjdG9yeSIsImVudHJ5RGlyZWN0b3J5IiwicmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwiZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJzdWJFbnRyeU5hbWVzIiwic3ViRW50cnlOYW1lIiwic3ViRW50cnlOYW1lSGlkZGVuTmFtZSIsInN1YkVudHJ5TmFtZU5vdEhpZGRlbk5hbWUiLCJsb2FkSGlkZGVuRmlsZXNBbmREaXJlY3RvcmllcyIsImxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzIiwiZW50cnkiLCJkaXJlY3RvcnlQYXRoIiwicHVzaCIsImFycmF5TGVuZ3RoIiwibGVuZ3RoIiwiRXJyb3IiLCJmaWxlUGF0aCIsImZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiZmlsZVJlY29nbmlzZWRGaWxlIiwicmVkdWNlIiwiYWJzb2x1dGVTdWJFbnRyeVBhdGgiLCJzdWJFbnRyeURpcmVjdG9yeSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQXdCSUEsUUFBUSxHQUFSQSxRQUFRO1FBcUJSQyxRQUFRLEdBQVJBLFFBQVE7UUFXUkMsU0FBUyxHQUFUQSxTQUFTO1FBYVRDLFNBQVMsR0FBVEEsU0FBUztRQU1UQyxXQUFXLEdBQVhBLFdBQVc7UUFRWEMsWUFBWSxHQUFaQSxZQUFZO1FBc0JaQyxlQUFlLEdBQWZBLGVBQWU7O0FBdkdaLEdBQVEsQ0FBUixPQUFRO0FBRW9DLEdBQVcsQ0FBWCxVQUFXO0FBRXpELEdBQVMsQ0FBVCxLQUFTO0FBQ1Is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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-open-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.45",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-open-cli",
|
|
7
7
|
"description": "Occam's command line package management tool.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.15",
|
|
14
14
|
"mkdirp": "^0.5.1",
|
|
15
|
-
"necessary": "^11.0.
|
|
15
|
+
"necessary": "^11.0.19",
|
|
16
16
|
"occam-parsers": "^14.1.4"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
package/src/constants.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import mkdirp from "mkdirp";
|
|
4
4
|
|
|
5
|
-
import { pathUtilities, fileSystemUtilities } from "necessary";
|
|
5
|
+
import { characters, pathUtilities, fileSystemUtilities } from "necessary";
|
|
6
6
|
|
|
7
7
|
import File from "../file";
|
|
8
8
|
import Files from "../files";
|
|
@@ -12,14 +12,14 @@ import Release from "../release";
|
|
|
12
12
|
import Projects from "../projects";
|
|
13
13
|
import Directory from "../directory";
|
|
14
14
|
|
|
15
|
-
import { DOT } from "../constants";
|
|
16
15
|
import { isNameHiddenName } from "../utilities/name";
|
|
17
16
|
import { ENTRIES_MAXIMUM_ARRAY_LENGTH } from "../constants";
|
|
18
17
|
import { isFilePathRecognisedFilePath } from "../utilities/filePath";
|
|
19
18
|
import { convertContentTabsToWhitespace } from "../file";
|
|
20
19
|
import { ENTRIES_MAXIMUM_ARRAY_LENGTH_EXCEEDED_MESSAGE } from "../messages";
|
|
21
20
|
|
|
22
|
-
const {
|
|
21
|
+
const { PERIOD_CHARACTER } = characters,
|
|
22
|
+
{ concatenatePaths, topmostDirectoryPathFromPath } = pathUtilities,
|
|
23
23
|
{ readFile, writeFile, isEntryFile, readDirectory, isEntryDirectory } = fileSystemUtilities;
|
|
24
24
|
|
|
25
25
|
export function loadFile(path, projectsDirectoryPath) {
|
|
@@ -105,7 +105,7 @@ export function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles, doN
|
|
|
105
105
|
|
|
106
106
|
export function releaseFromName(name) {
|
|
107
107
|
const topmostDirectoryName = name, ///
|
|
108
|
-
projectsDirectoryPath =
|
|
108
|
+
projectsDirectoryPath = PERIOD_CHARACTER,
|
|
109
109
|
loadOnlyRecognisedFiles = true,
|
|
110
110
|
doNotLoadHiddenFilesAndDirectories = true,
|
|
111
111
|
entries = entriesFromTopmostDirectoryName(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles, doNotLoadHiddenFilesAndDirectories),
|