@camunda8/cli 3.1.0 → 3.2.0-alpha.10

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.
Files changed (311) hide show
  1. package/CONTEXT.md +7 -15
  2. package/EXAMPLES.md +253 -1
  3. package/PLUGIN-HELP.md +1 -1
  4. package/README.md +50 -180
  5. package/dist/command-dispatch.d.ts +1 -1
  6. package/dist/command-dispatch.d.ts.map +1 -1
  7. package/dist/command-dispatch.js +1 -1
  8. package/dist/command-dispatch.js.map +1 -1
  9. package/dist/commands/completion.d.ts +1 -1
  10. package/dist/commands/completion.d.ts.map +1 -1
  11. package/dist/commands/completion.js +2 -3
  12. package/dist/commands/completion.js.map +1 -1
  13. package/dist/commands/deploy.d.ts +13 -0
  14. package/dist/commands/deploy.d.ts.map +1 -0
  15. package/dist/commands/deploy.js +328 -0
  16. package/dist/commands/deploy.js.map +1 -0
  17. package/dist/commands/forms.d.ts +1 -1
  18. package/dist/commands/forms.d.ts.map +1 -1
  19. package/dist/commands/forms.js +8 -8
  20. package/dist/commands/forms.js.map +1 -1
  21. package/dist/commands/helpers/deploy-helpers.d.ts +120 -0
  22. package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
  23. package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +307 -155
  24. package/dist/commands/helpers/deploy-helpers.js.map +1 -0
  25. package/dist/commands/identity-authorizations.d.ts +5 -18
  26. package/dist/commands/identity-authorizations.d.ts.map +1 -1
  27. package/dist/commands/identity-authorizations.js +8 -10
  28. package/dist/commands/identity-authorizations.js.map +1 -1
  29. package/dist/commands/identity-groups.d.ts +5 -5
  30. package/dist/commands/identity-groups.d.ts.map +1 -1
  31. package/dist/commands/identity-groups.js +7 -8
  32. package/dist/commands/identity-groups.js.map +1 -1
  33. package/dist/commands/identity-mapping-rules.d.ts +5 -5
  34. package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
  35. package/dist/commands/identity-mapping-rules.js +7 -8
  36. package/dist/commands/identity-mapping-rules.js.map +1 -1
  37. package/dist/commands/identity-roles.d.ts +5 -5
  38. package/dist/commands/identity-roles.d.ts.map +1 -1
  39. package/dist/commands/identity-roles.js +7 -8
  40. package/dist/commands/identity-roles.js.map +1 -1
  41. package/dist/commands/identity-tenants.d.ts +5 -5
  42. package/dist/commands/identity-tenants.d.ts.map +1 -1
  43. package/dist/commands/identity-tenants.js +7 -8
  44. package/dist/commands/identity-tenants.js.map +1 -1
  45. package/dist/commands/identity-users.d.ts +5 -5
  46. package/dist/commands/identity-users.d.ts.map +1 -1
  47. package/dist/commands/identity-users.js +7 -8
  48. package/dist/commands/identity-users.js.map +1 -1
  49. package/dist/commands/identity.d.ts +11 -31
  50. package/dist/commands/identity.d.ts.map +1 -1
  51. package/dist/commands/identity.js +15 -15
  52. package/dist/commands/identity.js.map +1 -1
  53. package/dist/commands/incidents.d.ts +3 -3
  54. package/dist/commands/incidents.d.ts.map +1 -1
  55. package/dist/commands/incidents.js +6 -6
  56. package/dist/commands/incidents.js.map +1 -1
  57. package/dist/commands/jobs.d.ts +4 -4
  58. package/dist/commands/jobs.d.ts.map +1 -1
  59. package/dist/commands/jobs.js +7 -7
  60. package/dist/commands/jobs.js.map +1 -1
  61. package/dist/commands/mcp-proxy.d.ts +1 -1
  62. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  63. package/dist/commands/mcp-proxy.js +5 -9
  64. package/dist/commands/mcp-proxy.js.map +1 -1
  65. package/dist/commands/messages.d.ts +2 -2
  66. package/dist/commands/messages.d.ts.map +1 -1
  67. package/dist/commands/messages.js +4 -4
  68. package/dist/commands/messages.js.map +1 -1
  69. package/dist/commands/open.d.ts +4 -4
  70. package/dist/commands/open.d.ts.map +1 -1
  71. package/dist/commands/open.js +6 -6
  72. package/dist/commands/open.js.map +1 -1
  73. package/dist/commands/plugins.d.ts +9 -9
  74. package/dist/commands/plugins.d.ts.map +1 -1
  75. package/dist/commands/plugins.js +2 -7
  76. package/dist/commands/plugins.js.map +1 -1
  77. package/dist/commands/process-definitions.d.ts +2 -2
  78. package/dist/commands/process-definitions.d.ts.map +1 -1
  79. package/dist/commands/process-definitions.js +5 -5
  80. package/dist/commands/process-definitions.js.map +1 -1
  81. package/dist/commands/process-instances.d.ts +5 -5
  82. package/dist/commands/process-instances.d.ts.map +1 -1
  83. package/dist/commands/process-instances.js +8 -9
  84. package/dist/commands/process-instances.js.map +1 -1
  85. package/dist/commands/profiles.d.ts +4 -36
  86. package/dist/commands/profiles.d.ts.map +1 -1
  87. package/dist/commands/profiles.js +43 -41
  88. package/dist/commands/profiles.js.map +1 -1
  89. package/dist/commands/run.d.ts +2 -2
  90. package/dist/commands/run.d.ts.map +1 -1
  91. package/dist/commands/run.js +4 -4
  92. package/dist/commands/run.js.map +1 -1
  93. package/dist/commands/search.d.ts +7 -7
  94. package/dist/commands/search.d.ts.map +1 -1
  95. package/dist/commands/search.js +9 -11
  96. package/dist/commands/search.js.map +1 -1
  97. package/dist/commands/session.d.ts +4 -4
  98. package/dist/commands/session.d.ts.map +1 -1
  99. package/dist/commands/session.js +26 -5
  100. package/dist/commands/session.js.map +1 -1
  101. package/dist/commands/topology.d.ts +1 -1
  102. package/dist/commands/topology.d.ts.map +1 -1
  103. package/dist/commands/topology.js +2 -2
  104. package/dist/commands/topology.js.map +1 -1
  105. package/dist/commands/user-tasks.d.ts +2 -2
  106. package/dist/commands/user-tasks.d.ts.map +1 -1
  107. package/dist/commands/user-tasks.js +5 -5
  108. package/dist/commands/user-tasks.js.map +1 -1
  109. package/dist/commands/variables.d.ts +1 -1
  110. package/dist/commands/variables.d.ts.map +1 -1
  111. package/dist/commands/variables.js +3 -3
  112. package/dist/commands/variables.js.map +1 -1
  113. package/dist/commands/watch.d.ts +2 -2
  114. package/dist/commands/watch.d.ts.map +1 -1
  115. package/dist/commands/watch.js +86 -19
  116. package/dist/commands/watch.js.map +1 -1
  117. package/dist/core/client.d.ts.map +1 -0
  118. package/dist/core/client.js.map +1 -0
  119. package/dist/{config.d.ts → core/config.d.ts} +28 -2
  120. package/dist/core/config.d.ts.map +1 -0
  121. package/dist/{config.js → core/config.js} +61 -5
  122. package/dist/core/config.js.map +1 -0
  123. package/dist/core/errors.d.ts.map +1 -0
  124. package/dist/core/errors.js.map +1 -0
  125. package/dist/core/index.d.ts +7 -0
  126. package/dist/core/index.d.ts.map +1 -0
  127. package/dist/core/index.js +13 -0
  128. package/dist/core/index.js.map +1 -0
  129. package/dist/core/logger.d.ts.map +1 -0
  130. package/dist/core/logger.js.map +1 -0
  131. package/dist/core/runtime.d.ts.map +1 -0
  132. package/dist/{runtime.js → core/runtime.js} +2 -2
  133. package/dist/core/runtime.js.map +1 -0
  134. package/dist/core/update-check.d.ts.map +1 -0
  135. package/dist/core/update-check.js.map +1 -0
  136. package/dist/default-plugins/bpmn/README.md +12 -3
  137. package/dist/default-plugins/bpmn/c8ctl-plugin.js +7376 -108
  138. package/dist/default-plugins/bpmn/package.json +8 -1
  139. package/dist/default-plugins/cluster/c8ctl-plugin.js +66 -9
  140. package/dist/default-plugins/element-template/README.md +6 -3
  141. package/dist/default-plugins/element-template/c8ctl-plugin.js +10195 -229
  142. package/dist/default-plugins/element-template/docs/design.md +1 -1
  143. package/dist/default-plugins/element-template/package.json +11 -1
  144. package/dist/default-plugins/feel/c8ctl-plugin.js +14030 -584
  145. package/dist/default-plugins/feel/package.json +4 -1
  146. package/dist/{command-framework.d.ts → framework/command-framework.d.ts} +23 -9
  147. package/dist/framework/command-framework.d.ts.map +1 -0
  148. package/dist/{command-framework.js → framework/command-framework.js} +16 -29
  149. package/dist/framework/command-framework.js.map +1 -0
  150. package/dist/{command-registry.d.ts → framework/command-registry.d.ts} +35 -8
  151. package/dist/framework/command-registry.d.ts.map +1 -0
  152. package/dist/{command-registry.js → framework/command-registry.js} +74 -9
  153. package/dist/framework/command-registry.js.map +1 -0
  154. package/dist/{command-validation.d.ts → framework/command-validation.d.ts} +0 -14
  155. package/dist/framework/command-validation.d.ts.map +1 -0
  156. package/dist/{command-validation.js → framework/command-validation.js} +1 -34
  157. package/dist/framework/command-validation.js.map +1 -0
  158. package/dist/framework/index.d.ts +10 -0
  159. package/dist/framework/index.d.ts.map +1 -0
  160. package/dist/framework/index.js +16 -0
  161. package/dist/framework/index.js.map +1 -0
  162. package/dist/{plugin-loader.d.ts → framework/plugins/plugin-loader.d.ts} +30 -5
  163. package/dist/framework/plugins/plugin-loader.d.ts.map +1 -0
  164. package/dist/{plugin-loader.js → framework/plugins/plugin-loader.js} +26 -10
  165. package/dist/framework/plugins/plugin-loader.js.map +1 -0
  166. package/dist/framework/plugins/plugin-registry.d.ts.map +1 -0
  167. package/dist/{plugin-registry.js → framework/plugins/plugin-registry.js} +1 -1
  168. package/dist/framework/plugins/plugin-registry.js.map +1 -0
  169. package/dist/framework/plugins/plugin-version.d.ts.map +1 -0
  170. package/dist/framework/plugins/plugin-version.js.map +1 -0
  171. package/dist/{completion.d.ts → framework/ui/completion.d.ts} +2 -2
  172. package/dist/framework/ui/completion.d.ts.map +1 -0
  173. package/dist/{completion.js → framework/ui/completion.js} +7 -9
  174. package/dist/framework/ui/completion.js.map +1 -0
  175. package/dist/framework/ui/help.d.ts.map +1 -0
  176. package/dist/{help.js → framework/ui/help.js} +4 -4
  177. package/dist/framework/ui/help.js.map +1 -0
  178. package/dist/framework/ui/prompt.d.ts +132 -0
  179. package/dist/framework/ui/prompt.d.ts.map +1 -0
  180. package/dist/framework/ui/prompt.js +298 -0
  181. package/dist/framework/ui/prompt.js.map +1 -0
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +24 -20
  184. package/dist/index.js.map +1 -1
  185. package/dist/utils/command-local/deploy-version.d.ts +21 -0
  186. package/dist/utils/command-local/deploy-version.d.ts.map +1 -0
  187. package/dist/utils/command-local/deploy-version.js +31 -0
  188. package/dist/utils/command-local/deploy-version.js.map +1 -0
  189. package/dist/{mcp-proxy-helpers.d.ts → utils/command-local/mcp-proxy-helpers.d.ts} +1 -1
  190. package/dist/utils/command-local/mcp-proxy-helpers.d.ts.map +1 -0
  191. package/dist/{mcp-proxy-helpers.js → utils/command-local/mcp-proxy-helpers.js} +1 -1
  192. package/dist/utils/command-local/mcp-proxy-helpers.js.map +1 -0
  193. package/dist/utils/command-local/open-helpers.d.ts.map +1 -0
  194. package/dist/{open-helpers.js → utils/command-local/open-helpers.js} +2 -2
  195. package/dist/utils/command-local/open-helpers.js.map +1 -0
  196. package/dist/{search-helpers.d.ts → utils/command-local/search-helpers.d.ts} +1 -1
  197. package/dist/utils/command-local/search-helpers.d.ts.map +1 -0
  198. package/dist/utils/command-local/search-helpers.js.map +1 -0
  199. package/dist/utils/command-local/watch-constants.d.ts.map +1 -0
  200. package/dist/utils/command-local/watch-constants.js.map +1 -0
  201. package/dist/utils/index.d.ts +10 -0
  202. package/dist/utils/index.d.ts.map +1 -0
  203. package/dist/utils/index.js +16 -0
  204. package/dist/utils/index.js.map +1 -0
  205. package/dist/utils/shared/date-filter.d.ts.map +1 -0
  206. package/dist/utils/shared/date-filter.js.map +1 -0
  207. package/dist/{ignore.d.ts → utils/shared/ignore.d.ts} +19 -1
  208. package/dist/utils/shared/ignore.d.ts.map +1 -0
  209. package/dist/utils/shared/ignore.js +234 -0
  210. package/dist/utils/shared/ignore.js.map +1 -0
  211. package/dist/utils/shared/resource-extensions.d.ts.map +1 -0
  212. package/dist/utils/shared/resource-extensions.js.map +1 -0
  213. package/dist/utils/shared/validation.d.ts +23 -0
  214. package/dist/utils/shared/validation.d.ts.map +1 -0
  215. package/dist/utils/shared/validation.js +43 -0
  216. package/dist/utils/shared/validation.js.map +1 -0
  217. package/dist/vendor/bpmnlint.cjs +25907 -0
  218. package/package.json +12 -14
  219. package/dist/client.d.ts.map +0 -1
  220. package/dist/client.js.map +0 -1
  221. package/dist/command-framework.d.ts.map +0 -1
  222. package/dist/command-framework.js.map +0 -1
  223. package/dist/command-registry.d.ts.map +0 -1
  224. package/dist/command-registry.js.map +0 -1
  225. package/dist/command-validation.d.ts.map +0 -1
  226. package/dist/command-validation.js.map +0 -1
  227. package/dist/commands/resource-extensions.d.ts.map +0 -1
  228. package/dist/commands/resource-extensions.js.map +0 -1
  229. package/dist/completion.d.ts.map +0 -1
  230. package/dist/completion.js.map +0 -1
  231. package/dist/config.d.ts.map +0 -1
  232. package/dist/config.js.map +0 -1
  233. package/dist/date-filter.d.ts.map +0 -1
  234. package/dist/date-filter.js.map +0 -1
  235. package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
  236. package/dist/default-plugins/bpmn/lint.js +0 -320
  237. package/dist/default-plugins/bpmn/lint.js.map +0 -1
  238. package/dist/default-plugins/element-template/c8ctl-plugin.js.map +0 -1
  239. package/dist/default-plugins/element-template/commands/apply.js +0 -336
  240. package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
  241. package/dist/default-plugins/element-template/commands/get-properties.js +0 -344
  242. package/dist/default-plugins/element-template/commands/get-properties.js.map +0 -1
  243. package/dist/default-plugins/element-template/commands/get.js +0 -107
  244. package/dist/default-plugins/element-template/commands/get.js.map +0 -1
  245. package/dist/default-plugins/element-template/commands/info.js +0 -189
  246. package/dist/default-plugins/element-template/commands/info.js.map +0 -1
  247. package/dist/default-plugins/element-template/commands/search.js +0 -102
  248. package/dist/default-plugins/element-template/commands/search.js.map +0 -1
  249. package/dist/default-plugins/element-template/commands/sync.js +0 -36
  250. package/dist/default-plugins/element-template/commands/sync.js.map +0 -1
  251. package/dist/default-plugins/element-template/helpers.js +0 -429
  252. package/dist/default-plugins/element-template/helpers.js.map +0 -1
  253. package/dist/default-plugins/element-template/marketplace.js +0 -586
  254. package/dist/default-plugins/element-template/marketplace.js.map +0 -1
  255. package/dist/default-plugins/element-template/template-ref.js +0 -232
  256. package/dist/default-plugins/element-template/template-ref.js.map +0 -1
  257. package/dist/default-plugins/feel/c8ctl-plugin.js.map +0 -1
  258. package/dist/default-plugins/hello-world/README.md +0 -161
  259. package/dist/default-plugins/hello-world/c8ctl-plugin.js +0 -69
  260. package/dist/default-plugins/hello-world/package.json +0 -8
  261. package/dist/deployments.d.ts +0 -42
  262. package/dist/deployments.d.ts.map +0 -1
  263. package/dist/deployments.js.map +0 -1
  264. package/dist/errors.d.ts.map +0 -1
  265. package/dist/errors.js.map +0 -1
  266. package/dist/help.d.ts.map +0 -1
  267. package/dist/help.js.map +0 -1
  268. package/dist/ignore.d.ts.map +0 -1
  269. package/dist/ignore.js +0 -101
  270. package/dist/ignore.js.map +0 -1
  271. package/dist/logger.d.ts.map +0 -1
  272. package/dist/logger.js.map +0 -1
  273. package/dist/mcp-proxy-helpers.d.ts.map +0 -1
  274. package/dist/mcp-proxy-helpers.js.map +0 -1
  275. package/dist/open-helpers.d.ts.map +0 -1
  276. package/dist/open-helpers.js.map +0 -1
  277. package/dist/plugin-loader.d.ts.map +0 -1
  278. package/dist/plugin-loader.js.map +0 -1
  279. package/dist/plugin-registry.d.ts.map +0 -1
  280. package/dist/plugin-registry.js.map +0 -1
  281. package/dist/plugin-version.d.ts.map +0 -1
  282. package/dist/plugin-version.js.map +0 -1
  283. package/dist/runtime.d.ts.map +0 -1
  284. package/dist/runtime.js.map +0 -1
  285. package/dist/search-helpers.d.ts.map +0 -1
  286. package/dist/search-helpers.js.map +0 -1
  287. package/dist/update-check.d.ts.map +0 -1
  288. package/dist/update-check.js.map +0 -1
  289. package/dist/watch-constants.d.ts.map +0 -1
  290. package/dist/watch-constants.js.map +0 -1
  291. /package/dist/{client.d.ts → core/client.d.ts} +0 -0
  292. /package/dist/{client.js → core/client.js} +0 -0
  293. /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
  294. /package/dist/{errors.js → core/errors.js} +0 -0
  295. /package/dist/{logger.d.ts → core/logger.d.ts} +0 -0
  296. /package/dist/{logger.js → core/logger.js} +0 -0
  297. /package/dist/{runtime.d.ts → core/runtime.d.ts} +0 -0
  298. /package/dist/{update-check.d.ts → core/update-check.d.ts} +0 -0
  299. /package/dist/{update-check.js → core/update-check.js} +0 -0
  300. /package/dist/{plugin-registry.d.ts → framework/plugins/plugin-registry.d.ts} +0 -0
  301. /package/dist/{plugin-version.d.ts → framework/plugins/plugin-version.d.ts} +0 -0
  302. /package/dist/{plugin-version.js → framework/plugins/plugin-version.js} +0 -0
  303. /package/dist/{help.d.ts → framework/ui/help.d.ts} +0 -0
  304. /package/dist/{open-helpers.d.ts → utils/command-local/open-helpers.d.ts} +0 -0
  305. /package/dist/{search-helpers.js → utils/command-local/search-helpers.js} +0 -0
  306. /package/dist/{watch-constants.d.ts → utils/command-local/watch-constants.d.ts} +0 -0
  307. /package/dist/{watch-constants.js → utils/command-local/watch-constants.js} +0 -0
  308. /package/dist/{date-filter.d.ts → utils/shared/date-filter.d.ts} +0 -0
  309. /package/dist/{date-filter.js → utils/shared/date-filter.js} +0 -0
  310. /package/dist/{commands → utils/shared}/resource-extensions.d.ts +0 -0
  311. /package/dist/{commands → utils/shared}/resource-extensions.js +0 -0
