@laioutr/cli 0.3.2 → 0.4.1

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 (44) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +168 -25
  3. package/dist/api/deploy.d.ts +66 -0
  4. package/dist/api/deploy.js +34 -0
  5. package/dist/api/fetchRc.d.ts +1 -0
  6. package/dist/api/fetchRc.js +12 -28
  7. package/dist/api/http.d.ts +30 -0
  8. package/dist/api/http.js +93 -0
  9. package/dist/api/releaseAppVersion.d.ts +1 -0
  10. package/dist/api/releaseAppVersion.js +9 -20
  11. package/dist/commands/app/release.d.ts +2 -1
  12. package/dist/commands/app/release.js +2 -1
  13. package/dist/commands/deploy/list.d.ts +32 -0
  14. package/dist/commands/deploy/list.js +55 -0
  15. package/dist/commands/deploy/logs.d.ts +23 -0
  16. package/dist/commands/deploy/logs.js +54 -0
  17. package/dist/commands/deploy/status.d.ts +31 -0
  18. package/dist/commands/deploy/status.js +41 -0
  19. package/dist/commands/deploy/trigger.d.ts +24 -0
  20. package/dist/commands/deploy/trigger.js +130 -0
  21. package/dist/commands/rc/fetch.d.ts +4 -3
  22. package/dist/commands/rc/fetch.js +24 -3
  23. package/dist/commands/rc/update.d.ts +2 -1
  24. package/dist/commands/rc/update.js +2 -1
  25. package/dist/deploy/attribution.d.ts +12 -0
  26. package/dist/deploy/attribution.js +16 -0
  27. package/dist/deploy/log-renderer.d.ts +13 -0
  28. package/dist/deploy/log-renderer.js +21 -0
  29. package/dist/deploy/polling.d.ts +4 -0
  30. package/dist/deploy/polling.js +12 -0
  31. package/dist/deploy/validation.d.ts +81 -0
  32. package/dist/deploy/validation.js +47 -0
  33. package/dist/deploy-base-command.d.ts +12 -0
  34. package/dist/deploy-base-command.js +27 -0
  35. package/dist/format/color.d.ts +5 -0
  36. package/dist/format/color.js +10 -0
  37. package/dist/format/detail.d.ts +19 -0
  38. package/dist/format/detail.js +18 -0
  39. package/dist/laioutr-base-command.d.ts +9 -1
  40. package/dist/laioutr-base-command.js +21 -3
  41. package/dist/project.d.ts +14 -0
  42. package/dist/project.js +16 -0
  43. package/oclif.manifest.json +443 -22
  44. package/package.json +4 -2
@@ -10,10 +10,20 @@
10
10
  "LAIOUTR_API_KEY=orgKey_xxx <%= config.bin %> app release"
11
11
  ],
