@camunda8/cli 2.0.0-alpha.3 → 2.0.0-alpha.5
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/README.md +24 -4
- package/dist/commands/deployments.d.ts.map +1 -1
- package/dist/commands/deployments.js +289 -49
- package/dist/commands/deployments.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +3 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/plugins.d.ts +5 -0
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +190 -23
- package/dist/commands/plugins.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -5
- package/dist/config.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin-registry.d.ts +45 -0
- package/dist/plugin-registry.d.ts.map +1 -0
- package/dist/plugin-registry.js +101 -0
- package/dist/plugin-registry.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,9 @@ A minimal-dependency CLI for Camunda 8 operations built on top of `@camunda8/orc
|
|
|
9
9
|
- **Profile Management**: Store and manage multiple cluster configurations
|
|
10
10
|
- **Camunda Modeler Integration**: Automatically import and use profiles from Camunda Modeler
|
|
11
11
|
- **Plugin System**: Extend c8ctl with custom commands via npm packages
|
|
12
|
-
- **Building Block Deployment**: Automatic prioritization of `*_bb-*` folders during deployment
|
|
12
|
+
- **Building Block Deployment**: Automatic prioritization of `*_bb-*` folders during deployment, marked with 🧱 in results
|
|
13
|
+
- **Process Application Support**: Resources in folders with `.process-application` file marked with 📦 in results
|
|
14
|
+
- **Enhanced Deployment Results**: Table view showing file paths, visual indicators, resource details, and versions
|
|
13
15
|
- **Watch Mode**: Monitors a folder for changes to `*.{bpmn,dmn,form}` and auto-redeploys
|
|
14
16
|
- **Flexible Output**: Switch between human-readable text and JSON output modes
|
|
15
17
|
|
|
@@ -101,6 +103,9 @@ c8ctl deploy ./my-process.bpmn
|
|
|
101
103
|
# Deploy current directory
|
|
102
104
|
c8ctl deploy
|
|
103
105
|
|
|
106
|
+
# Deploy from multiple paths
|
|
107
|
+
c8ctl deploy ./processes ./forms ./building-blocks
|
|
108
|
+
|
|
104
109
|
# Watch mode (using alias 'w')
|
|
105
110
|
c8ctl w
|
|
106
111
|
c8ctl watch
|
|
@@ -272,7 +277,7 @@ Debug output is written to stderr with timestamps and won't interfere with norma
|
|
|
272
277
|
|
|
273
278
|
### Plugin Management
|
|
274
279
|
|
|
275
|
-
c8ctl supports a plugin system that allows extending the CLI with custom commands via npm packages.
|
|
280
|
+
c8ctl supports a plugin system that allows extending the CLI with custom commands via npm packages. Plugins are tracked in a registry file (`~/.config/c8ctl/plugins.json` on Linux, similar locations on other platforms) for persistence across npm operations.
|
|
276
281
|
|
|
277
282
|
```bash
|
|
278
283
|
# Load a plugin from npm registry
|
|
@@ -287,13 +292,27 @@ c8ctl load plugin --from git://github.com/user/repo.git
|
|
|
287
292
|
# Unload a plugin (wraps npm uninstall)
|
|
288
293
|
c8ctl unload plugin <package-name>
|
|
289
294
|
|
|
290
|
-
# List installed plugins
|
|
295
|
+
# List installed plugins (shows sync status)
|
|
291
296
|
c8ctl list plugins
|
|
292
297
|
|
|
298
|
+
# Synchronize plugins from registry
|
|
299
|
+
# - First tries npm rebuild for installed plugins
|
|
300
|
+
# - Falls back to fresh npm install if rebuild fails
|
|
301
|
+
c8ctl sync plugins
|
|
302
|
+
|
|
293
303
|
# View help including plugin commands
|
|
294
304
|
c8ctl help
|
|
295
305
|
```
|
|
296
306
|
|
|
307
|
+
**Plugin Registry:**
|
|
308
|
+
- Plugins are tracked independently of `package.json` in a registry file
|
|
309
|
+
- The registry serves as the source of truth (local precedence)
|
|
310
|
+
- `c8ctl list plugins` shows sync status:
|
|
311
|
+
- `✓ Installed` - Plugin is in registry and installed
|
|
312
|
+
- `⚠ Not installed` - Plugin is in registry but not in node_modules (run `sync`)
|
|
313
|
+
- `⚠ Not in registry` - Plugin is in package.json but not tracked in registry
|
|
314
|
+
- `c8ctl sync plugins` synchronizes plugins from the registry, rebuilding or reinstalling as needed
|
|
315
|
+
|
|
297
316
|
**Plugin Requirements:**
|
|
298
317
|
- Plugin packages must be regular Node.js modules
|
|
299
318
|
- They must include a `c8ctl-plugin.js` or `c8ctl-plugin.ts` file in the root directory
|
|
@@ -431,13 +450,14 @@ c8ctl <command>
|
|
|
431
450
|
|
|
432
451
|
Configuration is stored in platform-specific user data directories:
|
|
433
452
|
|
|
434
|
-
- **Linux**: `~/.
|
|
453
|
+
- **Linux**: `~/.config/c8ctl/`
|
|
435
454
|
- **macOS**: `~/Library/Application Support/c8ctl/`
|
|
436
455
|
- **Windows**: `%APPDATA%\c8ctl\`
|
|
437
456
|
|
|
438
457
|
Files:
|
|
439
458
|
- `profiles.json`: Saved cluster configurations
|
|
440
459
|
- `session.json`: Active profile, tenant, and output mode
|
|
460
|
+
- `plugins.json`: Plugin registry tracking installed plugins
|
|
441
461
|
|
|
442
462
|
### Camunda Modeler Configuration
|
|
443
463
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgMH;;GAEG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KhB"}
|
|
@@ -5,8 +5,9 @@ import { getLogger } from "../logger.js";
|
|
|
5
5
|
import { createClient } from "../client.js";
|
|
6
6
|
import { resolveTenantId } from "../config.js";
|
|
7
7
|
import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
|
|
8
|
-
import { join, dirname, extname, basename } from 'node:path';
|
|
8
|
+
import { join, dirname, extname, basename, relative } from 'node:path';
|
|
9
9
|
const RESOURCE_EXTENSIONS = ['.bpmn', '.dmn', '.form'];
|
|
10
|
+
const PROCESS_APPLICATION_FILE = '.process-application';
|
|
10
11
|
/**
|
|
11
12
|
* Extract process/decision IDs from BPMN/DMN files to detect duplicates
|
|
12
13
|
*/
|
|
@@ -34,23 +35,65 @@ function extractDefinitionId(content, extension) {
|
|
|
34
35
|
function isBuildingBlockFolder(path) {
|
|
35
36
|
return basename(path).includes('_bb-');
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a directory contains a .process-application file
|
|
40
|
+
*/
|
|
41
|
+
function hasProcessApplicationFile(dirPath) {
|
|
42
|
+
const paFilePath = join(dirPath, PROCESS_APPLICATION_FILE);
|
|
43
|
+
return existsSync(paFilePath);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Find the root building block or process application folder by traversing up the path
|
|
47
|
+
* Returns the path to the group root, or null if not in a group
|
|
48
|
+
*/
|
|
49
|
+
function findGroupRoot(filePath, basePath) {
|
|
50
|
+
let currentDir = dirname(filePath);
|
|
51
|
+
// Traverse up the directory tree until we reach or go outside basePath
|
|
52
|
+
while (true) {
|
|
53
|
+
// Check if we've gone outside the basePath
|
|
54
|
+
const rel = relative(basePath, currentDir);
|
|
55
|
+
if (rel.startsWith('..') || rel === '') {
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
// Check if this directory is a building block
|
|
59
|
+
if (isBuildingBlockFolder(currentDir)) {
|
|
60
|
+
return { type: 'bb', root: currentDir };
|
|
61
|
+
}
|
|
62
|
+
// Check if this directory has a .process-application file
|
|
63
|
+
if (hasProcessApplicationFile(currentDir)) {
|
|
64
|
+
return { type: 'pa', root: currentDir };
|
|
65
|
+
}
|
|
66
|
+
// Move up one level
|
|
67
|
+
const parentDir = dirname(currentDir);
|
|
68
|
+
if (parentDir === currentDir)
|
|
69
|
+
break; // Reached filesystem root
|
|
70
|
+
currentDir = parentDir;
|
|
71
|
+
}
|
|
72
|
+
return { type: null, root: null };
|
|
73
|
+
}
|
|
37
74
|
/**
|
|
38
75
|
* Recursively collect resource files from a directory
|
|
39
76
|
*/
|
|
40
|
-
function collectResourceFiles(dirPath, collected = []) {
|
|
77
|
+
function collectResourceFiles(dirPath, collected = [], basePath) {
|
|
41
78
|
if (!existsSync(dirPath)) {
|
|
42
79
|
return collected;
|
|
43
80
|
}
|
|
81
|
+
// Set basePath to dirPath on first call
|
|
82
|
+
if (!basePath) {
|
|
83
|
+
basePath = dirPath;
|
|
84
|
+
}
|
|
44
85
|
const stat = statSync(dirPath);
|
|
45
86
|
if (stat.isFile()) {
|
|
46
87
|
const ext = extname(dirPath);
|
|
47
88
|
if (RESOURCE_EXTENSIONS.includes(ext)) {
|
|
48
|
-
const
|
|
89
|
+
const groupInfo = findGroupRoot(dirPath, basePath);
|
|
49
90
|
collected.push({
|
|
50
91
|
path: dirPath,
|
|
51
92
|
name: basename(dirPath),
|
|
52
93
|
content: readFileSync(dirPath),
|
|
53
|
-
isBuildingBlock:
|
|
94
|
+
isBuildingBlock: groupInfo.type === 'bb',
|
|
95
|
+
isProcessApplication: groupInfo.type === 'pa',
|
|
96
|
+
groupPath: groupInfo.root || undefined,
|
|
54
97
|
});
|
|
55
98
|
}
|
|
56
99
|
return collected;
|
|
@@ -80,21 +123,24 @@ function collectResourceFiles(dirPath, collected = []) {
|
|
|
80
123
|
files.forEach(file => {
|
|
81
124
|
const ext = extname(file);
|
|
82
125
|
if (RESOURCE_EXTENSIONS.includes(ext)) {
|
|
126
|
+
const groupInfo = findGroupRoot(file, basePath);
|
|
83
127
|
collected.push({
|
|
84
128
|
path: file,
|
|
85
129
|
name: basename(file),
|
|
86
130
|
content: readFileSync(file),
|
|
87
|
-
isBuildingBlock:
|
|
131
|
+
isBuildingBlock: groupInfo.type === 'bb',
|
|
132
|
+
isProcessApplication: groupInfo.type === 'pa',
|
|
133
|
+
groupPath: groupInfo.root || undefined,
|
|
88
134
|
});
|
|
89
135
|
}
|
|
90
136
|
});
|
|
91
137
|
// Process building block folders first (prioritized)
|
|
92
138
|
bbFolders.forEach(bbFolder => {
|
|
93
|
-
collectResourceFiles(bbFolder, collected);
|
|
139
|
+
collectResourceFiles(bbFolder, collected, basePath);
|
|
94
140
|
});
|
|
95
141
|
// Then process regular folders
|
|
96
142
|
regularFolders.forEach(regularFolder => {
|
|
97
|
-
collectResourceFiles(regularFolder, collected);
|
|
143
|
+
collectResourceFiles(regularFolder, collected, basePath);
|
|
98
144
|
});
|
|
99
145
|
}
|
|
100
146
|
return collected;
|
|
@@ -121,8 +167,10 @@ export async function deploy(paths, options) {
|
|
|
121
167
|
const logger = getLogger();
|
|
122
168
|
const client = createClient(options.profile);
|
|
123
169
|
const tenantId = resolveTenantId(options.profile);
|
|
170
|
+
const resources = [];
|
|
124
171
|
try {
|
|
125
|
-
|
|
172
|
+
// Store the base paths for relative path calculation
|
|
173
|
+
const basePaths = paths.length === 0 ? [process.cwd()] : paths;
|
|
126
174
|
if (paths.length === 0) {
|
|
127
175
|
logger.error('No paths provided. Use: c8 deploy <path> or c8 deploy (for current directory)');
|
|
128
176
|
process.exit(1);
|
|
@@ -135,12 +183,42 @@ export async function deploy(paths, options) {
|
|
|
135
183
|
logger.error('No BPMN/DMN/Form files found in the specified paths');
|
|
136
184
|
process.exit(1);
|
|
137
185
|
}
|
|
138
|
-
//
|
|
186
|
+
// Calculate relative paths for display
|
|
187
|
+
const basePath = basePaths.length === 1 ? basePaths[0] : process.cwd();
|
|
188
|
+
resources.forEach(r => {
|
|
189
|
+
r.relativePath = relative(basePath, r.path) || r.name;
|
|
190
|
+
});
|
|
191
|
+
// Sort: group resources by their group, with building blocks first, then process applications, then standalone
|
|
139
192
|
resources.sort((a, b) => {
|
|
193
|
+
// Building blocks have highest priority
|
|
140
194
|
if (a.isBuildingBlock && !b.isBuildingBlock)
|
|
141
195
|
return -1;
|
|
142
196
|
if (!a.isBuildingBlock && b.isBuildingBlock)
|
|
143
197
|
return 1;
|
|
198
|
+
// Within building blocks, group by groupPath
|
|
199
|
+
if (a.isBuildingBlock && b.isBuildingBlock) {
|
|
200
|
+
if (a.groupPath && b.groupPath) {
|
|
201
|
+
const groupCompare = a.groupPath.localeCompare(b.groupPath);
|
|
202
|
+
if (groupCompare !== 0)
|
|
203
|
+
return groupCompare;
|
|
204
|
+
}
|
|
205
|
+
return a.path.localeCompare(b.path);
|
|
206
|
+
}
|
|
207
|
+
// Process applications come next
|
|
208
|
+
if (a.isProcessApplication && !b.isProcessApplication)
|
|
209
|
+
return -1;
|
|
210
|
+
if (!a.isProcessApplication && b.isProcessApplication)
|
|
211
|
+
return 1;
|
|
212
|
+
// Within process applications, group by groupPath
|
|
213
|
+
if (a.isProcessApplication && b.isProcessApplication) {
|
|
214
|
+
if (a.groupPath && b.groupPath) {
|
|
215
|
+
const groupCompare = a.groupPath.localeCompare(b.groupPath);
|
|
216
|
+
if (groupCompare !== 0)
|
|
217
|
+
return groupCompare;
|
|
218
|
+
}
|
|
219
|
+
return a.path.localeCompare(b.path);
|
|
220
|
+
}
|
|
221
|
+
// Finally, standalone resources sorted by path
|
|
144
222
|
return a.path.localeCompare(b.path);
|
|
145
223
|
});
|
|
146
224
|
// Validate for duplicate process/decision IDs
|
|
@@ -153,6 +231,23 @@ export async function deploy(paths, options) {
|
|
|
153
231
|
process.exit(1);
|
|
154
232
|
}
|
|
155
233
|
logger.info(`Deploying ${resources.length} resource(s)...`);
|
|
234
|
+
// Create a mapping from definition ID to resource file for later reference
|
|
235
|
+
const definitionIdToResource = new Map();
|
|
236
|
+
const formNameToResource = new Map();
|
|
237
|
+
resources.forEach(r => {
|
|
238
|
+
const ext = extname(r.path);
|
|
239
|
+
if (ext === '.bpmn' || ext === '.dmn') {
|
|
240
|
+
const defId = extractDefinitionId(r.content, ext);
|
|
241
|
+
if (defId) {
|
|
242
|
+
definitionIdToResource.set(defId, r);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else if (ext === '.form') {
|
|
246
|
+
// Forms are matched by filename (without extension)
|
|
247
|
+
const formId = basename(r.name, '.form');
|
|
248
|
+
formNameToResource.set(formId, r);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
156
251
|
// Create deployment request - convert buffers to File objects with proper MIME types
|
|
157
252
|
const result = await client.createDeployment({
|
|
158
253
|
tenantId,
|
|
@@ -168,55 +263,200 @@ export async function deploy(paths, options) {
|
|
|
168
263
|
}),
|
|
169
264
|
});
|
|
170
265
|
logger.success('Deployment successful', result.deploymentKey.toString());
|
|
171
|
-
//
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
})
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
266
|
+
// Normalize all deployed resources into a common structure
|
|
267
|
+
const allResources = [
|
|
268
|
+
...result.processes.map(proc => ({
|
|
269
|
+
type: 'Process',
|
|
270
|
+
id: proc.processDefinitionId,
|
|
271
|
+
version: proc.processDefinitionVersion,
|
|
272
|
+
key: proc.processDefinitionKey.toString(),
|
|
273
|
+
resource: definitionIdToResource.get(proc.processDefinitionId),
|
|
274
|
+
})),
|
|
275
|
+
...result.decisions.map(dec => ({
|
|
276
|
+
type: 'Decision',
|
|
277
|
+
id: dec.decisionDefinitionId || '-',
|
|
278
|
+
version: dec.version ?? '-',
|
|
279
|
+
key: dec.decisionDefinitionKey?.toString() || '-',
|
|
280
|
+
resource: definitionIdToResource.get(dec.decisionDefinitionId || ''),
|
|
281
|
+
})),
|
|
282
|
+
...result.forms.map(form => ({
|
|
283
|
+
type: 'Form',
|
|
284
|
+
id: form.formId || '-',
|
|
285
|
+
version: form.version ?? '-',
|
|
286
|
+
key: form.formKey?.toString() || '-',
|
|
287
|
+
resource: formNameToResource.get(form.formId || ''),
|
|
288
|
+
})),
|
|
289
|
+
];
|
|
290
|
+
const tableData = allResources.map(({ type, id, version, key, resource }) => {
|
|
291
|
+
const fileDisplay = resource
|
|
292
|
+
? `${resource.isBuildingBlock ? '🧱 ' : ''}${resource.isProcessApplication ? '📦 ' : ''}${resource.relativePath || resource.name}`
|
|
293
|
+
: '-';
|
|
294
|
+
// Extract directory path for grouping (e.g., "bla/_bb-building-block" or "pa")
|
|
295
|
+
const sortKey = resource?.relativePath
|
|
296
|
+
? resource.relativePath.substring(0, resource.relativePath.lastIndexOf('/') + 1) || resource.relativePath
|
|
297
|
+
: 'zzz'; // Resources without paths go last
|
|
298
|
+
return {
|
|
299
|
+
File: fileDisplay,
|
|
300
|
+
Type: type,
|
|
301
|
+
ID: id,
|
|
302
|
+
Version: version,
|
|
303
|
+
Key: key,
|
|
304
|
+
sortKey,
|
|
305
|
+
};
|
|
188
306
|
});
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
});
|
|
307
|
+
// Sort by directory path (grouping), then by file name
|
|
308
|
+
tableData.sort((a, b) => {
|
|
309
|
+
if (a.sortKey !== b.sortKey) {
|
|
310
|
+
return a.sortKey.localeCompare(b.sortKey);
|
|
311
|
+
}
|
|
312
|
+
return a.File.localeCompare(b.File);
|
|
196
313
|
});
|
|
197
|
-
|
|
198
|
-
|
|
314
|
+
// Remove sortKey before displaying
|
|
315
|
+
const displayData = tableData.map(({ File, Type, ID, Version, Key }) => ({ File, Type, ID, Version, Key }));
|
|
316
|
+
if (displayData.length > 0) {
|
|
317
|
+
logger.table(displayData);
|
|
199
318
|
}
|
|
200
319
|
}
|
|
201
320
|
catch (error) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
321
|
+
handleDeploymentError(error, resources, logger);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Format and display deployment errors with actionable guidance
|
|
326
|
+
*/
|
|
327
|
+
function handleDeploymentError(error, resources, logger) {
|
|
328
|
+
const raw = (error && typeof error === 'object') ? error : {};
|
|
329
|
+
// Try to interpret common transport/network issues first for actionable guidance
|
|
330
|
+
const deriveNetworkErrorTitle = (err) => {
|
|
331
|
+
const anyErr = err;
|
|
332
|
+
const code = typeof anyErr?.code === 'string'
|
|
333
|
+
? anyErr.code
|
|
334
|
+
: (typeof anyErr?.cause?.code === 'string'
|
|
335
|
+
? anyErr.cause.code
|
|
336
|
+
: undefined);
|
|
337
|
+
if (!code && typeof anyErr?.name === 'string') {
|
|
338
|
+
// Handle fetch/abort style errors
|
|
339
|
+
if (anyErr.name === 'AbortError') {
|
|
340
|
+
return 'Request to Camunda cluster timed out or was aborted. Please check your network connection and try again.';
|
|
214
341
|
}
|
|
215
342
|
}
|
|
343
|
+
switch (code) {
|
|
344
|
+
case 'ECONNREFUSED':
|
|
345
|
+
return 'Cannot connect to Camunda cluster (connection refused). Verify the endpoint URL and that the cluster is reachable.';
|
|
346
|
+
case 'ENOTFOUND':
|
|
347
|
+
return 'Cannot resolve Camunda cluster host. Check the cluster URL and your DNS/network configuration.';
|
|
348
|
+
case 'EHOSTUNREACH':
|
|
349
|
+
return 'Camunda cluster host is unreachable. Check VPN/proxy settings and your network connectivity.';
|
|
350
|
+
case 'ECONNRESET':
|
|
351
|
+
return 'Connection to Camunda cluster was reset. Retry the operation and check for intermittent network issues.';
|
|
352
|
+
case 'ETIMEDOUT':
|
|
353
|
+
return 'Request to Camunda cluster timed out. Check your network connection and consider retrying.';
|
|
354
|
+
default:
|
|
355
|
+
return undefined;
|
|
356
|
+
}
|
|
357
|
+
};
|
|
358
|
+
// Extract RFC 9457 Problem Detail fields and other useful signals
|
|
359
|
+
const problemTitle = typeof raw.title === 'string' ? raw.title : undefined;
|
|
360
|
+
const networkTitle = deriveNetworkErrorTitle(error);
|
|
361
|
+
const errorInstanceTitle = error instanceof Error && typeof error.message === 'string' && error.message
|
|
362
|
+
? error.message
|
|
363
|
+
: undefined;
|
|
364
|
+
const messageFieldTitle = typeof raw.message === 'string' ? raw.message : undefined;
|
|
365
|
+
const title = problemTitle ??
|
|
366
|
+
networkTitle ??
|
|
367
|
+
errorInstanceTitle ??
|
|
368
|
+
messageFieldTitle ??
|
|
369
|
+
'Unknown error (unexpected error format; re-run with increased logging or check network configuration).';
|
|
370
|
+
const detail = typeof raw.detail === 'string' ? raw.detail : undefined;
|
|
371
|
+
const status = typeof raw.status === 'number' ? raw.status : undefined;
|
|
372
|
+
// Display the main error
|
|
373
|
+
logger.error('Deployment failed', new Error(title));
|
|
374
|
+
// Display the detailed error message if available
|
|
375
|
+
if (detail) {
|
|
376
|
+
console.error('\n' + formatDeploymentErrorDetail(detail));
|
|
377
|
+
}
|
|
378
|
+
// Provide actionable hints based on error type
|
|
379
|
+
console.error('');
|
|
380
|
+
printDeploymentHints(title, detail, status, resources);
|
|
381
|
+
process.exit(1);
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Format the error detail for better readability
|
|
385
|
+
*/
|
|
386
|
+
function formatDeploymentErrorDetail(detail) {
|
|
387
|
+
// The detail often contains embedded newlines, format them nicely
|
|
388
|
+
const lines = detail.split('\n').map(line => line.trim()).filter(Boolean);
|
|
389
|
+
// Find the main message and the file-specific errors
|
|
390
|
+
const result = [];
|
|
391
|
+
let inFileError = false;
|
|
392
|
+
for (const line of lines) {
|
|
393
|
+
if (line.startsWith("'") && (line.includes('.bpmn') || line.includes('.dmn') || line.includes('.form'))) {
|
|
394
|
+
// This is a file-specific error
|
|
395
|
+
inFileError = true;
|
|
396
|
+
result.push(` 📄 ${line}`);
|
|
397
|
+
}
|
|
398
|
+
else if (line.startsWith('- Element:')) {
|
|
399
|
+
result.push(` ${line}`);
|
|
400
|
+
}
|
|
401
|
+
else if (line.startsWith('- ERROR:') || line.startsWith('- WARNING:')) {
|
|
402
|
+
const icon = line.startsWith('- ERROR:') ? '❌' : '⚠️';
|
|
403
|
+
result.push(` ${icon} ${line.substring(2)}`);
|
|
404
|
+
}
|
|
405
|
+
else if (inFileError && line.startsWith('-')) {
|
|
406
|
+
result.push(` ${line}`);
|
|
407
|
+
}
|
|
216
408
|
else {
|
|
217
|
-
|
|
409
|
+
result.push(` ${line}`);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return result.join('\n');
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Print actionable hints based on the error type
|
|
416
|
+
*/
|
|
417
|
+
function printDeploymentHints(title, detail, status, resources) {
|
|
418
|
+
const hints = [];
|
|
419
|
+
if (title === 'INVALID_ARGUMENT') {
|
|
420
|
+
if (detail?.includes('Must reference a message')) {
|
|
421
|
+
hints.push('💡 A message start event or intermediate catch event is missing a message reference.');
|
|
422
|
+
hints.push(' Open the BPMN file in Camunda Modeler and configure the message name.');
|
|
423
|
+
}
|
|
424
|
+
if (detail?.includes('duplicate')) {
|
|
425
|
+
hints.push('💡 Resource IDs must be unique within a deployment.');
|
|
426
|
+
hints.push(' Check for duplicate process/decision IDs in your files.');
|
|
427
|
+
}
|
|
428
|
+
if (detail?.includes('parsing') || detail?.includes('syntax')) {
|
|
429
|
+
hints.push('💡 The resource file contains syntax errors.');
|
|
430
|
+
hints.push(' Validate the file in Camunda Modeler or check the XML/JSON structure.');
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
else if (title === 'RESOURCE_EXHAUSTED') {
|
|
434
|
+
hints.push('💡 The server is under heavy load (backpressure).');
|
|
435
|
+
hints.push(' Wait a moment and retry the deployment.');
|
|
436
|
+
}
|
|
437
|
+
else if (title === 'NOT_FOUND' || status === 404) {
|
|
438
|
+
hints.push('💡 The Camunda server could not be reached or the endpoint was not found.');
|
|
439
|
+
hints.push(' Check your connection settings with: c8 list profiles');
|
|
440
|
+
}
|
|
441
|
+
else if (title === 'UNAUTHENTICATED' || title === 'PERMISSION_DENIED' || status === 401 || status === 403) {
|
|
442
|
+
hints.push('💡 Authentication or authorization failed.');
|
|
443
|
+
hints.push(' Check your credentials and permissions for the current profile.');
|
|
444
|
+
}
|
|
445
|
+
else {
|
|
446
|
+
hints.push('💡 Review the error message above for specific issues.');
|
|
447
|
+
hints.push(' You may need to fix the resource files before deploying.');
|
|
448
|
+
}
|
|
449
|
+
// Show which files were being deployed
|
|
450
|
+
if (resources.length > 0) {
|
|
451
|
+
hints.push('');
|
|
452
|
+
hints.push(`📁 Resources attempted (${resources.length}):`);
|
|
453
|
+
resources.slice(0, 5).forEach(r => {
|
|
454
|
+
hints.push(` - ${r.relativePath || r.name}`);
|
|
455
|
+
});
|
|
456
|
+
if (resources.length > 5) {
|
|
457
|
+
hints.push(` ... and ${resources.length - 5} more`);
|
|
218
458
|
}
|
|
219
|
-
process.exit(1);
|
|
220
459
|
}
|
|
460
|
+
hints.forEach(h => console.error(h));
|
|
221
461
|
}
|
|
222
462
|
//# sourceMappingURL=deployments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAInC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAInC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CA0E/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA+BpD"}
|
package/dist/commands/help.js
CHANGED
|
@@ -61,6 +61,7 @@ Commands:
|
|
|
61
61
|
load plugin <name> Load a c8ctl plugin from npm registry
|
|
62
62
|
load plugin --from Load a c8ctl plugin from URL (file://, https://, git://)
|
|
63
63
|
unload plugin <name> Unload a c8ctl plugin (npm uninstall wrapper)
|
|
64
|
+
sync plugin Synchronize plugins from registry (rebuild/reinstall)
|
|
64
65
|
use profile|tenant Set active profile or tenant
|
|
65
66
|
output json|text Set output format
|
|
66
67
|
completion bash|zsh|fish Generate shell completion script
|
|
@@ -94,6 +95,7 @@ Examples:
|
|
|
94
95
|
c8ctl output json Switch to JSON output
|
|
95
96
|
c8ctl load plugin my-plugin Load plugin from npm registry
|
|
96
97
|
c8ctl load plugin --from file:///path/to/plugin Load plugin from file URL
|
|
98
|
+
c8ctl sync plugin Synchronize plugins
|
|
97
99
|
c8ctl completion bash Generate bash completion script
|
|
98
100
|
`.trim());
|
|
99
101
|
}
|
|
@@ -117,6 +119,7 @@ export function showVerbResources(verb) {
|
|
|
117
119
|
rm: 'profile',
|
|
118
120
|
load: 'plugin',
|
|
119
121
|
unload: 'plugin',
|
|
122
|
+
sync: 'plugin',
|
|
120
123
|
use: 'profile, tenant',
|
|
121
124
|
output: 'json, text',
|
|
122
125
|
completion: 'bash, zsh, fish',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IAEnD,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,aAAa,GAAG,sBAAsB,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,aAAa,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC;yBACW,OAAO
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,9 @@ export declare function unloadPlugin(packageName: string): Promise<void>;
|
|
|
14
14
|
* List installed plugins
|
|
15
15
|
*/
|
|
16
16
|
export declare function listPlugins(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Sync plugins - synchronize registry with actual installations
|
|
19
|
+
* Local (registry) has precedence over package.json
|
|
20
|
+
*/
|
|
21
|
+
export declare function syncPlugins(): Promise<void>;
|
|
17
22
|
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH;;;GAGG;AACH,wBAAsB,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE5F;AAsBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BrE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAgFlC;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAmGjD"}
|