@camunda8/cli 3.2.0-alpha.2 → 3.2.0-alpha.4
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/CONTEXT.md +7 -15
- package/EXAMPLES.md +233 -1
- package/README.md +44 -177
- package/dist/command-dispatch.js +1 -1
- package/dist/command-dispatch.js.map +1 -1
- package/dist/command-registry.d.ts +19 -7
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +47 -7
- package/dist/command-registry.js.map +1 -1
- package/dist/commands/deploy.d.ts +13 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +91 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/{deployments.d.ts → commands/helpers/deploy-helpers.d.ts} +49 -12
- package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
- package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +16 -97
- package/dist/commands/helpers/deploy-helpers.js.map +1 -0
- package/dist/commands/identity-authorizations.d.ts +0 -13
- package/dist/commands/identity-authorizations.d.ts.map +1 -1
- package/dist/commands/identity-authorizations.js +1 -1
- package/dist/commands/identity-authorizations.js.map +1 -1
- package/dist/commands/identity.d.ts +1 -21
- package/dist/commands/identity.d.ts.map +1 -1
- package/dist/commands/identity.js +7 -8
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/profiles.d.ts +0 -32
- package/dist/commands/profiles.d.ts.map +1 -1
- package/dist/commands/profiles.js +5 -36
- package/dist/commands/profiles.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +2 -2
- package/dist/commands/watch.js.map +1 -1
- package/dist/default-plugins/bpmn/c8ctl-plugin.js +7374 -137
- package/dist/default-plugins/bpmn/package.json +8 -1
- package/dist/default-plugins/element-template/c8ctl-plugin.js +10194 -248
- package/dist/default-plugins/element-template/package.json +11 -1
- package/dist/default-plugins/feel/c8ctl-plugin.js +14030 -584
- package/dist/default-plugins/feel/package.json +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -9
- package/dist/index.js.map +1 -1
- package/dist/resource-extensions.d.ts.map +1 -0
- package/dist/resource-extensions.js.map +1 -0
- package/dist/vendor/bpmnlint.cjs +25907 -0
- package/package.json +11 -13
- package/dist/commands/resource-extensions.d.ts.map +0 -1
- package/dist/commands/resource-extensions.js.map +0 -1
- package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/bpmn/format.js +0 -64
- package/dist/default-plugins/bpmn/format.js.map +0 -1
- package/dist/default-plugins/bpmn/lint.js +0 -323
- package/dist/default-plugins/bpmn/lint.js.map +0 -1
- package/dist/default-plugins/element-template/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/element-template/commands/apply.js +0 -337
- package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
- package/dist/default-plugins/element-template/commands/get-properties.js +0 -350
- package/dist/default-plugins/element-template/commands/get-properties.js.map +0 -1
- package/dist/default-plugins/element-template/commands/get.js +0 -107
- package/dist/default-plugins/element-template/commands/get.js.map +0 -1
- package/dist/default-plugins/element-template/commands/info.js +0 -196
- package/dist/default-plugins/element-template/commands/info.js.map +0 -1
- package/dist/default-plugins/element-template/commands/search.js +0 -106
- package/dist/default-plugins/element-template/commands/search.js.map +0 -1
- package/dist/default-plugins/element-template/commands/sync.js +0 -36
- package/dist/default-plugins/element-template/commands/sync.js.map +0 -1
- package/dist/default-plugins/element-template/helpers.js +0 -515
- package/dist/default-plugins/element-template/helpers.js.map +0 -1
- package/dist/default-plugins/element-template/marketplace.js +0 -597
- package/dist/default-plugins/element-template/marketplace.js.map +0 -1
- package/dist/default-plugins/element-template/template-ref.js +0 -243
- package/dist/default-plugins/element-template/template-ref.js.map +0 -1
- package/dist/default-plugins/feel/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/hello-world/README.md +0 -161
- package/dist/default-plugins/hello-world/c8ctl-plugin.js +0 -69
- package/dist/default-plugins/hello-world/package.json +0 -8
- package/dist/deployments.d.ts.map +0 -1
- package/dist/deployments.js.map +0 -1
- /package/dist/{commands/resource-extensions.d.ts → resource-extensions.d.ts} +0 -0
- /package/dist/{commands/resource-extensions.js → resource-extensions.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda8/cli",
|
|
3
|
-
"version": "3.2.0-alpha.
|
|
3
|
+
"version": "3.2.0-alpha.4",
|
|
4
4
|
"description": "Camunda 8 CLI - minimal-dependency CLI for Camunda 8 operations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -26,8 +26,10 @@
|
|
|
26
26
|
],
|
|
27
27
|
"scripts": {
|
|
28
28
|
"prepare": "git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true",
|
|
29
|
-
"build:vendor": "
|
|
30
|
-
"build:
|
|
29
|
+
"build:vendor": "npm run build:vendor:element-template && npm run build:vendor:bpmnlint",
|
|
30
|
+
"build:vendor:element-template": "esbuild default-plugins/element-template/vendor-src/bundle-entry.js --bundle --format=cjs --platform=node --outfile=dist/vendor/bpmn-element-templates.cjs",
|
|
31
|
+
"build:vendor:bpmnlint": "node scripts/build-bpmnlint-vendor.mjs",
|
|
32
|
+
"build:plugins": "node scripts/build-plugins.mjs",
|
|
31
33
|
"build": "npm run lint && npm run sync:readme && npm run sync:docs && npm run clean && tsc && npm run build:plugins && npm run build:vendor && npm run copy-plugins && npm run copy-templates",
|
|
32
34
|
"lint": "biome check src/ tests/ scripts/ default-plugins/",
|
|
33
35
|
"lint:src": "biome check src/ scripts/",
|
|
@@ -67,17 +69,15 @@
|
|
|
67
69
|
"publishConfig": {
|
|
68
70
|
"access": "public"
|
|
69
71
|
},
|
|
72
|
+
"workspaces": [
|
|
73
|
+
"default-plugins/bpmn",
|
|
74
|
+
"default-plugins/feel",
|
|
75
|
+
"default-plugins/element-template"
|
|
76
|
+
],
|
|
70
77
|
"dependencies": {
|
|
71
78
|
"@camunda8/orchestration-cluster-api": "^9.1.0",
|
|
72
79
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
73
|
-
"
|
|
74
|
-
"@bpmn-io/moddle-utils": "^0.3.0",
|
|
75
|
-
"bpmnlint": "^11.6.1",
|
|
76
|
-
"bpmnlint-plugin-camunda-compat": "^2.43.1",
|
|
77
|
-
"feelin": "^6.2.0",
|
|
78
|
-
"ignore": "^7.0.5",
|
|
79
|
-
"semver": "^7.6.3",
|
|
80
|
-
"zeebe-bpmn-moddle": "^1.11.0"
|
|
80
|
+
"ignore": "^7.0.5"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@biomejs/biome": "^2.4.11",
|
|
@@ -87,8 +87,6 @@
|
|
|
87
87
|
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
88
88
|
"@types/node": "^25.5.0",
|
|
89
89
|
"@types/semver": "^7.7.1",
|
|
90
|
-
"bpmn-js-element-templates": "^2.23.1",
|
|
91
|
-
"bpmn-js-headless": "^0.1.0",
|
|
92
90
|
"esbuild": "^0.28.0",
|
|
93
91
|
"semantic-release": "^25.0.3",
|
|
94
92
|
"typescript": "^6.0.2"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-extensions.d.ts","sourceRoot":"","sources":["../../src/commands/resource-extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,qBAAqB,UAA6B,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,UAYrC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-extensions.js","sourceRoot":"","sources":["../../src/commands/resource-extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;CACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"c8ctl-plugin.js","sourceRoot":"","sources":["../../../default-plugins/bpmn/c8ctl-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { writeFileSync } from "node:fs";
|
|
2
|
-
import { createBpmnModdle, readBpmnInput } from "./lint.js";
|
|
3
|
-
function parseArgs(args) {
|
|
4
|
-
const usage = "Usage: c8ctl bpmn format [<file.bpmn>] [--in-place | -i]";
|
|
5
|
-
const endOfOpts = args.indexOf("--");
|
|
6
|
-
const optionArgs = endOfOpts === -1 ? args : args.slice(0, endOfOpts);
|
|
7
|
-
const positionalArgs = endOfOpts === -1 ? [] : args.slice(endOfOpts + 1);
|
|
8
|
-
const unknownFlag = optionArgs.find((a) => a.startsWith("-") && a !== "--in-place" && a !== "-i");
|
|
9
|
-
if (unknownFlag) {
|
|
10
|
-
return {
|
|
11
|
-
inPlace: false,
|
|
12
|
-
filePath: undefined,
|
|
13
|
-
error: `Unknown flag: ${unknownFlag}. ${usage}`,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
const allPositionals = [
|
|
17
|
-
...positionalArgs,
|
|
18
|
-
...optionArgs.filter((a) => !a.startsWith("-")),
|
|
19
|
-
];
|
|
20
|
-
if (allPositionals.length > 1) {
|
|
21
|
-
return {
|
|
22
|
-
inPlace: false,
|
|
23
|
-
filePath: undefined,
|
|
24
|
-
error: `Unexpected argument: ${allPositionals[1]}. ${usage}`,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
inPlace: optionArgs.includes("--in-place") || optionArgs.includes("-i"),
|
|
29
|
-
filePath: allPositionals[0],
|
|
30
|
-
error: null,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
export async function formatSubcommand(args) {
|
|
34
|
-
const parsed = parseArgs(args);
|
|
35
|
-
if (parsed.error) {
|
|
36
|
-
throw new Error(parsed.error);
|
|
37
|
-
}
|
|
38
|
-
if (parsed.inPlace && !parsed.filePath) {
|
|
39
|
-
throw new Error("--in-place cannot be used with stdin input");
|
|
40
|
-
}
|
|
41
|
-
const input = await readBpmnInput(parsed.filePath);
|
|
42
|
-
if (!input) {
|
|
43
|
-
throw new Error("No BPMN input provided. Pass a file path or pipe BPMN XML via stdin.");
|
|
44
|
-
}
|
|
45
|
-
const moddle = await createBpmnModdle();
|
|
46
|
-
let resultXml;
|
|
47
|
-
try {
|
|
48
|
-
const parsedXml = await moddle.fromXML(input.xml);
|
|
49
|
-
const rendered = await moddle.toXML(parsedXml.rootElement, {
|
|
50
|
-
format: true,
|
|
51
|
-
});
|
|
52
|
-
resultXml = rendered.xml;
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
56
|
-
throw new Error(`Failed to parse BPMN: ${message}`);
|
|
57
|
-
}
|
|
58
|
-
if (parsed.inPlace) {
|
|
59
|
-
writeFileSync(input.source, resultXml, "utf-8");
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
process.stdout.write(resultXml);
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../default-plugins/bpmn/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BPMN lint internals — bpmnlint driver, config resolution, and the
|
|
3
|
-
* collect-then-render split that powers `c8ctl bpmn lint`. The plugin
|
|
4
|
-
* file (./c8ctl-plugin.ts) only handles host glue and CLI dispatch.
|
|
5
|
-
*/
|
|
6
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
7
|
-
import { createRequire } from "node:module";
|
|
8
|
-
import { resolve as resolvePath } from "node:path";
|
|
9
|
-
import { styleText } from "node:util";
|
|
10
|
-
if (!globalThis.c8ctl)
|
|
11
|
-
throw new Error("c8ctl runtime not initialised");
|
|
12
|
-
const c8ctl = globalThis.c8ctl;
|
|
13
|
-
const require = createRequire(import.meta.url);
|
|
14
|
-
function isRecord(value) {
|
|
15
|
-
return value != null && typeof value === "object" && !Array.isArray(value);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Read BPMN XML from a file path or stdin. Returns null if no input is available.
|
|
19
|
-
*
|
|
20
|
-
* Stdin is consumed via async iteration so a slow upstream writer (e.g.
|
|
21
|
-
* `apply | lint` in a pipeline, or any producer that hasn't flushed yet)
|
|
22
|
-
* is awaited until 'end'. Do not use `readFileSync(0)` here — when stdin
|
|
23
|
-
* is a pipe with no buffered data yet, it throws EAGAIN, which gets
|
|
24
|
-
* swallowed and surfaces as "no input".
|
|
25
|
-
*/
|
|
26
|
-
export async function readBpmnInput(filePath) {
|
|
27
|
-
if (filePath) {
|
|
28
|
-
const resolved = resolvePath(filePath);
|
|
29
|
-
if (!existsSync(resolved)) {
|
|
30
|
-
throw new Error(`File not found: ${filePath}`);
|
|
31
|
-
}
|
|
32
|
-
return { xml: readFileSync(resolved, "utf-8"), source: resolved };
|
|
33
|
-
}
|
|
34
|
-
if (!process.stdin.isTTY) {
|
|
35
|
-
process.stdin.setEncoding("utf-8");
|
|
36
|
-
let xml = "";
|
|
37
|
-
for await (const chunk of process.stdin) {
|
|
38
|
-
xml += chunk;
|
|
39
|
-
}
|
|
40
|
-
if (!xml.trim())
|
|
41
|
-
return null;
|
|
42
|
-
return { xml, source: "stdin" };
|
|
43
|
-
}
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
export async function createBpmnModdle() {
|
|
47
|
-
const BpmnModdle = (await import("bpmn-moddle")).default;
|
|
48
|
-
const zeebeSchema = (await import("zeebe-bpmn-moddle/resources/zeebe.json", {
|
|
49
|
-
with: { type: "json" },
|
|
50
|
-
})).default;
|
|
51
|
-
return new BpmnModdle({ zeebe: zeebeSchema });
|
|
52
|
-
}
|
|
53
|
-
function extractPlatformInfo(rootElement) {
|
|
54
|
-
const attrs = rootElement.$attrs ?? {};
|
|
55
|
-
const executionPlatform = attrs["modeler:executionPlatform"];
|
|
56
|
-
if (!executionPlatform) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
const version = attrs["modeler:executionPlatformVersion"] ?? null;
|
|
60
|
-
return { executionPlatform, version };
|
|
61
|
-
}
|
|
62
|
-
function detectCamundaCloudVersion(rootElement) {
|
|
63
|
-
const info = extractPlatformInfo(rootElement);
|
|
64
|
-
if (!info || info.executionPlatform !== "Camunda Cloud" || !info.version) {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
const match = info.version.match(/^(\d+\.\d+)/);
|
|
68
|
-
return match ? match[1] : null;
|
|
69
|
-
}
|
|
70
|
-
function parseVersionParts(s) {
|
|
71
|
-
return s.replace("camunda-cloud-", "").split("-").map(Number);
|
|
72
|
-
}
|
|
73
|
-
function compareVersionParts(a, b) {
|
|
74
|
-
for (let i = 0; i < Math.max(a.length, b.length); i++) {
|
|
75
|
-
const diff = (a[i] || 0) - (b[i] || 0);
|
|
76
|
-
if (diff !== 0) {
|
|
77
|
-
return diff;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return 0;
|
|
81
|
-
}
|
|
82
|
-
function resolveCamundaCompatConfig(version) {
|
|
83
|
-
const plugin = require("bpmnlint-plugin-camunda-compat");
|
|
84
|
-
const configs = plugin.configs;
|
|
85
|
-
const configName = `camunda-cloud-${version.replace(".", "-")}`;
|
|
86
|
-
if (configName in configs) {
|
|
87
|
-
return { kind: "exact", config: `plugin:camunda-compat/${configName}` };
|
|
88
|
-
}
|
|
89
|
-
const cloudConfigs = Object.keys(configs)
|
|
90
|
-
.filter((k) => k.startsWith("camunda-cloud-"))
|
|
91
|
-
.sort((a, b) => compareVersionParts(parseVersionParts(a), parseVersionParts(b)));
|
|
92
|
-
if (cloudConfigs.length === 0) {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
const requested = parseVersionParts(`camunda-cloud-${version.replace(".", "-")}`);
|
|
96
|
-
const lowest = cloudConfigs[0];
|
|
97
|
-
const highest = cloudConfigs[cloudConfigs.length - 1];
|
|
98
|
-
if (compareVersionParts(requested, parseVersionParts(lowest)) < 0) {
|
|
99
|
-
return { kind: "below-range", lowest };
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
102
|
-
kind: "above-range",
|
|
103
|
-
config: `plugin:camunda-compat/${highest}`,
|
|
104
|
-
highest,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
function buildLintConfig(rootElement) {
|
|
108
|
-
const rcPath = resolvePath(".bpmnlintrc");
|
|
109
|
-
if (existsSync(rcPath)) {
|
|
110
|
-
const raw = readFileSync(rcPath, "utf-8");
|
|
111
|
-
let parsed;
|
|
112
|
-
try {
|
|
113
|
-
parsed = JSON.parse(raw);
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
117
|
-
throw new Error(`Failed to parse .bpmnlintrc: only JSON is supported (${detail}). ` +
|
|
118
|
-
"For YAML or JS configs, use the standalone `bpmnlint` CLI.");
|
|
119
|
-
}
|
|
120
|
-
if (!isRecord(parsed)) {
|
|
121
|
-
throw new Error(".bpmnlintrc must contain a JSON object");
|
|
122
|
-
}
|
|
123
|
-
return parsed;
|
|
124
|
-
}
|
|
125
|
-
const config = { extends: ["bpmnlint:recommended"] };
|
|
126
|
-
const version = detectCamundaCloudVersion(rootElement);
|
|
127
|
-
if (version) {
|
|
128
|
-
const resolution = resolveCamundaCompatConfig(version);
|
|
129
|
-
if (resolution?.kind === "exact" || resolution?.kind === "above-range") {
|
|
130
|
-
config.extends.push(resolution.config);
|
|
131
|
-
}
|
|
132
|
-
if (resolution?.kind === "above-range") {
|
|
133
|
-
c8ctl
|
|
134
|
-
.getLogger()
|
|
135
|
-
.warn(`No camunda-compat config for ${version}; falling back to ${resolution.highest}. ` +
|
|
136
|
-
"Update c8ctl for newer rulesets.");
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return config;
|
|
140
|
-
}
|
|
141
|
-
function formatElementRef(report, pathStringify) {
|
|
142
|
-
const id = report.id ?? "";
|
|
143
|
-
if (report.path) {
|
|
144
|
-
return `${id}#${pathStringify(report.path)}`;
|
|
145
|
-
}
|
|
146
|
-
return id;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Flatten bpmnlint's `{ ruleName: [report, ...] }` shape into a typed
|
|
150
|
-
* issue list plus the parallel `rows` list that the text renderer
|
|
151
|
-
* formats into a column-aligned table.
|
|
152
|
-
*/
|
|
153
|
-
function collectLintResult(results) {
|
|
154
|
-
let errorCount = 0;
|
|
155
|
-
let warningCount = 0;
|
|
156
|
-
const issues = [];
|
|
157
|
-
const rows = [];
|
|
158
|
-
const { pathStringify } = require("@bpmn-io/moddle-utils");
|
|
159
|
-
for (const [ruleName, reports] of Object.entries(results)) {
|
|
160
|
-
for (const report of reports) {
|
|
161
|
-
const elementRef = formatElementRef(report, pathStringify);
|
|
162
|
-
const displayName = report.name ?? ruleName;
|
|
163
|
-
const severity = report.category === "error" ? "error" : "warning";
|
|
164
|
-
rows.push({
|
|
165
|
-
elementRef,
|
|
166
|
-
severity,
|
|
167
|
-
message: report.message,
|
|
168
|
-
displayName,
|
|
169
|
-
});
|
|
170
|
-
const issue = {
|
|
171
|
-
rule: report.name ?? ruleName,
|
|
172
|
-
elementId: report.id || null,
|
|
173
|
-
message: report.message,
|
|
174
|
-
category: severity,
|
|
175
|
-
};
|
|
176
|
-
if (report.path) {
|
|
177
|
-
issue.path = report.path;
|
|
178
|
-
}
|
|
179
|
-
issues.push(issue);
|
|
180
|
-
if (severity === "error")
|
|
181
|
-
errorCount++;
|
|
182
|
-
else
|
|
183
|
-
warningCount++;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return { rows, issues, errorCount, warningCount };
|
|
187
|
-
}
|
|
188
|
-
function renderDryRun(logger, source, platform, config) {
|
|
189
|
-
const sourceLabel = source === "stdin" ? "stdin" : resolvePath(source);
|
|
190
|
-
if (c8ctl.outputMode === "json") {
|
|
191
|
-
logger.json({
|
|
192
|
-
dryRun: true,
|
|
193
|
-
command: "bpmn lint",
|
|
194
|
-
source: sourceLabel,
|
|
195
|
-
platform,
|
|
196
|
-
config,
|
|
197
|
-
});
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
const platformLabel = platform
|
|
201
|
-
? `${platform.executionPlatform}${platform.version ? ` ${platform.version}` : ""}`
|
|
202
|
-
: "not declared";
|
|
203
|
-
logger.output("Dry run — no lint performed.");
|
|
204
|
-
logger.output(` Source: ${sourceLabel}`);
|
|
205
|
-
logger.output(` Platform: ${platformLabel}`);
|
|
206
|
-
logger.output(" Config:");
|
|
207
|
-
const configLines = JSON.stringify(config, null, 2).split("\n");
|
|
208
|
-
for (const line of configLines) {
|
|
209
|
-
logger.output(` ${line}`);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
function renderLintJson(logger, file, result) {
|
|
213
|
-
logger.json({
|
|
214
|
-
file,
|
|
215
|
-
issues: result.issues,
|
|
216
|
-
errorCount: result.errorCount,
|
|
217
|
-
warningCount: result.warningCount,
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
function renderLintText(logger, source, result, options) {
|
|
221
|
-
const { rows, errorCount, warningCount } = result;
|
|
222
|
-
const problemCount = errorCount + warningCount;
|
|
223
|
-
if (problemCount === 0) {
|
|
224
|
-
if (!options.quiet) {
|
|
225
|
-
// Mirror the bold red ✖ summary used for problems with a bold green
|
|
226
|
-
// ✓ on success — gives the user an unambiguous "lint ran cleanly"
|
|
227
|
-
// signal instead of trailing silence.
|
|
228
|
-
logger.output(styleText(["bold", "green"], "✓ No issues found."));
|
|
229
|
-
}
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
// Compute column widths from the uncolored values so padding lines up
|
|
233
|
-
// regardless of terminal color support.
|
|
234
|
-
const widths = rows.reduce((acc, r) => ({
|
|
235
|
-
elementRef: Math.max(acc.elementRef, r.elementRef.length),
|
|
236
|
-
severity: Math.max(acc.severity, r.severity.length),
|
|
237
|
-
message: Math.max(acc.message, r.message.length),
|
|
238
|
-
}), { elementRef: 0, severity: 0, message: 0 });
|
|
239
|
-
const padEnd = (s, n) => s + " ".repeat(Math.max(0, n - s.length));
|
|
240
|
-
const sourceLabel = source === "stdin" ? "stdin" : resolvePath(source);
|
|
241
|
-
logger.output("");
|
|
242
|
-
logger.output(styleText("underline", sourceLabel));
|
|
243
|
-
for (const r of rows) {
|
|
244
|
-
const severityColor = r.severity === "error" ? "red" : "yellow";
|
|
245
|
-
const severityCell = styleText(severityColor, padEnd(r.severity, widths.severity));
|
|
246
|
-
logger.output([
|
|
247
|
-
" ",
|
|
248
|
-
padEnd(r.elementRef, widths.elementRef),
|
|
249
|
-
severityCell,
|
|
250
|
-
padEnd(r.message, widths.message),
|
|
251
|
-
r.displayName,
|
|
252
|
-
].join(" "));
|
|
253
|
-
}
|
|
254
|
-
const pluralize = (word, count) => count === 1 ? word : `${word}s`;
|
|
255
|
-
const summary = `✖ ${problemCount} ${pluralize("problem", problemCount)} ` +
|
|
256
|
-
`(${errorCount} ${pluralize("error", errorCount)}, ` +
|
|
257
|
-
`${warningCount} ${pluralize("warning", warningCount)})`;
|
|
258
|
-
const summaryColor = errorCount > 0 ? ["bold", "red"] : ["bold", "yellow"];
|
|
259
|
-
logger.output("");
|
|
260
|
-
logger.output(styleText(summaryColor, summary));
|
|
261
|
-
}
|
|
262
|
-
export async function lintSubcommand(args) {
|
|
263
|
-
const logger = c8ctl.getLogger();
|
|
264
|
-
const usage = "Usage: c8ctl bpmn lint [<file.bpmn>] [--quiet | -q]";
|
|
265
|
-
const endOfOpts = args.indexOf("--");
|
|
266
|
-
const optionArgs = endOfOpts === -1 ? args : args.slice(0, endOfOpts);
|
|
267
|
-
const positionalArgs = endOfOpts === -1 ? [] : args.slice(endOfOpts + 1);
|
|
268
|
-
const quiet = optionArgs.includes("--quiet") || optionArgs.includes("-q");
|
|
269
|
-
const unknownFlag = optionArgs.find((a) => a.startsWith("-") && a !== "--quiet" && a !== "-q");
|
|
270
|
-
if (unknownFlag) {
|
|
271
|
-
throw new Error(`Unknown flag: ${unknownFlag}. ${usage}`);
|
|
272
|
-
}
|
|
273
|
-
const filePath = positionalArgs[0] ?? optionArgs.find((a) => !a.startsWith("-"));
|
|
274
|
-
// Reject extra positional args (only one BPMN file is accepted).
|
|
275
|
-
const allPositionals = [
|
|
276
|
-
...positionalArgs,
|
|
277
|
-
...optionArgs.filter((a) => !a.startsWith("-")),
|
|
278
|
-
];
|
|
279
|
-
if (allPositionals.length > 1) {
|
|
280
|
-
throw new Error(`Unexpected argument: ${allPositionals[1]}. ${usage}`);
|
|
281
|
-
}
|
|
282
|
-
const input = await readBpmnInput(filePath);
|
|
283
|
-
if (!input) {
|
|
284
|
-
throw new Error("No BPMN input provided. Pass a file path or pipe BPMN XML via stdin.");
|
|
285
|
-
}
|
|
286
|
-
const moddle = await createBpmnModdle();
|
|
287
|
-
let rootElement;
|
|
288
|
-
try {
|
|
289
|
-
const result = await moddle.fromXML(input.xml);
|
|
290
|
-
rootElement = result.rootElement;
|
|
291
|
-
}
|
|
292
|
-
catch (error) {
|
|
293
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
294
|
-
throw new Error(`Failed to parse BPMN: ${message}`);
|
|
295
|
-
}
|
|
296
|
-
const config = buildLintConfig(rootElement);
|
|
297
|
-
if (c8ctl.dryRun) {
|
|
298
|
-
renderDryRun(logger, input.source, extractPlatformInfo(rootElement), config);
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
const { Linter } = require("bpmnlint");
|
|
302
|
-
const NodeResolver = require("bpmnlint/lib/resolver/node-resolver");
|
|
303
|
-
// Pass our plugin-scoped `require` to NodeResolver so bpmnlint resolves
|
|
304
|
-
// `bpmnlint-plugin-camunda-compat` from c8ctl's installation, not the
|
|
305
|
-
// user's CWD. Without this, `bpmn lint` only works when run from a
|
|
306
|
-
// directory that happens to have the plugin in its node_modules.
|
|
307
|
-
const linter = new Linter({
|
|
308
|
-
config,
|
|
309
|
-
resolver: new NodeResolver({ require }),
|
|
310
|
-
});
|
|
311
|
-
const results = await linter.lint(rootElement);
|
|
312
|
-
const result = collectLintResult(results);
|
|
313
|
-
if (c8ctl.outputMode === "json") {
|
|
314
|
-
renderLintJson(logger, input.source, result);
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
renderLintText(logger, input.source, result, { quiet });
|
|
318
|
-
}
|
|
319
|
-
if (result.errorCount > 0) {
|
|
320
|
-
process.exitCode = 1;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
//# sourceMappingURL=lint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../default-plugins/bpmn/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"c8ctl-plugin.js","sourceRoot":"","sources":["../../../default-plugins/element-template/c8ctl-plugin.ts"],"names":[],"mappings":"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"}
|