@@ -1,320 +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
- 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
- function extractPlatformInfo(rootElement) {
47
- const attrs = rootElement.$attrs ?? {};
48
- const executionPlatform = attrs["modeler:executionPlatform"];
49
- if (!executionPlatform) {
50
- return null;
51
- }
52
- const version = attrs["modeler:executionPlatformVersion"] ?? null;
53
- return { executionPlatform, version };
54
- }
55
- function detectCamundaCloudVersion(rootElement) {
56
- const info = extractPlatformInfo(rootElement);
57
- if (!info || info.executionPlatform !== "Camunda Cloud" || !info.version) {
58
- return null;
59
- }
60
- const match = info.version.match(/^(\d+\.\d+)/);
61
- return match ? match[1] : null;
62
- }
63
- function parseVersionParts(s) {
64
- return s.replace("camunda-cloud-", "").split("-").map(Number);
65
- }
66
- function compareVersionParts(a, b) {
67
- for (let i = 0; i < Math.max(a.length, b.length); i++) {
68
- const diff = (a[i] || 0) - (b[i] || 0);
69
- if (diff !== 0) {
70
- return diff;
71
- }
72
- }
73
- return 0;
74
- }
75
- function resolveCamundaCompatConfig(version) {
76
- const plugin = require("bpmnlint-plugin-camunda-compat");
77
- const configs = plugin.configs;
78
- const configName = `camunda-cloud-${version.replace(".", "-")}`;
79
- if (configName in configs) {
80
- return { kind: "exact", config: `plugin:camunda-compat/${configName}` };
81
- }
82
- const cloudConfigs = Object.keys(configs)
83
- .filter((k) => k.startsWith("camunda-cloud-"))
84
- .sort((a, b) => compareVersionParts(parseVersionParts(a), parseVersionParts(b)));
85
- if (cloudConfigs.length === 0) {
86
- return null;
87
- }
88
- const requested = parseVersionParts(`camunda-cloud-${version.replace(".", "-")}`);
89
- const lowest = cloudConfigs[0];
90
- const highest = cloudConfigs[cloudConfigs.length - 1];
91
- if (compareVersionParts(requested, parseVersionParts(lowest)) < 0) {
92
- return { kind: "below-range", lowest };
93
- }
94
- return {
95
- kind: "above-range",
96
- config: `plugin:camunda-compat/${highest}`,
97
- highest,
98
- };
99
- }
100
- function buildLintConfig(rootElement) {
101
- const rcPath = resolvePath(".bpmnlintrc");
102
- if (existsSync(rcPath)) {
103
- const raw = readFileSync(rcPath, "utf-8");
104
- let parsed;
105
- try {
106
- parsed = JSON.parse(raw);
107
- }
108
- catch (error) {
109
- const detail = error instanceof Error ? error.message : String(error);
110
- throw new Error(`Failed to parse .bpmnlintrc: only JSON is supported (${detail}). ` +
111
- "For YAML or JS configs, use the standalone `bpmnlint` CLI.");
112
- }
113
- if (!isRecord(parsed)) {
114
- throw new Error(".bpmnlintrc must contain a JSON object");
115
- }
116
- return parsed;
117
- }
118
- const config = { extends: ["bpmnlint:recommended"] };
119
- const version = detectCamundaCloudVersion(rootElement);
120
- if (version) {
121
- const resolution = resolveCamundaCompatConfig(version);
122
- if (resolution?.kind === "exact" || resolution?.kind === "above-range") {
123
- config.extends.push(resolution.config);
124
- }
125
- if (resolution?.kind === "above-range") {
126
- c8ctl
127
- .getLogger()
128
- .warn(`No camunda-compat config for ${version}; falling back to ${resolution.highest}. ` +
129
- "Update c8ctl for newer rulesets.");
130
- }
131
- }
132
- return config;
133
- }
134
- function formatElementRef(report, pathStringify) {
135
- const id = report.id ?? "";
136
- if (report.path) {
137
- return `${id}#${pathStringify(report.path)}`;
138
- }
139
- return id;
140
- }
141
- /**
142
- * Flatten bpmnlint's `{ ruleName: [report, ...] }` shape into a typed
143
- * issue list plus the parallel `rows` list that the text renderer
144
- * formats into a column-aligned table.
145
- */
146
- function collectLintResult(results) {
147
- let errorCount = 0;
148
- let warningCount = 0;
149
- const issues = [];
150
- const rows = [];
151
- const { pathStringify } = require("@bpmn-io/moddle-utils");
152
- for (const [ruleName, reports] of Object.entries(results)) {
153
- for (const report of reports) {
154
- const elementRef = formatElementRef(report, pathStringify);
155
- const displayName = report.name ?? ruleName;
156
- const severity = report.category === "error" ? "error" : "warning";
157
- rows.push({
158
- elementRef,
159
- severity,
160
- message: report.message,
161
- displayName,
162
- });
163
- const issue = {
164
- rule: report.name ?? ruleName,
165
- elementId: report.id || null,
166
- message: report.message,
167
- category: severity,
168
- };
169
- if (report.path) {
170
- issue.path = report.path;
171
- }
172
- issues.push(issue);
173
- if (severity === "error")
174
- errorCount++;
175
- else
176
- warningCount++;
177
- }
178
- }
179
- return { rows, issues, errorCount, warningCount };
180
- }
181
- function renderDryRun(logger, source, platform, config) {
182
- const sourceLabel = source === "stdin" ? "stdin" : resolvePath(source);
183
- if (c8ctl.outputMode === "json") {
184
- logger.json({
185
- dryRun: true,
186
- command: "bpmn lint",
187
- source: sourceLabel,
188
- platform,
189
- config,
190
- });
191
- return;
192
- }
193
- const platformLabel = platform
194
- ? `${platform.executionPlatform}${platform.version ? ` ${platform.version}` : ""}`
195
- : "not declared";
196
- logger.output("Dry run — no lint performed.");
197
- logger.output(` Source: ${sourceLabel}`);
198
- logger.output(` Platform: ${platformLabel}`);
199
- logger.output(" Config:");
200
- const configLines = JSON.stringify(config, null, 2).split("\n");
201
- for (const line of configLines) {
202
- logger.output(` ${line}`);
203
- }
204
- }
205
- function renderLintJson(logger, file, result) {
206
- logger.json({
207
- file,
208
- issues: result.issues,
209
- errorCount: result.errorCount,
210
- warningCount: result.warningCount,
211
- });
212
- }
213
- function renderLintText(logger, source, result, options) {
214
- const { rows, errorCount, warningCount } = result;
215
- const problemCount = errorCount + warningCount;
216
- if (problemCount === 0) {
217
- if (!options.quiet) {
218
- // Mirror the bold red ✖ summary used for problems with a bold green
219
- // ✓ on success — gives the user an unambiguous "lint ran cleanly"
220
- // signal instead of trailing silence.
221
- logger.output(styleText(["bold", "green"], "✓ No issues found."));
222
- }
223
- return;
224
- }
225
- // Compute column widths from the uncolored values so padding lines up
226
- // regardless of terminal color support.
227
- const widths = rows.reduce((acc, r) => ({
228
- elementRef: Math.max(acc.elementRef, r.elementRef.length),
229
- severity: Math.max(acc.severity, r.severity.length),
230
- message: Math.max(acc.message, r.message.length),
231
- }), { elementRef: 0, severity: 0, message: 0 });
232
- const padEnd = (s, n) => s + " ".repeat(Math.max(0, n - s.length));
233
- const sourceLabel = source === "stdin" ? "stdin" : resolvePath(source);
234
- logger.output("");
235
- logger.output(styleText("underline", sourceLabel));
236
- for (const r of rows) {
237
- const severityColor = r.severity === "error" ? "red" : "yellow";
238
- const severityCell = styleText(severityColor, padEnd(r.severity, widths.severity));
239
- logger.output([
240
- " ",
241
- padEnd(r.elementRef, widths.elementRef),
242
- severityCell,
243
- padEnd(r.message, widths.message),
244
- r.displayName,
245
- ].join(" "));
246
- }
247
- const pluralize = (word, count) => count === 1 ? word : `${word}s`;
248
- const summary = `✖ ${problemCount} ${pluralize("problem", problemCount)} ` +
249
- `(${errorCount} ${pluralize("error", errorCount)}, ` +
250
- `${warningCount} ${pluralize("warning", warningCount)})`;
251
- const summaryColor = errorCount > 0 ? ["bold", "red"] : ["bold", "yellow"];
252
- logger.output("");
253
- logger.output(styleText(summaryColor, summary));
254
- }
255
- export async function lintSubcommand(args) {
256
- const logger = c8ctl.getLogger();
257
- const usage = "Usage: c8ctl bpmn lint [<file.bpmn>] [--quiet | -q]";
258
- const endOfOpts = args.indexOf("--");
259
- const optionArgs = endOfOpts === -1 ? args : args.slice(0, endOfOpts);
260
- const positionalArgs = endOfOpts === -1 ? [] : args.slice(endOfOpts + 1);
261
- const quiet = optionArgs.includes("--quiet") || optionArgs.includes("-q");
262
- const unknownFlag = optionArgs.find((a) => a.startsWith("-") && a !== "--quiet" && a !== "-q");
263
- if (unknownFlag) {
264
- throw new Error(`Unknown flag: ${unknownFlag}. ${usage}`);
265
- }
266
- const filePath = positionalArgs[0] ?? optionArgs.find((a) => !a.startsWith("-"));
267
- // Reject extra positional args (only one BPMN file is accepted).
268
- const allPositionals = [
269
- ...positionalArgs,
270
- ...optionArgs.filter((a) => !a.startsWith("-")),
271
- ];
272
- if (allPositionals.length > 1) {
273
- throw new Error(`Unexpected argument: ${allPositionals[1]}. ${usage}`);
274
- }
275
- const input = await readBpmnInput(filePath);
276
- if (!input) {
277
- throw new Error("No BPMN input provided. Pass a file path or pipe BPMN XML via stdin.");
278
- }
279
- const BpmnModdle = (await import("bpmn-moddle")).default;
280
- const zeebeSchema = (await import("zeebe-bpmn-moddle/resources/zeebe.json", {
281
- with: { type: "json" },
282
- })).default;
283
- const moddle = new BpmnModdle({ zeebe: zeebeSchema });
284
- let rootElement;
285
- try {
286
- const result = await moddle.fromXML(input.xml);
287
- rootElement = result.rootElement;
288
- }
289
- catch (error) {
290
- const message = error instanceof Error ? error.message : String(error);
291
- throw new Error(`Failed to parse BPMN: ${message}`);
292
- }
293
- const config = buildLintConfig(rootElement);
294
- if (c8ctl.dryRun) {
295
- renderDryRun(logger, input.source, extractPlatformInfo(rootElement), config);
296
- return;
297
- }
298
- const { Linter } = require("bpmnlint");
299
- const NodeResolver = require("bpmnlint/lib/resolver/node-resolver");
300
- // Pass our plugin-scoped `require` to NodeResolver so bpmnlint resolves
301
- // `bpmnlint-plugin-camunda-compat` from c8ctl's installation, not the
302
- // user's CWD. Without this, `bpmn lint` only works when run from a
303
- // directory that happens to have the plugin in its node_modules.
304
- const linter = new Linter({
305
- config,
306
- resolver: new NodeResolver({ require }),
307
- });
308
- const results = await linter.lint(rootElement);
309
- const result = collectLintResult(results);
310
- if (c8ctl.outputMode === "json") {
311
- renderLintJson(logger, input.source, result);
312
- }
313
- else {
314
- renderLintText(logger, input.source, result, { quiet });
315
- }
316
- if (result.errorCount > 0) {
317
- process.exitCode = 1;
318
- }
319
- }
320
- //# 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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"}