12
12
  "flags": {
13
- "cockpitApiHost": {
14
- "description": "cockpit api host",
13
+ "no-color": {
14
+ "description": "Disable color in output",
15
+ "name": "no-color",
16
+ "allowNo": false,
17
+ "type": "boolean"
18
+ },
19
+ "cockpit-api-host": {
20
+ "aliases": [
21
+ "cockpitApiHost"
22
+ ],
23
+ "deprecateAliases": true,
24
+ "description": "Cockpit API host",
15
25
  "env": "COCKPIT_API_HOST",
16
- "name": "cockpitApiHost",
26
+ "name": "cockpit-api-host",
17
27
  "required": true,
18
28
  "default": "https://cockpit.laioutr.cloud",
19
29
  "hasDynamicHelp": false,
@@ -21,11 +31,11 @@
21
31
  "type": "option"
22
32
  },
23
33
  "cwd": {
24
- "description": "current working directory",
34
+ "description": "Current working directory",
25
35
  "env": "CWD",
26
36
  "name": "cwd",
27
37
  "required": true,
28
- "default": "/Users/sl/src/laioutr/apps/cli",
38
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
29
39
  "hasDynamicHelp": false,
30
40
  "multiple": false,
31
41
  "type": "option"
@@ -69,6 +79,389 @@
69
79
  "release.js"
70
80
  ]
71
81
  },
82
+ "deploy:list": {
83
+ "aliases": [],
84
+ "args": {},
85
+ "description": "List recent deployments for a project.",
86
+ "examples": [
87
+ "<%= config.bin %> deploy list --project org/project --key orgKey_xxx",
88
+ "<%= config.bin %> deploy list --project org/project --key orgKey_xxx --limit 50"
89
+ ],
90
+ "flags": {
91
+ "json": {
92
+ "description": "Format output as json.",
93
+ "helpGroup": "GLOBAL",
94
+ "name": "json",
95
+ "allowNo": false,
96
+ "type": "boolean"
97
+ },
98
+ "no-color": {
99
+ "description": "Disable color in output",
100
+ "name": "no-color",
101
+ "allowNo": false,
102
+ "type": "boolean"
103
+ },
104
+ "cockpit-api-host": {
105
+ "aliases": [
106
+ "cockpitApiHost"
107
+ ],
108
+ "deprecateAliases": true,
109
+ "description": "Cockpit API host",
110
+ "env": "COCKPIT_API_HOST",
111
+ "name": "cockpit-api-host",
112
+ "required": true,
113
+ "default": "https://cockpit.laioutr.cloud",
114
+ "hasDynamicHelp": false,
115
+ "multiple": false,
116
+ "type": "option"
117
+ },
118
+ "cwd": {
119
+ "description": "Current working directory",
120
+ "env": "CWD",
121
+ "name": "cwd",
122
+ "required": true,
123
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
124
+ "hasDynamicHelp": false,
125
+ "multiple": false,
126
+ "type": "option"
127
+ },
128
+ "project": {
129
+ "char": "p",
130
+ "description": "Project identifier in org/project format",
131
+ "env": "PROJECT",
132
+ "name": "project",
133
+ "required": true,
134
+ "hasDynamicHelp": false,
135
+ "multiple": false,
136
+ "type": "option"
137
+ },
138
+ "key": {
139
+ "char": "k",
140
+ "description": "Organization API key with project:deploy scope",
141
+ "env": "LAIOUTR_API_KEY",
142
+ "name": "key",
143
+ "required": true,
144
+ "hasDynamicHelp": false,
145
+ "multiple": false,
146
+ "type": "option"
147
+ },
148
+ "limit": {
149
+ "description": "Maximum number of deployments to list (1-100)",
150
+ "name": "limit",
151
+ "default": 20,
152
+ "hasDynamicHelp": false,
153
+ "multiple": false,
154
+ "type": "option"
155
+ }
156
+ },
157
+ "hasDynamicHelp": false,
158
+ "hiddenAliases": [],
159
+ "id": "deploy:list",
160
+ "pluginAlias": "@laioutr/cli",
161
+ "pluginName": "@laioutr/cli",
162
+ "pluginType": "core",
163
+ "strict": true,
164
+ "enableJsonFlag": true,
165
+ "isESM": true,
166
+ "relativePath": [
167
+ "dist",
168
+ "commands",
169
+ "deploy",
170
+ "list.js"
171
+ ]
172
+ },
173
+ "deploy:logs": {
174
+ "aliases": [],
175
+ "args": {},
176
+ "description": "Fetch and display build logs for a deployment.",
177
+ "examples": [
178
+ "<%= config.bin %> deploy logs --project org/project --key orgKey_xxx --deployment-id dep_abc123"
179
+ ],
180
+ "flags": {
181
+ "json": {
182
+ "description": "Format output as json.",
183
+ "helpGroup": "GLOBAL",
184
+ "name": "json",
185
+ "allowNo": false,
186
+ "type": "boolean"
187
+ },
188
+ "no-color": {
189
+ "description": "Disable color in output",
190
+ "name": "no-color",
191
+ "allowNo": false,
192
+ "type": "boolean"
193
+ },
194
+ "cockpit-api-host": {
195
+ "aliases": [
196
+ "cockpitApiHost"
197
+ ],
198
+ "deprecateAliases": true,
199
+ "description": "Cockpit API host",
200
+ "env": "COCKPIT_API_HOST",
201
+ "name": "cockpit-api-host",
202
+ "required": true,
203
+ "default": "https://cockpit.laioutr.cloud",
204
+ "hasDynamicHelp": false,
205
+ "multiple": false,
206
+ "type": "option"
207
+ },
208
+ "cwd": {
209
+ "description": "Current working directory",
210
+ "env": "CWD",
211
+ "name": "cwd",
212
+ "required": true,
213
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
214
+ "hasDynamicHelp": false,
215
+ "multiple": false,
216
+ "type": "option"
217
+ },
218
+ "project": {
219
+ "char": "p",
220
+ "description": "Project identifier in org/project format",
221
+ "env": "PROJECT",
222
+ "name": "project",
223
+ "required": true,
224
+ "hasDynamicHelp": false,
225
+ "multiple": false,
226
+ "type": "option"
227
+ },
228
+ "key": {
229
+ "char": "k",
230
+ "description": "Organization API key with project:deploy scope",
231
+ "env": "LAIOUTR_API_KEY",
232
+ "name": "key",
233
+ "required": true,
234
+ "hasDynamicHelp": false,
235
+ "multiple": false,
236
+ "type": "option"
237
+ },
238
+ "deployment-id": {
239
+ "aliases": [
240
+ "deploymentId"
241
+ ],
242
+ "deprecateAliases": true,
243
+ "description": "Deployment ID",
244
+ "name": "deployment-id",
245
+ "required": true,
246
+ "hasDynamicHelp": false,
247
+ "multiple": false,
248
+ "type": "option"
249
+ }
250
+ },
251
+ "hasDynamicHelp": false,
252
+ "hiddenAliases": [],
253
+ "id": "deploy:logs",
254
+ "pluginAlias": "@laioutr/cli",
255
+ "pluginName": "@laioutr/cli",
256
+ "pluginType": "core",
257
+ "strict": true,
258
+ "enableJsonFlag": true,
259
+ "isESM": true,
260
+ "relativePath": [
261
+ "dist",
262
+ "commands",
263
+ "deploy",
264
+ "logs.js"
265
+ ]
266
+ },
267
+ "deploy:status": {
268
+ "aliases": [],
269
+ "args": {},
270
+ "description": "Show status of a deployment.",
271
+ "examples": [
272
+ "<%= config.bin %> deploy status --project org/project --key orgKey_xxx --deployment-id dep_abc123"
273
+ ],
274
+ "flags": {
275
+ "json": {
276
+ "description": "Format output as json.",
277
+ "helpGroup": "GLOBAL",
278
+ "name": "json",
279
+ "allowNo": false,
280
+ "type": "boolean"
281
+ },
282
+ "no-color": {
283
+ "description": "Disable color in output",
284
+ "name": "no-color",
285
+ "allowNo": false,
286
+ "type": "boolean"
287
+ },
288
+ "cockpit-api-host": {
289
+ "aliases": [
290
+ "cockpitApiHost"
291
+ ],
292
+ "deprecateAliases": true,
293
+ "description": "Cockpit API host",
294
+ "env": "COCKPIT_API_HOST",
295
+ "name": "cockpit-api-host",
296
+ "required": true,
297
+ "default": "https://cockpit.laioutr.cloud",
298
+ "hasDynamicHelp": false,
299
+ "multiple": false,
300
+ "type": "option"
301
+ },
302
+ "cwd": {
303
+ "description": "Current working directory",
304
+ "env": "CWD",
305
+ "name": "cwd",
306
+ "required": true,
307
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
308
+ "hasDynamicHelp": false,
309
+ "multiple": false,
310
+ "type": "option"
311
+ },
312
+ "project": {
313
+ "char": "p",
314
+ "description": "Project identifier in org/project format",
315
+ "env": "PROJECT",
316
+ "name": "project",
317
+ "required": true,
318
+ "hasDynamicHelp": false,
319
+ "multiple": false,
320
+ "type": "option"
321
+ },
322
+ "key": {
323
+ "char": "k",
324
+ "description": "Organization API key with project:deploy scope",
325
+ "env": "LAIOUTR_API_KEY",
326
+ "name": "key",
327
+ "required": true,
328
+ "hasDynamicHelp": false,
329
+ "multiple": false,
330
+ "type": "option"
331
+ },
332
+ "deployment-id": {
333
+ "aliases": [
334
+ "deploymentId"
335
+ ],
336
+ "deprecateAliases": true,
337
+ "description": "Deployment ID",
338
+ "name": "deployment-id",
339
+ "required": true,
340
+ "hasDynamicHelp": false,
341
+ "multiple": false,
342
+ "type": "option"
343
+ }
344
+ },
345
+ "hasDynamicHelp": false,
346
+ "hiddenAliases": [],
347
+ "id": "deploy:status",
348
+ "pluginAlias": "@laioutr/cli",
349
+ "pluginName": "@laioutr/cli",
350
+ "pluginType": "core",
351
+ "strict": true,
352
+ "enableJsonFlag": true,
353
+ "isESM": true,
354
+ "relativePath": [
355
+ "dist",
356
+ "commands",
357
+ "deploy",
358
+ "status.js"
359
+ ]
360
+ },
361
+ "deploy:trigger": {
362
+ "aliases": [],
363
+ "args": {},
364
+ "description": "Trigger a project deployment.",
365
+ "examples": [
366
+ "<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx",
367
+ "<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx --no-wait",
368
+ "<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx --logs",
369
+ "<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx --preview my-feature"
370
+ ],
371
+ "flags": {
372
+ "json": {
373
+ "description": "Format output as json.",
374
+ "helpGroup": "GLOBAL",
375
+ "name": "json",
376
+ "allowNo": false,
377
+ "type": "boolean"
378
+ },
379
+ "no-color": {
380
+ "description": "Disable color in output",
381
+ "name": "no-color",
382
+ "allowNo": false,
383
+ "type": "boolean"
384
+ },
385
+ "cockpit-api-host": {
386
+ "aliases": [
387
+ "cockpitApiHost"
388
+ ],
389
+ "deprecateAliases": true,
390
+ "description": "Cockpit API host",
391
+ "env": "COCKPIT_API_HOST",
392
+ "name": "cockpit-api-host",
393
+ "required": true,
394
+ "default": "https://cockpit.laioutr.cloud",
395
+ "hasDynamicHelp": false,
396
+ "multiple": false,
397
+ "type": "option"
398
+ },
399
+ "cwd": {
400
+ "description": "Current working directory",
401
+ "env": "CWD",
402
+ "name": "cwd",
403
+ "required": true,
404
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
405
+ "hasDynamicHelp": false,
406
+ "multiple": false,
407
+ "type": "option"
408
+ },
409
+ "project": {
410
+ "char": "p",
411
+ "description": "Project identifier in org/project format",
412
+ "env": "PROJECT",
413
+ "name": "project",
414
+ "required": true,
415
+ "hasDynamicHelp": false,
416
+ "multiple": false,
417
+ "type": "option"
418
+ },
419
+ "key": {
420
+ "char": "k",
421
+ "description": "Organization API key with project:deploy scope",
422
+ "env": "LAIOUTR_API_KEY",
423
+ "name": "key",
424
+ "required": true,
425
+ "hasDynamicHelp": false,
426
+ "multiple": false,
427
+ "type": "option"
428
+ },
429
+ "wait": {
430
+ "description": "Wait for deployment to complete",
431
+ "name": "wait",
432
+ "allowNo": true,
433
+ "type": "boolean"
434
+ },
435
+ "logs": {
436
+ "description": "Stream build log output instead of spinner",
437
+ "name": "logs",
438
+ "allowNo": false,
439
+ "type": "boolean"
440
+ },
441
+ "preview": {
442
+ "description": "Create a preview deployment with optional name",
443
+ "name": "preview",
444
+ "hasDynamicHelp": false,
445
+ "multiple": false,
446
+ "type": "option"
447
+ }
448
+ },
449
+ "hasDynamicHelp": false,
450
+ "hiddenAliases": [],
451
+ "id": "deploy:trigger",
452
+ "pluginAlias": "@laioutr/cli",
453
+ "pluginName": "@laioutr/cli",
454
+ "pluginType": "core",
455
+ "strict": true,
456
+ "enableJsonFlag": true,
457
+ "isESM": true,
458
+ "relativePath": [
459
+ "dist",
460
+ "commands",
461
+ "deploy",
462
+ "trigger.js"
463
+ ]
464
+ },
72
465
  "rc:fetch": {
73
466
  "aliases": [
74
467
  "project:fetch-rc"
@@ -86,10 +479,20 @@
86
479
  "<%= config.bin %> <%= command.id %>"
87
480
  ],
88
481
  "flags": {
89
- "cockpitApiHost": {
90
- "description": "cockpit api host",
482
+ "no-color": {
483
+ "description": "Disable color in output",
484
+ "name": "no-color",
485
+ "allowNo": false,
486
+ "type": "boolean"
487
+ },
488
+ "cockpit-api-host": {
489
+ "aliases": [
490
+ "cockpitApiHost"
491
+ ],
492
+ "deprecateAliases": true,
493
+ "description": "Cockpit API host",
91
494
  "env": "COCKPIT_API_HOST",
92
- "name": "cockpitApiHost",
495
+ "name": "cockpit-api-host",
93
496
  "required": true,
94
497
  "default": "https://cockpit.laioutr.cloud",
95
498
  "hasDynamicHelp": false,
@@ -97,31 +500,39 @@
97
500
  "type": "option"
98
501
  },
99
502
  "cwd": {
100
- "description": "current working directory",
503
+ "description": "Current working directory",
101
504
  "env": "CWD",
102
505
  "name": "cwd",
103
506
  "required": true,
104
- "default": "/Users/sl/src/laioutr/apps/cli",
507
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
105
508
  "hasDynamicHelp": false,
106
509
  "multiple": false,
107
510
  "type": "option"
108
511
  },
109
- "environmentName": {
512
+ "environment-name": {
513
+ "aliases": [
514
+ "environmentName"
515
+ ],
110
516
  "char": "e",
111
- "description": "environment name",
517
+ "deprecateAliases": true,
518
+ "description": "Environment name",
112
519
  "env": "ENVIRONMENT_NAME",
113
- "name": "environmentName",
520
+ "name": "environment-name",
114
521
  "required": true,
115
522
  "default": "main",
116
523
  "hasDynamicHelp": false,
117
524
  "multiple": false,
118
525
  "type": "option"
119
526
  },
120
- "projectSecret": {
527
+ "project-secret": {
528
+ "aliases": [
529
+ "projectSecret"
530
+ ],
121
531
  "char": "s",
122
- "description": "project secret",
532
+ "deprecateAliases": true,
533
+ "description": "Project secret",
123
534
  "env": "PROJECT_SECRET",
124
- "name": "projectSecret",
535
+ "name": "project-secret",
125
536
  "required": true,
126
537
  "hasDynamicHelp": false,
127
538
  "multiple": false,
@@ -168,10 +579,20 @@
168
579
  "<%= config.bin %> <%= command.id %>"
169
580
  ],
170
581
  "flags": {
171
- "cockpitApiHost": {
172
- "description": "cockpit api host",
582
+ "no-color": {
583
+ "description": "Disable color in output",
584
+ "name": "no-color",
585
+ "allowNo": false,
586
+ "type": "boolean"
587
+ },
588
+ "cockpit-api-host": {
589
+ "aliases": [
590
+ "cockpitApiHost"
591
+ ],
592
+ "deprecateAliases": true,
593
+ "description": "Cockpit API host",
173
594
  "env": "COCKPIT_API_HOST",
174
- "name": "cockpitApiHost",
595
+ "name": "cockpit-api-host",
175
596
  "required": true,
176
597
  "default": "https://cockpit.laioutr.cloud",
177
598
  "hasDynamicHelp": false,
@@ -179,11 +600,11 @@
179
600
  "type": "option"
180
601
  },
181
602
  "cwd": {
182
- "description": "current working directory",
603
+ "description": "Current working directory",
183
604
  "env": "CWD",
184
605
  "name": "cwd",
185
606
  "required": true,
186
- "default": "/Users/sl/src/laioutr/apps/cli",
607
+ "default": "/home/runner/work/laioutr/laioutr/apps/cli",
187
608
  "hasDynamicHelp": false,
188
609
  "multiple": false,
189
610
  "type": "option"
@@ -206,5 +627,5 @@
206
627
  ]
207
628
  }
208
629
  },
209
- "version": "0.3.2"
630
+ "version": "0.4.1"
210
631
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laioutr/cli",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "Laioutr CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,6 +41,7 @@
41
41
  "@oclif/core": "^4",
42
42
  "@oclif/plugin-help": "^6",
43
43
  "@oclif/plugin-plugins": "^5",
44
+ "@oclif/table": "^0.5.9",
44
45
  "jiti": "^2.6.1",
45
46
  "zod": "3.25.61"
46
47
  },
@@ -48,7 +49,7 @@
48
49
  "@oclif/test": "^4",
49
50
  "@types/chai": "^4",
50
51
  "@types/mocha": "^10",
51
- "@types/node": "latest",
52
+ "@types/node": "22.15.32",
52
53
  "chai": "^4",
53
54
  "mocha": "^10",
54
55
  "oclif": "^4",
@@ -63,6 +64,7 @@
63
64
  "build": "shx rm -rf dist && tsc -b && oclif manifest && oclif readme",
64
65
  "dev": "./bin/dev.js",
65
66
  "lint": "eslint --cache --cache-location ../../.eslintcache",
67
+ "pretest": "tsc -b && oclif manifest",
66
68
  "test": "mocha --forbid-only \"test/**/*.test.ts\"",
67
69
  "posttest": "pnpm run lint",
68
70
  "version": "oclif readme && git add README.md"