@camunda8/cli 2.8.0-alpha.9 → 3.0.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/EXAMPLES.md +22 -5
- package/PLUGIN-HELP.md +26 -0
- package/README.md +37 -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 +30 -0
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +34 -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/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 +294 -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++;
|
|
@@ -172,7 +323,12 @@ async function main() {
|
|
|
172
323
|
c8ctl.verbose = true;
|
|
173
324
|
}
|
|
174
325
|
// Inject dependencies into the runtime (breaks circular imports)
|
|
175
|
-
c8ctl.init({
|
|
326
|
+
c8ctl.init({
|
|
327
|
+
createClient,
|
|
328
|
+
resolveTenantId,
|
|
329
|
+
getLogger,
|
|
330
|
+
getUserDataDir,
|
|
331
|
+
});
|
|
176
332
|
// Load installed plugins
|
|
177
333
|
await loadInstalledPlugins();
|
|
178
334
|
// Auto-refresh installed completions if CLI version changed
|
|
@@ -206,39 +362,149 @@ async function main() {
|
|
|
206
362
|
}
|
|
207
363
|
return;
|
|
208
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
|
+
}
|
|
209
376
|
// Check if this is a plugin command — only for verbs not claimed by a built-in.
|
|
210
377
|
// Placed after help/menu handling so those reserved verbs can never be shadowed.
|
|
211
378
|
const pluginCommands = getPluginCommands();
|
|
212
379
|
if (verb && Object.hasOwn(pluginCommands, verb) && !getCommandDef(verb)) {
|
|
213
380
|
const cmd = pluginCommands[verb];
|
|
214
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
|
+
}
|
|
215
441
|
if (cmdFlagDefs) {
|
|
216
|
-
//
|
|
217
|
-
//
|
|
218
|
-
//
|
|
219
|
-
//
|
|
220
|
-
|
|
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
|
+
}
|
|
221
462
|
const builtinShorts = new Set(Object.values(builtinOptions)
|
|
222
463
|
.map((o) => o.short)
|
|
223
464
|
.filter((s) => s !== undefined));
|
|
224
|
-
|
|
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);
|
|
225
470
|
const blockedFlags = new Set();
|
|
226
471
|
for (const [name, def] of Object.entries(cmdFlagDefs)) {
|
|
227
|
-
if (name
|
|
228
|
-
|
|
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`);
|
|
229
486
|
blockedFlags.add(name);
|
|
230
487
|
continue;
|
|
231
488
|
}
|
|
232
489
|
const short = def.short && builtinShorts.has(def.short) ? undefined : def.short;
|
|
233
490
|
if (def.short && !short) {
|
|
234
|
-
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`);
|
|
235
492
|
}
|
|
236
493
|
mergedOptions[name] = {
|
|
237
494
|
type: def.type,
|
|
238
495
|
...(short && { short }),
|
|
496
|
+
...(def.multiple && { multiple: true }),
|
|
239
497
|
};
|
|
240
498
|
}
|
|
241
|
-
|
|
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);
|
|
242
508
|
let pluginParsed;
|
|
243
509
|
try {
|
|
244
510
|
pluginParsed = parseArgs({
|
|
@@ -258,9 +524,12 @@ async function main() {
|
|
|
258
524
|
if (blockedFlags.has(flagName))
|
|
259
525
|
continue;
|
|
260
526
|
const raw = pluginParsed.values[flagName];
|
|
261
|
-
//
|
|
262
|
-
//
|
|
263
|
-
|
|
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
|
|
264
533
|
? (raw.findLast((v) => typeof v === "string") ?? undefined)
|
|
265
534
|
: raw;
|
|
266
535
|
if (value !== undefined) {
|
|
@@ -272,10 +541,10 @@ async function main() {
|
|
|
272
541
|
}
|
|
273
542
|
}
|
|
274
543
|
const [_verb, _resource, ...pluginArgs] = pluginParsed.positionals;
|
|
275
|
-
await executePluginCommand(verb, _resource ? [_resource, ...pluginArgs] : pluginArgs, extractedFlags);
|
|
544
|
+
await executePluginCommand(verb, _resource ? [_resource, ...pluginArgs] : pluginArgs, extractedFlags, pluginCtx);
|
|
276
545
|
}
|
|
277
546
|
else {
|
|
278
|
-
await executePluginCommand(verb, resource ? [resource, ...args] : args);
|
|
547
|
+
await executePluginCommand(verb, resource ? [resource, ...args] : args, undefined, pluginCtx);
|
|
279
548
|
}
|
|
280
549
|
return;
|
|
281
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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"}
|