bdy 1.23.4-dev-target-commands → 1.23.4-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.
Files changed (54) hide show
  1. package/distTs/README.md +181 -0
  2. package/distTs/package.json +1 -3
  3. package/distTs/src/agent/agent.js +35 -2
  4. package/distTs/src/agent/manager.js +11 -0
  5. package/distTs/src/agent/system.js +6 -1
  6. package/distTs/src/api/client.js +0 -156
  7. package/distTs/src/cliIndex.js +0 -4
  8. package/distTs/src/command/artifact/list.js +6 -1
  9. package/distTs/src/command/distro/route/update.js +1 -1
  10. package/distTs/src/command/distro/update.js +9 -9
  11. package/distTs/src/command/project/get.js +18 -0
  12. package/distTs/src/command/project/set.js +31 -0
  13. package/distTs/src/command/sandbox/get/yaml.js +30 -0
  14. package/distTs/src/command/vt/scrape.js +193 -0
  15. package/distTs/src/input.js +0 -54
  16. package/distTs/src/texts.js +8 -196
  17. package/distTs/src/utils.js +7 -16
  18. package/package.json +1 -3
  19. package/distTs/detect-rules.json +0 -351
  20. package/distTs/src/command/environment/create.js +0 -70
  21. package/distTs/src/command/environment/delete.js +0 -29
  22. package/distTs/src/command/environment/get.js +0 -48
  23. package/distTs/src/command/environment/list.js +0 -44
  24. package/distTs/src/command/environment/resolve.js +0 -22
  25. package/distTs/src/command/environment/update.js +0 -59
  26. package/distTs/src/command/environment.js +0 -20
  27. package/distTs/src/command/pipeline/run/apply.js +0 -62
  28. package/distTs/src/command/target/create.js +0 -33
  29. package/distTs/src/command/target/delete.js +0 -30
  30. package/distTs/src/command/target/exec/command.js +0 -65
  31. package/distTs/src/command/target/exec/kill.js +0 -25
  32. package/distTs/src/command/target/exec/list.js +0 -54
  33. package/distTs/src/command/target/exec/logs.js +0 -25
  34. package/distTs/src/command/target/exec/status.js +0 -41
  35. package/distTs/src/command/target/exec.js +0 -24
  36. package/distTs/src/command/target/get.js +0 -62
  37. package/distTs/src/command/target/list.js +0 -48
  38. package/distTs/src/command/target/scope.js +0 -60
  39. package/distTs/src/command/target/update.js +0 -31
  40. package/distTs/src/command/target.js +0 -22
  41. package/distTs/src/command/yaml/actions/detect.js +0 -268
  42. package/distTs/src/command/yaml/actions/info.js +0 -56
  43. package/distTs/src/command/yaml/actions/list.js +0 -70
  44. package/distTs/src/command/yaml/actions/schema.js +0 -104
  45. package/distTs/src/command/yaml/actions.js +0 -13
  46. package/distTs/src/command/yaml/agents.js +0 -88
  47. package/distTs/src/command/yaml/cache.js +0 -98
  48. package/distTs/src/command/yaml/init.js +0 -110
  49. package/distTs/src/command/yaml/pipeline.js +0 -42
  50. package/distTs/src/command/yaml/render.js +0 -83
  51. package/distTs/src/command/yaml/schemaUtils.js +0 -139
  52. package/distTs/src/command/yaml/validate.js +0 -259
  53. package/distTs/src/command/yaml.js +0 -18
  54. package/distTs/src/diskCache.js +0 -82
