@camunda8/cli 2.8.0-alpha.8 → 3.0.0-alpha.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.
- package/EXAMPLES.md +22 -5
- package/PLUGIN-HELP.md +26 -0
- package/README.md +62 -4
- package/dist/command-dispatch.d.ts.map +1 -1
- package/dist/command-dispatch.js +2 -1
- package/dist/command-dispatch.js.map +1 -1
- package/dist/command-registry.d.ts +36 -0
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +40 -1
- package/dist/command-registry.js.map +1 -1
- package/dist/commands/plugins.d.ts +21 -0
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +74 -1
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/resource-extensions.d.ts +12 -0
- package/dist/commands/resource-extensions.d.ts.map +1 -1
- package/dist/commands/resource-extensions.js +13 -1
- package/dist/commands/resource-extensions.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +5 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +21 -12
- package/dist/commands/watch.js.map +1 -1
- package/dist/completion.d.ts.map +1 -1
- package/dist/completion.js +140 -13
- package/dist/completion.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -1
- package/dist/config.js.map +1 -1
- package/dist/default-plugins/bpmn/README.md +69 -0
- package/dist/default-plugins/bpmn/c8ctl-plugin.js +125 -0
- package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +1 -0
- package/dist/default-plugins/bpmn/lint.js +259 -0
- package/dist/default-plugins/bpmn/lint.js.map +1 -0
- package/dist/default-plugins/bpmn/package.json +8 -0
- package/dist/default-plugins/cluster/package.json +1 -1
- package/dist/default-plugins/element-template/AGENTS.md +65 -0
- package/dist/default-plugins/element-template/README.md +331 -0
- package/dist/default-plugins/element-template/c8ctl-plugin.js +247 -0
- package/dist/default-plugins/element-template/c8ctl-plugin.js.map +1 -0
- package/dist/default-plugins/element-template/commands/apply.js +298 -0
- package/dist/default-plugins/element-template/commands/apply.js.map +1 -0
- package/dist/default-plugins/element-template/commands/get-properties.js +344 -0
- package/dist/default-plugins/element-template/commands/get-properties.js.map +1 -0
- package/dist/default-plugins/element-template/commands/get.js +107 -0
- package/dist/default-plugins/element-template/commands/get.js.map +1 -0
- package/dist/default-plugins/element-template/commands/info.js +189 -0
- package/dist/default-plugins/element-template/commands/info.js.map +1 -0
- package/dist/default-plugins/element-template/commands/search.js +101 -0
- package/dist/default-plugins/element-template/commands/search.js.map +1 -0
- package/dist/default-plugins/element-template/commands/sync.js +36 -0
- package/dist/default-plugins/element-template/commands/sync.js.map +1 -0
- package/dist/default-plugins/element-template/docs/design.md +145 -0
- package/dist/default-plugins/element-template/helpers.js +404 -0
- package/dist/default-plugins/element-template/helpers.js.map +1 -0
- package/dist/default-plugins/element-template/marketplace.js +396 -0
- package/dist/default-plugins/element-template/marketplace.js.map +1 -0
- package/dist/default-plugins/element-template/package.json +8 -0
- package/dist/default-plugins/element-template/template-ref.js +232 -0
- package/dist/default-plugins/element-template/template-ref.js.map +1 -0
- package/dist/default-plugins/element-template/vendor-src/bundle-entry.js +44 -0
- package/dist/default-plugins/feel/README.md +163 -0
- package/dist/default-plugins/feel/c8ctl-plugin.js +616 -0
- package/dist/default-plugins/feel/c8ctl-plugin.js.map +1 -0
- package/dist/default-plugins/feel/package.json +8 -0
- package/dist/deployments.d.ts +1 -0
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +89 -20
- package/dist/deployments.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +156 -5
- package/dist/help.js.map +1 -1
- package/dist/ignore.d.ts +16 -1
- package/dist/ignore.d.ts.map +1 -1
- package/dist/ignore.js +55 -3
- package/dist/ignore.js.map +1 -1
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +310 -25
- package/dist/index.js.map +1 -1
- package/dist/plugin-loader.d.ts +168 -7
- package/dist/plugin-loader.d.ts.map +1 -1
- package/dist/plugin-loader.js +284 -21
- package/dist/plugin-loader.js.map +1 -1
- package/dist/runtime.d.ts +10 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +6 -0
- package/dist/runtime.js.map +1 -1
- package/dist/vendor/bpmn-element-templates.cjs +59639 -0
- package/package.json +20 -7
package/dist/ignore.d.ts
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
* target/
|
|
7
7
|
* .git/
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* The `.c8ignore` file is resolved from the deploy/watch target directory
|
|
10
|
+
* (via `resolveIgnoreBaseDir`), falling back to `process.cwd()` when no
|
|
11
|
+
* target is specified. See #258.
|
|
10
12
|
*/
|
|
11
13
|
import { type Ignore } from "ignore";
|
|
12
14
|
/**
|
|
@@ -23,4 +25,17 @@ export declare function loadIgnoreRules(baseDir: string): Ignore;
|
|
|
23
25
|
* Returns `true` when the path matches an ignore rule.
|
|
24
26
|
*/
|
|
25
27
|
export declare function isIgnored(ig: Ignore, filePath: string, baseDir: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Determine the base directory for `.c8ignore` lookup from the paths the
|
|
30
|
+
* user passed to `deploy` or `watch`.
|
|
31
|
+
*
|
|
32
|
+
* - Single directory path → use that directory.
|
|
33
|
+
* - Single file path → use its parent directory.
|
|
34
|
+
* - Multiple paths → deepest common ancestor directory.
|
|
35
|
+
* - No paths → fall back to `process.cwd()`.
|
|
36
|
+
*
|
|
37
|
+
* When no target is specified the CLI defaults to `["."]`, so
|
|
38
|
+
* `resolve(".")` === `process.cwd()` — backward-compatible.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveIgnoreBaseDir(paths: string[]): string;
|
|
26
41
|
//# sourceMappingURL=ignore.d.ts.map
|
package/dist/ignore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../src/ignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../src/ignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAe,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAM7C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUvD;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACb,OAAO,CAWT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAsC5D"}
|
package/dist/ignore.js
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* target/
|
|
7
7
|
* .git/
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* The `.c8ignore` file is resolved from the deploy/watch target directory
|
|
10
|
+
* (via `resolveIgnoreBaseDir`), falling back to `process.cwd()` when no
|
|
11
|
+
* target is specified. See #258.
|
|
10
12
|
*/
|
|
11
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
12
|
-
import { join, relative, sep } from "node:path";
|
|
13
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
14
|
+
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
13
15
|
import ignore from "ignore";
|
|
14
16
|
const DEFAULT_PATTERNS = ["node_modules/", "target/", ".git/"];
|
|
15
17
|
const C8IGNORE_FILENAME = ".c8ignore";
|
|
@@ -46,4 +48,54 @@ export function isIgnored(ig, filePath, baseDir) {
|
|
|
46
48
|
}
|
|
47
49
|
return ig.ignores(rel);
|
|
48
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Determine the base directory for `.c8ignore` lookup from the paths the
|
|
53
|
+
* user passed to `deploy` or `watch`.
|
|
54
|
+
*
|
|
55
|
+
* - Single directory path → use that directory.
|
|
56
|
+
* - Single file path → use its parent directory.
|
|
57
|
+
* - Multiple paths → deepest common ancestor directory.
|
|
58
|
+
* - No paths → fall back to `process.cwd()`.
|
|
59
|
+
*
|
|
60
|
+
* When no target is specified the CLI defaults to `["."]`, so
|
|
61
|
+
* `resolve(".")` === `process.cwd()` — backward-compatible.
|
|
62
|
+
*/
|
|
63
|
+
export function resolveIgnoreBaseDir(paths) {
|
|
64
|
+
if (paths.length === 0)
|
|
65
|
+
return resolve(process.cwd());
|
|
66
|
+
const dirs = paths.map((p) => {
|
|
67
|
+
const abs = resolve(p);
|
|
68
|
+
try {
|
|
69
|
+
return statSync(abs).isDirectory() ? abs : dirname(abs);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Path may not exist yet; use parent directory
|
|
73
|
+
return dirname(abs);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (dirs.length === 1)
|
|
77
|
+
return dirs[0];
|
|
78
|
+
// Multiple paths: find deepest common ancestor.
|
|
79
|
+
// On Windows, drive letters are case-insensitive (c:\ === C:\),
|
|
80
|
+
// so we compare segments case-insensitively on win32.
|
|
81
|
+
const caseFold = process.platform === "win32"
|
|
82
|
+
? (s) => s.toLowerCase()
|
|
83
|
+
: (s) => s;
|
|
84
|
+
const segments = dirs.map((d) => d.split(sep));
|
|
85
|
+
const minLen = Math.min(...segments.map((s) => s.length));
|
|
86
|
+
const common = [];
|
|
87
|
+
for (let i = 0; i < minLen; i++) {
|
|
88
|
+
if (segments.every((s) => caseFold(s[i]) === caseFold(segments[0][i]))) {
|
|
89
|
+
common.push(segments[0][i]);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (common.length === 0)
|
|
96
|
+
return resolve(process.cwd());
|
|
97
|
+
// Normalize filesystem root: on POSIX [''] → '/', on Windows ['C:'] → 'C:\'
|
|
98
|
+
const joined = common.join(sep);
|
|
99
|
+
return joined === "" || joined.endsWith(":") ? resolve(joined + sep) : joined;
|
|
100
|
+
}
|
|
49
101
|
//# sourceMappingURL=ignore.js.map
|
package/dist/ignore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignore.js","sourceRoot":"","sources":["../src/ignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ignore.js","sourceRoot":"","sources":["../src/ignore.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,27 @@
|
|
|
7
7
|
* Resolve process definition ID from --id, --processDefinitionId, or --bpmnProcessId flag
|
|
8
8
|
*/
|
|
9
9
|
export declare function resolveProcessDefinitionId(values: Record<string, unknown>): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Return the raw argv tokens that follow the verb position, where the
|
|
12
|
+
* verb position is found by walking from the start and skipping leading
|
|
13
|
+
* GLOBAL_FLAGS only (consuming the value of string-typed global flags).
|
|
14
|
+
* The first non-flag token — or any unknown `--*`/`-*` token — is
|
|
15
|
+
* treated as the verb candidate.
|
|
16
|
+
*
|
|
17
|
+
* This avoids `argv.indexOf(verb)`, which is unsafe because the verb
|
|
18
|
+
* string may also appear as the value of a global string flag (e.g.
|
|
19
|
+
* `--profile <verb>`). Returns `[]` if no verb token is found at or
|
|
20
|
+
* after the scan position.
|
|
21
|
+
*/
|
|
22
|
+
export declare function sliceArgvAfterVerb(argv: string[], verb: string): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Strip GLOBAL_FLAGS (and the value of any string-typed global flag) from
|
|
25
|
+
* a raw argv slice before forwarding to a passthrough plugin handler
|
|
26
|
+
* (#366). GLOBAL_FLAGS already affect the c8ctl runtime via their
|
|
27
|
+
* regular handling in `main()`; the plugin must not see them again.
|
|
28
|
+
*
|
|
29
|
+
* Conservative behaviour: an isolated `--` terminator is preserved and
|
|
30
|
+
* everything after it is forwarded verbatim, matching POSIX convention.
|
|
31
|
+
*/
|
|
32
|
+
export declare function stripGlobalFlags(argv: string[]): string[];
|
|
10
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAmFH;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,GAAG,SAAS,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAwDzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwDzD"}
|
package/dist/index.js
CHANGED
|
@@ -8,13 +8,13 @@ import { fileURLToPath } from "node:url";
|
|
|
8
8
|
import { parseArgs } from "node:util";
|
|
9
9
|
import { createClient } from "./client.js";
|
|
10
10
|
import { COMMAND_DISPATCH } from "./command-dispatch.js";
|
|
11
|
-
import { COMMAND_REGISTRY, deriveParseArgsOptions, getCommandDef, resolveAlias, } from "./command-registry.js";
|
|
11
|
+
import { COMMAND_REGISTRY, deriveParseArgsOptions, GLOBAL_FLAGS, getCommandDef, resolveAlias, } from "./command-registry.js";
|
|
12
12
|
import { detectUnknownFlags, validateFlags } from "./command-validation.js";
|
|
13
13
|
import { refreshCompletionsIfStale } from "./completion.js";
|
|
14
|
-
import { loadSessionState, resolveTenantId } from "./config.js";
|
|
14
|
+
import { getUserDataDir, loadSessionState, resolveTenantId } from "./config.js";
|
|
15
15
|
import { showCommandHelp, showHelp, showVerbResources, showVersion, } from "./help.js";
|
|
16
16
|
import { getLogger } from "./logger.js";
|
|
17
|
-
import { executePluginCommand, getPluginCommands, loadInstalledPlugins, } from "./plugin-loader.js";
|
|
17
|
+
import { executePluginCommand, getPluginCommands, getPluginVersionForCommand, isPassthroughPluginCommand, loadInstalledPlugins, } from "./plugin-loader.js";
|
|
18
18
|
import { c8ctl } from "./runtime.js";
|
|
19
19
|
import { printUpdateNotification, startUpdateCheck } from "./update-check.js";
|
|
20
20
|
/**
|
|
@@ -67,16 +67,165 @@ export function resolveProcessDefinitionId(values) {
|
|
|
67
67
|
str(values.processDefinitionId) ||
|
|
68
68
|
str(values.bpmnProcessId));
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Return the raw argv tokens that follow the verb position, where the
|
|
72
|
+
* verb position is found by walking from the start and skipping leading
|
|
73
|
+
* GLOBAL_FLAGS only (consuming the value of string-typed global flags).
|
|
74
|
+
* The first non-flag token — or any unknown `--*`/`-*` token — is
|
|
75
|
+
* treated as the verb candidate.
|
|
76
|
+
*
|
|
77
|
+
* This avoids `argv.indexOf(verb)`, which is unsafe because the verb
|
|
78
|
+
* string may also appear as the value of a global string flag (e.g.
|
|
79
|
+
* `--profile <verb>`). Returns `[]` if no verb token is found at or
|
|
80
|
+
* after the scan position.
|
|
81
|
+
*/
|
|
82
|
+
export function sliceArgvAfterVerb(argv, verb) {
|
|
83
|
+
const stringGlobalNames = new Set();
|
|
84
|
+
const stringGlobalShorts = new Set();
|
|
85
|
+
const booleanGlobalNames = new Set();
|
|
86
|
+
const booleanGlobalShorts = new Set();
|
|
87
|
+
for (const [name, def] of Object.entries(GLOBAL_FLAGS)) {
|
|
88
|
+
const short = "short" in def ? def.short : undefined;
|
|
89
|
+
if (def.type === "string") {
|
|
90
|
+
stringGlobalNames.add(name);
|
|
91
|
+
if (short)
|
|
92
|
+
stringGlobalShorts.add(short);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
booleanGlobalNames.add(name);
|
|
96
|
+
if (short)
|
|
97
|
+
booleanGlobalShorts.add(short);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let i = 0;
|
|
101
|
+
while (i < argv.length) {
|
|
102
|
+
const tok = argv[i];
|
|
103
|
+
if (tok === "--") {
|
|
104
|
+
// GNU `--` convention: end of options. The next token is the
|
|
105
|
+
// verb candidate. Skip the separator and continue scanning so
|
|
106
|
+
// `c8ctl -- <verb> <args...>` dispatches correctly with the
|
|
107
|
+
// full post-verb argv (rather than bailing and forwarding []).
|
|
108
|
+
i++;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (tok.startsWith("--")) {
|
|
112
|
+
const eq = tok.indexOf("=");
|
|
113
|
+
const name = eq >= 0 ? tok.slice(2, eq) : tok.slice(2);
|
|
114
|
+
if (booleanGlobalNames.has(name)) {
|
|
115
|
+
i++;
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (stringGlobalNames.has(name)) {
|
|
119
|
+
i += eq < 0 ? 2 : 1;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
// Unknown long flag — do not silently consume a value. Fall through
|
|
123
|
+
// to the verb match below (and bail if it doesn't match).
|
|
124
|
+
}
|
|
125
|
+
else if (tok.startsWith("-") && tok.length === 2) {
|
|
126
|
+
const short = tok.slice(1);
|
|
127
|
+
if (booleanGlobalShorts.has(short)) {
|
|
128
|
+
i++;
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (stringGlobalShorts.has(short)) {
|
|
132
|
+
i += 2;
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// First token that is not a leading GLOBAL_FLAG must be the verb.
|
|
137
|
+
if (tok === verb)
|
|
138
|
+
return argv.slice(i + 1);
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
return [];
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Strip GLOBAL_FLAGS (and the value of any string-typed global flag) from
|
|
145
|
+
* a raw argv slice before forwarding to a passthrough plugin handler
|
|
146
|
+
* (#366). GLOBAL_FLAGS already affect the c8ctl runtime via their
|
|
147
|
+
* regular handling in `main()`; the plugin must not see them again.
|
|
148
|
+
*
|
|
149
|
+
* Conservative behaviour: an isolated `--` terminator is preserved and
|
|
150
|
+
* everything after it is forwarded verbatim, matching POSIX convention.
|
|
151
|
+
*/
|
|
152
|
+
export function stripGlobalFlags(argv) {
|
|
153
|
+
const booleanFlags = new Set();
|
|
154
|
+
const stringFlags = new Set();
|
|
155
|
+
const booleanShorts = new Set();
|
|
156
|
+
const stringShorts = new Set();
|
|
157
|
+
for (const [name, def] of Object.entries(GLOBAL_FLAGS)) {
|
|
158
|
+
const short = "short" in def ? def.short : undefined;
|
|
159
|
+
if (def.type === "boolean") {
|
|
160
|
+
booleanFlags.add(name);
|
|
161
|
+
if (short)
|
|
162
|
+
booleanShorts.add(short);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
stringFlags.add(name);
|
|
166
|
+
if (short)
|
|
167
|
+
stringShorts.add(short);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const out = [];
|
|
171
|
+
let i = 0;
|
|
172
|
+
let sawTerminator = false;
|
|
173
|
+
while (i < argv.length) {
|
|
174
|
+
const tok = argv[i];
|
|
175
|
+
if (sawTerminator) {
|
|
176
|
+
out.push(tok);
|
|
177
|
+
i++;
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
if (tok === "--") {
|
|
181
|
+
sawTerminator = true;
|
|
182
|
+
out.push(tok);
|
|
183
|
+
i++;
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
if (tok.startsWith("--")) {
|
|
187
|
+
const eq = tok.indexOf("=");
|
|
188
|
+
const name = eq >= 0 ? tok.slice(2, eq) : tok.slice(2);
|
|
189
|
+
if (booleanFlags.has(name) || stringFlags.has(name)) {
|
|
190
|
+
if (eq < 0 && stringFlags.has(name))
|
|
191
|
+
i++; // consume value
|
|
192
|
+
i++;
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else if (tok.startsWith("-") && tok.length === 2) {
|
|
197
|
+
const short = tok.slice(1);
|
|
198
|
+
if (booleanShorts.has(short)) {
|
|
199
|
+
i++;
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
if (stringShorts.has(short)) {
|
|
203
|
+
i += 2; // consume short flag and its value
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
out.push(tok);
|
|
208
|
+
i++;
|
|
209
|
+
}
|
|
210
|
+
return out;
|
|
211
|
+
}
|
|
70
212
|
/**
|
|
71
213
|
* Remove tokens for blocked plugin flags from an argv slice so they cannot
|
|
72
214
|
* shift positionals during the plugin-flag re-parse.
|
|
73
215
|
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* the
|
|
216
|
+
* Post-#373, "blocked" exclusively means "collides with a GLOBAL flag".
|
|
217
|
+
* The user may have supplied a value token (`--name value`) intending
|
|
218
|
+
* either:
|
|
219
|
+
* - the GLOBAL's interpretation (global type === "string"), or
|
|
220
|
+
* - the PLUGIN's interpretation (plugin type === "string", e.g. global
|
|
221
|
+
* is boolean but the plugin declared the same name as string).
|
|
222
|
+
*
|
|
223
|
+
* Either way the value is meaningless to both sides (plugin's flag is
|
|
224
|
+
* blocked; global is consumed by the host elsewhere) and must not leak
|
|
225
|
+
* into the plugin's positional args. Strip the following non-flag token
|
|
226
|
+
* if either side typed the flag as string.
|
|
78
227
|
*/
|
|
79
|
-
function stripBlockedFlagTokens(argv, blocked, pluginFlagDefs) {
|
|
228
|
+
function stripBlockedFlagTokens(argv, blocked, pluginFlagDefs, globalFlagDefs) {
|
|
80
229
|
const out = [];
|
|
81
230
|
let i = 0;
|
|
82
231
|
while (i < argv.length) {
|
|
@@ -85,8 +234,10 @@ function stripBlockedFlagTokens(argv, blocked, pluginFlagDefs) {
|
|
|
85
234
|
const eqIdx = arg.indexOf("=");
|
|
86
235
|
const name = eqIdx >= 0 ? arg.slice(2, eqIdx) : arg.slice(2);
|
|
87
236
|
if (blocked.has(name)) {
|
|
237
|
+
const eitherIsString = pluginFlagDefs[name]?.type === "string" ||
|
|
238
|
+
globalFlagDefs[name]?.type === "string";
|
|
88
239
|
if (eqIdx < 0 &&
|
|
89
|
-
|
|
240
|
+
eitherIsString &&
|
|
90
241
|
i + 1 < argv.length &&
|
|
91
242
|
!argv[i + 1].startsWith("-")) {
|
|
92
243
|
i++;
|
|
@@ -125,6 +276,22 @@ async function main() {
|
|
|
125
276
|
// Fire-and-forget: check for CLI updates in the background
|
|
126
277
|
startUpdateCheck(c8ctl.version);
|
|
127
278
|
const { values, positionals } = parseCliArgs();
|
|
279
|
+
// Apply per-invocation output mode override (#356).
|
|
280
|
+
// Precedence: --json flag > C8CTL_OUTPUT_MODE env var > persisted session.
|
|
281
|
+
// Setting `c8ctl.outputMode` directly is in-memory only; saveSessionState
|
|
282
|
+
// uses the separately-tracked persistedOutputMode from config.ts so this
|
|
283
|
+
// override never leaks back to disk.
|
|
284
|
+
if (values.json === true) {
|
|
285
|
+
c8ctl.outputMode = "json";
|
|
286
|
+
}
|
|
287
|
+
else if (process.env.C8CTL_OUTPUT_MODE === "json") {
|
|
288
|
+
c8ctl.outputMode = "json";
|
|
289
|
+
}
|
|
290
|
+
else if (process.env.C8CTL_OUTPUT_MODE === "text") {
|
|
291
|
+
c8ctl.outputMode = "text";
|
|
292
|
+
}
|
|
293
|
+
// Any other C8CTL_OUTPUT_MODE value (including unset, empty, or
|
|
294
|
+
// "yaml"/typo) falls through to the persisted mode loaded above.
|
|
128
295
|
// Initialize logger with current output mode from c8ctl runtime
|
|
129
296
|
const logger = getLogger(c8ctl.outputMode);
|
|
130
297
|
// Resolve sort order from --asc / --desc flags (default: asc)
|
|
@@ -156,7 +323,12 @@ async function main() {
|
|
|
156
323
|
c8ctl.verbose = true;
|
|
157
324
|
}
|
|
158
325
|
// Inject dependencies into the runtime (breaks circular imports)
|
|
159
|
-
c8ctl.init({
|
|
326
|
+
c8ctl.init({
|
|
327
|
+
createClient,
|
|
328
|
+
resolveTenantId,
|
|
329
|
+
getLogger,
|
|
330
|
+
getUserDataDir,
|
|
331
|
+
});
|
|
160
332
|
// Load installed plugins
|
|
161
333
|
await loadInstalledPlugins();
|
|
162
334
|
// Auto-refresh installed completions if CLI version changed
|
|
@@ -190,39 +362,149 @@ async function main() {
|
|
|
190
362
|
}
|
|
191
363
|
return;
|
|
192
364
|
}
|
|
365
|
+
// `c8ctl <verb> [<resource>] [args] --help` — uniformly route to the help
|
|
366
|
+
// renderer. Placed AFTER the `help`/`menu` reserved-verb handler and
|
|
367
|
+
// BEFORE plugin pre-parse so that every verb (built-in or plugin,
|
|
368
|
+
// resourceless or resource-required) honours --help. Closes the
|
|
369
|
+
// class-scoped contract gap pinned by tests/unit/two-stage-parser-contract.test.ts
|
|
370
|
+
// (#373) where verbs whose missing-resource guard never fired (deploy,
|
|
371
|
+
// run, doctor, output, version, …) silently dispatched to the handler.
|
|
372
|
+
if (values.help) {
|
|
373
|
+
await showCommandHelp(verb);
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
193
376
|
// Check if this is a plugin command — only for verbs not claimed by a built-in.
|
|
194
377
|
// Placed after help/menu handling so those reserved verbs can never be shadowed.
|
|
195
378
|
const pluginCommands = getPluginCommands();
|
|
196
379
|
if (verb && Object.hasOwn(pluginCommands, verb) && !getCommandDef(verb)) {
|
|
197
380
|
const cmd = pluginCommands[verb];
|
|
198
381
|
const cmdFlagDefs = typeof cmd !== "function" ? cmd.flags : undefined;
|
|
382
|
+
// Plugin --version (#377): when a plugin verb is invoked with
|
|
383
|
+
// --version, print the plugin's package version and identifying
|
|
384
|
+
// name, not c8ctl's. Routed before any other plugin dispatch so
|
|
385
|
+
// the handler is never called.
|
|
386
|
+
if (values.version) {
|
|
387
|
+
const info = getPluginVersionForCommand(verb);
|
|
388
|
+
if (info) {
|
|
389
|
+
if (logger.mode === "json") {
|
|
390
|
+
logger.json({
|
|
391
|
+
kind: "plugin-version",
|
|
392
|
+
verb,
|
|
393
|
+
pluginName: info.pluginName,
|
|
394
|
+
version: info.version,
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
logger.info(`${info.pluginName} ${info.version}`);
|
|
399
|
+
}
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
// Construct the plugin host context (#377). Lazy `client` getter
|
|
404
|
+
// mirrors the built-in CommandContext pattern so plugins that
|
|
405
|
+
// never touch a Camunda client (e.g. local-only utilities) do
|
|
406
|
+
// not trigger credential resolution by virtue of receiving ctx.
|
|
407
|
+
// Leave undefined when no flag/session profile is set so
|
|
408
|
+
// resolveClusterConfig() can fall through to CAMUNDA_* env vars,
|
|
409
|
+
// matching the behaviour of built-in commands.
|
|
410
|
+
const pluginProfile = str(values.profile) ?? c8ctl.activeProfile;
|
|
411
|
+
let _pluginClient;
|
|
412
|
+
const pluginCtx = {
|
|
413
|
+
profile: pluginProfile,
|
|
414
|
+
dryRun: c8ctl.dryRun === true,
|
|
415
|
+
verbose: c8ctl.verbose === true,
|
|
416
|
+
outputMode: c8ctl.outputMode,
|
|
417
|
+
fields: c8ctl.fields,
|
|
418
|
+
logger,
|
|
419
|
+
get client() {
|
|
420
|
+
if (!_pluginClient)
|
|
421
|
+
_pluginClient = createClient(pluginProfile);
|
|
422
|
+
return _pluginClient;
|
|
423
|
+
},
|
|
424
|
+
};
|
|
425
|
+
// Passthrough plugin contract (#366): strip GLOBAL_FLAGS from the
|
|
426
|
+
// raw argv following the verb token and forward the rest verbatim.
|
|
427
|
+
// GLOBAL_FLAGS already affect the c8ctl runtime via their regular
|
|
428
|
+
// handling earlier in main(); the plugin must not see them again.
|
|
429
|
+
// Validation at load time guarantees passthrough commands are the
|
|
430
|
+
// bare-function form and never carry a `flags` declaration.
|
|
431
|
+
if (isPassthroughPluginCommand(verb)) {
|
|
432
|
+
// Locate the verb token by walking process.argv from the start and
|
|
433
|
+
// skipping leading GLOBAL_FLAGS (consuming string-flag values).
|
|
434
|
+
// A naive `indexOf(verb)` is unsafe because `verb` may also appear
|
|
435
|
+
// as the value of a global string flag (e.g. `--profile <verb>`).
|
|
436
|
+
const rawAfterVerb = sliceArgvAfterVerb(process.argv.slice(2), verb);
|
|
437
|
+
const forwarded = stripGlobalFlags(rawAfterVerb);
|
|
438
|
+
await executePluginCommand(verb, forwarded);
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
199
441
|
if (cmdFlagDefs) {
|
|
200
|
-
//
|
|
201
|
-
//
|
|
202
|
-
//
|
|
203
|
-
//
|
|
204
|
-
|
|
442
|
+
// Plugin flag scoping (#373): a plugin verb's effective flag
|
|
443
|
+
// namespace is `GLOBAL_FLAGS ∪ plugin.flags`. Use ONLY the
|
|
444
|
+
// global flags as the conflict source — never the union of
|
|
445
|
+
// every built-in verb's flags. Otherwise a plugin can't declare
|
|
446
|
+
// a flag like `--limit` (which lives in SEARCH_FLAGS, valid
|
|
447
|
+
// only on `search`/`get`) without being silently blocked, even
|
|
448
|
+
// though `--limit` is irrelevant to the plugin's verb.
|
|
449
|
+
//
|
|
450
|
+
// Globals are still treated as a hard conflict because the
|
|
451
|
+
// host strips them from argv before the plugin parser sees
|
|
452
|
+
// them, so a plugin's same-named flag would never receive a
|
|
453
|
+
// value (#364).
|
|
454
|
+
const builtinOptions = {};
|
|
455
|
+
for (const [name, def] of Object.entries(GLOBAL_FLAGS)) {
|
|
456
|
+
const short = "short" in def ? def.short : undefined;
|
|
457
|
+
builtinOptions[name] = {
|
|
458
|
+
type: def.type,
|
|
459
|
+
...(short && { short }),
|
|
460
|
+
};
|
|
461
|
+
}
|
|
205
462
|
const builtinShorts = new Set(Object.values(builtinOptions)
|
|
206
463
|
.map((o) => o.short)
|
|
207
464
|
.filter((s) => s !== undefined));
|
|
208
|
-
|
|
465
|
+
// Use a null-prototype object so plugin-supplied flag names like
|
|
466
|
+
// `__proto__`, `constructor`, or `prototype` cannot pollute the
|
|
467
|
+
// prototype chain when later assigned (paired with the
|
|
468
|
+
// `Object.hasOwn` collision check below).
|
|
469
|
+
const mergedOptions = Object.assign(Object.create(null), builtinOptions);
|
|
209
470
|
const blockedFlags = new Set();
|
|
210
471
|
for (const [name, def] of Object.entries(cmdFlagDefs)) {
|
|
211
|
-
if (name
|
|
212
|
-
|
|
472
|
+
if (Object.hasOwn(builtinOptions, name)) {
|
|
473
|
+
// A required plugin flag whose name collides with a global
|
|
474
|
+
// flag is unsatisfiable: the token is always stripped from
|
|
475
|
+
// argv before the plugin parser sees it, so the required
|
|
476
|
+
// check downstream would always fire with the misleading
|
|
477
|
+
// "--<name> is required" message even when the user did
|
|
478
|
+
// pass a value (#364). Fail fast here with a single
|
|
479
|
+
// actionable error instead.
|
|
480
|
+
if (def.required === true) {
|
|
481
|
+
logger.error(`Plugin flag --${name} is declared required but conflicts with a global c8ctl flag of the same name; ` +
|
|
482
|
+
`it can never be satisfied. The plugin must rename this flag.`);
|
|
483
|
+
process.exit(1);
|
|
484
|
+
}
|
|
485
|
+
logger.warn(`Plugin flag --${name} conflicts with a global c8ctl flag and will not be parsed`);
|
|
213
486
|
blockedFlags.add(name);
|
|
214
487
|
continue;
|
|
215
488
|
}
|
|
216
489
|
const short = def.short && builtinShorts.has(def.short) ? undefined : def.short;
|
|
217
490
|
if (def.short && !short) {
|
|
218
|
-
logger.warn(`Plugin flag --${name} short alias -${def.short} conflicts with a
|
|
491
|
+
logger.warn(`Plugin flag --${name} short alias -${def.short} conflicts with a global c8ctl alias and will be ignored`);
|
|
219
492
|
}
|
|
220
493
|
mergedOptions[name] = {
|
|
221
494
|
type: def.type,
|
|
222
495
|
...(short && { short }),
|
|
496
|
+
...(def.multiple && { multiple: true }),
|
|
223
497
|
};
|
|
224
498
|
}
|
|
225
|
-
|
|
499
|
+
// Strip blocked-flag tokens from argv before re-parse. Blocked
|
|
500
|
+
// names exclusively collide with GLOBAL_FLAGS (post-#373), but
|
|
501
|
+
// `mergedOptions` carries the global type for those names, so
|
|
502
|
+
// parseArgs alone would consume only the value of *string*
|
|
503
|
+
// globals — leaving the value of a *boolean* global behind to
|
|
504
|
+
// drift into positionals when the plugin typed the same name
|
|
505
|
+
// as string. The helper consults both type tables and strips
|
|
506
|
+
// the following non-flag token when either side is string.
|
|
507
|
+
const filteredArgv = stripBlockedFlagTokens(process.argv.slice(2), blockedFlags, cmdFlagDefs, builtinOptions);
|
|
226
508
|
let pluginParsed;
|
|
227
509
|
try {
|
|
228
510
|
pluginParsed = parseArgs({
|
|
@@ -242,9 +524,12 @@ async function main() {
|
|
|
242
524
|
if (blockedFlags.has(flagName))
|
|
243
525
|
continue;
|
|
244
526
|
const raw = pluginParsed.values[flagName];
|
|
245
|
-
//
|
|
246
|
-
//
|
|
247
|
-
|
|
527
|
+
// multiple:true flags collect all values into an array — preserve
|
|
528
|
+
// the array so the plugin handler receives every supplied value.
|
|
529
|
+
// Non-multiple string flags may still arrive as an array when
|
|
530
|
+
// parseArgs sees the same flag name declared as multiple elsewhere;
|
|
531
|
+
// take the last value (last-write-wins) in that case.
|
|
532
|
+
const value = def.type === "string" && Array.isArray(raw) && !def.multiple
|
|
248
533
|
? (raw.findLast((v) => typeof v === "string") ?? undefined)
|
|
249
534
|
: raw;
|
|
250
535
|
if (value !== undefined) {
|
|
@@ -256,10 +541,10 @@ async function main() {
|
|
|
256
541
|
}
|
|
257
542
|
}
|
|
258
543
|
const [_verb, _resource, ...pluginArgs] = pluginParsed.positionals;
|
|
259
|
-
await executePluginCommand(verb, _resource ? [_resource, ...pluginArgs] : pluginArgs, extractedFlags);
|
|
544
|
+
await executePluginCommand(verb, _resource ? [_resource, ...pluginArgs] : pluginArgs, extractedFlags, pluginCtx);
|
|
260
545
|
}
|
|
261
546
|
else {
|
|
262
|
-
await executePluginCommand(verb, resource ? [resource, ...args] : args);
|
|
547
|
+
await executePluginCommand(verb, resource ? [resource, ...args] : args, undefined, pluginCtx);
|
|
263
548
|
}
|
|
264
549
|
return;
|
|
265
550
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|