bdy 1.22.58-stage → 1.22.59-dev
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/distTs/package.json +1 -1
- package/distTs/src/api/client.js +21 -1
- package/distTs/src/command/artifact/create.js +4 -2
- package/distTs/src/command/artifact/delete.js +5 -2
- package/distTs/src/command/artifact/download.js +5 -2
- package/distTs/src/command/artifact/get.js +4 -1
- package/distTs/src/command/artifact/list.js +7 -4
- package/distTs/src/command/artifact/publish.js +8 -5
- package/distTs/src/command/artifact/version/delete.js +4 -1
- package/distTs/src/command/artifact/version/get.js +4 -1
- package/distTs/src/command/artifact/version/list.js +4 -1
- package/distTs/src/command/distro/create.js +4 -3
- package/distTs/src/command/distro/delete.js +5 -2
- package/distTs/src/command/distro/list.js +4 -1
- package/distTs/src/command/distro/route/create.js +6 -3
- package/distTs/src/command/distro/route/delete.js +5 -2
- package/distTs/src/command/distro/route/list.js +5 -2
- package/distTs/src/command/distro/route/update.js +7 -4
- package/distTs/src/command/project/link.js +1 -1
- package/distTs/src/command/project/list.js +1 -1
- package/distTs/src/input.js +8 -12
- package/distTs/src/openapi.js +131 -5
- package/distTs/src/output.js +38 -2
- package/distTs/src/texts.js +5 -5
- package/distTs/src/types/distro.js +6 -6
- package/distTs/src/utils.js +2 -8
- package/package.json +1 -1
package/distTs/package.json
CHANGED
package/distTs/src/api/client.js
CHANGED
|
@@ -932,7 +932,27 @@ class ApiClient {
|
|
|
932
932
|
parseResponseBody: true,
|
|
933
933
|
});
|
|
934
934
|
}
|
|
935
|
-
async
|
|
935
|
+
async getAllProjects(workspace, limit = 2000) {
|
|
936
|
+
let page = 1;
|
|
937
|
+
const perPage = 100;
|
|
938
|
+
const projects = [];
|
|
939
|
+
while (page * perPage <= limit) {
|
|
940
|
+
const result = await this.getProjects(workspace, page, perPage);
|
|
941
|
+
if (result.projects && result.projects.length > 0) {
|
|
942
|
+
projects.push(...result.projects);
|
|
943
|
+
if (result.projects.length < perPage)
|
|
944
|
+
break;
|
|
945
|
+
page += 1;
|
|
946
|
+
}
|
|
947
|
+
else {
|
|
948
|
+
break;
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
return {
|
|
952
|
+
projects
|
|
953
|
+
};
|
|
954
|
+
}
|
|
955
|
+
async getProjects(workspace, page = 1, perPage = 100) {
|
|
936
956
|
const query = {
|
|
937
957
|
page: page.toString(),
|
|
938
958
|
per_page: perPage.toString(),
|
|
@@ -7,12 +7,14 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandArtifactCreate = (0, utils_1.newCommand)('create', texts_1.DESC_COMMAND_ARTIFACT_CREATE);
|
|
11
12
|
commandArtifactCreate.alias('add');
|
|
12
13
|
commandArtifactCreate.option('-i, --identifier <identifier>', texts_1.OPT_COMMAND_ARTIFACT_CREATE_IDENTIFIER);
|
|
13
14
|
commandArtifactCreate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
14
15
|
commandArtifactCreate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
15
16
|
commandArtifactCreate.option('-t, --type <type>', texts_1.OPT_COMMAND_ARTIFACT_TYPE, utils_1.ARTIFACT_TYPE.BUCKET);
|
|
17
|
+
commandArtifactCreate.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
16
18
|
commandArtifactCreate.option('-b, --buddy', texts_1.OPTION_HTTP_AUTH_BUDDY);
|
|
17
19
|
commandArtifactCreate.option('-a, --auth <user:pass>', texts_1.OPTION_HTTP_AUTH);
|
|
18
20
|
commandArtifactCreate.argument('[name]', texts_1.OPT_COMMAND_ARTIFACT_NAME);
|
|
@@ -23,7 +25,7 @@ commandArtifactCreate.action(async (name, options) => {
|
|
|
23
25
|
const project = input_1.default.restApiProject(options.project, true);
|
|
24
26
|
const client = input_1.default.restApiTokenClient();
|
|
25
27
|
const type = input_1.default.artifactType(options.type);
|
|
26
|
-
const scope = input_1.default.
|
|
28
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
27
29
|
if (!name) {
|
|
28
30
|
if (options.identifier)
|
|
29
31
|
name = options.identifier;
|
|
@@ -38,7 +40,7 @@ commandArtifactCreate.action(async (name, options) => {
|
|
|
38
40
|
type: utils_1.ARTIFACT_AUTH_TYPE.NONE,
|
|
39
41
|
},
|
|
40
42
|
};
|
|
41
|
-
if (project) {
|
|
43
|
+
if (project && scope === distro_1.SCOPE.PROJECT) {
|
|
42
44
|
data.project = {
|
|
43
45
|
name: project,
|
|
44
46
|
};
|
|
@@ -7,18 +7,21 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandArtifactDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_ARTIFACT_DELETE);
|
|
11
12
|
commandArtifactDelete.alias('rm');
|
|
12
13
|
commandArtifactDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
14
|
+
commandArtifactDelete.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
13
15
|
commandArtifactDelete.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
16
|
commandArtifactDelete.option('-f, --force', texts_1.OPTION_CONFIRM_FORCE);
|
|
15
17
|
commandArtifactDelete.argument('<identifier>', texts_1.OPT_COMMAND_ARTIFACT_IDENTIFIER);
|
|
16
18
|
commandArtifactDelete.addHelpText('after', texts_1.EXAMPLE_ARTIFACT_DELETE);
|
|
17
19
|
commandArtifactDelete.action(async (identifier, options) => {
|
|
18
20
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
19
|
-
const project = input_1.default.restApiProject(options.project);
|
|
21
|
+
const project = input_1.default.restApiProject(options.project, true);
|
|
22
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
20
23
|
const client = input_1.default.restApiTokenClient();
|
|
21
|
-
const data = await client.getArtifactVersionByIdentifier(workspace, project, identifier);
|
|
24
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
22
25
|
if (!data || !data.domain) {
|
|
23
26
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
24
27
|
}
|
|
@@ -11,9 +11,11 @@ const logger_1 = __importDefault(require("../../logger"));
|
|
|
11
11
|
const path_1 = require("path");
|
|
12
12
|
const fs_1 = __importDefault(require("fs"));
|
|
13
13
|
const promises_1 = __importDefault(require("node:stream/promises"));
|
|
14
|
+
const distro_1 = require("../../types/distro");
|
|
14
15
|
const commandArtifactDownload = (0, utils_1.newCommand)('download', texts_1.DESC_COMMAND_ARTIFACT_DOWNLOAD);
|
|
15
16
|
commandArtifactDownload.alias('dd');
|
|
16
17
|
commandArtifactDownload.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
18
|
+
commandArtifactDownload.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
17
19
|
commandArtifactDownload.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
18
20
|
commandArtifactDownload.option('-m, --merge', texts_1.OPTION_ARTIFACT_DOWNLOAD_MERGE);
|
|
19
21
|
commandArtifactDownload.option('-r, --replace', texts_1.OPTION_ARTIFACT_DOWNLOAD_REPLACE);
|
|
@@ -27,13 +29,14 @@ commandArtifactDownload.action(async (id, path, options) => {
|
|
|
27
29
|
const client = input_1.default.restApiTokenClient();
|
|
28
30
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
29
31
|
const project = input_1.default.restApiProject(options.project, true);
|
|
32
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
30
33
|
// eslint-disable-next-line prefer-const
|
|
31
34
|
let { identifier, version, isDefault } = input_1.default.artifactSplitIdentifier(id);
|
|
32
|
-
const data = await client.getArtifactVersionByIdentifier(workspace, project, identifier, version);
|
|
35
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier, version);
|
|
33
36
|
if (!data || !data.domain) {
|
|
34
37
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
35
38
|
}
|
|
36
|
-
if (project && !data.project_identifier) {
|
|
39
|
+
if (project && scope === distro_1.SCOPE.PROJECT && !data.project_identifier) {
|
|
37
40
|
output_1.default.exitError(texts_1.ERR_PROJECT_NOT_FOUND);
|
|
38
41
|
}
|
|
39
42
|
const artifactId = data.artifact_id;
|
|
@@ -7,16 +7,19 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandArtifactGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_ARTIFACT_GET);
|
|
11
12
|
commandArtifactGet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
|
+
commandArtifactGet.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
12
14
|
commandArtifactGet.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
13
15
|
commandArtifactGet.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
14
16
|
commandArtifactGet.argument('<identifier>', texts_1.OPTION_SANDBOX_IDENTIFIER);
|
|
15
17
|
commandArtifactGet.action(async (identifier, options) => {
|
|
16
18
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
17
19
|
const project = input_1.default.restApiProject(options.project, true);
|
|
20
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
18
21
|
const client = input_1.default.restApiTokenClient();
|
|
19
|
-
const data = await client.getArtifactVersionByIdentifier(workspace, project, identifier);
|
|
22
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
20
23
|
if (!data || !data.domain) {
|
|
21
24
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
22
25
|
}
|
|
@@ -7,20 +7,23 @@ const output_1 = __importDefault(require("../../output"));
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const utils_1 = require("../../utils");
|
|
9
9
|
const input_1 = __importDefault(require("../../input"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandArtifactList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_ARTIFACT_LIST);
|
|
11
12
|
commandArtifactList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
|
+
commandArtifactList.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
12
14
|
commandArtifactList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
13
15
|
commandArtifactList.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
14
16
|
commandArtifactList.alias('ls');
|
|
15
17
|
commandArtifactList.action(async (options) => {
|
|
16
18
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
17
19
|
const project = input_1.default.restApiProject(options.project, true);
|
|
20
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
18
21
|
const client = input_1.default.restApiTokenClient();
|
|
19
|
-
const response = await client.getArtifacts(workspace, project);
|
|
22
|
+
const response = await client.getArtifacts(workspace, scope === distro_1.SCOPE.PROJECT ? project : null);
|
|
20
23
|
const artifacts = response.artifacts || [];
|
|
21
24
|
if (options.format === 'json') {
|
|
22
|
-
const filtered =
|
|
23
|
-
? artifacts.filter((a) => a.scope !==
|
|
25
|
+
const filtered = scope === distro_1.SCOPE.PROJECT
|
|
26
|
+
? artifacts.filter((a) => a.scope !== distro_1.SCOPE.WORKSPACE)
|
|
24
27
|
: artifacts;
|
|
25
28
|
output_1.default.json(filtered);
|
|
26
29
|
}
|
|
@@ -30,7 +33,7 @@ commandArtifactList.action(async (options) => {
|
|
|
30
33
|
}
|
|
31
34
|
const data = [['NAME', 'IDENTIFIER', 'TYPE', 'URL']];
|
|
32
35
|
for (const artifact of artifacts) {
|
|
33
|
-
if (
|
|
36
|
+
if (scope === distro_1.SCOPE.PROJECT && artifact.scope === distro_1.SCOPE.WORKSPACE)
|
|
34
37
|
continue;
|
|
35
38
|
data.push([
|
|
36
39
|
artifact.name,
|
|
@@ -10,9 +10,11 @@ const output_1 = __importDefault(require("../../output"));
|
|
|
10
10
|
const logger_1 = __importDefault(require("../../logger"));
|
|
11
11
|
const fs_1 = __importDefault(require("fs"));
|
|
12
12
|
const path_1 = require("path");
|
|
13
|
+
const distro_1 = require("../../types/distro");
|
|
13
14
|
const commandArtifactPublish = (0, utils_1.newCommand)('publish', texts_1.DESC_COMMAND_ARTIFACT_PUBLISH);
|
|
14
15
|
commandArtifactPublish.alias('pub');
|
|
15
16
|
commandArtifactPublish.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
17
|
+
commandArtifactPublish.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
16
18
|
commandArtifactPublish.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
17
19
|
commandArtifactPublish.option('-c, --create', texts_1.OPTION_ARTIFACT_PUBLISH_CREATE);
|
|
18
20
|
commandArtifactPublish.option('-f, --force', texts_1.OPTION_ARTIFACT_PUBLISH_OVERWRITE_VERSION);
|
|
@@ -24,13 +26,14 @@ commandArtifactPublish.action(async (id, path, options) => {
|
|
|
24
26
|
let dirPath = input_1.default.resolvePath(path);
|
|
25
27
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
26
28
|
const project = input_1.default.restApiProject(options.project, true);
|
|
29
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
27
30
|
const { identifier, version } = input_1.default.artifactSplitIdentifier(id);
|
|
28
31
|
const client = input_1.default.restApiTokenClient();
|
|
29
|
-
const data = await client.getArtifactVersionByIdentifier(workspace, project, identifier, version);
|
|
32
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier, version);
|
|
30
33
|
if (!data || !data.domain) {
|
|
31
34
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
32
35
|
}
|
|
33
|
-
if (
|
|
36
|
+
if (scope === distro_1.SCOPE.PROJECT && !data.project_identifier) {
|
|
34
37
|
output_1.default.exitError(texts_1.ERR_PROJECT_NOT_FOUND);
|
|
35
38
|
}
|
|
36
39
|
let artifactId = data.artifact_id;
|
|
@@ -40,13 +43,13 @@ commandArtifactPublish.action(async (id, path, options) => {
|
|
|
40
43
|
name: identifier,
|
|
41
44
|
identifier,
|
|
42
45
|
type: utils_1.ARTIFACT_TYPE.BUCKET,
|
|
43
|
-
scope:
|
|
46
|
+
scope: distro_1.SCOPE.WORKSPACE,
|
|
44
47
|
authorization: {
|
|
45
48
|
type: utils_1.ARTIFACT_AUTH_TYPE.NONE,
|
|
46
49
|
},
|
|
47
50
|
};
|
|
48
|
-
if (project) {
|
|
49
|
-
data.scope =
|
|
51
|
+
if (scope === distro_1.SCOPE.PROJECT && project) {
|
|
52
|
+
data.scope = distro_1.SCOPE.PROJECT;
|
|
50
53
|
data.project = {
|
|
51
54
|
name: project,
|
|
52
55
|
};
|
|
@@ -7,11 +7,13 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandArtifactVersionDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_ARTIFACT_VERSION_DELETE);
|
|
11
12
|
commandArtifactVersionDelete.alias('rm');
|
|
12
13
|
commandArtifactVersionDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
14
|
commandArtifactVersionDelete.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
15
|
commandArtifactVersionDelete.argument('<identifier>', texts_1.OPT_COMMAND_ARTIFACT_IDENTIFIER);
|
|
16
|
+
commandArtifactVersionDelete.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
15
17
|
commandArtifactVersionDelete.option('-f, --force', texts_1.OPTION_CONFIRM_FORCE);
|
|
16
18
|
commandArtifactVersionDelete.argument('<version>', texts_1.OPT_COMMAND_ARTIFACT_VERSION);
|
|
17
19
|
commandArtifactVersionDelete.addHelpText('after', texts_1.EXAMPLE_ARTIFACT_VERSION_DELETE);
|
|
@@ -19,7 +21,8 @@ commandArtifactVersionDelete.action(async (identifier, version, options) => {
|
|
|
19
21
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
20
22
|
const project = input_1.default.restApiProject(options.project, true);
|
|
21
23
|
const client = input_1.default.restApiTokenClient();
|
|
22
|
-
const
|
|
24
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
25
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier, version);
|
|
23
26
|
if (!data || !data.domain) {
|
|
24
27
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
25
28
|
}
|
|
@@ -7,18 +7,21 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandArtifactVersionGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_ARTIFACT_VERSION_GET);
|
|
11
12
|
commandArtifactVersionGet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
12
13
|
commandArtifactVersionGet.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
13
14
|
commandArtifactVersionGet.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
14
15
|
commandArtifactVersionGet.argument('<identifier>', texts_1.OPT_COMMAND_ARTIFACT_IDENTIFIER);
|
|
16
|
+
commandArtifactVersionGet.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
15
17
|
commandArtifactVersionGet.argument('<version>', texts_1.OPT_COMMAND_ARTIFACT_VERSION);
|
|
16
18
|
commandArtifactVersionGet.addHelpText('after', texts_1.EXAMPLE_ARTIFACT_VERSION_GET);
|
|
17
19
|
commandArtifactVersionGet.action(async (identifier, version, options) => {
|
|
18
20
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
19
21
|
const project = input_1.default.restApiProject(options.project, true);
|
|
22
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
20
23
|
const client = input_1.default.restApiTokenClient();
|
|
21
|
-
const data = await client.getArtifactVersionByIdentifier(workspace, project, identifier, version);
|
|
24
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier, version);
|
|
22
25
|
if (!data || !data.domain) {
|
|
23
26
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
24
27
|
}
|
|
@@ -7,6 +7,7 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandArtifactVersionList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_ARTIFACT_VERSION_LIST);
|
|
11
12
|
commandArtifactVersionList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
12
13
|
commandArtifactVersionList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
@@ -15,14 +16,16 @@ commandArtifactVersionList.option('--per-page <number>', texts_1.OPTION_REST_API
|
|
|
15
16
|
commandArtifactVersionList.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
16
17
|
commandArtifactVersionList.alias('ls');
|
|
17
18
|
commandArtifactVersionList.argument('<identifier>', texts_1.OPT_COMMAND_ARTIFACT_IDENTIFIER);
|
|
19
|
+
commandArtifactVersionList.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
18
20
|
commandArtifactVersionList.addHelpText('after', texts_1.EXAMPLE_ARTIFACT_VERSION_LIST);
|
|
19
21
|
commandArtifactVersionList.action(async (identifier, options) => {
|
|
20
22
|
const page = input_1.default.restApiPage(options.page);
|
|
21
23
|
const perPage = input_1.default.restApiPerPage(options.perPage);
|
|
22
24
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
23
25
|
const project = input_1.default.restApiProject(options.project, true);
|
|
26
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
24
27
|
const client = input_1.default.restApiTokenClient();
|
|
25
|
-
const data = await client.getArtifactVersionByIdentifier(workspace, project, identifier);
|
|
28
|
+
const data = await client.getArtifactVersionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
26
29
|
if (!data || !data.domain) {
|
|
27
30
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
28
31
|
}
|
|
@@ -7,11 +7,12 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandDistroCreate = (0, utils_1.newCommand)('create', texts_1.DESC_COMMAND_DISTRO_CREATE);
|
|
11
12
|
commandDistroCreate.alias('add');
|
|
12
13
|
commandDistroCreate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
14
|
commandDistroCreate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
|
-
commandDistroCreate.option('
|
|
15
|
+
commandDistroCreate.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
15
16
|
commandDistroCreate.option('-i, --identifier <identifier>', texts_1.OPT_COMMAND_DISTRO_IDENTIFIER);
|
|
16
17
|
commandDistroCreate.option('-n, --name <name>', texts_1.OPT_COMMAND_DISTRO_NAME);
|
|
17
18
|
commandDistroCreate.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_DISTRO_CREATE}`);
|
|
@@ -20,7 +21,7 @@ commandDistroCreate.action(async (options) => {
|
|
|
20
21
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
21
22
|
const project = input_1.default.restApiProject(options.project, true);
|
|
22
23
|
const client = input_1.default.restApiTokenClient();
|
|
23
|
-
const scope = input_1.default.
|
|
24
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
24
25
|
const timestamp = Date.now().toString(36);
|
|
25
26
|
const baseName = humanId({ separator: '-', capitalize: false });
|
|
26
27
|
const defaultIdentifier = `${baseName}-${timestamp}`;
|
|
@@ -29,7 +30,7 @@ commandDistroCreate.action(async (options) => {
|
|
|
29
30
|
identifier: options.identifier || defaultIdentifier,
|
|
30
31
|
scope,
|
|
31
32
|
};
|
|
32
|
-
if (project)
|
|
33
|
+
if (project && scope === distro_1.SCOPE.PROJECT)
|
|
33
34
|
body.project_name = project;
|
|
34
35
|
const result = await client.createDistro(workspace, body);
|
|
35
36
|
output_1.default.identifier(result.identifier);
|
|
@@ -7,9 +7,11 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandDistroDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_DISTRO_DELETE);
|
|
11
12
|
commandDistroDelete.alias('rm');
|
|
12
13
|
commandDistroDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
14
|
+
commandDistroDelete.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
13
15
|
commandDistroDelete.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
16
|
commandDistroDelete.option('-f, --force', texts_1.OPTION_CONFIRM_FORCE);
|
|
15
17
|
commandDistroDelete.argument('<identifier>', texts_1.OPT_COMMAND_DISTRO_IDENTIFIER);
|
|
@@ -17,8 +19,9 @@ commandDistroDelete.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_DISTRO_DE
|
|
|
17
19
|
commandDistroDelete.action(async (identifier, options) => {
|
|
18
20
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
19
21
|
const project = input_1.default.restApiProject(options.project, true);
|
|
22
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
20
23
|
const client = input_1.default.restApiTokenClient();
|
|
21
|
-
const data = await client.getDistributionByIdentifier(workspace, project, identifier);
|
|
24
|
+
const data = await client.getDistributionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
22
25
|
if (!data || !data.domain) {
|
|
23
26
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
24
27
|
}
|
|
@@ -28,7 +31,7 @@ commandDistroDelete.action(async (identifier, options) => {
|
|
|
28
31
|
const confirmed = options.force ||
|
|
29
32
|
(await output_1.default.confirm((0, texts_1.TXT_COMMAND_DISTRO_DELETE_CONFIRM)(identifier)));
|
|
30
33
|
if (confirmed) {
|
|
31
|
-
await client.deleteDistribution(workspace, project, data.distribution_id);
|
|
34
|
+
await client.deleteDistribution(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, data.distribution_id);
|
|
32
35
|
output_1.default.exitSuccess(texts_1.TXT_COMMAND_DISTRO_DELETED);
|
|
33
36
|
}
|
|
34
37
|
else {
|
|
@@ -7,17 +7,20 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const distro_1 = require("../../types/distro");
|
|
10
11
|
const commandDistroList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_DISTRO_LIST);
|
|
11
12
|
commandDistroList.alias('ls');
|
|
12
13
|
commandDistroList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
14
|
commandDistroList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
15
|
commandDistroList.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
15
16
|
commandDistroList.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_DISTRO_LIST}`);
|
|
17
|
+
commandDistroList.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
16
18
|
commandDistroList.action(async (options) => {
|
|
17
19
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
18
20
|
const project = input_1.default.restApiProject(options.project, true);
|
|
21
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
19
22
|
const client = input_1.default.restApiTokenClient();
|
|
20
|
-
const r = await client.getDistributions(workspace, project);
|
|
23
|
+
const r = await client.getDistributions(workspace, scope === distro_1.SCOPE.PROJECT ? project : null);
|
|
21
24
|
const distributions = r.distributions || [];
|
|
22
25
|
if (options.format === 'json') {
|
|
23
26
|
output_1.default.json(distributions);
|
|
@@ -7,10 +7,12 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandDistroRouteCreate = (0, utils_1.newCommand)('create', texts_1.DESC_COMMAND_ROUTE_CREATE);
|
|
11
12
|
commandDistroRouteCreate.alias('add');
|
|
12
13
|
commandDistroRouteCreate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
14
|
commandDistroRouteCreate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
15
|
+
commandDistroRouteCreate.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
14
16
|
commandDistroRouteCreate.option('-t, --type <type>', texts_1.OPT_COMMAND_ROUTE_TYPE);
|
|
15
17
|
commandDistroRouteCreate.option('-s, --subdomain <subdomain>', texts_1.OPT_COMMAND_ROUTE_SUBDOMAIN);
|
|
16
18
|
commandDistroRouteCreate.option('-d, --domain <domain>', texts_1.OPT_COMMAND_ROUTE_DOMAIN);
|
|
@@ -21,6 +23,7 @@ commandDistroRouteCreate.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ROUT
|
|
|
21
23
|
commandDistroRouteCreate.action(async (identifier, options) => {
|
|
22
24
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
23
25
|
const project = input_1.default.restApiProject(options.project, true);
|
|
26
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
24
27
|
const client = input_1.default.restApiTokenClient();
|
|
25
28
|
const type = input_1.default.routeType(options.type);
|
|
26
29
|
const body = {
|
|
@@ -33,15 +36,15 @@ commandDistroRouteCreate.action(async (identifier, options) => {
|
|
|
33
36
|
body.domain = options.domain;
|
|
34
37
|
if (options.path)
|
|
35
38
|
body.path = input_1.default.routePath(options.path);
|
|
36
|
-
const data = await client.getDistributionByIdentifier(workspace, project, identifier);
|
|
39
|
+
const data = await client.getDistributionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
37
40
|
if (!data?.domain) {
|
|
38
41
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
39
42
|
}
|
|
40
43
|
if (!data?.distribution_id) {
|
|
41
44
|
output_1.default.exitError(texts_1.ERR_COMMAND_DISTRO_NOT_FOUND);
|
|
42
45
|
}
|
|
43
|
-
body.targets = await input_1.default.routeTarget(client, workspace, project, options.target);
|
|
44
|
-
const result = await client.createRoute(workspace, project, data.distribution_id, body);
|
|
46
|
+
body.targets = await input_1.default.routeTarget(client, workspace, scope === distro_1.SCOPE.PROJECT ? project : null, options.target);
|
|
47
|
+
const result = await client.createRoute(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, data.distribution_id, body);
|
|
45
48
|
output_1.default.id(result.id);
|
|
46
49
|
output_1.default.cyan(result.html_url);
|
|
47
50
|
output_1.default.green(texts_1.TXT_COMMAND_ROUTE_CREATED);
|
|
@@ -7,10 +7,12 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandDistroRouteDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_ROUTE_DELETE);
|
|
11
12
|
commandDistroRouteDelete.alias('rm');
|
|
12
13
|
commandDistroRouteDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
13
14
|
commandDistroRouteDelete.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
15
|
+
commandDistroRouteDelete.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
14
16
|
commandDistroRouteDelete.option('-f, --force', texts_1.OPTION_CONFIRM_FORCE);
|
|
15
17
|
commandDistroRouteDelete.argument('<identifier>', texts_1.OPT_COMMAND_DISTRO_IDENTIFIER);
|
|
16
18
|
commandDistroRouteDelete.argument('<route-id>', texts_1.OPT_COMMAND_ROUTE_ID);
|
|
@@ -18,8 +20,9 @@ commandDistroRouteDelete.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ROUT
|
|
|
18
20
|
commandDistroRouteDelete.action(async (identifier, routeId, options) => {
|
|
19
21
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
20
22
|
const project = input_1.default.restApiProject(options.project, true);
|
|
23
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
21
24
|
const client = input_1.default.restApiTokenClient();
|
|
22
|
-
const data = await client.getDistributionByIdentifier(workspace, project, identifier);
|
|
25
|
+
const data = await client.getDistributionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
23
26
|
if (!data?.domain) {
|
|
24
27
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
25
28
|
}
|
|
@@ -29,7 +32,7 @@ commandDistroRouteDelete.action(async (identifier, routeId, options) => {
|
|
|
29
32
|
const confirmed = options.force ||
|
|
30
33
|
(await output_1.default.confirm((0, texts_1.TXT_COMMAND_ROUTE_DELETE_CONFIRM)(identifier, routeId)));
|
|
31
34
|
if (confirmed) {
|
|
32
|
-
await client.deleteRoute(workspace, project, data.distribution_id, routeId);
|
|
35
|
+
await client.deleteRoute(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, data.distribution_id, routeId);
|
|
33
36
|
output_1.default.exitSuccess(texts_1.TXT_COMMAND_ROUTE_DELETED);
|
|
34
37
|
}
|
|
35
38
|
else {
|
|
@@ -7,9 +7,11 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandDistroRouteList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_ROUTE_LIST);
|
|
11
12
|
commandDistroRouteList.alias('ls');
|
|
12
13
|
commandDistroRouteList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
14
|
+
commandDistroRouteList.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
13
15
|
commandDistroRouteList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
16
|
commandDistroRouteList.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
15
17
|
commandDistroRouteList.argument('<identifier>', texts_1.OPT_COMMAND_DISTRO_IDENTIFIER);
|
|
@@ -17,15 +19,16 @@ commandDistroRouteList.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ROUTE_
|
|
|
17
19
|
commandDistroRouteList.action(async (identifier, options) => {
|
|
18
20
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
19
21
|
const project = input_1.default.restApiProject(options.project, true);
|
|
22
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
20
23
|
const client = input_1.default.restApiTokenClient();
|
|
21
|
-
const data = await client.getDistributionByIdentifier(workspace, project, identifier);
|
|
24
|
+
const data = await client.getDistributionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
22
25
|
if (!data?.domain) {
|
|
23
26
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
24
27
|
}
|
|
25
28
|
if (!data?.distribution_id) {
|
|
26
29
|
output_1.default.exitError(texts_1.ERR_COMMAND_DISTRO_NOT_FOUND);
|
|
27
30
|
}
|
|
28
|
-
const r = await client.listRoutes(workspace, project, data.distribution_id);
|
|
31
|
+
const r = await client.listRoutes(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, data.distribution_id);
|
|
29
32
|
const routes = r.routes || [];
|
|
30
33
|
if (options.format === 'json') {
|
|
31
34
|
output_1.default.json(routes);
|
|
@@ -7,9 +7,11 @@ const utils_1 = require("../../../utils");
|
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const distro_1 = require("../../../types/distro");
|
|
10
11
|
const commandDistroRouteUpdate = (0, utils_1.newCommand)('update', texts_1.DESC_COMMAND_ROUTE_UPDATE);
|
|
11
12
|
commandDistroRouteUpdate.alias('edit');
|
|
12
13
|
commandDistroRouteUpdate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
14
|
+
commandDistroRouteUpdate.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
|
|
13
15
|
commandDistroRouteUpdate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
14
16
|
commandDistroRouteUpdate.option('-t, --type <type>', texts_1.OPT_COMMAND_ROUTE_TYPE);
|
|
15
17
|
commandDistroRouteUpdate.option('-s, --subdomain <subdomain>', texts_1.OPT_COMMAND_ROUTE_SUBDOMAIN);
|
|
@@ -22,15 +24,16 @@ commandDistroRouteUpdate.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ROUT
|
|
|
22
24
|
commandDistroRouteUpdate.action(async (identifier, routeId, options) => {
|
|
23
25
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
24
26
|
const project = input_1.default.restApiProject(options.project, true);
|
|
27
|
+
const scope = input_1.default.scope(project, options.scope);
|
|
25
28
|
const client = input_1.default.restApiTokenClient();
|
|
26
|
-
const data = await client.getDistributionByIdentifier(workspace, project, identifier);
|
|
29
|
+
const data = await client.getDistributionByIdentifier(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, identifier);
|
|
27
30
|
if (!data?.domain) {
|
|
28
31
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
29
32
|
}
|
|
30
33
|
if (!data?.distribution_id) {
|
|
31
34
|
output_1.default.exitError(texts_1.ERR_COMMAND_DISTRO_NOT_FOUND);
|
|
32
35
|
}
|
|
33
|
-
const route = await client.getRoute(workspace, project, data.distribution_id, routeId);
|
|
36
|
+
const route = await client.getRoute(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, data.distribution_id, routeId);
|
|
34
37
|
let changed = false;
|
|
35
38
|
const body = {
|
|
36
39
|
type: route.type,
|
|
@@ -56,13 +59,13 @@ commandDistroRouteUpdate.action(async (identifier, routeId, options) => {
|
|
|
56
59
|
changed = true;
|
|
57
60
|
}
|
|
58
61
|
if (options.target && options.target.length > 0) {
|
|
59
|
-
body.targets = await input_1.default.routeTarget(client, workspace, project, options.target);
|
|
62
|
+
body.targets = await input_1.default.routeTarget(client, workspace, scope === distro_1.SCOPE.PROJECT ? project : null, options.target);
|
|
60
63
|
changed = true;
|
|
61
64
|
}
|
|
62
65
|
if (!changed) {
|
|
63
66
|
output_1.default.exitError(texts_1.ERR_COMMAND_ROUTE_NO_UPDATE);
|
|
64
67
|
}
|
|
65
|
-
const result = await client.updateRoute(workspace, project, data.distribution_id, routeId, body);
|
|
68
|
+
const result = await client.updateRoute(workspace, scope === distro_1.SCOPE.PROJECT ? project : null, data.distribution_id, routeId, body);
|
|
66
69
|
output_1.default.id(result.id);
|
|
67
70
|
output_1.default.cyan(result.html_url);
|
|
68
71
|
output_1.default.green(texts_1.TXT_COMMAND_ROUTE_UPDATED);
|
|
@@ -232,7 +232,7 @@ const createOrGetProject = async (path, options) => {
|
|
|
232
232
|
url = String(response.html_url || '');
|
|
233
233
|
}
|
|
234
234
|
else {
|
|
235
|
-
const response = await client.
|
|
235
|
+
const response = await client.getAllProjects(workspace);
|
|
236
236
|
if (!response.projects || response.projects.length === 0) {
|
|
237
237
|
output_1.default.exitError(texts_1.ERR_PROJECT_NO_PROJECTS);
|
|
238
238
|
}
|
|
@@ -14,7 +14,7 @@ commandProjectList.option('--format <text|json>', texts_1.OPTION_FORMAT);
|
|
|
14
14
|
commandProjectList.action(async (options) => {
|
|
15
15
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
16
16
|
const client = input_1.default.restApiTokenClient();
|
|
17
|
-
const response = await client.
|
|
17
|
+
const response = await client.getAllProjects(workspace);
|
|
18
18
|
const projects = response.projects || [];
|
|
19
19
|
if (options.format === 'json') {
|
|
20
20
|
output_1.default.json(projects);
|
package/distTs/src/input.js
CHANGED
|
@@ -370,11 +370,6 @@ class Input {
|
|
|
370
370
|
}
|
|
371
371
|
output_1.default.exitError(texts_1.ERR_COMMAND_ARTIFACT_TYPE);
|
|
372
372
|
}
|
|
373
|
-
static artifactScope(project) {
|
|
374
|
-
if (project)
|
|
375
|
-
return utils_1.ARTIFACT_SCOPE.PROJECT;
|
|
376
|
-
return utils_1.ARTIFACT_SCOPE.WORKSPACE;
|
|
377
|
-
}
|
|
378
373
|
static pipelineRunId(runId) {
|
|
379
374
|
const r = parseInt(runId, 10);
|
|
380
375
|
if (!isNaN(r))
|
|
@@ -1054,21 +1049,22 @@ class Input {
|
|
|
1054
1049
|
output_1.default.exitError(texts_1.ERR_API_WRONG_METHOD);
|
|
1055
1050
|
return null;
|
|
1056
1051
|
}
|
|
1057
|
-
static
|
|
1052
|
+
static scope(project, scope) {
|
|
1058
1053
|
if (scope) {
|
|
1059
|
-
|
|
1054
|
+
scope = scope.toUpperCase();
|
|
1055
|
+
if (scope === distro_1.SCOPE.WORKSPACE) {
|
|
1060
1056
|
return scope;
|
|
1061
1057
|
}
|
|
1062
|
-
if (scope === distro_1.
|
|
1058
|
+
if (scope === distro_1.SCOPE.PROJECT) {
|
|
1063
1059
|
if (!project)
|
|
1064
|
-
output_1.default.exitError(texts_1.
|
|
1060
|
+
output_1.default.exitError(texts_1.ERR_COMMAND_SCOPE_NO_PROJECT);
|
|
1065
1061
|
return scope;
|
|
1066
1062
|
}
|
|
1067
|
-
return output_1.default.exitError(texts_1.
|
|
1063
|
+
return output_1.default.exitError(texts_1.ERR_COMMAND_SCOPE);
|
|
1068
1064
|
}
|
|
1069
1065
|
if (project)
|
|
1070
|
-
return distro_1.
|
|
1071
|
-
return distro_1.
|
|
1066
|
+
return distro_1.SCOPE.PROJECT;
|
|
1067
|
+
return distro_1.SCOPE.WORKSPACE;
|
|
1072
1068
|
}
|
|
1073
1069
|
static restApiProject(project, allowNull) {
|
|
1074
1070
|
const ProjectCfg = require('./project/cfg').default;
|
package/distTs/src/openapi.js
CHANGED
|
@@ -1,19 +1,145 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.fetchOpenApiSchema = fetchOpenApiSchema;
|
|
4
7
|
const bundle_1 = require("@scalar/json-magic/bundle");
|
|
5
8
|
const node_1 = require("@scalar/json-magic/bundle/plugins/node");
|
|
6
9
|
const openapi_parser_1 = require("@scalar/openapi-parser");
|
|
10
|
+
const node_crypto_1 = require("node:crypto");
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
+
const node_v8_1 = require("node:v8");
|
|
7
14
|
const texts_1 = require("./texts");
|
|
8
15
|
const utils_1 = require("./utils");
|
|
16
|
+
const BUNDLE_PLUGINS = [(0, node_1.readFiles)(), (0, node_1.fetchUrls)(), (0, node_1.parseYaml)(), (0, node_1.parseJson)()];
|
|
17
|
+
// Hard cache window: within this period the cached schema is served with no
|
|
18
|
+
// network at all. After it expires the schema is revalidated (conditional GET),
|
|
19
|
+
// and a successful revalidation (304/200) resets the window.
|
|
20
|
+
const CACHE_TTL_MS = 60 * 60 * 1000;
|
|
21
|
+
// One cache set per schema URL (region/stage differ), keyed by a URL hash.
|
|
22
|
+
function cachePaths(url) {
|
|
23
|
+
const dir = node_path_1.default.join((0, utils_1.getHomeDirectory)(), 'openapi');
|
|
24
|
+
if (!(0, node_fs_1.existsSync)(dir))
|
|
25
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
26
|
+
const key = (0, node_crypto_1.createHash)('sha256').update(url).digest('hex').slice(0, 16);
|
|
27
|
+
return {
|
|
28
|
+
raw: node_path_1.default.join(dir, `${key}.json`),
|
|
29
|
+
schema: node_path_1.default.join(dir, `${key}.v8`),
|
|
30
|
+
meta: node_path_1.default.join(dir, `${key}.meta.json`),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function readMeta(metaPath) {
|
|
34
|
+
try {
|
|
35
|
+
return JSON.parse((0, node_fs_1.readFileSync)(metaPath, 'utf8'));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Write via temp + rename so a Ctrl+C can't leave a truncated cache file.
|
|
42
|
+
function writeAtomic(filePath, data) {
|
|
43
|
+
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
44
|
+
(0, node_fs_1.writeFileSync)(tmp, data);
|
|
45
|
+
(0, node_fs_1.renameSync)(tmp, filePath);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Refresh the cached raw schema body via a single conditional GET.
|
|
49
|
+
* 304 → keep cache ('unchanged'); 200 → rewrite raw + validators ('updated');
|
|
50
|
+
* network error → reuse any cached body ('unchanged') or report 'none'.
|
|
51
|
+
*/
|
|
52
|
+
async function refresh(url, paths) {
|
|
53
|
+
const hasRaw = (0, node_fs_1.existsSync)(paths.raw);
|
|
54
|
+
const meta = hasRaw ? readMeta(paths.meta) : {};
|
|
55
|
+
// The server serves a strong content-based ETag (identical across instances),
|
|
56
|
+
// so revalidate with If-None-Match.
|
|
57
|
+
const headers = {};
|
|
58
|
+
if (hasRaw && meta.etag)
|
|
59
|
+
headers['If-None-Match'] = meta.etag;
|
|
60
|
+
try {
|
|
61
|
+
const res = await fetch(url, { headers });
|
|
62
|
+
if (res.status === 304 && hasRaw) {
|
|
63
|
+
// Reset the hard-cache window; keep the existing validator.
|
|
64
|
+
writeAtomic(paths.meta, JSON.stringify({ etag: meta.etag, fetchedAt: Date.now() }));
|
|
65
|
+
return 'unchanged';
|
|
66
|
+
}
|
|
67
|
+
if (res.ok) {
|
|
68
|
+
writeAtomic(paths.raw, await res.text());
|
|
69
|
+
writeAtomic(paths.meta, JSON.stringify({
|
|
70
|
+
etag: res.headers.get('etag') ?? undefined,
|
|
71
|
+
fetchedAt: Date.now(),
|
|
72
|
+
}));
|
|
73
|
+
return 'updated';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// network error — fall back to the cached body if present
|
|
78
|
+
}
|
|
79
|
+
return hasRaw ? 'unchanged' : 'none';
|
|
80
|
+
}
|
|
81
|
+
// Bundle + dereference a schema source (local path or remote URL).
|
|
82
|
+
async function buildSchema(source) {
|
|
83
|
+
const data = await (0, bundle_1.bundle)(source, {
|
|
84
|
+
plugins: BUNDLE_PLUGINS,
|
|
85
|
+
treeShake: true,
|
|
86
|
+
});
|
|
87
|
+
const { schema } = await (0, openapi_parser_1.dereference)(data);
|
|
88
|
+
return schema ?? null;
|
|
89
|
+
}
|
|
90
|
+
// The dereferenced schema has circular refs, so it is cached with v8
|
|
91
|
+
// serialization (JSON.stringify can't handle cycles). The blob is
|
|
92
|
+
// Node-version specific, so a failed load just rebuilds from the raw body.
|
|
93
|
+
function loadCachedSchema(schemaPath) {
|
|
94
|
+
try {
|
|
95
|
+
return (0, node_v8_1.deserialize)((0, node_fs_1.readFileSync)(schemaPath));
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function saveCachedSchema(schemaPath, schema) {
|
|
102
|
+
try {
|
|
103
|
+
writeAtomic(schemaPath, (0, node_v8_1.serialize)(schema));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// caching is best-effort
|
|
107
|
+
}
|
|
108
|
+
}
|
|
9
109
|
async function fetchOpenApiSchema(baseUrl) {
|
|
10
110
|
try {
|
|
11
111
|
const url = (0, utils_1.getOpenApiEndpointByApiBaseUrl)(baseUrl);
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
112
|
+
const paths = cachePaths(url);
|
|
113
|
+
// Hard cache: within the TTL, serve the cached schema with no network call.
|
|
114
|
+
const meta = readMeta(paths.meta);
|
|
115
|
+
if (meta.fetchedAt && Date.now() - meta.fetchedAt < CACHE_TTL_MS) {
|
|
116
|
+
const cached = loadCachedSchema(paths.schema);
|
|
117
|
+
if (cached)
|
|
118
|
+
return cached;
|
|
119
|
+
}
|
|
120
|
+
const state = await refresh(url, paths);
|
|
121
|
+
let schema;
|
|
122
|
+
if (state === 'unchanged') {
|
|
123
|
+
// Fast path: reuse the cached dereferenced schema, skipping the
|
|
124
|
+
// download, bundle() and dereference() entirely. Rebuild from the raw
|
|
125
|
+
// body if the v8 blob is missing or unreadable (e.g. Node upgrade).
|
|
126
|
+
schema = loadCachedSchema(paths.schema);
|
|
127
|
+
if (!schema) {
|
|
128
|
+
schema = await buildSchema(paths.raw);
|
|
129
|
+
if (schema)
|
|
130
|
+
saveCachedSchema(paths.schema, schema);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else if (state === 'updated') {
|
|
134
|
+
schema = await buildSchema(paths.raw);
|
|
135
|
+
if (schema)
|
|
136
|
+
saveCachedSchema(paths.schema, schema);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// No cache and no usable response — last resort: bundle the remote URL
|
|
140
|
+
// directly (preserves the original cold/offline behaviour).
|
|
141
|
+
schema = await buildSchema(url);
|
|
142
|
+
}
|
|
17
143
|
if (schema)
|
|
18
144
|
return schema;
|
|
19
145
|
}
|
package/distTs/src/output.js
CHANGED
|
@@ -403,6 +403,42 @@ class Output {
|
|
|
403
403
|
item.disabled = disabled;
|
|
404
404
|
return item;
|
|
405
405
|
}
|
|
406
|
+
static async inputSearch(message, items) {
|
|
407
|
+
if (this.isStdInTTY()) {
|
|
408
|
+
const prompts = require('@inquirer/prompts');
|
|
409
|
+
try {
|
|
410
|
+
return await prompts.search({
|
|
411
|
+
message,
|
|
412
|
+
theme: this.getInquirerTheme(),
|
|
413
|
+
source: (input) => {
|
|
414
|
+
const result = [];
|
|
415
|
+
items.forEach((str, i) => {
|
|
416
|
+
if (!input || str.toLowerCase().includes(input.toLowerCase())) {
|
|
417
|
+
result.push({
|
|
418
|
+
name: str,
|
|
419
|
+
value: i,
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
return result;
|
|
424
|
+
},
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
catch {
|
|
428
|
+
this.exitError(texts_1.ERR_CANCELLED);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
this.cyan('? ', false);
|
|
433
|
+
this.normal(message, false);
|
|
434
|
+
if (items.length > 0) {
|
|
435
|
+
this.cyan(` ${items[0]}`);
|
|
436
|
+
return 0;
|
|
437
|
+
}
|
|
438
|
+
this.normal('');
|
|
439
|
+
return -1;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
406
442
|
static async inputMenu(message, items) {
|
|
407
443
|
if (this.isStdInTTY()) {
|
|
408
444
|
const prompts = require('@inquirer/prompts');
|
|
@@ -434,14 +470,14 @@ class Output {
|
|
|
434
470
|
return workspaces[0].domain;
|
|
435
471
|
}
|
|
436
472
|
const items = workspaces.map((w) => `${w.name} (${w.domain})`);
|
|
437
|
-
const index = await Output.
|
|
473
|
+
const index = await Output.inputSearch(texts_1.TXT_LOGIN_SELECT_WORKSPACE, items);
|
|
438
474
|
return workspaces[index].domain;
|
|
439
475
|
}
|
|
440
476
|
static async selectProject(projects, allowNoSet = true) {
|
|
441
477
|
const items = projects.map((p) => `${p.display_name} (${p.name})`);
|
|
442
478
|
if (allowNoSet)
|
|
443
479
|
items.unshift("Don't set (default)");
|
|
444
|
-
let index = await Output.
|
|
480
|
+
let index = await Output.inputSearch((0, texts_1.TXT_LOGIN_SELECT_PROJECT)(allowNoSet), items);
|
|
445
481
|
if (allowNoSet && !index)
|
|
446
482
|
return '';
|
|
447
483
|
if (!allowNoSet)
|
package/distTs/src/texts.js
CHANGED
|
@@ -13,8 +13,8 @@ exports.OPTION_SANDBOX_OS = exports.OPTION_SANDBOX_NAME = exports.OPTION_SANDBOX
|
|
|
13
13
|
exports.DESC_COMMAND_SANDBOX_APP_START = exports.DESC_COMMAND_SANDBOX_APP_STOP = exports.DESC_COMMAND_SANDBOX_APP_STATUS = exports.DESC_COMMAND_SANDBOX_APP_LOGS = exports.DESC_COMMAND_SANDBOX_EXEC_STATUS = exports.DESC_COMMAND_SANDBOX_EXEC_LIST = exports.DESC_COMMAND_SANDBOX_APP_REMOVE = exports.DESC_COMMAND_SANDBOX_APP_ADD = exports.DESC_COMMAND_SANDBOX_APP_LIST = exports.TXT_SANDBOX_WAITING_START = exports.TXT_SANDBOX_WAITING_STOP = exports.TXT_SANDBOX_WAITING_APPS = exports.TXT_SANDBOX_WAITING_SETUP = exports.TXT_SANDBOX_WAITING_RUNNING = exports.TXT_SANDBOX_STOPPED = exports.TXT_SANDBOX_STARTED = exports.TXT_SANDBOX_DESTROYED = exports.TXT_SANDBOX_DESTROY_CONFIRM = exports.TXT_SANDBOX_UPDATED = exports.TXT_SANDBOX_CREATED = exports.TXT_SANDBOX_CREATING = exports.TXT_SANDBOX_APP_STARTED = exports.TXT_SANDBOX_APP_STOPPED = exports.OPTION_SANDBOX_WAIT = exports.OPTION_SANDBOX_WAIT_APPS = exports.OPTION_SANDBOX_WAIT_CONFIGURED = exports.OPTION_SANDBOX_WAIT_RUNNING = exports.ERR_SANDBOX_STOP_FAILED = exports.ERR_SANDBOX_NO_COMMANDS = exports.ERR_SANDBOX_RUNNING_FAILED = exports.ERR_SANDBOX_STOP_TIMEOUT = exports.ERR_SANDBOX_SNAPSHOT_TIMEOUT = exports.ERR_SANDBOX_RUNNING_TIMEOUT = exports.ERR_SANDBOX_APPS_TIMEOUT = exports.ERR_SANDBOX_SETUP_TIMEOUT = exports.ERR_SANDBOX_APP_FAILED = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_APP_NOT_FOUND = exports.ERR_SANDBOX_NOT_FOUND = exports.OPTION_SANDBOX_RUNTIME = exports.OPTION_SANDBOX_TIMEOUT = exports.OPTION_SANDBOX_FETCH = exports.OPTION_SANDBOX_APP_DIR = exports.OPTION_SANDBOX_APP_COMMAND = exports.OPTION_SANDBOX_YAML = exports.OPTION_SANDBOX_TAGS = exports.OPTION_SANDBOX_INSTALL_SCRIPT = exports.OPTION_SANDBOX_INSTALL_COMMANDS = exports.OPTION_SANDBOX_RESOURCES = void 0;
|
|
14
14
|
exports.TXT_SANDBOX_UNZIP_DONE = exports.TXT_SANDBOX_UNZIP = exports.TXT_SANDBOX_CP_DOWNLOAD_DONE = exports.TXT_SANDBOX_CP_DOWNLOAD = exports.OPTION_SANDBOX_CP_IGNORE = exports.OPTION_SANDBOX_CP_USER = exports.OPTION_SANDBOX_CP_DOWNLOAD_REPLACE = exports.OPTION_SANDBOX_CP_DOWNLOAD_MERGE = exports.OPTION_SANDBOX_CP_DEST = exports.OPTION_SANDBOX_CP_SOURCE = exports.DESC_COMMAND_SANDBOX_CP = exports.ERR_SANDBOX_ENDPOINTS_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_EXISTS = exports.TXT_SANDBOX_ENDPOINT_DELETED = exports.TXT_SANDBOX_ENDPOINT_DELETE_CONFIRM = exports.TXT_SANDBOX_ENDPOINT_ADDED = exports.TXT_SANDBOX_APP_REMOVED = exports.TXT_SANDBOX_APP_ADDED = exports.OPTION_SANDBOX_ENDPOINT_TYPE = exports.OPTION_SANDBOX_ENDPOINT_PORT = exports.OPTION_SANDBOX_ENDPOINT_NAME_ARG = exports.OPTION_SANDBOX_ENDPOINT_NAME = exports.DESC_COMMAND_SANDBOX_ENDPOINT_DELETE = exports.DESC_COMMAND_SANDBOX_ENDPOINT_ADD = exports.DESC_COMMAND_SANDBOX_ENDPOINT_GET = exports.DESC_COMMAND_SANDBOX_ENDPOINT_LIST = exports.DESC_COMMAND_SANDBOX_ENDPOINT = exports.ERR_SANDBOX_SNAPSHOTS_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_FAILED = exports.TXT_SANDBOX_SNAPSHOT_WAITING = exports.TXT_SANDBOX_SNAPSHOT_DELETE_CONFIRM = exports.TXT_SANDBOX_SNAPSHOT_DELETED = exports.TXT_SANDBOX_SNAPSHOT_CREATED = exports.OPTION_SANDBOX_FROM_SNAPSHOT = exports.OPTION_SANDBOX_SNAPSHOT_NAME_ARG = exports.OPTION_SANDBOX_SNAPSHOT_NAME = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_DELETE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_GET = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_CREATE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_LIST = exports.DESC_COMMAND_SANDBOX_SNAPSHOT = exports.TXT_SANDBOX_COMMAND_KILLED = exports.OPTION_SANDBOX_COMMAND_KILL_CONFIRM = exports.OPTION_SANDBOX_LOGS_LIMIT = exports.OPTION_SANDBOX_APP_ID = exports.OPTION_SANDBOX_COMMAND_ID = exports.DESC_COMMAND_SANDBOX_EXEC_KILL = exports.DESC_COMMAND_SANDBOX_EXEC_LOGS = void 0;
|
|
15
15
|
exports.TXT_API_ENDPOINT_REQUIRED_SCOPES = exports.ERR_API_ENDPOINT_NOT_FOUND = exports.ERR_API_WRONG_METHOD = exports.ERR_SCHEMA_FETCH_FAILED = exports.OPT_COMMAND_API_INFO_URL = exports.OPT_COMMAND_API_INFO_SCHEMA = exports.OPT_COMMAND_API_INFO_METHOD = exports.OPT_COMMAND_API_LIST_SEARCH = exports.OPT_COMMAND_API_LIST_METHOD = exports.ERR_API_REQUEST_BODY_VALUE = exports.ERR_API_REQUEST_QUERY_VALUE = exports.ERR_API_REQUEST_INVALID_JSON = exports.ERR_API_REQUEST_FILE_ERROR = exports.ERR_API_REQUEST_OUTPUT_EXISTS = exports.DESC_COMMAND_API_INFO = exports.DESC_COMMAND_API_FORM = exports.DESC_COMMAND_API_JSON = exports.DESC_COMMAND_API_DATA = exports.DESC_COMMAND_API_OUTPUT = exports.DESC_COMMAND_API_REQUEST_QUERY = exports.DESC_COMMAND_API_PROJECT = exports.DESC_COMMAND_API_WORKSPACE = exports.DESC_COMMAND_API_REQUEST_URL = exports.DESC_COMMAND_API_GET = exports.DESC_COMMAND_API_PATCH = exports.DESC_COMMAND_API_DELETE = exports.DESC_COMMAND_API_PUT = exports.DESC_COMMAND_API_POST = exports.DESC_COMMAND_API_LIST = exports.DESC_COMMAND_API = exports.ERR_WHOAMI_LOGOUT = exports.TXT_WHOAMI_NO_WORKSPACE = exports.DESC_COMMAND_WHOAMI = exports.TXT_SANDBOX_EXEC_FAILED = exports.TXT_SANDBOX_EXEC_INPROGRESS = exports.TXT_SANDBOX_EXEC_SUCCESS = exports.TXT_SANDBOX_EXEC_BACKGROUND = exports.TXT_SANDBOX_EXEC_ID = exports.ERR_SANDBOX_CP_INVALID_SOURCE = exports.ERR_SANDBOX_CP_INVALID_DEST = exports.ERR_SANDBOX_CP_REPLACE = exports.ERR_SANDBOX_CP_MKDIR = exports.ERR_SANDBOX_CP_PATH_EXISTS = exports.ERR_SANDBOX_CP_NOT_EMPTY_DIR = exports.ERR_SANDBOX_CP_READDIR = exports.ERR_SANDBOX_CP_DEST_NOT_FOLDER = exports.ERR_SANDBOX_CP_SOURCE_NOT_FOUND = exports.TXT_SANDBOX_CP_DONE = exports.TXT_SANDBOX_CP_PROGRESS = exports.TXT_SANDBOX_UNZIPPING_COUNT = void 0;
|
|
16
|
-
exports.OPT_COMMAND_DISTRO_IDENTIFIER = exports.
|
|
17
|
-
exports.DESC_COMMAND_ARTIFACT_DELETE = exports.ERR_COMMAND_ARTIFACT_NO_PROJECTS = exports.DESC_COMMAND_ARTIFACT_VERSION_GET = exports.DESC_COMMAND_ARTIFACT_VERSION_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION_DELETE = exports.DESC_COMMAND_ARTIFACT_DOCKER_LOGIN = exports.DESC_COMMAND_ARTIFACT_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION = exports.ERR_COMMAND_DOMAIN_UNAVAILABLE = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = exports.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE = exports.OPT_COMMAND_DOMAIN_SORT = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = exports.OPT_COMMAND_DOMAIN_BUY_TLD = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_SEARCH = exports.DESC_COMMAND_DOMAIN_BUY = exports.DESC_COMMAND_DOMAIN = exports.ERR_ROUTE_NO_DEFAULT = exports.ERR_WRONG_ROUTE_TARGET = exports.ERR_COMMAND_ROUTE_NO_TARGET = exports.ERR_COMMAND_ROUTE_TYPE = exports.TXT_COMMAND_ROUTES_NOT_FOUND = exports.TXT_COMMAND_DISTROS_NOT_FOUND = exports.TXT_COMMAND_ROUTE_DELETED = exports.TXT_COMMAND_DISTRO_DELETED = exports.TXT_COMMAND_ROUTE_DELETE_CONFIRM = exports.TXT_COMMAND_DISTRO_DELETE_CONFIRM = exports.ERR_COMMAND_ROUTE_NO_UPDATE = exports.ERR_COMMAND_DISTRO_NOT_FOUND = exports.
|
|
16
|
+
exports.OPT_COMMAND_DISTRO_IDENTIFIER = exports.OPT_COMMAND_SCOPE = exports.DESC_COMMAND_ROUTE = exports.DESC_COMMAND_ROUTE_UPDATE = exports.DESC_COMMAND_ROUTE_DELETE = exports.DESC_COMMAND_ROUTE_LIST = exports.DESC_COMMAND_DISTRO_LIST = exports.DESC_COMMAND_DISTRO_DELETE = exports.DESC_COMMAND_ROUTE_CREATE = exports.DESC_COMMAND_DISTRO_CREATE = exports.DESC_COMMAND_DISTRO = exports.ERR_API_MESSAGE_REPLACER = exports.ERR_LOGIN_INVALID_BASE_URL = exports.ERR_LOGIN_NO_WORKSPACE_FOUND = exports.ERR_LOGIN_NO_WORKSPACES = exports.ERR_REGISTER_HTTP_CANCEL = exports.ERR_LOGIN_HTTP_CANCEL = exports.ERR_LOGIN_HTTP_FAILED = exports.ERR_LOGIN_HTTP_SERVER_PORT_TAKEN = exports.TXT_REGISTER_SUCCESS = exports.TXT_LOGIN_SUCCESS = exports.TXT_LOGIN_SELECT_WORKSPACE = exports.TXT_LOGIN_ENTER_BASE_URL = exports.TXT_LOGIN_PROVIDE_CODE = exports.TXT_REGISTER_OPEN_URL = exports.TXT_LOGIN_OPEN_URL = exports.TXT_REGISTER_OPENING_STAR = exports.TXT_LOGIN_OPENING_STAR = exports.TXT_REGISTER_OPENING = exports.TXT_LOGIN_OPENING = exports.TXT_LOGIN_SELECT_REGION = exports.TXT_WORKSPACE_NONE = exports.TXT_WORKSPACE_SET_SUCCESS = exports.ARG_COMMAND_WORKSPACE = exports.DESC_COMMAND_WORKSPACE_GET = exports.DESC_COMMAND_WORKSPACE_SET = exports.DESC_COMMAND_WORKSPACE_LIST = exports.DESC_COMMAND_WORKSPACE = exports.TXT_COMMAND_REGISTER_PROVIDE_NAME = exports.TXT_COMMAND_REGISTER_PROVIDE_EMAIL = exports.ERR_COMMAND_REGISTER_INVALID_NAME = exports.ERR_COMMAND_REGISTER_INVALID_EMAIL = exports.OPT_COMMAND_REGISTER_NAME = exports.OPT_COMMAND_REGISTER_EMAIL = exports.DESC_COMMAND_REGISTER = exports.TXT_LOGOUT_SUCCESS = exports.DESC_COMMAND_LOGOUT = exports.DESC_COMMAND_LOGIN = exports.ERR_API_MEDIA_TYPE_NOT_IMPLEMENTED = exports.ERR_API_PARAMETER_NOT_REPLACED = void 0;
|
|
17
|
+
exports.DESC_COMMAND_ARTIFACT_DELETE = exports.ERR_COMMAND_ARTIFACT_NO_PROJECTS = exports.DESC_COMMAND_ARTIFACT_VERSION_GET = exports.DESC_COMMAND_ARTIFACT_VERSION_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION_DELETE = exports.DESC_COMMAND_ARTIFACT_DOCKER_LOGIN = exports.DESC_COMMAND_ARTIFACT_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION = exports.ERR_COMMAND_DOMAIN_UNAVAILABLE = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = exports.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE = exports.OPT_COMMAND_DOMAIN_SORT = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = exports.OPT_COMMAND_DOMAIN_BUY_TLD = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_SEARCH = exports.DESC_COMMAND_DOMAIN_BUY = exports.DESC_COMMAND_DOMAIN = exports.ERR_ROUTE_NO_DEFAULT = exports.ERR_WRONG_ROUTE_TARGET = exports.ERR_COMMAND_ROUTE_NO_TARGET = exports.ERR_COMMAND_ROUTE_TYPE = exports.TXT_COMMAND_ROUTES_NOT_FOUND = exports.TXT_COMMAND_DISTROS_NOT_FOUND = exports.TXT_COMMAND_ROUTE_DELETED = exports.TXT_COMMAND_DISTRO_DELETED = exports.TXT_COMMAND_ROUTE_DELETE_CONFIRM = exports.TXT_COMMAND_DISTRO_DELETE_CONFIRM = exports.ERR_COMMAND_ROUTE_NO_UPDATE = exports.ERR_COMMAND_DISTRO_NOT_FOUND = exports.ERR_COMMAND_SCOPE = exports.TXT_COMMAND_ROUTE_UPDATED = exports.TXT_ROUTE_SERVE = exports.TXT_COMMAND_ROUTE_CREATED = exports.TXT_COMMAND_DISTRO_CREATED = exports.ERR_COMMAND_SCOPE_NO_PROJECT = exports.OPT_COMMAND_DISTRO_NAME = exports.OPT_COMMAND_ROUTE_TARGET = exports.OPT_COMMAND_ROUTE_PATH = exports.OPT_COMMAND_ROUTE_DOMAIN = exports.OPT_COMMAND_ROUTE_SUBDOMAIN = exports.OPT_COMMAND_ROUTE_TYPE = exports.OPT_COMMAND_ROUTE_ID = void 0;
|
|
18
18
|
exports.EXAMPLE_ROUTE_UPDATE = exports.EXAMPLE_ROUTE_DELETE = exports.EXAMPLE_DISTRO_DELETE = exports.EXAMPLE_DISTRO_LIST = exports.EXAMPLE_SANDBOX_CP = exports.ERR_PROJECT_NO_PROJECTS = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_CREATED = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_LINK_TO = exports.TXT_COMMAND_PROJECT_LINK_EXISTING_DESC = exports.TXT_COMMAND_PROJECT_LINK_EXISTING = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW_DESC = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW = exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO_INITIALIZED = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO = exports.TXT_COMMAND_PROJECT_LINK_DIR_CONFIRM = exports.TXT_COMMAND_PROJECT_LINK_DIR_LINKED = exports.ERR_COMMAND_PROJECT_LINK_DIR_CREATE = exports.OPT_COMMAND_PROJECT_LINK_TRY_NOW = exports.OPT_COMMAND_PROJECT_LINK_SET_GIT_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_HAS_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_DIRECTORY = exports.OPT_COMMAND_PROJECT_LINK_GIT = exports.OPT_COMMAND_PROJECT_LINK_RELINK = exports.DESC_COMMAND_PROJECT_LINK = exports.DESC_COMMAND_PROJECT_LIST = exports.DESC_COMMAND_PROJECT_GIT = exports.DESC_COMMAND_PROJECT_GIT_CREDENTIAL = exports.DESC_COMMAND_PROJECT = exports.TXT_ARTIFACT_VERSION_DOWNLOAD = exports.TXT_ARTIFACT_PUBLISH = exports.TXT_ARTIFACT_CREATED = exports.TXT_ARTIFACT_VERSION_DELETED = exports.TXT_ARTIFACT_DELETED = exports.ERR_COMMAND_ARTIFACT_TYPE = exports.OPT_COMMAND_ARTIFACT_VERSION = exports.OPT_COMMAND_ARTIFACT_IDENTIFIER = exports.OPT_COMMAND_ARTIFACT_CREATE_IDENTIFIER = exports.OPT_COMMAND_ARTIFACT_NAME = exports.OPT_COMMAND_ARTIFACT_TYPE = exports.DESC_COMMAND_ARTIFACT_CREATE = exports.DESC_COMMAND_ARTIFACT_GET = exports.TXT_ARTIFACT_DOCKER_LOGIN_FAILED = exports.TXT_ARTIFACT_DOCKER_LOGIN_SUCCESS = exports.TXT_ARTIFACT_VERSION_DELETE_CONFIRM = exports.TXT_ARTIFACT_DELETE_CONFIRM = void 0;
|
|
19
19
|
exports.EXAMPLE_ARTIFACT_CREATE = exports.EXAMPLE_ARTIFACT_DELETE = exports.EXAMPLE_ARTIFACT_DOWNLOAD = exports.EXAMPLE_ARTIFACT_PUBLISH = exports.EXAMPLE_PIPELINE_RUN_RETRY = exports.EXAMPLE_PIPELINE_RUN_LIST = exports.EXAMPLE_PIPELINE_LIST = exports.EXAMPLE_PIPELINE_YML = exports.EXAMPLE_PIPELINE_GET = exports.EXAMPLE_PIPELINE_UPDATE = exports.EXAMPLE_PIPELINE_DELETE = exports.EXAMPLE_PIPELINE_CREATE = exports.EXAMPLE_PIPELINE_RUN_CANCEL = exports.EXAMPLE_PIPELINE_RUN_APPLY = exports.EXAMPLE_PIPELINE_RUN_LOGS = exports.EXAMPLE_PIPELINE_RUN_JSONL = exports.EXAMPLE_PIPELINE_RUN_STATUS = exports.EXAMPLE_PIPELINE_RUN_START = exports.EXAMPLE_SANDBOX_ENDPOINT_LIST = exports.EXAMPLE_SANDBOX_ENDPOINT_GET = exports.EXAMPLE_SANDBOX_ENDPOINT_DELETE = exports.EXAMPLE_SANDBOX_ENDPOINT_CREATE = exports.EXAMPLE_SANDBOX_SNAPSHOT_LIST = exports.EXAMPLE_SANDBOX_SNAPSHOT_GET = exports.EXAMPLE_SANDBOX_SNAPSHOT_DELETE = exports.EXAMPLE_SANDBOX_SNAPSHOT_CREATE = exports.EXAMPLE_SANDBOX_EXEC_STATUS = exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_APP_STATUS = exports.EXAMPLE_SANDBOX_APP_STOP = exports.EXAMPLE_SANDBOX_APP_REMOVE = exports.EXAMPLE_SANDBOX_APP_ADD = exports.EXAMPLE_SANDBOX_APP_START = exports.EXAMPLE_SANDBOX_APP_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_APP_LIST = exports.EXAMPLE_SANDBOX_EXEC_KILL = exports.EXAMPLE_SANDBOX_EXEC_COMMAND = exports.EXAMPLE_TUNNEL_START = exports.EXAMPLE_TUNNEL_TCP = exports.EXAMPLE_TUNNEL_TLS = exports.EXAMPLE_AGENT_TUNNEL_START = exports.EXAMPLE_AGENT_TUNNEL_STATUS = exports.EXAMPLE_AGENT_TUNNEL_REMOVE = exports.EXAMPLE_AGENT_TUNNEL_LIST = exports.EXAMPLE_TUNNEL_HTTP = exports.EXAMPLE_SANDBOX_CREATE = exports.EXAMPLE_DISTRO_CREATE = exports.EXAMPLE_ROUTE_CREATE = exports.EXAMPLE_ROUTE_LIST = void 0;
|
|
20
20
|
exports.EXAMPLE_CRAWL_LINK = exports.EXAMPLE_CRAWL_RUN = exports.EXAMPLE_TESTS_CAPTURE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CLOSE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CREATE = exports.EXAMPLE_TESTS_VISUAL_LINK = exports.EXAMPLE_TESTS_VISUAL_UPLOAD = exports.EXAMPLE_TESTS_VISUAL_SETUP = exports.EXAMPLE_TESTS_UNIT_LINK = exports.EXAMPLE_TESTS_UNIT_UPLOAD = exports.EXAMPLE_ARTIFACT_VERSION_DELETE = exports.EXAMPLE_ARTIFACT_VERSION_GET = exports.EXAMPLE_ARTIFACT_VERSION_LIST = void 0;
|
|
@@ -896,7 +896,7 @@ exports.DESC_COMMAND_ROUTE_LIST = 'List routes. Required scopes: DISTRIBUTION_IN
|
|
|
896
896
|
exports.DESC_COMMAND_ROUTE_DELETE = 'Delete route. Required scopes: DISTRIBUTION_MANAGE';
|
|
897
897
|
exports.DESC_COMMAND_ROUTE_UPDATE = 'Update route. Required scopes: DISTRIBUTION_MANAGE';
|
|
898
898
|
exports.DESC_COMMAND_ROUTE = 'Manage distribution routes';
|
|
899
|
-
exports.
|
|
899
|
+
exports.OPT_COMMAND_SCOPE = 'Force scope (WORKSPACE, PROJECT). By default calculated by provided options and environmental variables (--project, BUDDY_PROJECT, linked project)';
|
|
900
900
|
exports.OPT_COMMAND_DISTRO_IDENTIFIER = 'Human-readable ID of the distribution';
|
|
901
901
|
exports.OPT_COMMAND_ROUTE_ID = 'ID of the route (find via "bdy distro route ls")';
|
|
902
902
|
exports.OPT_COMMAND_ROUTE_TYPE = 'Type of the route. Allowed: PROXY, PROXY_NO_CACHE, REDIRECT, CLOAKING';
|
|
@@ -912,7 +912,7 @@ For sandbox target use sandbox (required), region (optional)
|
|
|
912
912
|
Region can be Default, NorthAmerica, Europe, Asia, Oceania, SouthAmerica, Africa, Antarctica or two letter country name
|
|
913
913
|
If no region is specified or default is used, the target is used as the fallback for all locations. Default region is mandatory`;
|
|
914
914
|
exports.OPT_COMMAND_DISTRO_NAME = 'Name of the distribution';
|
|
915
|
-
exports.
|
|
915
|
+
exports.ERR_COMMAND_SCOPE_NO_PROJECT = 'Project must be provided for PROJECT scope';
|
|
916
916
|
exports.TXT_COMMAND_DISTRO_CREATED = 'Distribution created';
|
|
917
917
|
exports.TXT_COMMAND_ROUTE_CREATED = 'Route created';
|
|
918
918
|
const TXT_ROUTE_SERVE = (target) => `Serve it from your own domain (CDN):
|
|
@@ -920,7 +920,7 @@ const TXT_ROUTE_SERVE = (target) => `Serve it from your own domain (CDN):
|
|
|
920
920
|
Need a zone or distribution? See \`bdy domain buy\` and \`bdy distro create\``;
|
|
921
921
|
exports.TXT_ROUTE_SERVE = TXT_ROUTE_SERVE;
|
|
922
922
|
exports.TXT_COMMAND_ROUTE_UPDATED = 'Route updated';
|
|
923
|
-
exports.
|
|
923
|
+
exports.ERR_COMMAND_SCOPE = 'Wrong scope. Allowed: WORKSPACE, PROJECT';
|
|
924
924
|
exports.ERR_COMMAND_DISTRO_NOT_FOUND = 'Distribution not found';
|
|
925
925
|
exports.ERR_COMMAND_ROUTE_NO_UPDATE = 'Nothing to update';
|
|
926
926
|
const TXT_COMMAND_DISTRO_DELETE_CONFIRM = (name) => `Are you sure you want to delete distribution '${name}'?`;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ROUTE_REGION = exports.ROUTE_TARGET_TYPE = exports.ROUTE_TYPE = exports.
|
|
4
|
-
var
|
|
5
|
-
(function (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
})(
|
|
3
|
+
exports.ROUTE_REGION = exports.ROUTE_TARGET_TYPE = exports.ROUTE_TYPE = exports.SCOPE = void 0;
|
|
4
|
+
var SCOPE;
|
|
5
|
+
(function (SCOPE) {
|
|
6
|
+
SCOPE["WORKSPACE"] = "WORKSPACE";
|
|
7
|
+
SCOPE["PROJECT"] = "PROJECT";
|
|
8
|
+
})(SCOPE || (exports.SCOPE = SCOPE = {}));
|
|
9
9
|
var ROUTE_TYPE;
|
|
10
10
|
(function (ROUTE_TYPE) {
|
|
11
11
|
ROUTE_TYPE["PROXY"] = "PROXY";
|
package/distTs/src/utils.js
CHANGED
|
@@ -36,8 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.isInstalledByChoco = exports.isInstalledByApt = exports.isInstalledByBrew = exports.isInstalledByNpm = exports.tryGetEmail = exports.execLocally = exports.getHomeDirectory = exports.isDomainAvailable = exports.newCommand = exports.formatBytes = exports.formatHelp = exports.getPlatform = exports.getHostname = exports.isStringRegExp = exports.getWorkingDir = exports.getRootDir = exports.TARGET_ONLY_PORT_REGEX = exports.TARGET_HTTP_REGEX = exports.TARGET_TCP_TLS_REGEX = exports.ApiErrorTunnelsDisabled = exports.ApiErrorWorkspaceFlagged = exports.ApiErrorTunnelLimitReached = exports.ApiErrorAgentLimitReached = exports.ApiErrorDomainRestricted = exports.ApiErrorTargetInvalid = exports.ApiErrorWrongToken = exports.ApiErrorFailedToConnect = exports.ApiErrorAgentNotFound = exports.ARTIFACT_AUTH_TYPE = exports.
|
|
40
|
-
exports.getGitName = exports.getGitEmail = exports.getBasicCommandTls = exports.getBasicCommandHttp = exports.getBasicCommandSandboxEndpoint = exports.getBasicCommandTcp = exports.getCurrentUser = exports.getServiceUser = exports.getRealTargetHost = exports.isWindows = exports.isLinux = exports.isOsx = exports.isDocker = exports.sleep = exports.getLatestVersion = exports.getVersionEnv = exports.getCurrentVersionWithoutEnv = exports.getVersionWithoutEnv =
|
|
39
|
+
exports.getVersion = exports.isInstalledByChoco = exports.isInstalledByApt = exports.isInstalledByBrew = exports.isInstalledByNpm = exports.tryGetEmail = exports.execLocally = exports.getHomeDirectory = exports.isDomainAvailable = exports.newCommand = exports.formatBytes = exports.formatHelp = exports.getPlatform = exports.getHostname = exports.isStringRegExp = exports.getWorkingDir = exports.getRootDir = exports.TARGET_ONLY_PORT_REGEX = exports.TARGET_HTTP_REGEX = exports.TARGET_TCP_TLS_REGEX = exports.ApiErrorTunnelsDisabled = exports.ApiErrorWorkspaceFlagged = exports.ApiErrorTunnelLimitReached = exports.ApiErrorAgentLimitReached = exports.ApiErrorDomainRestricted = exports.ApiErrorTargetInvalid = exports.ApiErrorWrongToken = exports.ApiErrorFailedToConnect = exports.ApiErrorAgentNotFound = exports.ARTIFACT_AUTH_TYPE = exports.ARTIFACT_TYPE = exports.SANDBOX_SNAPSHOT_STATUS = exports.SANDBOX_APP_STATUS = exports.SANDBOX_SETUP_STATUS = exports.SANDBOX_EXEC_STATUS = exports.SANDBOX_EXEC_RUNTIME = exports.SANDBOX_STATUS = exports.REST_API_ENDPOINT = exports.REST_API_REGION = exports.DEFAULT_SANDBOX_CP_USER = exports.ARTIFACT_DEFAULT_VERSION = exports.SUGGESTED_BROWSER_VERSION = exports.DEFAULT_TIMEOUT = exports.TUNNEL_HTTP_CB_MIN_REQUESTS = exports.TUNNEL_HTTP_CB_WINDOW = exports.TUNNEL_MAX_REQUEST_SIZE_TO_SYNC = exports.TUNNEL_HTTP_LOG_MAX_REQUESTS = exports.TUNNEL_HTTP_LOG_MAX_BODY = exports.TUNNEL_HTTP_RATE_WINDOW = exports.TUNNEL_HTTP_RATE_LIMIT = void 0;
|
|
40
|
+
exports.getGitName = exports.getGitEmail = exports.getBasicCommandTls = exports.getBasicCommandHttp = exports.getBasicCommandSandboxEndpoint = exports.getBasicCommandTcp = exports.getCurrentUser = exports.getServiceUser = exports.getRealTargetHost = exports.isWindows = exports.isLinux = exports.isOsx = exports.isDocker = exports.sleep = exports.getLatestVersion = exports.getVersionEnv = exports.getCurrentVersionWithoutEnv = exports.getVersionWithoutEnv = void 0;
|
|
41
41
|
exports.apiErrorCodeToClass = apiErrorCodeToClass;
|
|
42
42
|
exports.isFile = isFile;
|
|
43
43
|
exports.getAppWorkspaceUrl = getAppWorkspaceUrl;
|
|
@@ -135,12 +135,6 @@ var ARTIFACT_TYPE;
|
|
|
135
135
|
ARTIFACT_TYPE["BUCKET"] = "BUCKET";
|
|
136
136
|
ARTIFACT_TYPE["CONTAINER"] = "CONTAINER";
|
|
137
137
|
})(ARTIFACT_TYPE || (exports.ARTIFACT_TYPE = ARTIFACT_TYPE = {}));
|
|
138
|
-
var ARTIFACT_SCOPE;
|
|
139
|
-
(function (ARTIFACT_SCOPE) {
|
|
140
|
-
ARTIFACT_SCOPE["WORKSPACE"] = "WORKSPACE";
|
|
141
|
-
ARTIFACT_SCOPE["PROJECT"] = "PROJECT";
|
|
142
|
-
ARTIFACT_SCOPE["ENVIRONMENT"] = "ENVIRONMENT";
|
|
143
|
-
})(ARTIFACT_SCOPE || (exports.ARTIFACT_SCOPE = ARTIFACT_SCOPE = {}));
|
|
144
138
|
var ARTIFACT_AUTH_TYPE;
|
|
145
139
|
(function (ARTIFACT_AUTH_TYPE) {
|
|
146
140
|
ARTIFACT_AUTH_TYPE["NONE"] = "NONE";
|