@laioutr/cli 0.3.1 → 0.4.0
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/CHANGELOG.md +11 -0
- package/README.md +238 -1
- package/dist/api/deploy.d.ts +65 -0
- package/dist/api/deploy.js +34 -0
- package/dist/api/fetchRc.d.ts +10 -0
- package/dist/api/fetchRc.js +19 -0
- package/dist/api/http.d.ts +14 -0
- package/dist/api/http.js +28 -0
- package/dist/api/releaseAppVersion.d.ts +13 -0
- package/dist/api/releaseAppVersion.js +16 -0
- package/dist/commands/app/release.d.ts +12 -0
- package/dist/commands/app/release.js +63 -0
- package/dist/commands/deploy/list.d.ts +31 -0
- package/dist/commands/deploy/list.js +54 -0
- package/dist/commands/deploy/logs.d.ts +22 -0
- package/dist/commands/deploy/logs.js +51 -0
- package/dist/commands/deploy/status.d.ts +30 -0
- package/dist/commands/deploy/status.js +38 -0
- package/dist/commands/deploy/trigger.d.ts +23 -0
- package/dist/commands/deploy/trigger.js +129 -0
- package/dist/commands/rc/fetch.d.ts +18 -0
- package/dist/commands/rc/fetch.js +28 -0
- package/dist/commands/rc/update.d.ts +13 -0
- package/dist/commands/rc/update.js +33 -0
- package/dist/deploy/attribution.d.ts +12 -0
- package/dist/deploy/attribution.js +16 -0
- package/dist/deploy/log-renderer.d.ts +13 -0
- package/dist/deploy/log-renderer.js +20 -0
- package/dist/deploy/polling.d.ts +4 -0
- package/dist/deploy/polling.js +12 -0
- package/dist/deploy/validation.d.ts +81 -0
- package/dist/deploy/validation.js +47 -0
- package/dist/deploy-base-command.d.ts +11 -0
- package/dist/deploy-base-command.js +27 -0
- package/dist/format/detail.d.ts +19 -0
- package/dist/format/detail.js +18 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/laioutr-base-command.d.ts +8 -0
- package/dist/laioutr-base-command.js +18 -0
- package/dist/project.d.ts +14 -0
- package/dist/project.js +16 -0
- package/dist/rc/validation.d.ts +8 -0
- package/dist/rc/validation.js +8 -0
- package/oclif.manifest.json +543 -2
- package/package.json +4 -2
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats an object's fields as an aligned `label: value` detail block:
|
|
3
|
+
*
|
|
4
|
+
* Deployment dep_abc123
|
|
5
|
+
* Status: success
|
|
6
|
+
* Environment: production
|
|
7
|
+
*
|
|
8
|
+
* Labels are padded so every value starts in the same column. Fields whose
|
|
9
|
+
* value is `null`, `undefined`, or empty are omitted, so a caller can list
|
|
10
|
+
* every possible field inline without pre-filtering the absent ones.
|
|
11
|
+
*/
|
|
12
|
+
export function formatDetail(fields, options = {}) {
|
|
13
|
+
const indent = options.indent ?? ' ';
|
|
14
|
+
const present = fields.filter((field) => Boolean(field[1]));
|
|
15
|
+
const labelWidth = Math.max(0, ...present.map(([label]) => label.length));
|
|
16
|
+
const lines = present.map(([label, value]) => `${indent}${`${label}:`.padEnd(labelWidth + 2)}${value}`);
|
|
17
|
+
return options.title ? [options.title, ...lines].join('\n') : lines.join('\n');
|
|
18
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { run } from '@oclif/core';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { run } from '@oclif/core';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default abstract class LaioutrBaseCommand extends Command {
|
|
3
|
+
static args: {};
|
|
4
|
+
static flags: {
|
|
5
|
+
cockpitApiHost: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
cwd: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
export default class LaioutrBaseCommand extends Command {
|
|
3
|
+
static args = {};
|
|
4
|
+
static flags = {
|
|
5
|
+
cockpitApiHost: Flags.string({
|
|
6
|
+
default: 'https://cockpit.laioutr.cloud',
|
|
7
|
+
description: 'cockpit api host',
|
|
8
|
+
env: 'COCKPIT_API_HOST',
|
|
9
|
+
required: true,
|
|
10
|
+
}),
|
|
11
|
+
cwd: Flags.string({
|
|
12
|
+
default: process.cwd(),
|
|
13
|
+
description: 'current working directory',
|
|
14
|
+
env: 'CWD',
|
|
15
|
+
required: true,
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ProjectSlugs {
|
|
2
|
+
organizationSlug: string;
|
|
3
|
+
projectSlug: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Parses an `org/project` project identifier into its organization and project
|
|
7
|
+
* slugs.
|
|
8
|
+
*
|
|
9
|
+
* Tolerates a `/p/` path segment (e.g. a pasted `org/p/project` URL) by
|
|
10
|
+
* normalising it to a plain separator. Returns `null` when the input is not
|
|
11
|
+
* exactly two non-empty slash-separated parts, so callers decide how to report
|
|
12
|
+
* the error.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseProjectSlug(project: string): ProjectSlugs | null;
|
package/dist/project.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses an `org/project` project identifier into its organization and project
|
|
3
|
+
* slugs.
|
|
4
|
+
*
|
|
5
|
+
* Tolerates a `/p/` path segment (e.g. a pasted `org/p/project` URL) by
|
|
6
|
+
* normalising it to a plain separator. Returns `null` when the input is not
|
|
7
|
+
* exactly two non-empty slash-separated parts, so callers decide how to report
|
|
8
|
+
* the error.
|
|
9
|
+
*/
|
|
10
|
+
export function parseProjectSlug(project) {
|
|
11
|
+
const parts = project.replace('/p/', '/').split('/');
|
|
12
|
+
if (parts.length !== 2 || !parts[0] || !parts[1]) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return { organizationSlug: parts[0], projectSlug: parts[1] };
|
|
16
|
+
}
|
package/oclif.manifest.json
CHANGED
|
@@ -1,4 +1,545 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commands": {
|
|
3
|
-
|
|
2
|
+
"commands": {
|
|
3
|
+
"app:release": {
|
|
4
|
+
"aliases": [],
|
|
5
|
+
"args": {},
|
|
6
|
+
"description": "Publish an app version to the Laioutr platform.",
|
|
7
|
+
"examples": [
|
|
8
|
+
"<%= config.bin %> app release",
|
|
9
|
+
"<%= config.bin %> app release --channel testing",
|
|
10
|
+
"LAIOUTR_API_KEY=orgKey_xxx <%= config.bin %> app release"
|
|
11
|
+
],
|
|
12
|
+
"flags": {
|
|
13
|
+
"cockpitApiHost": {
|
|
14
|
+
"description": "cockpit api host",
|
|
15
|
+
"env": "COCKPIT_API_HOST",
|
|
16
|
+
"name": "cockpitApiHost",
|
|
17
|
+
"required": true,
|
|
18
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
19
|
+
"hasDynamicHelp": false,
|
|
20
|
+
"multiple": false,
|
|
21
|
+
"type": "option"
|
|
22
|
+
},
|
|
23
|
+
"cwd": {
|
|
24
|
+
"description": "current working directory",
|
|
25
|
+
"env": "CWD",
|
|
26
|
+
"name": "cwd",
|
|
27
|
+
"required": true,
|
|
28
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
29
|
+
"hasDynamicHelp": false,
|
|
30
|
+
"multiple": false,
|
|
31
|
+
"type": "option"
|
|
32
|
+
},
|
|
33
|
+
"key": {
|
|
34
|
+
"char": "k",
|
|
35
|
+
"description": "API key for authentication",
|
|
36
|
+
"env": "LAIOUTR_API_KEY",
|
|
37
|
+
"name": "key",
|
|
38
|
+
"required": true,
|
|
39
|
+
"hasDynamicHelp": false,
|
|
40
|
+
"multiple": false,
|
|
41
|
+
"type": "option"
|
|
42
|
+
},
|
|
43
|
+
"channel": {
|
|
44
|
+
"char": "c",
|
|
45
|
+
"description": "Release channel (auto-detected from version if omitted)",
|
|
46
|
+
"name": "channel",
|
|
47
|
+
"hasDynamicHelp": false,
|
|
48
|
+
"multiple": false,
|
|
49
|
+
"options": [
|
|
50
|
+
"stable",
|
|
51
|
+
"testing"
|
|
52
|
+
],
|
|
53
|
+
"type": "option"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"hasDynamicHelp": false,
|
|
57
|
+
"hiddenAliases": [],
|
|
58
|
+
"id": "app:release",
|
|
59
|
+
"pluginAlias": "@laioutr/cli",
|
|
60
|
+
"pluginName": "@laioutr/cli",
|
|
61
|
+
"pluginType": "core",
|
|
62
|
+
"strict": true,
|
|
63
|
+
"enableJsonFlag": false,
|
|
64
|
+
"isESM": true,
|
|
65
|
+
"relativePath": [
|
|
66
|
+
"dist",
|
|
67
|
+
"commands",
|
|
68
|
+
"app",
|
|
69
|
+
"release.js"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"deploy:list": {
|
|
73
|
+
"aliases": [],
|
|
74
|
+
"args": {},
|
|
75
|
+
"description": "List recent deployments for a project.",
|
|
76
|
+
"examples": [
|
|
77
|
+
"<%= config.bin %> deploy list --project org/project --key orgKey_xxx",
|
|
78
|
+
"<%= config.bin %> deploy list --project org/project --key orgKey_xxx --limit 50"
|
|
79
|
+
],
|
|
80
|
+
"flags": {
|
|
81
|
+
"json": {
|
|
82
|
+
"description": "Format output as json.",
|
|
83
|
+
"helpGroup": "GLOBAL",
|
|
84
|
+
"name": "json",
|
|
85
|
+
"allowNo": false,
|
|
86
|
+
"type": "boolean"
|
|
87
|
+
},
|
|
88
|
+
"cockpitApiHost": {
|
|
89
|
+
"description": "cockpit api host",
|
|
90
|
+
"env": "COCKPIT_API_HOST",
|
|
91
|
+
"name": "cockpitApiHost",
|
|
92
|
+
"required": true,
|
|
93
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
94
|
+
"hasDynamicHelp": false,
|
|
95
|
+
"multiple": false,
|
|
96
|
+
"type": "option"
|
|
97
|
+
},
|
|
98
|
+
"cwd": {
|
|
99
|
+
"description": "current working directory",
|
|
100
|
+
"env": "CWD",
|
|
101
|
+
"name": "cwd",
|
|
102
|
+
"required": true,
|
|
103
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
104
|
+
"hasDynamicHelp": false,
|
|
105
|
+
"multiple": false,
|
|
106
|
+
"type": "option"
|
|
107
|
+
},
|
|
108
|
+
"project": {
|
|
109
|
+
"char": "p",
|
|
110
|
+
"description": "Project identifier in org/project format",
|
|
111
|
+
"env": "PROJECT",
|
|
112
|
+
"name": "project",
|
|
113
|
+
"required": true,
|
|
114
|
+
"hasDynamicHelp": false,
|
|
115
|
+
"multiple": false,
|
|
116
|
+
"type": "option"
|
|
117
|
+
},
|
|
118
|
+
"key": {
|
|
119
|
+
"char": "k",
|
|
120
|
+
"description": "Organization API key with project:deploy scope",
|
|
121
|
+
"env": "LAIOUTR_API_KEY",
|
|
122
|
+
"name": "key",
|
|
123
|
+
"required": true,
|
|
124
|
+
"hasDynamicHelp": false,
|
|
125
|
+
"multiple": false,
|
|
126
|
+
"type": "option"
|
|
127
|
+
},
|
|
128
|
+
"limit": {
|
|
129
|
+
"description": "Maximum number of deployments to list (1-100)",
|
|
130
|
+
"name": "limit",
|
|
131
|
+
"default": 20,
|
|
132
|
+
"hasDynamicHelp": false,
|
|
133
|
+
"multiple": false,
|
|
134
|
+
"type": "option"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"hasDynamicHelp": false,
|
|
138
|
+
"hiddenAliases": [],
|
|
139
|
+
"id": "deploy:list",
|
|
140
|
+
"pluginAlias": "@laioutr/cli",
|
|
141
|
+
"pluginName": "@laioutr/cli",
|
|
142
|
+
"pluginType": "core",
|
|
143
|
+
"strict": true,
|
|
144
|
+
"enableJsonFlag": true,
|
|
145
|
+
"isESM": true,
|
|
146
|
+
"relativePath": [
|
|
147
|
+
"dist",
|
|
148
|
+
"commands",
|
|
149
|
+
"deploy",
|
|
150
|
+
"list.js"
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"deploy:logs": {
|
|
154
|
+
"aliases": [],
|
|
155
|
+
"args": {},
|
|
156
|
+
"description": "Fetch and display build logs for a deployment.",
|
|
157
|
+
"examples": [
|
|
158
|
+
"<%= config.bin %> deploy logs --project org/project --key orgKey_xxx --deploymentId dep_abc123"
|
|
159
|
+
],
|
|
160
|
+
"flags": {
|
|
161
|
+
"json": {
|
|
162
|
+
"description": "Format output as json.",
|
|
163
|
+
"helpGroup": "GLOBAL",
|
|
164
|
+
"name": "json",
|
|
165
|
+
"allowNo": false,
|
|
166
|
+
"type": "boolean"
|
|
167
|
+
},
|
|
168
|
+
"cockpitApiHost": {
|
|
169
|
+
"description": "cockpit api host",
|
|
170
|
+
"env": "COCKPIT_API_HOST",
|
|
171
|
+
"name": "cockpitApiHost",
|
|
172
|
+
"required": true,
|
|
173
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
174
|
+
"hasDynamicHelp": false,
|
|
175
|
+
"multiple": false,
|
|
176
|
+
"type": "option"
|
|
177
|
+
},
|
|
178
|
+
"cwd": {
|
|
179
|
+
"description": "current working directory",
|
|
180
|
+
"env": "CWD",
|
|
181
|
+
"name": "cwd",
|
|
182
|
+
"required": true,
|
|
183
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
184
|
+
"hasDynamicHelp": false,
|
|
185
|
+
"multiple": false,
|
|
186
|
+
"type": "option"
|
|
187
|
+
},
|
|
188
|
+
"project": {
|
|
189
|
+
"char": "p",
|
|
190
|
+
"description": "Project identifier in org/project format",
|
|
191
|
+
"env": "PROJECT",
|
|
192
|
+
"name": "project",
|
|
193
|
+
"required": true,
|
|
194
|
+
"hasDynamicHelp": false,
|
|
195
|
+
"multiple": false,
|
|
196
|
+
"type": "option"
|
|
197
|
+
},
|
|
198
|
+
"key": {
|
|
199
|
+
"char": "k",
|
|
200
|
+
"description": "Organization API key with project:deploy scope",
|
|
201
|
+
"env": "LAIOUTR_API_KEY",
|
|
202
|
+
"name": "key",
|
|
203
|
+
"required": true,
|
|
204
|
+
"hasDynamicHelp": false,
|
|
205
|
+
"multiple": false,
|
|
206
|
+
"type": "option"
|
|
207
|
+
},
|
|
208
|
+
"deploymentId": {
|
|
209
|
+
"description": "Deployment ID",
|
|
210
|
+
"name": "deploymentId",
|
|
211
|
+
"required": true,
|
|
212
|
+
"hasDynamicHelp": false,
|
|
213
|
+
"multiple": false,
|
|
214
|
+
"type": "option"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"hasDynamicHelp": false,
|
|
218
|
+
"hiddenAliases": [],
|
|
219
|
+
"id": "deploy:logs",
|
|
220
|
+
"pluginAlias": "@laioutr/cli",
|
|
221
|
+
"pluginName": "@laioutr/cli",
|
|
222
|
+
"pluginType": "core",
|
|
223
|
+
"strict": true,
|
|
224
|
+
"enableJsonFlag": true,
|
|
225
|
+
"isESM": true,
|
|
226
|
+
"relativePath": [
|
|
227
|
+
"dist",
|
|
228
|
+
"commands",
|
|
229
|
+
"deploy",
|
|
230
|
+
"logs.js"
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
"deploy:status": {
|
|
234
|
+
"aliases": [],
|
|
235
|
+
"args": {},
|
|
236
|
+
"description": "Show status of a deployment.",
|
|
237
|
+
"examples": [
|
|
238
|
+
"<%= config.bin %> deploy status --project org/project --key orgKey_xxx --deploymentId dep_abc123"
|
|
239
|
+
],
|
|
240
|
+
"flags": {
|
|
241
|
+
"json": {
|
|
242
|
+
"description": "Format output as json.",
|
|
243
|
+
"helpGroup": "GLOBAL",
|
|
244
|
+
"name": "json",
|
|
245
|
+
"allowNo": false,
|
|
246
|
+
"type": "boolean"
|
|
247
|
+
},
|
|
248
|
+
"cockpitApiHost": {
|
|
249
|
+
"description": "cockpit api host",
|
|
250
|
+
"env": "COCKPIT_API_HOST",
|
|
251
|
+
"name": "cockpitApiHost",
|
|
252
|
+
"required": true,
|
|
253
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
254
|
+
"hasDynamicHelp": false,
|
|
255
|
+
"multiple": false,
|
|
256
|
+
"type": "option"
|
|
257
|
+
},
|
|
258
|
+
"cwd": {
|
|
259
|
+
"description": "current working directory",
|
|
260
|
+
"env": "CWD",
|
|
261
|
+
"name": "cwd",
|
|
262
|
+
"required": true,
|
|
263
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
264
|
+
"hasDynamicHelp": false,
|
|
265
|
+
"multiple": false,
|
|
266
|
+
"type": "option"
|
|
267
|
+
},
|
|
268
|
+
"project": {
|
|
269
|
+
"char": "p",
|
|
270
|
+
"description": "Project identifier in org/project format",
|
|
271
|
+
"env": "PROJECT",
|
|
272
|
+
"name": "project",
|
|
273
|
+
"required": true,
|
|
274
|
+
"hasDynamicHelp": false,
|
|
275
|
+
"multiple": false,
|
|
276
|
+
"type": "option"
|
|
277
|
+
},
|
|
278
|
+
"key": {
|
|
279
|
+
"char": "k",
|
|
280
|
+
"description": "Organization API key with project:deploy scope",
|
|
281
|
+
"env": "LAIOUTR_API_KEY",
|
|
282
|
+
"name": "key",
|
|
283
|
+
"required": true,
|
|
284
|
+
"hasDynamicHelp": false,
|
|
285
|
+
"multiple": false,
|
|
286
|
+
"type": "option"
|
|
287
|
+
},
|
|
288
|
+
"deploymentId": {
|
|
289
|
+
"description": "Deployment ID",
|
|
290
|
+
"name": "deploymentId",
|
|
291
|
+
"required": true,
|
|
292
|
+
"hasDynamicHelp": false,
|
|
293
|
+
"multiple": false,
|
|
294
|
+
"type": "option"
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"hasDynamicHelp": false,
|
|
298
|
+
"hiddenAliases": [],
|
|
299
|
+
"id": "deploy:status",
|
|
300
|
+
"pluginAlias": "@laioutr/cli",
|
|
301
|
+
"pluginName": "@laioutr/cli",
|
|
302
|
+
"pluginType": "core",
|
|
303
|
+
"strict": true,
|
|
304
|
+
"enableJsonFlag": true,
|
|
305
|
+
"isESM": true,
|
|
306
|
+
"relativePath": [
|
|
307
|
+
"dist",
|
|
308
|
+
"commands",
|
|
309
|
+
"deploy",
|
|
310
|
+
"status.js"
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
"deploy:trigger": {
|
|
314
|
+
"aliases": [],
|
|
315
|
+
"args": {},
|
|
316
|
+
"description": "Trigger a project deployment.",
|
|
317
|
+
"examples": [
|
|
318
|
+
"<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx",
|
|
319
|
+
"<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx --no-wait",
|
|
320
|
+
"<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx --logs",
|
|
321
|
+
"<%= config.bin %> deploy trigger --project org/project --key orgKey_xxx --preview my-feature"
|
|
322
|
+
],
|
|
323
|
+
"flags": {
|
|
324
|
+
"json": {
|
|
325
|
+
"description": "Format output as json.",
|
|
326
|
+
"helpGroup": "GLOBAL",
|
|
327
|
+
"name": "json",
|
|
328
|
+
"allowNo": false,
|
|
329
|
+
"type": "boolean"
|
|
330
|
+
},
|
|
331
|
+
"cockpitApiHost": {
|
|
332
|
+
"description": "cockpit api host",
|
|
333
|
+
"env": "COCKPIT_API_HOST",
|
|
334
|
+
"name": "cockpitApiHost",
|
|
335
|
+
"required": true,
|
|
336
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
337
|
+
"hasDynamicHelp": false,
|
|
338
|
+
"multiple": false,
|
|
339
|
+
"type": "option"
|
|
340
|
+
},
|
|
341
|
+
"cwd": {
|
|
342
|
+
"description": "current working directory",
|
|
343
|
+
"env": "CWD",
|
|
344
|
+
"name": "cwd",
|
|
345
|
+
"required": true,
|
|
346
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
347
|
+
"hasDynamicHelp": false,
|
|
348
|
+
"multiple": false,
|
|
349
|
+
"type": "option"
|
|
350
|
+
},
|
|
351
|
+
"project": {
|
|
352
|
+
"char": "p",
|
|
353
|
+
"description": "Project identifier in org/project format",
|
|
354
|
+
"env": "PROJECT",
|
|
355
|
+
"name": "project",
|
|
356
|
+
"required": true,
|
|
357
|
+
"hasDynamicHelp": false,
|
|
358
|
+
"multiple": false,
|
|
359
|
+
"type": "option"
|
|
360
|
+
},
|
|
361
|
+
"key": {
|
|
362
|
+
"char": "k",
|
|
363
|
+
"description": "Organization API key with project:deploy scope",
|
|
364
|
+
"env": "LAIOUTR_API_KEY",
|
|
365
|
+
"name": "key",
|
|
366
|
+
"required": true,
|
|
367
|
+
"hasDynamicHelp": false,
|
|
368
|
+
"multiple": false,
|
|
369
|
+
"type": "option"
|
|
370
|
+
},
|
|
371
|
+
"wait": {
|
|
372
|
+
"description": "Wait for deployment to complete",
|
|
373
|
+
"name": "wait",
|
|
374
|
+
"allowNo": true,
|
|
375
|
+
"type": "boolean"
|
|
376
|
+
},
|
|
377
|
+
"logs": {
|
|
378
|
+
"description": "Stream build log output instead of spinner",
|
|
379
|
+
"name": "logs",
|
|
380
|
+
"allowNo": false,
|
|
381
|
+
"type": "boolean"
|
|
382
|
+
},
|
|
383
|
+
"preview": {
|
|
384
|
+
"description": "Create a preview deployment with optional name",
|
|
385
|
+
"name": "preview",
|
|
386
|
+
"hasDynamicHelp": false,
|
|
387
|
+
"multiple": false,
|
|
388
|
+
"type": "option"
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
"hasDynamicHelp": false,
|
|
392
|
+
"hiddenAliases": [],
|
|
393
|
+
"id": "deploy:trigger",
|
|
394
|
+
"pluginAlias": "@laioutr/cli",
|
|
395
|
+
"pluginName": "@laioutr/cli",
|
|
396
|
+
"pluginType": "core",
|
|
397
|
+
"strict": true,
|
|
398
|
+
"enableJsonFlag": true,
|
|
399
|
+
"isESM": true,
|
|
400
|
+
"relativePath": [
|
|
401
|
+
"dist",
|
|
402
|
+
"commands",
|
|
403
|
+
"deploy",
|
|
404
|
+
"trigger.js"
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
"rc:fetch": {
|
|
408
|
+
"aliases": [
|
|
409
|
+
"project:fetch-rc"
|
|
410
|
+
],
|
|
411
|
+
"args": {
|
|
412
|
+
"fileName": {
|
|
413
|
+
"default": "laioutrrc.json",
|
|
414
|
+
"name": "fileName",
|
|
415
|
+
"required": false
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
"deprecateAliases": true,
|
|
419
|
+
"description": "Fetches the laioutrrc.json of a project from the cockpit api.",
|
|
420
|
+
"examples": [
|
|
421
|
+
"<%= config.bin %> <%= command.id %>"
|
|
422
|
+
],
|
|
423
|
+
"flags": {
|
|
424
|
+
"cockpitApiHost": {
|
|
425
|
+
"description": "cockpit api host",
|
|
426
|
+
"env": "COCKPIT_API_HOST",
|
|
427
|
+
"name": "cockpitApiHost",
|
|
428
|
+
"required": true,
|
|
429
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
430
|
+
"hasDynamicHelp": false,
|
|
431
|
+
"multiple": false,
|
|
432
|
+
"type": "option"
|
|
433
|
+
},
|
|
434
|
+
"cwd": {
|
|
435
|
+
"description": "current working directory",
|
|
436
|
+
"env": "CWD",
|
|
437
|
+
"name": "cwd",
|
|
438
|
+
"required": true,
|
|
439
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
440
|
+
"hasDynamicHelp": false,
|
|
441
|
+
"multiple": false,
|
|
442
|
+
"type": "option"
|
|
443
|
+
},
|
|
444
|
+
"environmentName": {
|
|
445
|
+
"char": "e",
|
|
446
|
+
"description": "environment name",
|
|
447
|
+
"env": "ENVIRONMENT_NAME",
|
|
448
|
+
"name": "environmentName",
|
|
449
|
+
"required": true,
|
|
450
|
+
"default": "main",
|
|
451
|
+
"hasDynamicHelp": false,
|
|
452
|
+
"multiple": false,
|
|
453
|
+
"type": "option"
|
|
454
|
+
},
|
|
455
|
+
"projectSecret": {
|
|
456
|
+
"char": "s",
|
|
457
|
+
"description": "project secret",
|
|
458
|
+
"env": "PROJECT_SECRET",
|
|
459
|
+
"name": "projectSecret",
|
|
460
|
+
"required": true,
|
|
461
|
+
"hasDynamicHelp": false,
|
|
462
|
+
"multiple": false,
|
|
463
|
+
"type": "option"
|
|
464
|
+
},
|
|
465
|
+
"project": {
|
|
466
|
+
"char": "p",
|
|
467
|
+
"description": "<organization slug>/<project slug>",
|
|
468
|
+
"env": "PROJECT",
|
|
469
|
+
"name": "project",
|
|
470
|
+
"required": true,
|
|
471
|
+
"hasDynamicHelp": false,
|
|
472
|
+
"multiple": false,
|
|
473
|
+
"type": "option"
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
"hasDynamicHelp": false,
|
|
477
|
+
"hiddenAliases": [],
|
|
478
|
+
"id": "rc:fetch",
|
|
479
|
+
"pluginAlias": "@laioutr/cli",
|
|
480
|
+
"pluginName": "@laioutr/cli",
|
|
481
|
+
"pluginType": "core",
|
|
482
|
+
"strict": true,
|
|
483
|
+
"enableJsonFlag": false,
|
|
484
|
+
"isESM": true,
|
|
485
|
+
"relativePath": [
|
|
486
|
+
"dist",
|
|
487
|
+
"commands",
|
|
488
|
+
"rc",
|
|
489
|
+
"fetch.js"
|
|
490
|
+
]
|
|
491
|
+
},
|
|
492
|
+
"rc:update": {
|
|
493
|
+
"aliases": [],
|
|
494
|
+
"args": {
|
|
495
|
+
"fileName": {
|
|
496
|
+
"default": "laioutrrc.json",
|
|
497
|
+
"name": "fileName",
|
|
498
|
+
"required": false
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
"description": "Updates an existing laioutrrc.json file with the latest from the cockpit api.",
|
|
502
|
+
"examples": [
|
|
503
|
+
"<%= config.bin %> <%= command.id %>"
|
|
504
|
+
],
|
|
505
|
+
"flags": {
|
|
506
|
+
"cockpitApiHost": {
|
|
507
|
+
"description": "cockpit api host",
|
|
508
|
+
"env": "COCKPIT_API_HOST",
|
|
509
|
+
"name": "cockpitApiHost",
|
|
510
|
+
"required": true,
|
|
511
|
+
"default": "https://cockpit.laioutr.cloud",
|
|
512
|
+
"hasDynamicHelp": false,
|
|
513
|
+
"multiple": false,
|
|
514
|
+
"type": "option"
|
|
515
|
+
},
|
|
516
|
+
"cwd": {
|
|
517
|
+
"description": "current working directory",
|
|
518
|
+
"env": "CWD",
|
|
519
|
+
"name": "cwd",
|
|
520
|
+
"required": true,
|
|
521
|
+
"default": "/home/runner/work/laioutr/laioutr/apps/cli",
|
|
522
|
+
"hasDynamicHelp": false,
|
|
523
|
+
"multiple": false,
|
|
524
|
+
"type": "option"
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
"hasDynamicHelp": false,
|
|
528
|
+
"hiddenAliases": [],
|
|
529
|
+
"id": "rc:update",
|
|
530
|
+
"pluginAlias": "@laioutr/cli",
|
|
531
|
+
"pluginName": "@laioutr/cli",
|
|
532
|
+
"pluginType": "core",
|
|
533
|
+
"strict": true,
|
|
534
|
+
"enableJsonFlag": false,
|
|
535
|
+
"isESM": true,
|
|
536
|
+
"relativePath": [
|
|
537
|
+
"dist",
|
|
538
|
+
"commands",
|
|
539
|
+
"rc",
|
|
540
|
+
"update.js"
|
|
541
|
+
]
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"version": "0.4.0"
|
|
4
545
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@laioutr/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
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": "
|
|
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"
|