@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.
- package/CONTEXT.md +7 -15
- package/EXAMPLES.md +253 -1
- package/PLUGIN-HELP.md +1 -1
- package/README.md +50 -180
- package/dist/command-dispatch.d.ts +1 -1
- package/dist/command-dispatch.d.ts.map +1 -1
- package/dist/command-dispatch.js +1 -1
- package/dist/command-dispatch.js.map +1 -1
- package/dist/commands/completion.d.ts +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +2 -3
- package/dist/commands/completion.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 +328 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/forms.d.ts +1 -1
- package/dist/commands/forms.d.ts.map +1 -1
- package/dist/commands/forms.js +8 -8
- package/dist/commands/forms.js.map +1 -1
- package/dist/commands/helpers/deploy-helpers.d.ts +120 -0
- package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
- package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +307 -155
- package/dist/commands/helpers/deploy-helpers.js.map +1 -0
- package/dist/commands/identity-authorizations.d.ts +5 -18
- package/dist/commands/identity-authorizations.d.ts.map +1 -1
- package/dist/commands/identity-authorizations.js +8 -10
- package/dist/commands/identity-authorizations.js.map +1 -1
- package/dist/commands/identity-groups.d.ts +5 -5
- package/dist/commands/identity-groups.d.ts.map +1 -1
- package/dist/commands/identity-groups.js +7 -8
- package/dist/commands/identity-groups.js.map +1 -1
- package/dist/commands/identity-mapping-rules.d.ts +5 -5
- package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
- package/dist/commands/identity-mapping-rules.js +7 -8
- package/dist/commands/identity-mapping-rules.js.map +1 -1
- package/dist/commands/identity-roles.d.ts +5 -5
- package/dist/commands/identity-roles.d.ts.map +1 -1
- package/dist/commands/identity-roles.js +7 -8
- package/dist/commands/identity-roles.js.map +1 -1
- package/dist/commands/identity-tenants.d.ts +5 -5
- package/dist/commands/identity-tenants.d.ts.map +1 -1
- package/dist/commands/identity-tenants.js +7 -8
- package/dist/commands/identity-tenants.js.map +1 -1
- package/dist/commands/identity-users.d.ts +5 -5
- package/dist/commands/identity-users.d.ts.map +1 -1
- package/dist/commands/identity-users.js +7 -8
- package/dist/commands/identity-users.js.map +1 -1
- package/dist/commands/identity.d.ts +11 -31
- package/dist/commands/identity.d.ts.map +1 -1
- package/dist/commands/identity.js +15 -15
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/incidents.d.ts +3 -3
- package/dist/commands/incidents.d.ts.map +1 -1
- package/dist/commands/incidents.js +6 -6
- package/dist/commands/incidents.js.map +1 -1
- package/dist/commands/jobs.d.ts +4 -4
- package/dist/commands/jobs.d.ts.map +1 -1
- package/dist/commands/jobs.js +7 -7
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/mcp-proxy.d.ts +1 -1
- package/dist/commands/mcp-proxy.d.ts.map +1 -1
- package/dist/commands/mcp-proxy.js +5 -9
- package/dist/commands/mcp-proxy.js.map +1 -1
- package/dist/commands/messages.d.ts +2 -2
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +4 -4
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/open.d.ts +4 -4
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +6 -6
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/plugins.d.ts +9 -9
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +2 -7
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/process-definitions.d.ts +2 -2
- package/dist/commands/process-definitions.d.ts.map +1 -1
- package/dist/commands/process-definitions.js +5 -5
- package/dist/commands/process-definitions.js.map +1 -1
- package/dist/commands/process-instances.d.ts +5 -5
- package/dist/commands/process-instances.d.ts.map +1 -1
- package/dist/commands/process-instances.js +8 -9
- package/dist/commands/process-instances.js.map +1 -1
- package/dist/commands/profiles.d.ts +4 -36
- package/dist/commands/profiles.d.ts.map +1 -1
- package/dist/commands/profiles.js +43 -41
- package/dist/commands/profiles.js.map +1 -1
- package/dist/commands/run.d.ts +2 -2
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +4 -4
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/search.d.ts +7 -7
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +9 -11
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +4 -4
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +26 -5
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/topology.d.ts +1 -1
- package/dist/commands/topology.d.ts.map +1 -1
- package/dist/commands/topology.js +2 -2
- package/dist/commands/topology.js.map +1 -1
- package/dist/commands/user-tasks.d.ts +2 -2
- package/dist/commands/user-tasks.d.ts.map +1 -1
- package/dist/commands/user-tasks.js +5 -5
- package/dist/commands/user-tasks.js.map +1 -1
- package/dist/commands/variables.d.ts +1 -1
- package/dist/commands/variables.d.ts.map +1 -1
- package/dist/commands/variables.js +3 -3
- package/dist/commands/variables.js.map +1 -1
- package/dist/commands/watch.d.ts +2 -2
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +86 -19
- package/dist/commands/watch.js.map +1 -1
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js.map +1 -0
- package/dist/{config.d.ts → core/config.d.ts} +28 -2
- package/dist/core/config.d.ts.map +1 -0
- package/dist/{config.js → core/config.js} +61 -5
- package/dist/core/config.js.map +1 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/{runtime.js → core/runtime.js} +2 -2
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/update-check.d.ts.map +1 -0
- package/dist/core/update-check.js.map +1 -0
- package/dist/default-plugins/bpmn/README.md +12 -3
- package/dist/default-plugins/bpmn/c8ctl-plugin.js +7376 -108
- package/dist/default-plugins/bpmn/package.json +8 -1
- package/dist/default-plugins/cluster/c8ctl-plugin.js +66 -9
- package/dist/default-plugins/element-template/README.md +6 -3
- package/dist/default-plugins/element-template/c8ctl-plugin.js +10195 -229
- package/dist/default-plugins/element-template/docs/design.md +1 -1
- 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/{command-framework.d.ts → framework/command-framework.d.ts} +23 -9
- package/dist/framework/command-framework.d.ts.map +1 -0
- package/dist/{command-framework.js → framework/command-framework.js} +16 -29
- package/dist/framework/command-framework.js.map +1 -0
- package/dist/{command-registry.d.ts → framework/command-registry.d.ts} +35 -8
- package/dist/framework/command-registry.d.ts.map +1 -0
- package/dist/{command-registry.js → framework/command-registry.js} +74 -9
- package/dist/framework/command-registry.js.map +1 -0
- package/dist/{command-validation.d.ts → framework/command-validation.d.ts} +0 -14
- package/dist/framework/command-validation.d.ts.map +1 -0
- package/dist/{command-validation.js → framework/command-validation.js} +1 -34
- package/dist/framework/command-validation.js.map +1 -0
- package/dist/framework/index.d.ts +10 -0
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +16 -0
- package/dist/framework/index.js.map +1 -0
- package/dist/{plugin-loader.d.ts → framework/plugins/plugin-loader.d.ts} +30 -5
- package/dist/framework/plugins/plugin-loader.d.ts.map +1 -0
- package/dist/{plugin-loader.js → framework/plugins/plugin-loader.js} +26 -10
- package/dist/framework/plugins/plugin-loader.js.map +1 -0
- package/dist/framework/plugins/plugin-registry.d.ts.map +1 -0
- package/dist/{plugin-registry.js → framework/plugins/plugin-registry.js} +1 -1
- package/dist/framework/plugins/plugin-registry.js.map +1 -0
- package/dist/framework/plugins/plugin-version.d.ts.map +1 -0
- package/dist/framework/plugins/plugin-version.js.map +1 -0
- package/dist/{completion.d.ts → framework/ui/completion.d.ts} +2 -2
- package/dist/framework/ui/completion.d.ts.map +1 -0
- package/dist/{completion.js → framework/ui/completion.js} +7 -9
- package/dist/framework/ui/completion.js.map +1 -0
- package/dist/framework/ui/help.d.ts.map +1 -0
- package/dist/{help.js → framework/ui/help.js} +4 -4
- package/dist/framework/ui/help.js.map +1 -0
- package/dist/framework/ui/prompt.d.ts +132 -0
- package/dist/framework/ui/prompt.d.ts.map +1 -0
- package/dist/framework/ui/prompt.js +298 -0
- package/dist/framework/ui/prompt.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -20
- package/dist/index.js.map +1 -1
- package/dist/utils/command-local/deploy-version.d.ts +21 -0
- package/dist/utils/command-local/deploy-version.d.ts.map +1 -0
- package/dist/utils/command-local/deploy-version.js +31 -0
- package/dist/utils/command-local/deploy-version.js.map +1 -0
- package/dist/{mcp-proxy-helpers.d.ts → utils/command-local/mcp-proxy-helpers.d.ts} +1 -1
- package/dist/utils/command-local/mcp-proxy-helpers.d.ts.map +1 -0
- package/dist/{mcp-proxy-helpers.js → utils/command-local/mcp-proxy-helpers.js} +1 -1
- package/dist/utils/command-local/mcp-proxy-helpers.js.map +1 -0
- package/dist/utils/command-local/open-helpers.d.ts.map +1 -0
- package/dist/{open-helpers.js → utils/command-local/open-helpers.js} +2 -2
- package/dist/utils/command-local/open-helpers.js.map +1 -0
- package/dist/{search-helpers.d.ts → utils/command-local/search-helpers.d.ts} +1 -1
- package/dist/utils/command-local/search-helpers.d.ts.map +1 -0
- package/dist/utils/command-local/search-helpers.js.map +1 -0
- package/dist/utils/command-local/watch-constants.d.ts.map +1 -0
- package/dist/utils/command-local/watch-constants.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/shared/date-filter.d.ts.map +1 -0
- package/dist/utils/shared/date-filter.js.map +1 -0
- package/dist/{ignore.d.ts → utils/shared/ignore.d.ts} +19 -1
- package/dist/utils/shared/ignore.d.ts.map +1 -0
- package/dist/utils/shared/ignore.js +234 -0
- package/dist/utils/shared/ignore.js.map +1 -0
- package/dist/utils/shared/resource-extensions.d.ts.map +1 -0
- package/dist/utils/shared/resource-extensions.js.map +1 -0
- package/dist/utils/shared/validation.d.ts +23 -0
- package/dist/utils/shared/validation.d.ts.map +1 -0
- package/dist/utils/shared/validation.js +43 -0
- package/dist/utils/shared/validation.js.map +1 -0
- package/dist/vendor/bpmnlint.cjs +25907 -0
- package/package.json +12 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/command-framework.d.ts.map +0 -1
- package/dist/command-framework.js.map +0 -1
- package/dist/command-registry.d.ts.map +0 -1
- package/dist/command-registry.js.map +0 -1
- package/dist/command-validation.d.ts.map +0 -1
- package/dist/command-validation.js.map +0 -1
- package/dist/commands/resource-extensions.d.ts.map +0 -1
- package/dist/commands/resource-extensions.js.map +0 -1
- package/dist/completion.d.ts.map +0 -1
- package/dist/completion.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/date-filter.d.ts.map +0 -1
- package/dist/date-filter.js.map +0 -1
- package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
- package/dist/default-plugins/bpmn/lint.js +0 -320
- 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 -336
- package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
- package/dist/default-plugins/element-template/commands/get-properties.js +0 -344
- 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 -189
- package/dist/default-plugins/element-template/commands/info.js.map +0 -1
- package/dist/default-plugins/element-template/commands/search.js +0 -102
- 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 -429
- package/dist/default-plugins/element-template/helpers.js.map +0 -1
- package/dist/default-plugins/element-template/marketplace.js +0 -586
- package/dist/default-plugins/element-template/marketplace.js.map +0 -1
- package/dist/default-plugins/element-template/template-ref.js +0 -232
- 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 +0 -42
- package/dist/deployments.d.ts.map +0 -1
- package/dist/deployments.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/help.d.ts.map +0 -1
- package/dist/help.js.map +0 -1
- package/dist/ignore.d.ts.map +0 -1
- package/dist/ignore.js +0 -101
- package/dist/ignore.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/mcp-proxy-helpers.d.ts.map +0 -1
- package/dist/mcp-proxy-helpers.js.map +0 -1
- package/dist/open-helpers.d.ts.map +0 -1
- package/dist/open-helpers.js.map +0 -1
- package/dist/plugin-loader.d.ts.map +0 -1
- package/dist/plugin-loader.js.map +0 -1
- package/dist/plugin-registry.d.ts.map +0 -1
- package/dist/plugin-registry.js.map +0 -1
- package/dist/plugin-version.d.ts.map +0 -1
- package/dist/plugin-version.js.map +0 -1
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/search-helpers.d.ts.map +0 -1
- package/dist/search-helpers.js.map +0 -1
- package/dist/update-check.d.ts.map +0 -1
- package/dist/update-check.js.map +0 -1
- package/dist/watch-constants.d.ts.map +0 -1
- package/dist/watch-constants.js.map +0 -1
- /package/dist/{client.d.ts → core/client.d.ts} +0 -0
- /package/dist/{client.js → core/client.js} +0 -0
- /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
- /package/dist/{errors.js → core/errors.js} +0 -0
- /package/dist/{logger.d.ts → core/logger.d.ts} +0 -0
- /package/dist/{logger.js → core/logger.js} +0 -0
- /package/dist/{runtime.d.ts → core/runtime.d.ts} +0 -0
- /package/dist/{update-check.d.ts → core/update-check.d.ts} +0 -0
- /package/dist/{update-check.js → core/update-check.js} +0 -0
- /package/dist/{plugin-registry.d.ts → framework/plugins/plugin-registry.d.ts} +0 -0
- /package/dist/{plugin-version.d.ts → framework/plugins/plugin-version.d.ts} +0 -0
- /package/dist/{plugin-version.js → framework/plugins/plugin-version.js} +0 -0
- /package/dist/{help.d.ts → framework/ui/help.d.ts} +0 -0
- /package/dist/{open-helpers.d.ts → utils/command-local/open-helpers.d.ts} +0 -0
- /package/dist/{search-helpers.js → utils/command-local/search-helpers.js} +0 -0
- /package/dist/{watch-constants.d.ts → utils/command-local/watch-constants.d.ts} +0 -0
- /package/dist/{watch-constants.js → utils/command-local/watch-constants.js} +0 -0
- /package/dist/{date-filter.d.ts → utils/shared/date-filter.d.ts} +0 -0
- /package/dist/{date-filter.js → utils/shared/date-filter.js} +0 -0
- /package/dist/{commands → utils/shared}/resource-extensions.d.ts +0 -0
- /package/dist/{commands → utils/shared}/resource-extensions.js +0 -0
package/dist/command-dispatch.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* lived in index.ts.
|
|
9
9
|
*/
|
|
10
10
|
import { completionCommand } from "./commands/completion.js";
|
|
11
|
+
import { deployCommand } from "./commands/deploy.js";
|
|
11
12
|
import { getFormCommand } from "./commands/forms.js";
|
|
12
13
|
import { assignFallbackCommand, assignGroupCommand, assignMappingRuleCommand, assignRoleCommand, assignUserCommand, createIdentityAuthorizationCommand, createIdentityGroupCommand, createIdentityMappingRuleCommand, createIdentityRoleCommand, createIdentityTenantCommand, createIdentityUserCommand, deleteIdentityAuthorizationCommand, deleteIdentityGroupCommand, deleteIdentityMappingRuleCommand, deleteIdentityRoleCommand, deleteIdentityTenantCommand, deleteIdentityUserCommand, getIdentityAuthorizationCommand, getIdentityGroupCommand, getIdentityMappingRuleCommand, getIdentityRoleCommand, getIdentityTenantCommand, getIdentityUserCommand, listAuthorizationsCommand, listGroupsCommand, listMappingRulesCommand, listRolesCommand, listTenantsCommand, listUsersCommand, searchIdentityAuthorizationsCommand, searchIdentityGroupsCommand, searchIdentityMappingRulesCommand, searchIdentityRolesCommand, searchIdentityTenantsCommand, searchIdentityUsersCommand, unassignFallbackCommand, unassignGroupCommand, unassignMappingRuleCommand, unassignRoleCommand, unassignUserCommand, } from "./commands/identity.js";
|
|
13
14
|
import { getIncidentCommand, listIncidentsCommand, resolveIncidentCommand, } from "./commands/incidents.js";
|
|
@@ -26,7 +27,6 @@ import { getTopologyCommand } from "./commands/topology.js";
|
|
|
26
27
|
import { completeUserTaskCommand, listUserTasksCommand, } from "./commands/user-tasks.js";
|
|
27
28
|
import { setVariableCommand } from "./commands/variables.js";
|
|
28
29
|
import { watchCommand } from "./commands/watch.js";
|
|
29
|
-
import { deployCommand } from "./deployments.js";
|
|
30
30
|
/**
|
|
31
31
|
* Dispatch map keyed by "verb:resource".
|
|
32
32
|
* For resourceless verbs the key is "verb:" (empty resource).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-dispatch.js","sourceRoot":"","sources":["../src/command-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"command-dispatch.js","sourceRoot":"","sources":["../src/command-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
* `tests/unit/no-process-exit-in-handlers.test.ts` forbids `process.exit`
|
|
31
31
|
* here.
|
|
32
32
|
*/
|
|
33
|
-
export declare const completionCommand: import("../command-framework.ts").CommandHandler<"completion", "install">;
|
|
33
|
+
export declare const completionCommand: import("../framework/command-framework.ts").CommandHandler<"completion", "install">;
|
|
34
34
|
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,qFA6B7B,CAAC"}
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* This file holds only the `defineCommand` wrapper that dispatches the
|
|
8
8
|
* verb at runtime.
|
|
9
9
|
*/
|
|
10
|
-
import { defineCommand } from "../
|
|
11
|
-
import { installCompletion, showCompletion } from "../completion.js";
|
|
10
|
+
import { defineCommand, installCompletion, showCompletion, } from "../framework/index.js";
|
|
12
11
|
/**
|
|
13
12
|
* `completion` verb dispatcher.
|
|
14
13
|
*
|
|
@@ -36,7 +35,7 @@ export const completionCommand = defineCommand("completion", "install", async (c
|
|
|
36
35
|
const resource = ctx.resource;
|
|
37
36
|
if (resource === "install") {
|
|
38
37
|
const shellFlag = flags.shell;
|
|
39
|
-
installCompletion(typeof shellFlag === "string" ? shellFlag : undefined);
|
|
38
|
+
installCompletion(typeof shellFlag === "string" ? shellFlag : undefined, ctx.isDryRun);
|
|
40
39
|
return undefined;
|
|
41
40
|
}
|
|
42
41
|
// Non-install resource → render the requested shell's completion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,cAAc,GACd,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC7C,YAAY,EACZ,SAAS,EACT,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,iBAAiB,CAChB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACrD,GAAG,CAAC,QAAQ,CACZ,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,iEAAiE;IACjE,kEAAkE;IAClE,qEAAqE;IACrE,mEAAmE;IACnE,oDAAoD;IACpD,EAAE;IACF,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,8DAA8D;IAC9D,qEAAqE;IACrE,gEAAgE;IAChE,cAAc,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACtC,OAAO,SAAS,CAAC;AAClB,CAAC,CACD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy command handler.
|
|
3
|
+
*
|
|
4
|
+
* Side-effectful: collects files, validates, deploys, and renders its own
|
|
5
|
+
* table output.
|
|
6
|
+
*
|
|
7
|
+
* The body lives directly in the handler (per #288): argument-shape
|
|
8
|
+
* resolution, dry-run preview via the context's `ctx.dryRun()` helper,
|
|
9
|
+
* and the call into the shared `deployResources` helper that watch also
|
|
10
|
+
* uses for change-triggered re-deploys.
|
|
11
|
+
*/
|
|
12
|
+
export declare const deployCommand: import("../framework/command-framework.ts").CommandHandler<"deploy", "">;
|
|
13
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2PH,eAAO,MAAM,aAAa,0EAoLxB,CAAC"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy command handler.
|
|
3
|
+
*
|
|
4
|
+
* Side-effectful: collects files, validates, deploys, and renders its own
|
|
5
|
+
* table output.
|
|
6
|
+
*
|
|
7
|
+
* The body lives directly in the handler (per #288): argument-shape
|
|
8
|
+
* resolution, dry-run preview via the context's `ctx.dryRun()` helper,
|
|
9
|
+
* and the call into the shared `deployResources` helper that watch also
|
|
10
|
+
* uses for change-triggered re-deploys.
|
|
11
|
+
*/
|
|
12
|
+
import { appendFileSync } from "node:fs";
|
|
13
|
+
import { basename, isAbsolute, join, relative, sep } from "node:path";
|
|
14
|
+
import { c8ctl, createClient, DEFAULT_PROFILE, getAllProfiles, getProfileOrModeler, readSkipDeployConfirm, saveSkipDeployConfirm, } from "../core/index.js";
|
|
15
|
+
import { defineCommand, isInteractive, select } from "../framework/index.js";
|
|
16
|
+
import { ALL_DEPLOYABLE_EXTENSIONS, DEPLOYABLE_EXTENSIONS, resolveIgnoreBaseDir, } from "../utils/index.js";
|
|
17
|
+
import { checkServerSupportsExtensions, collectResourcesForPaths, deployResources, logMessage, logSkippedExtensions, } from "./helpers/deploy-helpers.js";
|
|
18
|
+
// ─── defineCommand ───────────────────────────────────────────────────────────
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the effective extension allow-list from the deploy flags.
|
|
21
|
+
*
|
|
22
|
+
* Priority: --force (no filtering) > --all-extensions > --extensions > default
|
|
23
|
+
*
|
|
24
|
+
* When `--extensions` is provided, the custom list is *merged* with the
|
|
25
|
+
* default (.bpmn, .dmn, .form) so users add to the baseline rather than
|
|
26
|
+
* replacing it.
|
|
27
|
+
*/
|
|
28
|
+
function resolveExtensionList(flags) {
|
|
29
|
+
// When --force is set the allow-list is irrelevant — downstream code
|
|
30
|
+
// skips filtering entirely. Return the default so callers always get a
|
|
31
|
+
// valid list, but the value is never consulted.
|
|
32
|
+
if (flags.force)
|
|
33
|
+
return DEPLOYABLE_EXTENSIONS;
|
|
34
|
+
// --all-extensions: use the full server-supported list
|
|
35
|
+
if (flags["all-extensions"])
|
|
36
|
+
return ALL_DEPLOYABLE_EXTENSIONS;
|
|
37
|
+
// --extensions: merge custom extensions with the default set
|
|
38
|
+
if (flags.extensions && String(flags.extensions).trim()) {
|
|
39
|
+
const custom = String(flags.extensions)
|
|
40
|
+
.split(",")
|
|
41
|
+
.map((e) => e.trim())
|
|
42
|
+
.filter(Boolean)
|
|
43
|
+
.map((e) => (e.startsWith(".") ? e : `.${e}`));
|
|
44
|
+
const merged = [...new Set([...DEPLOYABLE_EXTENSIONS, ...custom])];
|
|
45
|
+
return merged;
|
|
46
|
+
}
|
|
47
|
+
return DEPLOYABLE_EXTENSIONS;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Present an interactive menu when files are skipped during deployment
|
|
51
|
+
* due to extension filtering. Returns file paths to include in the
|
|
52
|
+
* deployment (empty if the user chose to ignore).
|
|
53
|
+
*/
|
|
54
|
+
async function handleSkippedFiles(skippedFiles, skippedExtensions, basePath) {
|
|
55
|
+
if (skippedFiles.length === 0)
|
|
56
|
+
return [];
|
|
57
|
+
const exts = [...skippedExtensions].sort().join(", ");
|
|
58
|
+
const fileList = skippedFiles
|
|
59
|
+
.map((f) => relative(basePath, f) || basename(f))
|
|
60
|
+
.sort();
|
|
61
|
+
logMessage(`\nFound ${skippedFiles.length} file(s) with extensions not in the allow-list (${exts}):`);
|
|
62
|
+
for (const f of fileList) {
|
|
63
|
+
logMessage(` • ${f}`);
|
|
64
|
+
}
|
|
65
|
+
const result = await select({
|
|
66
|
+
message: "What do you want to do about these files?",
|
|
67
|
+
options: [
|
|
68
|
+
{
|
|
69
|
+
label: "Deploy them",
|
|
70
|
+
description: "include in this deployment only",
|
|
71
|
+
value: "deploy-once",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
label: "Ignore them",
|
|
75
|
+
description: "skip for now",
|
|
76
|
+
value: "ignore",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
label: "Deploy them always",
|
|
80
|
+
description: "remember to deploy these files in .c8ignore",
|
|
81
|
+
value: "deploy-always",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
label: "Ignore them always",
|
|
85
|
+
description: "remember to skip these files in .c8ignore",
|
|
86
|
+
value: "ignore-always",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
label: "Show me how to configure this",
|
|
90
|
+
description: "print instructions and exit",
|
|
91
|
+
value: "instructions",
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
});
|
|
95
|
+
if (result.cancelled) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
const action = result.value;
|
|
99
|
+
if (action === "ignore") {
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
if (action === "deploy-once") {
|
|
103
|
+
return skippedFiles;
|
|
104
|
+
}
|
|
105
|
+
if (action === "deploy-always") {
|
|
106
|
+
// Guard against writing to a root-level .c8ignore when multiple
|
|
107
|
+
// unrelated deploy paths resolve the base to a filesystem root.
|
|
108
|
+
if (basePath === "/" || /^[A-Za-z]:\\?$/.test(basePath)) {
|
|
109
|
+
logMessage("\nCannot auto-update .c8ignore at the filesystem root." +
|
|
110
|
+
" Run deploy from a single project directory or edit .c8ignore manually.");
|
|
111
|
+
return skippedFiles;
|
|
112
|
+
}
|
|
113
|
+
const c8ignorePath = join(basePath, ".c8ignore");
|
|
114
|
+
// Prefix with "/" to anchor patterns to the .c8ignore base dir.
|
|
115
|
+
// Without anchoring, a root-level file like "notes.md" would
|
|
116
|
+
// match at any depth (e.g. subdir/notes.md).
|
|
117
|
+
// Skip files that are not under basePath — relative() would yield
|
|
118
|
+
// ".." segments or absolute paths that produce invalid patterns.
|
|
119
|
+
const patterns = [];
|
|
120
|
+
for (const f of skippedFiles) {
|
|
121
|
+
const rel = relative(basePath, f);
|
|
122
|
+
if (rel.startsWith("..") || isAbsolute(rel))
|
|
123
|
+
continue;
|
|
124
|
+
patterns.push(`!/${rel.split(sep).join("/")}`);
|
|
125
|
+
}
|
|
126
|
+
if (patterns.length === 0) {
|
|
127
|
+
logMessage("\nSkipped files are outside the project directory." +
|
|
128
|
+
" Edit .c8ignore manually to add negation patterns.");
|
|
129
|
+
return skippedFiles;
|
|
130
|
+
}
|
|
131
|
+
const block = `\n# Auto-added by c8ctl — always deploy these files\n${patterns.join("\n")}\n`;
|
|
132
|
+
appendFileSync(c8ignorePath, block);
|
|
133
|
+
logMessage(`\nAppended to ${relative(process.cwd(), c8ignorePath) || c8ignorePath}:`);
|
|
134
|
+
for (const p of patterns) {
|
|
135
|
+
logMessage(` ${p}`);
|
|
136
|
+
}
|
|
137
|
+
logMessage("\nFuture deploys will include these files automatically.\n");
|
|
138
|
+
// Include the skipped files in this deploy as well — the label
|
|
139
|
+
// says "Deploy them always", which implies "starting now".
|
|
140
|
+
return skippedFiles;
|
|
141
|
+
}
|
|
142
|
+
if (action === "ignore-always") {
|
|
143
|
+
// Guard against writing to a root-level .c8ignore when multiple
|
|
144
|
+
// unrelated deploy paths resolve the base to a filesystem root.
|
|
145
|
+
if (basePath === "/" || /^[A-Za-z]:\\?$/.test(basePath)) {
|
|
146
|
+
logMessage("\nCannot auto-update .c8ignore at the filesystem root." +
|
|
147
|
+
" Run deploy from a single project directory or edit .c8ignore manually.");
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
const c8ignorePath = join(basePath, ".c8ignore");
|
|
151
|
+
// Filter out the "<no extension>" sentinel — it has no valid glob representation
|
|
152
|
+
const realExtensions = [...skippedExtensions]
|
|
153
|
+
.filter((ext) => ext !== "<no extension>")
|
|
154
|
+
.sort();
|
|
155
|
+
if (realExtensions.length === 0) {
|
|
156
|
+
logMessage("\nAll skipped files have no extension — cannot auto-ignore by extension.");
|
|
157
|
+
logMessage("Add specific file patterns to .c8ignore manually.\n");
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
const patterns = realExtensions.map((ext) => `*${ext}`);
|
|
161
|
+
const block = `\n# Auto-added by c8ctl — ignore ${realExtensions.join(", ")} files\n${patterns.join("\n")}\n`;
|
|
162
|
+
appendFileSync(c8ignorePath, block);
|
|
163
|
+
logMessage(`\nAppended to ${relative(process.cwd(), c8ignorePath) || c8ignorePath}:`);
|
|
164
|
+
for (const p of patterns) {
|
|
165
|
+
logMessage(` ${p}`);
|
|
166
|
+
}
|
|
167
|
+
logMessage("");
|
|
168
|
+
return [];
|
|
169
|
+
}
|
|
170
|
+
// action === "instructions"
|
|
171
|
+
logMessage(`
|
|
172
|
+
Extension filtering controls which files are included when scanning directories.
|
|
173
|
+
|
|
174
|
+
Default allow-list: .bpmn, .dmn, .form
|
|
175
|
+
|
|
176
|
+
Flags:
|
|
177
|
+
--extensions=<ext> Add specific extensions (merged with defaults)
|
|
178
|
+
Example: c8 deploy --extensions=.md,.txt
|
|
179
|
+
|
|
180
|
+
--all-extensions Include all server-supported types
|
|
181
|
+
(.md, .txt, .xml, .rpa, .json, .config, .yml, .yaml)
|
|
182
|
+
|
|
183
|
+
--force Skip extension filtering entirely
|
|
184
|
+
|
|
185
|
+
Persistence:
|
|
186
|
+
.c8ignore Add *<ext> patterns to exclude files permanently
|
|
187
|
+
Example: echo "*.md" >> .c8ignore
|
|
188
|
+
|
|
189
|
+
Explicit files bypass the allow-list:
|
|
190
|
+
c8 deploy my-file.md (deploys regardless of extension)
|
|
191
|
+
`);
|
|
192
|
+
throw new Error("Exiting. Re-run deploy after configuring extension filtering.");
|
|
193
|
+
}
|
|
194
|
+
export const deployCommand = defineCommand("deploy", "", async (ctx, flags) => {
|
|
195
|
+
// Argument shape: `c8 deploy [path...]`. With no positional, default
|
|
196
|
+
// to cwd. Pinned by tests/unit/deploy-behaviour.test.ts.
|
|
197
|
+
const paths = ctx.resource
|
|
198
|
+
? [ctx.resource, ...ctx.positionals]
|
|
199
|
+
: ctx.positionals.length > 0
|
|
200
|
+
? ctx.positionals
|
|
201
|
+
: ["."];
|
|
202
|
+
// Resolve the active extension allow-list from flags.
|
|
203
|
+
const extensionList = resolveExtensionList(flags);
|
|
204
|
+
// ── Deploy target confirmation (interactive profile selector) ─────
|
|
205
|
+
let deployProfile = ctx.profile;
|
|
206
|
+
const ALWAYS_ACTIVE = Symbol("alwaysActive");
|
|
207
|
+
if (!ctx.yes && !ctx.profile) {
|
|
208
|
+
const profiles = getAllProfiles();
|
|
209
|
+
if (profiles.length > 1) {
|
|
210
|
+
const { activeProfile } = c8ctl;
|
|
211
|
+
const activeConfig = activeProfile != null ? getProfileOrModeler(activeProfile) : undefined;
|
|
212
|
+
const envIsEffectiveTarget = !!process.env.CAMUNDA_BASE_URL && activeConfig == null;
|
|
213
|
+
if (!envIsEffectiveTarget) {
|
|
214
|
+
const skipDeployConfirm = readSkipDeployConfirm();
|
|
215
|
+
if (!skipDeployConfirm) {
|
|
216
|
+
const effectiveName = activeProfile != null && activeConfig != null
|
|
217
|
+
? activeProfile
|
|
218
|
+
: DEFAULT_PROFILE;
|
|
219
|
+
const defaultIndex = Math.max(0, profiles.findIndex((p) => p.name === effectiveName));
|
|
220
|
+
const profileOptions = profiles.map((p) => ({
|
|
221
|
+
label: p.name,
|
|
222
|
+
description: p.baseUrl,
|
|
223
|
+
value: p.name,
|
|
224
|
+
}));
|
|
225
|
+
profileOptions.push({
|
|
226
|
+
label: `Always use "${effectiveName}" (don't ask again)`,
|
|
227
|
+
description: "Persists to session — reset with: c8 use profile",
|
|
228
|
+
value: ALWAYS_ACTIVE,
|
|
229
|
+
});
|
|
230
|
+
const result = await select({
|
|
231
|
+
message: "Which profile do you want to deploy to?",
|
|
232
|
+
options: profileOptions,
|
|
233
|
+
initialIndex: defaultIndex,
|
|
234
|
+
nonInteractiveHint: "Hint: run interactively to choose, or use --profile=<name> to specify.",
|
|
235
|
+
});
|
|
236
|
+
if (result.cancelled) {
|
|
237
|
+
throw new Error("Deploy cancelled.");
|
|
238
|
+
}
|
|
239
|
+
else if (!result.interactive) {
|
|
240
|
+
throw new Error(`Multiple profiles configured but no profile specified.\n` +
|
|
241
|
+
`Use --profile=<name> or --yes to skip the prompt.\n` +
|
|
242
|
+
`Available profiles: ${profiles.map((p) => p.name).join(", ")}`);
|
|
243
|
+
}
|
|
244
|
+
else if (result.value === ALWAYS_ACTIVE) {
|
|
245
|
+
saveSkipDeployConfirm(true);
|
|
246
|
+
logMessage(`Future deploys will use the active profile without prompting. Reset with: c8 use profile <name>`);
|
|
247
|
+
}
|
|
248
|
+
else if (typeof result.value === "string" &&
|
|
249
|
+
result.value !== effectiveName) {
|
|
250
|
+
deployProfile = result.value;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// Dry-run preview. Collect resources first so the preview body
|
|
257
|
+
// reflects what would actually be sent — and so the empty-paths /
|
|
258
|
+
// no-files guards still surface as thrown errors before we emit.
|
|
259
|
+
// Uses `ctx.isDryRun` and `ctx.tenantId` from the framework rather
|
|
260
|
+
// than reaching into the global runtime/config layer.
|
|
261
|
+
//
|
|
262
|
+
// Note: dry-run runs before the server version check, so on clusters
|
|
263
|
+
// <8.10 the preview may include extended-extension resources or
|
|
264
|
+
// deploy-always negation rules that the real deploy path would
|
|
265
|
+
// exclude. This is acceptable — dry-run is a best-effort preview
|
|
266
|
+
// and avoids an unnecessary HTTP call when only previewing.
|
|
267
|
+
if (ctx.isDryRun) {
|
|
268
|
+
const { resources: previewResources, skippedExtensions } = collectResourcesForPaths(paths, flags.force, extensionList);
|
|
269
|
+
logSkippedExtensions(skippedExtensions);
|
|
270
|
+
const dr = ctx.dryRun({
|
|
271
|
+
command: "deploy",
|
|
272
|
+
method: "POST",
|
|
273
|
+
endpoint: "/deployments",
|
|
274
|
+
profile: deployProfile,
|
|
275
|
+
body: {
|
|
276
|
+
tenantId: ctx.tenantId,
|
|
277
|
+
resources: previewResources.map((r) => ({ name: r.name })),
|
|
278
|
+
},
|
|
279
|
+
});
|
|
280
|
+
if (dr)
|
|
281
|
+
return dr;
|
|
282
|
+
}
|
|
283
|
+
// ── Pre-flight version check ──
|
|
284
|
+
// Skip the topology call when --force is set — extension filtering
|
|
285
|
+
// is bypassed entirely, so the result is unused.
|
|
286
|
+
const serverSupportsExtensions = flags.force
|
|
287
|
+
? true
|
|
288
|
+
: await checkServerSupportsExtensions(createClient(deployProfile));
|
|
289
|
+
// ── Collect resources and handle skipped files interactively ──
|
|
290
|
+
// Fall back to the default allow-list on servers that don't support
|
|
291
|
+
// extended extensions (<8.10). Note: explicit file paths bypass
|
|
292
|
+
// extension filtering by design, so this only gates directory scans.
|
|
293
|
+
const userRequestedExtensions = !!flags["all-extensions"] ||
|
|
294
|
+
!!(flags.extensions && String(flags.extensions).trim());
|
|
295
|
+
const effectiveExtensions = serverSupportsExtensions
|
|
296
|
+
? extensionList
|
|
297
|
+
: DEPLOYABLE_EXTENSIONS;
|
|
298
|
+
if (!serverSupportsExtensions && userRequestedExtensions) {
|
|
299
|
+
logMessage(`Warning: server does not support extended extensions (requires 8.10+). ` +
|
|
300
|
+
`Falling back to default extensions (${DEPLOYABLE_EXTENSIONS.join(", ")}). ` +
|
|
301
|
+
`Use --force to deploy all files regardless.`);
|
|
302
|
+
}
|
|
303
|
+
const { skippedFiles, skippedExtensions, effectivePaths: resolvedPaths, } = collectResourcesForPaths(paths, flags.force, effectiveExtensions, serverSupportsExtensions);
|
|
304
|
+
// Use the effective (possibly PA-expanded) paths for .c8ignore and
|
|
305
|
+
// display-path resolution so patterns align with the scan root.
|
|
306
|
+
const basePath = resolveIgnoreBaseDir(resolvedPaths);
|
|
307
|
+
let extraPaths = [];
|
|
308
|
+
if (skippedFiles.length > 0 &&
|
|
309
|
+
!ctx.yes &&
|
|
310
|
+
serverSupportsExtensions &&
|
|
311
|
+
isInteractive()) {
|
|
312
|
+
extraPaths = await handleSkippedFiles(skippedFiles, skippedExtensions, basePath);
|
|
313
|
+
}
|
|
314
|
+
else if (skippedFiles.length > 0) {
|
|
315
|
+
logSkippedExtensions(skippedExtensions);
|
|
316
|
+
}
|
|
317
|
+
await deployResources([...paths, ...extraPaths], {
|
|
318
|
+
profile: deployProfile,
|
|
319
|
+
force: flags.force,
|
|
320
|
+
extensionList: effectiveExtensions,
|
|
321
|
+
suppressSkippedLog: skippedFiles.length > 0,
|
|
322
|
+
loadDeployAlways: serverSupportsExtensions,
|
|
323
|
+
basePath,
|
|
324
|
+
verbose: ctx.verbose,
|
|
325
|
+
});
|
|
326
|
+
return { kind: "none" };
|
|
327
|
+
});
|
|
328
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/forms.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* Get form by key, optionally scoped to user task or process definition
|
|
6
6
|
*/
|
|
7
|
-
export declare const getFormCommand: import("../command-framework.ts").CommandHandler<"get", "form">;
|
|
7
|
+
export declare const getFormCommand: import("../framework/command-framework.ts").CommandHandler<"get", "form">;
|
|
8
8
|
//# sourceMappingURL=forms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH;;GAEG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH;;GAEG;AACH,eAAO,MAAM,cAAc,2EA0B1B,CAAC"}
|
package/dist/commands/forms.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Form commands
|
|
3
3
|
*/
|
|
4
4
|
import { ProcessDefinitionKey, UserTaskKey, } from "@camunda8/orchestration-cluster-api";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { isRecord } from "../core/index.js";
|
|
6
|
+
import { defineCommand, } from "../framework/index.js";
|
|
7
7
|
/** Extract HTTP status code from an unknown error (SDK errors expose statusCode or status). */
|
|
8
8
|
function getErrorStatus(error) {
|
|
9
9
|
if (isRecord(error)) {
|
|
@@ -27,14 +27,14 @@ export const getFormCommand = defineCommand("get", "form", async (ctx, flags, ar
|
|
|
27
27
|
throw new Error("Cannot specify both --userTask|--ut and --processDefinition|--pd. Use one or the other, or omit both to search both types.");
|
|
28
28
|
}
|
|
29
29
|
if (isUserTask) {
|
|
30
|
-
return handleUserTaskForm(key, profile, client);
|
|
30
|
+
return handleUserTaskForm(key, profile, client, ctx.dryRun);
|
|
31
31
|
}
|
|
32
32
|
if (isProcessDefinition) {
|
|
33
|
-
return handleStartForm(key, profile, client);
|
|
33
|
+
return handleStartForm(key, profile, client, ctx.dryRun);
|
|
34
34
|
}
|
|
35
|
-
return handleFormBoth(key, profile, client);
|
|
35
|
+
return handleFormBoth(key, profile, client, ctx.dryRun);
|
|
36
36
|
});
|
|
37
|
-
async function handleUserTaskForm(userTaskKey, profile, client) {
|
|
37
|
+
async function handleUserTaskForm(userTaskKey, profile, client, dryRun) {
|
|
38
38
|
const dr = dryRun({
|
|
39
39
|
command: "get form --userTask",
|
|
40
40
|
method: "GET",
|
|
@@ -63,7 +63,7 @@ async function handleUserTaskForm(userTaskKey, profile, client) {
|
|
|
63
63
|
throw error;
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
async function handleStartForm(processDefinitionKey, profile, client) {
|
|
66
|
+
async function handleStartForm(processDefinitionKey, profile, client, dryRun) {
|
|
67
67
|
const dr = dryRun({
|
|
68
68
|
command: "get form --processDefinition",
|
|
69
69
|
method: "GET",
|
|
@@ -94,7 +94,7 @@ async function handleStartForm(processDefinitionKey, profile, client) {
|
|
|
94
94
|
throw error;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
async function handleFormBoth(key, profile, client) {
|
|
97
|
+
async function handleFormBoth(key, profile, client, dryRun) {
|
|
98
98
|
const dr = dryRun({
|
|
99
99
|
command: "get form",
|
|
100
100
|
method: "GET",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEN,oBAAoB,EACpB,WAAW,GACX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"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"}
|