@@ -1,351 +0,0 @@
1
- {
2
- "BUILD": {
3
- "files": ["package.json", "requirements.txt", "pyproject.toml", "go.mod", "Gemfile", "pom.xml", "build.gradle", "build.gradle.kts", "Cargo.toml", "composer.json", "pubspec.yaml", "Makefile", "CMakeLists.txt"],
4
- "packages": ["eslint", "oxlint", "@oxlint/cli", "@biomejs/biome", "prettier", "stylelint", "xo", "standard", "typescript"]
5
- },
6
- "DOCKERFILE": {
7
- "files": ["Dockerfile", "Containerfile", "compose.yaml", "compose.yml", "docker-compose.yml", "docker-compose.yaml"]
8
- },
9
- "DOCKER_PUSH": {
10
- "files": ["Dockerfile", "Containerfile"]
11
- },
12
- "RUN_DOCKER_CONTAINER": {
13
- "files": ["Dockerfile", "Containerfile", "compose.yaml", "compose.yml", "docker-compose.yml"]
14
- },
15
- "DOCKERFILE_LINTER": {
16
- "files": ["Dockerfile", "Containerfile"]
17
- },
18
- "DOCKER": {
19
- "files": ["Dockerfile", "Containerfile", "compose.yaml", "compose.yml", "docker-compose.yml"]
20
- },
21
- "DOCKER_BUILD_MULTI_ARCH": {
22
- "files": ["Dockerfile", "Containerfile"]
23
- },
24
- "NATIVE_BUILD_DOCKER_CLI": {
25
- "files": ["Dockerfile", "Containerfile"]
26
- },
27
- "PROMOTE_IMAGE": {
28
- "files": ["Dockerfile", "Containerfile"]
29
- },
30
- "KUBERNETES_APPLY": {
31
- "files": ["k8s/", "kubernetes/", "kustomization.yaml", "kustomization.yml", "Kustomization"],
32
- "packages": ["@aws-sdk/client-eks", "@google-cloud/container", "@azure/arm-containerservice"]
33
- },
34
- "KUBERNETES_SET_IMAGE": {
35
- "files": ["k8s/", "kubernetes/"]
36
- },
37
- "KUBERNETES_RUN_POD": {
38
- "files": ["k8s/", "kubernetes/"]
39
- },
40
- "KUBERNETES_RUN_JOB": {
41
- "files": ["k8s/", "kubernetes/"]
42
- },
43
- "KUBERNETES_CLI": {
44
- "files": ["k8s/", "kubernetes/", "kustomization.yaml", "kustomization.yml", "Kustomization"],
45
- "packages": ["@kubernetes/client-node", "@aws-sdk/client-eks", "@google-cloud/container", "@azure/arm-containerservice"]
46
- },
47
- "HELM": {
48
- "files": ["Chart.yaml", "helm/", "charts/"]
49
- },
50
- "WAIT_FOR_APPLY": {
51
- "files": ["k8s/", "kubernetes/"]
52
- },
53
- "AMAZON_S3": {
54
- "packages": ["aws-sdk", "@aws-sdk/client-s3"]
55
- },
56
- "AWS_CLI": {
57
- "files": ["buildspec.yml"],
58
- "packages": ["aws-sdk", "@aws-sdk/*"]
59
- },
60
- "AWS_CLI_2": {
61
- "files": ["buildspec.yml"],
62
- "packages": ["aws-sdk", "@aws-sdk/*"]
63
- },
64
- "AWS_LAMBDA_DEPLOY": {
65
- "files": ["serverless.yml", "serverless.yaml", "samconfig.toml", "sam-template.yaml"],
66
- "packages": ["aws-sdk", "@aws-sdk/client-lambda"]
67
- },
68
- "LAMBDA": {
69
- "files": ["serverless.yml", "samconfig.toml"],
70
- "packages": ["@aws-sdk/client-lambda"]
71
- },
72
- "AWS_ECS": {
73
- "files": ["ecs-task-definition.json", "task-definition.json"],
74
- "packages": ["@aws-sdk/client-ecs"]
75
- },
76
- "CODE_DEPLOY": {
77
- "files": ["appspec.yml", "appspec.yaml"]
78
- },
79
- "ELASTIC_BEANSTALK": {
80
- "files": [".elasticbeanstalk/"]
81
- },
82
- "MONITOR": {
83
- "files": [".elasticbeanstalk/"]
84
- },
85
- "AWS_CLOUD_FORMATION": {
86
- "files": ["cloudformation/"]
87
- },
88
- "CLOUD_FRONT": {
89
- "packages": ["aws-sdk", "@aws-sdk/client-cloudfront"]
90
- },
91
- "CODE_PIPELINE": {
92
- "files": ["buildspec.yml"]
93
- },
94
- "AWS_APP_RUNNER_DEPLOY": {
95
- "packages": ["@aws-sdk/client-apprunner"]
96
- },
97
- "AWS_APP_RUNNER_MONITOR": {
98
- "packages": ["@aws-sdk/client-apprunner"]
99
- },
100
- "AWS_CDK_CLI": {
101
- "files": ["cdk.json"],
102
- "packages": ["aws-cdk-lib", "aws-cdk"]
103
- },
104
- "DOWNLOAD_S3": {
105
- "packages": ["aws-sdk", "@aws-sdk/client-s3"]
106
- },
107
- "GOOGLE_CLOUD_STORAGE": {
108
- "packages": ["@google-cloud/storage"]
109
- },
110
- "GOOGLE_CLOUD_CLI": {
111
- "packages": ["@google-cloud/*"]
112
- },
113
- "GOOGLE_APP_DEPLOY": {
114
- "files": ["app.yaml"]
115
- },
116
- "GOOGLE_FUNCTION_DEPLOY": {
117
- "files": ["firebase.json"],
118
- "packages": ["@google-cloud/functions-framework"]
119
- },
120
- "GOOGLE_FUNCTION_INVOKE": {
121
- "packages": ["@google-cloud/functions-framework"]
122
- },
123
- "GOOGLE_CLOUD_RUN_DEPLOY": {
124
- "files": ["Dockerfile", "Containerfile"]
125
- },
126
- "GOOGLE_CDN_INVALIDATE": {
127
- "packages": ["@google-cloud/compute"]
128
- },
129
- "FIREBASE": {
130
- "files": ["firebase.json", ".firebaserc"],
131
- "packages": ["firebase", "firebase-admin"]
132
- },
133
- "DOWNLOAD_GCS": {
134
- "packages": ["@google-cloud/storage"]
135
- },
136
- "AZURE": {
137
- "files": ["azure-pipelines.yml"]
138
- },
139
- "AZURE_CLI": {
140
- "files": ["azure-pipelines.yml"],
141
- "packages": ["@azure/*"]
142
- },
143
- "AZURE_STORAGE": {
144
- "packages": ["@azure/storage-blob"]
145
- },
146
- "HEROKU": {
147
- "files": ["Procfile"]
148
- },
149
- "HEROKU_CLI": {
150
- "files": ["Procfile"]
151
- },
152
- "NETLIFY": {
153
- "files": ["netlify.toml"]
154
- },
155
- "TERRAFORM": {
156
- "files": ["*.tf", "*.tofu", "terraform/", ".terraform/"]
157
- },
158
- "ANDROID_SIGN": {
159
- "files": ["android/", "app/src/main/AndroidManifest.xml"]
160
- },
161
- "ANDROID_SIGN_BUNDLE": {
162
- "files": ["android/", "app/src/main/AndroidManifest.xml"]
163
- },
164
- "ANDROID_PUBLISH_APK": {
165
- "files": ["android/", "app/src/main/AndroidManifest.xml"]
166
- },
167
- "ANDROID_PUBLISH_APP_BUNDLE": {
168
- "files": ["android/", "app/src/main/AndroidManifest.xml"]
169
- },
170
- "FASTLANE_ANDROID": {
171
- "files": ["fastlane/", "android/"]
172
- },
173
- "NATIVE_BUILD_MAC": {
174
- "files": ["*.xcodeproj", "*.xcworkspace"]
175
- },
176
- "NATIVE_BUILD_MAC_VM": {
177
- "files": ["*.xcodeproj", "*.xcworkspace"]
178
- },
179
- "NATIVE_BUILD_MAC_SIGN": {
180
- "files": ["*.xcodeproj", "*.xcworkspace"]
181
- },
182
- "NATIVE_BUILD_MAC_DEPLOY": {
183
- "files": ["*.xcodeproj", "*.xcworkspace"]
184
- },
185
- "NATIVE_BUILD_MAC_REACT": {
186
- "files": ["ios/"],
187
- "packages": ["react-native"]
188
- },
189
- "NATIVE_BUILD_MAC_CORDOVA": {
190
- "packages": ["cordova"]
191
- },
192
- "NATIVE_BUILD_MAC_FASTLANE": {
193
- "files": ["fastlane/Fastfile"]
194
- },
195
- "NATIVE_BUILD_MAC_FLUTTER": {
196
- "files": ["pubspec.yaml", "ios/"]
197
- },
198
- "PLAYWRIGHT": {
199
- "files": ["playwright.config.*"],
200
- "packages": ["@playwright/test", "playwright"]
201
- },
202
- "CYPRESS": {
203
- "files": ["cypress.config.*", "cypress/"],
204
- "packages": ["cypress"]
205
- },
206
- "STORYBOOK": {
207
- "files": [".storybook/"],
208
- "packages": ["storybook", "@storybook/react"]
209
- },
210
- "LIGHTHOUSE": {
211
- "packages": ["lighthouse"]
212
- },
213
- "JMETER_CLI": {
214
- "files": ["*.jmx"]
215
- },
216
- "SNYK_CLI": {
217
- "files": [".snyk"],
218
- "packages": ["snyk"]
219
- },
220
- "STACK_HAWK_CLI": {
221
- "files": ["stackhawk.yml"]
222
- },
223
- "BLACKFIRE_PHP": {
224
- "packages": ["blackfire/php-sdk"]
225
- },
226
- "BLACKFIRE_PYTHON": {
227
- "packages": ["blackfire"]
228
- },
229
- "BLACKFIRE_GO": {
230
- "packages": ["github.com/blackfireio/go-blackfire"]
231
- },
232
- "SENTRY": {
233
- "packages": ["@sentry/node", "@sentry/browser", "@sentry/react"]
234
- },
235
- "SENTRY_ENTERPRISE": {
236
- "packages": ["@sentry/node", "@sentry/browser"]
237
- },
238
- "NEW_RELIC": {
239
- "packages": ["newrelic"]
240
- },
241
- "NEW_RELIC_CLI": {
242
- "packages": ["newrelic"]
243
- },
244
- "DATADOG": {
245
- "packages": ["dd-trace", "datadog-metrics"]
246
- },
247
- "DATADOG_STATUS_CHECK": {
248
- "packages": ["dd-trace"]
249
- },
250
- "ROLLBAR": {
251
- "packages": ["rollbar"]
252
- },
253
- "HONEYBADGER": {
254
- "packages": ["@honeybadger-io/js"]
255
- },
256
- "BUGSNAG": {
257
- "packages": ["@bugsnag/js", "@bugsnag/node"]
258
- },
259
- "RAYGUN": {
260
- "packages": ["raygun"]
261
- },
262
- "LOGGLY": {
263
- "packages": ["node-loggly-bulk", "winston-loggly-bulk"]
264
- },
265
- "DO_SPACES": {
266
- "packages": ["aws-sdk", "@aws-sdk/client-s3"]
267
- },
268
- "GIT_HUB_RELEASE": {
269
- "files": [".github/workflows/"]
270
- },
271
- "GIT_HUB_CLI": {
272
- "files": [".github/workflows/"]
273
- },
274
- "GIT_LAB_CLI": {
275
- "files": [".gitlab-ci.yml"]
276
- },
277
- "SHOPIFY": {
278
- "files": ["shopify.app.toml"],
279
- "packages": ["@shopify/shopify-api"]
280
- },
281
- "SHOPIFY_CLI": {
282
- "files": ["shopify.app.toml"],
283
- "packages": ["@shopify/cli"]
284
- },
285
- "SHOPIFY_THEMEKIT_CLI": {
286
- "files": ["shopify.app.toml"]
287
- },
288
- "WP_CLI": {
289
- "files": ["wp-config.php", "wp-content/"]
290
- },
291
- "CONTENTFUL_CLI": {
292
- "packages": ["contentful", "contentful-management"]
293
- },
294
- "MYSQL_CLI": {
295
- "packages": ["mysql", "mysql2", "sequelize", "typeorm", "prisma", "drizzle-orm"]
296
- },
297
- "CLOUDFLARE": {
298
- "files": ["wrangler.toml", "wrangler.json", "wrangler.jsonc"],
299
- "packages": ["wrangler"]
300
- },
301
- "NATIVE_BUILD_WINDOWS": {
302
- "files": ["*.sln", "*.slnx", "*.csproj"]
303
- },
304
- "GIT_CRYPT_UNLOCK": {
305
- "files": [".git-crypt/"]
306
- },
307
- "GIT_CRYPT_LOCK": {
308
- "files": [".git-crypt/"]
309
- },
310
- "JIRA_BUILD": {
311
- "files": [".jira/"]
312
- },
313
- "JIRA_DEPLOYMENT": {
314
- "files": [".jira/"]
315
- },
316
- "NPM_PUBLISH": {
317
- "files": ["package.json"]
318
- },
319
- "DOCTL": {
320
- "files": [".do/"],
321
- "packages": ["digitalocean", "do-wrapper"]
322
- },
323
- "DIGITAL_OCEAN_CDN": {
324
- "files": [".do/"],
325
- "packages": ["digitalocean", "do-wrapper"]
326
- },
327
- "SLACK": {
328
- "packages": ["@slack/web-api", "@slack/bolt", "@slack/webhook"]
329
- },
330
- "DISCORD2": {
331
- "packages": ["discord.js", "discord-webhook-node"]
332
- },
333
- "MICROSOFT_TEAMS": {
334
- "packages": ["botbuilder", "@microsoft/teams-js"]
335
- },
336
- "TELEGRAM": {
337
- "packages": ["telegraf", "node-telegram-bot-api", "grammy"]
338
- },
339
- "EMAIL": {
340
- "packages": ["nodemailer", "@sendgrid/mail", "postmark", "mailgun-js"]
341
- },
342
- "POWERSHELL": {
343
- "files": ["*.ps1", "*.psm1"]
344
- },
345
- "GHOST_INSPECTOR_CLI": {
346
- "packages": ["ghost-inspector"]
347
- },
348
- "BACKBLAZE_B2": {
349
- "packages": ["backblaze-b2"]
350
- }
351
- }
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../utils");
7
- const texts_1 = require("../../texts");
8
- const input_1 = __importDefault(require("../../input"));
9
- const output_1 = __importDefault(require("../../output"));
10
- const distro_1 = require("../../types/distro");
11
- const commandEnvironmentCreate = (0, utils_1.newCommand)('create', texts_1.DESC_COMMAND_ENVIRONMENT_CREATE);
12
- commandEnvironmentCreate.alias('add');
13
- commandEnvironmentCreate.option('-i, --identifier <identifier>', texts_1.OPTION_ENVIRONMENT_CREATE_IDENTIFIER);
14
- commandEnvironmentCreate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
15
- commandEnvironmentCreate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
16
- commandEnvironmentCreate.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
17
- commandEnvironmentCreate.option('--tags <tags>', texts_1.OPTION_ENVIRONMENT_TAGS);
18
- commandEnvironmentCreate.option('--public-url <url>', texts_1.OPTION_ENVIRONMENT_PUBLIC_URL);
19
- commandEnvironmentCreate.option('--icon <icon>', texts_1.OPTION_ENVIRONMENT_ICON);
20
- commandEnvironmentCreate.option('--note <note>', texts_1.OPT_COMMAND_NOTE);
21
- commandEnvironmentCreate.option('--agent-note <note>', texts_1.OPT_COMMAND_AGENT_NOTE);
22
- commandEnvironmentCreate.argument('[name]', texts_1.OPTION_ENVIRONMENT_NAME);
23
- commandEnvironmentCreate.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ENVIRONMENT_CREATE}`);
24
- commandEnvironmentCreate.action(async (name, options) => {
25
- const humanId = require('human-id').default;
26
- const workspace = input_1.default.restApiWorkspace(options.workspace);
27
- const project = input_1.default.restApiProject(options.project, true);
28
- const scope = input_1.default.scope(project, options.scope);
29
- if (!name) {
30
- if (options.identifier)
31
- name = options.identifier;
32
- else
33
- name = humanId({ separator: '-', capitalize: false });
34
- }
35
- // identifier is required by the API; derive a slug from the name when
36
- // -i is not given (hyphens cannot appear at the start or end)
37
- const slug = name
38
- .toLowerCase()
39
- .replace(/[^a-z0-9_-]+/g, '-')
40
- .replace(/^-+|-+$/g, '');
41
- const data = {
42
- name,
43
- identifier: options.identifier || slug,
44
- scope,
45
- };
46
- if (project && scope === distro_1.SCOPE.PROJECT) {
47
- data.project = {
48
- name: project,
49
- };
50
- }
51
- if (options.tags) {
52
- data.tags = input_1.default.tags(options.tags);
53
- }
54
- if (options.publicUrl) {
55
- data.public_url = options.publicUrl;
56
- }
57
- if (options.icon) {
58
- data.icon = options.icon;
59
- }
60
- if (options.note) {
61
- data.note = options.note;
62
- }
63
- if (options.agentNote) {
64
- data.agent_note = options.agentNote;
65
- }
66
- const client = input_1.default.restApiTokenClient();
67
- const result = await client.createEnvironment(workspace, data);
68
- output_1.default.exitSuccess((0, texts_1.TXT_ENVIRONMENT_CREATED)(result.identifier, result.html_url));
69
- });
70
- exports.default = commandEnvironmentCreate;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../utils");
7
- const texts_1 = require("../../texts");
8
- const output_1 = __importDefault(require("../../output"));
9
- const input_1 = __importDefault(require("../../input"));
10
- const resolve_1 = require("./resolve");
11
- const commandEnvironmentDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_ENVIRONMENT_DELETE);
12
- commandEnvironmentDelete.alias('rm');
13
- commandEnvironmentDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
14
- commandEnvironmentDelete.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
15
- commandEnvironmentDelete.option('-f, --force', texts_1.OPTION_CONFIRM_FORCE);
16
- commandEnvironmentDelete.argument('<identifier>', texts_1.OPTION_ENVIRONMENT_IDENTIFIER);
17
- commandEnvironmentDelete.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ENVIRONMENT_DELETE}`);
18
- commandEnvironmentDelete.action(async (identifier, options) => {
19
- const workspace = input_1.default.restApiWorkspace(options.workspace);
20
- const client = input_1.default.restApiTokenClient();
21
- const environment_id = await (0, resolve_1.resolveEnvironmentId)(client, workspace, identifier, options);
22
- const confirmed = options.force ||
23
- (await output_1.default.confirm((0, texts_1.TXT_ENVIRONMENT_DELETE_CONFIRM)(identifier)));
24
- if (!confirmed)
25
- output_1.default.exitNormal();
26
- await client.deleteEnvironment(workspace, environment_id);
27
- output_1.default.exitSuccess((0, texts_1.TXT_ENVIRONMENT_DELETED)(identifier));
28
- });
29
- exports.default = commandEnvironmentDelete;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../utils");
7
- const texts_1 = require("../../texts");
8
- const output_1 = __importDefault(require("../../output"));
9
- const input_1 = __importDefault(require("../../input"));
10
- const resolve_1 = require("./resolve");
11
- const commandEnvironmentGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_ENVIRONMENT_GET);
12
- commandEnvironmentGet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
13
- commandEnvironmentGet.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
14
- commandEnvironmentGet.option('--format <text|json>', texts_1.OPTION_FORMAT);
15
- commandEnvironmentGet.argument('<identifier>', texts_1.OPTION_ENVIRONMENT_IDENTIFIER);
16
- commandEnvironmentGet.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ENVIRONMENT_GET}`);
17
- commandEnvironmentGet.action(async (identifier, options) => {
18
- const workspace = input_1.default.restApiWorkspace(options.workspace);
19
- const client = input_1.default.restApiTokenClient();
20
- const environment_id = await (0, resolve_1.resolveEnvironmentId)(client, workspace, identifier, options);
21
- const environment = await client.getEnvironment(workspace, environment_id);
22
- if (options.format === 'json') {
23
- output_1.default.json(environment);
24
- }
25
- else {
26
- const data = [
27
- ['Field', 'Value'],
28
- ['ID', environment.id || '-'],
29
- ['Identifier', environment.identifier || '-'],
30
- ['Name', environment.name || '-'],
31
- ['Scope', environment.scope || '-'],
32
- ['Tags', (environment.tags || []).join(', ') || '-'],
33
- ['Public URL', environment.public_url || '-'],
34
- ['Icon', environment.icon || '-'],
35
- ['Note', environment.note || '-'],
36
- ['Agent note', environment.agent_note || '-'],
37
- ];
38
- if (environment.project) {
39
- data.push(['Project', environment.project.name || '-']);
40
- }
41
- if (environment.html_url) {
42
- data.push(['URL', environment.html_url]);
43
- }
44
- output_1.default.table(data);
45
- }
46
- output_1.default.exitNormal();
47
- });
48
- exports.default = commandEnvironmentGet;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../utils");
7
- const texts_1 = require("../../texts");
8
- const output_1 = __importDefault(require("../../output"));
9
- const input_1 = __importDefault(require("../../input"));
10
- const distro_1 = require("../../types/distro");
11
- const commandEnvironmentList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_ENVIRONMENT_LIST);
12
- commandEnvironmentList.alias('ls');
13
- commandEnvironmentList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
14
- commandEnvironmentList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
15
- commandEnvironmentList.option('--scope <scope>', texts_1.OPT_COMMAND_SCOPE);
16
- commandEnvironmentList.option('--format <text|json>', texts_1.OPTION_FORMAT);
17
- commandEnvironmentList.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ENVIRONMENT_LIST}`);
18
- commandEnvironmentList.action(async (options) => {
19
- const workspace = input_1.default.restApiWorkspace(options.workspace);
20
- const project = input_1.default.restApiProject(options.project, true);
21
- const scope = input_1.default.scope(project, options.scope);
22
- const client = input_1.default.restApiTokenClient();
23
- const result = await client.getEnvironments(workspace, scope === distro_1.SCOPE.PROJECT ? project : null);
24
- const environments = result.environments || [];
25
- if (options.format === 'json') {
26
- output_1.default.json(environments);
27
- }
28
- else {
29
- if (environments.length === 0) {
30
- output_1.default.exitNormal(texts_1.TXT_ENVIRONMENT_NOT_FOUND);
31
- }
32
- const data = [['NAME', 'IDENTIFIER', 'SCOPE']];
33
- for (const environment of environments) {
34
- data.push([
35
- environment.name || '-',
36
- environment.identifier || '-',
37
- environment.scope || '-',
38
- ]);
39
- }
40
- output_1.default.table(data);
41
- }
42
- output_1.default.exitNormal();
43
- });
44
- exports.default = commandEnvironmentList;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolveEnvironmentId = void 0;
7
- const texts_1 = require("../../texts");
8
- const output_1 = __importDefault(require("../../output"));
9
- const input_1 = __importDefault(require("../../input"));
10
- // Shared resolve preamble for commands taking an environment identifier:
11
- // project context from flags/env -> /identifiers -> hash id, exiting on a
12
- // miss. Without a project the identifier resolves as a workspace
13
- // environment; with one, along the project line.
14
- const resolveEnvironmentId = async (client, workspace, identifier, options) => {
15
- const project = input_1.default.restApiProject(options.project, true);
16
- const { environment_id } = await client.getEnvironmentByIdentifier(workspace, identifier, project);
17
- if (!environment_id) {
18
- output_1.default.exitError(texts_1.ERR_ENVIRONMENT_NOT_FOUND);
19
- }
20
- return environment_id;
21
- };
22
- exports.resolveEnvironmentId = resolveEnvironmentId;
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../utils");
7
- const texts_1 = require("../../texts");
8
- const input_1 = __importDefault(require("../../input"));
9
- const output_1 = __importDefault(require("../../output"));
10
- const resolve_1 = require("./resolve");
11
- const commandEnvironmentUpdate = (0, utils_1.newCommand)('update', texts_1.DESC_COMMAND_ENVIRONMENT_UPDATE);
12
- commandEnvironmentUpdate.alias('edit');
13
- commandEnvironmentUpdate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
14
- commandEnvironmentUpdate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
15
- commandEnvironmentUpdate.option('-n, --name <name>', texts_1.OPTION_ENVIRONMENT_NAME);
16
- commandEnvironmentUpdate.option('--tags <tags>', texts_1.OPTION_ENVIRONMENT_TAGS);
17
- commandEnvironmentUpdate.option('--public-url <url>', texts_1.OPTION_ENVIRONMENT_PUBLIC_URL);
18
- commandEnvironmentUpdate.option('--icon <icon>', texts_1.OPTION_ENVIRONMENT_ICON);
19
- commandEnvironmentUpdate.option('--note <note>', texts_1.OPT_COMMAND_NOTE);
20
- commandEnvironmentUpdate.option('--agent-note <note>', texts_1.OPT_COMMAND_AGENT_NOTE);
21
- commandEnvironmentUpdate.argument('<identifier>', texts_1.OPTION_ENVIRONMENT_IDENTIFIER);
22
- commandEnvironmentUpdate.addHelpText('after', `\nEXAMPLES:${texts_1.EXAMPLE_ENVIRONMENT_UPDATE}`);
23
- commandEnvironmentUpdate.action(async (identifier, options) => {
24
- const workspace = input_1.default.restApiWorkspace(options.workspace);
25
- const body = {};
26
- let changed = false;
27
- if (options.name) {
28
- body.name = options.name;
29
- changed = true;
30
- }
31
- if (options.tags !== undefined) {
32
- body.tags = input_1.default.tags(options.tags);
33
- changed = true;
34
- }
35
- if (options.publicUrl !== undefined) {
36
- body.public_url = options.publicUrl;
37
- changed = true;
38
- }
39
- if (options.icon) {
40
- body.icon = options.icon;
41
- changed = true;
42
- }
43
- if (options.note !== undefined) {
44
- body.note = options.note;
45
- changed = true;
46
- }
47
- if (options.agentNote !== undefined) {
48
- body.agent_note = options.agentNote;
49
- changed = true;
50
- }
51
- if (!changed) {
52
- output_1.default.exitError(texts_1.ERR_COMMAND_NO_UPDATE);
53
- }
54
- const client = input_1.default.restApiTokenClient();
55
- const environment_id = await (0, resolve_1.resolveEnvironmentId)(client, workspace, identifier, options);
56
- const result = await client.updateEnvironment(workspace, environment_id, body);
57
- output_1.default.exitSuccess((0, texts_1.TXT_ENVIRONMENT_UPDATED)(result.identifier, result.html_url));
58
- });
59
- exports.default = commandEnvironmentUpdate;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../utils");
7
- const texts_1 = require("../texts");
8
- const list_1 = __importDefault(require("./environment/list"));
9
- const get_1 = __importDefault(require("./environment/get"));
10
- const create_1 = __importDefault(require("./environment/create"));
11
- const update_1 = __importDefault(require("./environment/update"));
12
- const delete_1 = __importDefault(require("./environment/delete"));
13
- const commandEnvironment = (0, utils_1.newCommand)('environment', texts_1.DESC_COMMAND_ENVIRONMENT);
14
- commandEnvironment.alias('env');
15
- commandEnvironment.addCommand(list_1.default);
16
- commandEnvironment.addCommand(get_1.default);
17
- commandEnvironment.addCommand(create_1.default);
18
- commandEnvironment.addCommand(update_1.default);
19
- commandEnvironment.addCommand(delete_1.default);
20
- exports.default = commandEnvironment;