@jahia/jahia-cli 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/commands/workflow/run.d.ts +1 -0
  2. package/dist/commands/workflow/run.d.ts.map +1 -1
  3. package/dist/commands/workflow/run.js +42 -8
  4. package/dist/commands/workflow/run.js.map +1 -1
  5. package/dist/lib/config/config-to-yaml-with-comments.d.ts.map +1 -1
  6. package/dist/lib/config/config-to-yaml-with-comments.js +13 -0
  7. package/dist/lib/config/config-to-yaml-with-comments.js.map +1 -1
  8. package/dist/lib/config/config-to-yaml.d.ts.map +1 -1
  9. package/dist/lib/config/config-to-yaml.js +1 -0
  10. package/dist/lib/config/config-to-yaml.js.map +1 -1
  11. package/dist/lib/config/parser.d.ts.map +1 -1
  12. package/dist/lib/config/parser.js +4 -0
  13. package/dist/lib/config/parser.js.map +1 -1
  14. package/dist/lib/config/types.d.ts +8 -0
  15. package/dist/lib/config/types.d.ts.map +1 -1
  16. package/dist/lib/workflow/format-workflow-sources.d.ts +17 -0
  17. package/dist/lib/workflow/format-workflow-sources.d.ts.map +1 -0
  18. package/dist/lib/workflow/format-workflow-sources.js +85 -0
  19. package/dist/lib/workflow/format-workflow-sources.js.map +1 -0
  20. package/dist/lib/workflow/load-global-workflows.d.ts +24 -0
  21. package/dist/lib/workflow/load-global-workflows.d.ts.map +1 -0
  22. package/dist/lib/workflow/load-global-workflows.js +49 -0
  23. package/dist/lib/workflow/load-global-workflows.js.map +1 -0
  24. package/dist/lib/workflow/merge-workflow-sources.d.ts +27 -0
  25. package/dist/lib/workflow/merge-workflow-sources.d.ts.map +1 -0
  26. package/dist/lib/workflow/merge-workflow-sources.js +55 -0
  27. package/dist/lib/workflow/merge-workflow-sources.js.map +1 -0
  28. package/dist/lib/workflow/resolve-workflows-file-path.d.ts +13 -0
  29. package/dist/lib/workflow/resolve-workflows-file-path.d.ts.map +1 -0
  30. package/dist/lib/workflow/resolve-workflows-file-path.js +22 -0
  31. package/dist/lib/workflow/resolve-workflows-file-path.js.map +1 -0
  32. package/oclif.manifest.json +11 -2
  33. package/package.json +1 -1
@@ -14,6 +14,7 @@ export default class WorkflowRun extends Command {
14
14
  static flags: {
15
15
  config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
16
  name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'workflows-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
18
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
19
  state: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,KAAG,MAa3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,MAAM,EACpB,OAAO,SAAS,UAAU,EAAE,EAC5B,SAAS,OAAO,EAChB,iBAAiB,MAAM,KACtB,MAoBF,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,OAAgB,WAAW,SAIsC;IAEjE,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;;;MAkBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqDlC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAc7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,KAAG,MAa3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,MAAM,EACpB,OAAO,SAAS,UAAU,EAAE,EAC5B,SAAS,OAAO,EAChB,iBAAiB,MAAM,KACtB,MAoBF,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,OAAgB,WAAW,SAOsC;IAEjE,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,KAAK;;;;;;MAyBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgGlC"}
@@ -1,8 +1,12 @@
1
- import { resolve } from 'node:path';
1
+ import { dirname, resolve } from 'node:path';
2
2
  import { Command, Flags } from '@oclif/core';
3
3
  import { loadConfigFile } from '../../lib/config/parser.js';
4
4
  import { executeWorkflow } from '../../lib/workflow/executor.js';
5
+ import { buildWorkflowSourcesJson, formatAvailableWorkflows, formatWorkflowSources, } from '../../lib/workflow/format-workflow-sources.js';
6
+ import { loadGlobalWorkflows } from '../../lib/workflow/load-global-workflows.js';
7
+ import { mergeWorkflowSources } from '../../lib/workflow/merge-workflow-sources.js';
5
8
  import { resolveDefaultWorkflow, resolveWorkflowByName } from '../../lib/workflow/resolve-workflow.js';
9
+ import { resolveWorkflowsFilePath } from '../../lib/workflow/resolve-workflows-file-path.js';
6
10
  /**
7
11
  * Formats a duration in milliseconds to a human-readable string.
8
12
  */
@@ -37,12 +41,16 @@ export const buildWorkflowSummary = (workflowName, steps, success, totalDuration
37
41
  };
38
42
  export default class WorkflowRun extends Command {
39
43
  static description = 'Execute a named workflow defined in a configuration file. ' +
44
+ 'Supports loading shared workflows from a global workflows file ' +
45
+ '(via --workflows-file flag or workflowsFile config key). ' +
46
+ 'Local workflows override global ones with the same name. ' +
40
47
  'Runs steps sequentially — shell commands via execa, ' +
41
48
  'jahia-cli commands via subprocess. Stops on first failure. ' +
42
49
  'Use --name to select a workflow, or omit to run the default.';
43
50
  static examples = [
44
51
  '<%= config.bin %> workflow run --config jahia-cli.config.yml',
45
52
  '<%= config.bin %> workflow run --config jahia-cli.config.yml --name setup',
53
+ '<%= config.bin %> workflow run --config jahia-cli.config.yml --workflows-file shared.yml',
46
54
  '<%= config.bin %> workflow run --config ./my-config.yml --json',
47
55
  ];
48
56
  static flags = {
@@ -55,6 +63,12 @@ export default class WorkflowRun extends Command {
55
63
  char: 'n',
56
64
  description: 'Name of the workflow to run (runs default workflow if omitted)',
57
65
  }),
66
+ 'workflows-file': Flags.string({
67
+ char: 'w',
68
+ description: 'Path to a global workflows YAML file. ' +
69
+ 'Merged with local config workflows (local takes precedence). ' +
70
+ 'Resolved relative to CWD. Overrides the workflowsFile config key.',
71
+ }),
58
72
  json: Flags.boolean({
59
73
  description: 'Output result as structured JSON (for AI agents and scripting)',
60
74
  default: false,
@@ -67,17 +81,36 @@ export default class WorkflowRun extends Command {
67
81
  async run() {
68
82
  const { flags } = await this.parse(WorkflowRun);
69
83
  const configPath = resolve(flags.config);
84
+ const configDir = dirname(configPath);
70
85
  const config = await loadConfigFile(configPath);
71
- if (config.workflows === undefined) {
72
- this.error('No workflows section found in configuration file.\n\n' +
73
- ' Run "jahia-cli workflow init" to generate sample workflows.');
86
+ // Resolve global workflows file path (flag > config key > none)
87
+ const globalFilePath = resolveWorkflowsFilePath(configDir, config.workflowsFile, flags['workflows-file']);
88
+ // Load global workflows if configured
89
+ const globalResult = globalFilePath !== undefined
90
+ ? await loadGlobalWorkflows(globalFilePath)
91
+ : undefined;
92
+ // Merge global + local (local wins)
93
+ const mergedResult = mergeWorkflowSources(globalResult?.workflows, config.workflows);
94
+ const effectiveWorkflows = mergedResult?.workflows;
95
+ if (effectiveWorkflows === undefined || Object.keys(effectiveWorkflows).length === 0) {
96
+ this.error('No workflows found in local config or global workflows file.\n\n' +
97
+ ' Run "jahia-cli workflow init" to generate sample workflows,\n' +
98
+ ' or specify a global workflows file with --workflows-file.');
74
99
  return;
75
100
  }
101
+ // mergedResult is guaranteed defined when effectiveWorkflows is defined
102
+ const merged = mergedResult ?? { workflows: effectiveWorkflows, sources: {} };
103
+ // Resolve which workflow to run
76
104
  const { name: workflowName, workflow } = flags.name !== undefined
77
- ? { name: flags.name, workflow: resolveWorkflowByName(config.workflows, flags.name) }
78
- : resolveDefaultWorkflow(config.workflows);
105
+ ? { name: flags.name, workflow: resolveWorkflowByName(effectiveWorkflows, flags.name) }
106
+ : resolveDefaultWorkflow(effectiveWorkflows);
79
107
  const { steps } = workflow;
108
+ // Log verbose source/selection info
80
109
  if (!flags.json) {
110
+ this.log(formatWorkflowSources(configPath, config.workflows !== undefined ? Object.keys(config.workflows).length : 0, globalResult));
111
+ this.log('');
112
+ this.log(formatAvailableWorkflows(merged, workflowName));
113
+ this.log('');
81
114
  this.log(`▶ Running workflow "${workflowName}" (${String(steps.length)} steps)\n`);
82
115
  }
83
116
  const cliEntryPoint = resolve(this.config.root, 'bin', 'run.js');
@@ -87,7 +120,7 @@ export default class WorkflowRun extends Command {
87
120
  statePath: flags.state,
88
121
  cwd: process.cwd(),
89
122
  cliEntryPoint,
90
- workflows: config.workflows,
123
+ workflows: effectiveWorkflows,
91
124
  callStack: [workflowName],
92
125
  onStepStart: flags.json
93
126
  ? undefined
@@ -97,7 +130,8 @@ export default class WorkflowRun extends Command {
97
130
  onStepComplete: undefined,
98
131
  });
99
132
  if (flags.json) {
100
- this.log(JSON.stringify({ ...result, workflowName }, undefined, 2));
133
+ const sourcesJson = buildWorkflowSourcesJson(configPath, config.workflows, globalResult, merged, workflowName);
134
+ this.log(JSON.stringify({ ...sourcesJson, ...result, workflowName }, undefined, 2));
101
135
  }
102
136
  else {
103
137
  this.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-to-yaml-with-comments.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA+DjD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,MAAM,KAAG,MA2B3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,cAAc,KAAG,MACrB,CAAC"}
1
+ {"version":3,"file":"config-to-yaml-with-comments.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4EjD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,MAAM,KAAG,MA4B3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,cAAc,KAAG,MACrB,CAAC"}
@@ -35,6 +35,18 @@ const TESTS_COMMENT = `# ── Tests ──────────────
35
35
  # - scaffolding.repository: Git URL of the test scaffolding source
36
36
  # - scaffolding.path: subdirectory within the repo containing scaffolding files
37
37
  # - scaffolding.version: Git ref to checkout ("latest" resolves to newest tag)`;
38
+ const WORKFLOWS_FILE_COMMENT = `# ── Workflows File ───────────────────────────────────────────────────────
39
+ # Path to a separate YAML file containing shared (global) workflow definitions.
40
+ # Resolved relative to this config file's directory.
41
+ # Workflows in this file are merged with local workflows below.
42
+ # Local workflows take precedence on name collisions.
43
+ # Supports \${VAR:-default} env var substitution.
44
+ #
45
+ # Example:
46
+ # workflowsFile: jahia-cli.workflows.global.yml
47
+ #
48
+ # Can also be specified via CLI: --workflows-file <path>
49
+ # (CLI flag is resolved relative to CWD and takes precedence over this key)`;
38
50
  const WORKFLOW_COMMENT = `# ── Workflows ────────────────────────────────────────────────────────────
39
51
  # Named workflows executed by "jahia-cli workflow run --name <name>".
40
52
  # Each workflow has a unique name (the map key), an optional "default: true"
@@ -62,6 +74,7 @@ const WORKFLOW_COMMENT = `# ── Workflows ───────────
62
74
  */
63
75
  export const insertSectionComments = (yamlContent) => {
64
76
  const commentMap = {
77
+ 'workflowsFile:': WORKFLOWS_FILE_COMMENT,
65
78
  'environment:': ENVIRONMENT_COMMENT,
66
79
  'tests:': TESTS_COMMENT,
67
80
  'workflows:': WORKFLOW_COMMENT,
@@ -1 +1 @@
1
- {"version":3,"file":"config-to-yaml-with-comments.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;uGA0B2E,CAAC;AAExG,MAAM,aAAa,GAAG;;;;+EAIyD,CAAC;AAEhF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;+DAoBsC,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAU,EAAE;IACnE,MAAM,UAAU,GAAqC;QACnD,cAAc,EAAE,mBAAmB;QACnC,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,gBAAgB;KAC/B,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAC9B,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACzE,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"config-to-yaml-with-comments.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;uGA0B2E,CAAC;AAExG,MAAM,aAAa,GAAG;;;;+EAIyD,CAAC;AAEhF,MAAM,sBAAsB,GAAG;;;;;;;;;;;4EAW6C,CAAC;AAE7E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;+DAoBsC,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAU,EAAE;IACnE,MAAM,UAAU,GAAqC;QACnD,gBAAgB,EAAE,sBAAsB;QACxC,cAAc,EAAE,mBAAmB;QACnC,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,gBAAgB;KAC/B,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAC9B,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACzE,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-to-yaml.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmBjD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc,KAAG,MAyBnD,CAAC"}
1
+ {"version":3,"file":"config-to-yaml.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmBjD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc,KAAG,MA0BnD,CAAC"}
@@ -15,6 +15,7 @@ const serializeWorkflows = (workflows) => Object.fromEntries(Object.entries(work
15
15
  * Components without overrides are emitted as plain strings for readability.
16
16
  */
17
17
  export const configToYaml = (config) => yaml.dump({
18
+ ...(config.workflowsFile === undefined ? {} : { workflowsFile: config.workflowsFile }),
18
19
  ...(config.environment === undefined
19
20
  ? {}
20
21
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"config-to-yaml.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CACzB,SAAmH,EAC1F,EAAE,CAC3B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,IAAI;IACJ;QACE,GAAG,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB;CACF,CAAC,CACH,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAU,EAAE,CAC7D,IAAI,CAAC,IAAI,CACP;IACE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1D,SAAS,CAAC,SAAS,KAAK,SAAS;oBAC/B,CAAC,CAAC,SAAS,CAAC,IAAI;oBAChB,CAAC,CAAC;wBACE,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;qBAC/B,CACN;aACF;SACF,CAAC;IACN,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9D,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;CAC/F,EACD;IACE,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,IAAI;CACb,CACF,CAAC"}
1
+ {"version":3,"file":"config-to-yaml.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CACzB,SAAmH,EAC1F,EAAE,CAC3B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,IAAI;IACJ;QACE,GAAG,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB;CACF,CAAC,CACH,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAU,EAAE,CAC7D,IAAI,CAAC,IAAI,CACP;IACE,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACtF,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1D,SAAS,CAAC,SAAS,KAAK,SAAS;oBAC/B,CAAC,CAAC,SAAS,CAAC,IAAI;oBAChB,CAAC,CAAC;wBACE,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;qBAC/B,CACN;aACF;SACF,CAAC;IACN,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9D,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;CAC/F,EACD;IACE,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,IAAI;CACb,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,OAAO,KAAK,EAEV,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,OAAO,KAAG,iBAsBhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,OAAO,KAAG,mBAAmB,GAAG,SA0CtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,OAAO,KAAG,WAAW,GAAG,SA4BlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,cAAc,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAqBxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,oBAAoB,KAAG,iBAkCrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,OAAO,MAAM,KAAG,YAmClE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,OAAO,EAAE,MAAM,MAAM,KAAG,cAyBxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,cAAc,OAAO,KAAG,YAAY,GAAG,SAiC3E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,KAAG,cAoC/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,cAAc,CAI7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,iBAAiB,KAAG,SAAS,iBAAiB,EAS1F,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,OAAO,KAAK,EAEV,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,OAAO,KAAG,iBAsBhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,OAAO,KAAG,mBAAmB,GAAG,SA0CtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,OAAO,KAAG,WAAW,GAAG,SA4BlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,cAAc,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAqBxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,oBAAoB,KAAG,iBAkCrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,OAAO,MAAM,KAAG,YAmClE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,OAAO,EAAE,MAAM,MAAM,KAAG,cAyBxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,cAAc,OAAO,KAAG,YAAY,GAAG,SAiC3E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,KAAG,cAyC/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,cAAc,CAI7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,iBAAiB,KAAG,SAAS,iBAAiB,EAS1F,CAAC"}
@@ -253,10 +253,14 @@ export const validateConfig = (raw) => {
253
253
  : undefined;
254
254
  const tests = parseTestsConfig(raw.tests);
255
255
  const workflows = parseWorkflowsConfig(raw.workflows);
256
+ const workflowsFile = typeof raw.workflowsFile === 'string'
257
+ ? resolveEnvVars(raw.workflowsFile)
258
+ : undefined;
256
259
  return {
257
260
  ...(environment === undefined ? {} : { environment }),
258
261
  ...(tests === undefined ? {} : { tests }),
259
262
  ...(workflows === undefined ? {} : { workflows }),
263
+ ...(workflowsFile === undefined ? {} : { workflowsFile }),
260
264
  };
261
265
  };
262
266
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"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"}
@@ -94,11 +94,18 @@ export type WorkflowsMap = Readonly<Record<string, WorkflowConfig>>;
94
94
  /**
95
95
  * The top-level Jahia CLI configuration file structure.
96
96
  * Contains `environment`, `tests`, and `workflows` as distinct top-level sections.
97
+ *
98
+ * The optional `workflowsFile` key points to a separate YAML file containing
99
+ * shared (global) workflow definitions. Workflows defined in the local config
100
+ * take precedence over identically-named global workflows.
101
+ * Path is resolved relative to the config file directory.
102
+ * Supports ${VAR:-default} env var substitution.
97
103
  */
98
104
  export interface JahiaCliConfig {
99
105
  readonly environment?: EnvironmentConfig | undefined;
100
106
  readonly tests?: TestsConfig | undefined;
101
107
  readonly workflows?: WorkflowsMap | undefined;
108
+ readonly workflowsFile?: string | undefined;
102
109
  }
103
110
  /**
104
111
  * Raw YAML structure before validation (loose types for parsing).
@@ -108,6 +115,7 @@ export interface RawConfig {
108
115
  readonly tests?: unknown;
109
116
  readonly workflows?: unknown;
110
117
  readonly workflow?: unknown;
118
+ readonly workflowsFile?: unknown;
111
119
  }
112
120
  /**
113
121
  * Raw environment section before validation.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { WorkflowsMap } from '../config/types.js';
2
+ import type { GlobalWorkflowsLoadResult } from './load-global-workflows.js';
3
+ import type { MergedWorkflowsResult } from './merge-workflow-sources.js';
4
+ /**
5
+ * Builds the human-readable "Workflow sources:" section.
6
+ */
7
+ export declare const formatWorkflowSources: (configPath: string, localWorkflowCount: number, globalResult: GlobalWorkflowsLoadResult | undefined) => string;
8
+ /**
9
+ * Builds the human-readable "Available workflows:" section.
10
+ * Marks the selected workflow with → and the default with (default).
11
+ */
12
+ export declare const formatAvailableWorkflows: (mergedResult: MergedWorkflowsResult, selectedName: string) => string;
13
+ /**
14
+ * Builds structured source info for JSON output.
15
+ */
16
+ export declare const buildWorkflowSourcesJson: (configPath: string, localWorkflows: WorkflowsMap | undefined, globalResult: GlobalWorkflowsLoadResult | undefined, mergedResult: MergedWorkflowsResult, selectedName: string) => Record<string, unknown>;
17
+ //# sourceMappingURL=format-workflow-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-workflow-sources.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/format-workflow-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,6BAA6B,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,EAClB,oBAAoB,MAAM,EAC1B,cAAc,yBAAyB,GAAG,SAAS,KAClD,MAsBF,CAAC;AAcF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,cAAc,qBAAqB,EACnC,cAAc,MAAM,KACnB,MAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,EAClB,gBAAgB,YAAY,GAAG,SAAS,EACxC,cAAc,yBAAyB,GAAG,SAAS,EACnD,cAAc,qBAAqB,EACnC,cAAc,MAAM,KACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CA0BvB,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Builds the human-readable "Workflow sources:" section.
3
+ */
4
+ export const formatWorkflowSources = (configPath, localWorkflowCount, globalResult) => {
5
+ const lines = ['▶ Workflow sources:'];
6
+ const localLabel = localWorkflowCount > 0
7
+ ? `✓ Local config: ${configPath} (${String(localWorkflowCount)} workflows)`
8
+ : ` Local config: ${configPath} (no workflows)`;
9
+ lines.push(` ${localLabel}`);
10
+ if (globalResult !== undefined) {
11
+ if (!globalResult.found) {
12
+ lines.push(` ⚠ Global file: ${globalResult.path} (file not found, skipping)`);
13
+ }
14
+ else if (globalResult.error !== undefined) {
15
+ lines.push(` ⚠ Global file: ${globalResult.path} (${globalResult.error})`);
16
+ }
17
+ else {
18
+ const count = globalResult.workflows !== undefined
19
+ ? Object.keys(globalResult.workflows).length
20
+ : 0;
21
+ lines.push(` ✓ Global file: ${globalResult.path} (${String(count)} workflows loaded)`);
22
+ }
23
+ }
24
+ return lines.join('\n');
25
+ };
26
+ /**
27
+ * Returns a human-readable source label for a workflow.
28
+ */
29
+ const sourceLabel = (source) => {
30
+ const labels = {
31
+ 'global': 'global',
32
+ 'local': 'local',
33
+ 'local-override': 'local, overrides global',
34
+ };
35
+ return labels[source];
36
+ };
37
+ /**
38
+ * Builds the human-readable "Available workflows:" section.
39
+ * Marks the selected workflow with → and the default with (default).
40
+ */
41
+ export const formatAvailableWorkflows = (mergedResult, selectedName) => {
42
+ const lines = ['▶ Available workflows:'];
43
+ Object.entries(mergedResult.workflows).forEach(([name, wf]) => {
44
+ const source = mergedResult.sources[name] ?? 'local';
45
+ const isSelected = name === selectedName;
46
+ const isDefault = wf.default === true;
47
+ const prefix = isSelected ? '→' : ' ';
48
+ const defaultTag = isDefault ? ', default' : '';
49
+ const selectedTag = isSelected ? ' ← selected' : '';
50
+ const padded = name.padEnd(16);
51
+ lines.push(` ${prefix} ${padded}(${sourceLabel(source)}${defaultTag})${selectedTag}`);
52
+ });
53
+ return lines.join('\n');
54
+ };
55
+ /**
56
+ * Builds structured source info for JSON output.
57
+ */
58
+ export const buildWorkflowSourcesJson = (configPath, localWorkflows, globalResult, mergedResult, selectedName) => ({
59
+ sources: {
60
+ local: {
61
+ path: configPath,
62
+ workflowCount: localWorkflows !== undefined ? Object.keys(localWorkflows).length : 0,
63
+ },
64
+ ...(globalResult !== undefined
65
+ ? {
66
+ global: {
67
+ path: globalResult.path,
68
+ found: globalResult.found,
69
+ ...(globalResult.error !== undefined ? { error: globalResult.error } : {}),
70
+ workflowCount: globalResult.workflows !== undefined
71
+ ? Object.keys(globalResult.workflows).length
72
+ : 0,
73
+ },
74
+ }
75
+ : {}),
76
+ },
77
+ availableWorkflows: Object.entries(mergedResult.workflows).map(([name, wf]) => ({
78
+ name,
79
+ source: mergedResult.sources[name],
80
+ default: wf.default === true,
81
+ selected: name === selectedName,
82
+ })),
83
+ selectedWorkflow: selectedName,
84
+ });
85
+ //# sourceMappingURL=format-workflow-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-workflow-sources.js","sourceRoot":"","sources":["../../../src/lib/workflow/format-workflow-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { WorkflowsMap } from '../config/types.js';
2
+ /**
3
+ * Result of attempting to load a global workflows file.
4
+ * Provides structured outcome so the caller can decide how to present it.
5
+ */
6
+ export interface GlobalWorkflowsLoadResult {
7
+ readonly found: boolean;
8
+ readonly path: string;
9
+ readonly workflows: WorkflowsMap | undefined;
10
+ readonly error?: string | undefined;
11
+ }
12
+ /**
13
+ * Loads and parses a global workflows YAML file.
14
+ *
15
+ * The file must contain a top-level `workflows:` key with the same structure
16
+ * as the `workflows` section in the main config file.
17
+ *
18
+ * Returns a structured result (never throws for missing files):
19
+ * - found=true, workflows=map → file loaded successfully
20
+ * - found=false → file does not exist (caller decides severity)
21
+ * - found=true, workflows=undefined, error=msg → file exists but is invalid
22
+ */
23
+ export declare const loadGlobalWorkflows: (filePath: string) => Promise<GlobalWorkflowsLoadResult>;
24
+ //# sourceMappingURL=load-global-workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-global-workflows.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/load-global-workflows.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,OAAO,CAAC,yBAAyB,CA0CnC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import yaml from 'js-yaml';
3
+ import { parseWorkflowsConfig } from '../config/parser.js';
4
+ /**
5
+ * Loads and parses a global workflows YAML file.
6
+ *
7
+ * The file must contain a top-level `workflows:` key with the same structure
8
+ * as the `workflows` section in the main config file.
9
+ *
10
+ * Returns a structured result (never throws for missing files):
11
+ * - found=true, workflows=map → file loaded successfully
12
+ * - found=false → file does not exist (caller decides severity)
13
+ * - found=true, workflows=undefined, error=msg → file exists but is invalid
14
+ */
15
+ export const loadGlobalWorkflows = async (filePath) => {
16
+ const content = await readFile(filePath, 'utf-8').catch((error) => {
17
+ const isNotFound = error instanceof Error &&
18
+ 'code' in error &&
19
+ error.code === 'ENOENT';
20
+ if (isNotFound) {
21
+ return undefined;
22
+ }
23
+ throw error;
24
+ });
25
+ if (content === undefined) {
26
+ return { found: false, path: filePath, workflows: undefined };
27
+ }
28
+ const raw = yaml.load(content);
29
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
30
+ return {
31
+ found: true,
32
+ path: filePath,
33
+ workflows: undefined,
34
+ error: 'Global workflows file must contain a YAML object with a "workflows:" key.',
35
+ };
36
+ }
37
+ const record = raw;
38
+ if (record['workflows'] === undefined) {
39
+ return {
40
+ found: true,
41
+ path: filePath,
42
+ workflows: undefined,
43
+ error: 'Global workflows file must contain a "workflows:" key.',
44
+ };
45
+ }
46
+ const workflows = parseWorkflowsConfig(record['workflows']);
47
+ return { found: true, path: filePath, workflows };
48
+ };
49
+ //# sourceMappingURL=load-global-workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-global-workflows.js","sourceRoot":"","sources":["../../../src/lib/workflow/load-global-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAc3D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAAgB,EACoB,EAAE;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACzE,MAAM,UAAU,GACd,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,GAAG,GAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,2EAA2E;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,GAA8B,CAAC;IAE9C,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,wDAAwD;SAChE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { WorkflowsMap } from '../config/types.js';
2
+ /**
3
+ * Source attribution for each workflow in the merged map.
4
+ */
5
+ export type WorkflowSource = 'global' | 'local' | 'local-override';
6
+ /**
7
+ * Result of merging global and local workflow sources.
8
+ * Includes the merged workflows map and per-name source attribution.
9
+ */
10
+ export interface MergedWorkflowsResult {
11
+ readonly workflows: WorkflowsMap;
12
+ readonly sources: Readonly<Record<string, WorkflowSource>>;
13
+ }
14
+ /**
15
+ * Merges global and local workflow sources.
16
+ *
17
+ * Rules:
18
+ * - Local workflows always override global workflows with the same name.
19
+ * - If any local workflow has `default: true`, global defaults are stripped
20
+ * to prevent multiple defaults in the merged map.
21
+ * - Source attribution tracks whether each workflow came from global, local,
22
+ * or is a local override of a global workflow.
23
+ *
24
+ * Returns undefined if both sources are undefined.
25
+ */
26
+ export declare const mergeWorkflowSources: (global: WorkflowsMap | undefined, local: WorkflowsMap | undefined) => MergedWorkflowsResult | undefined;
27
+ //# sourceMappingURL=merge-workflow-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-workflow-sources.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/merge-workflow-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CAC5D;AAkBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,YAAY,GAAG,SAAS,EAChC,OAAO,YAAY,GAAG,SAAS,KAC9B,qBAAqB,GAAG,SAoC1B,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Strips `default: true` from all workflows in a map.
3
+ * Used to clear global defaults when a local default exists.
4
+ */
5
+ const stripDefaults = (workflows) => Object.fromEntries(Object.entries(workflows).map(([name, wf]) => [
6
+ name,
7
+ wf.default === true
8
+ ? { steps: wf.steps }
9
+ : wf,
10
+ ]));
11
+ /**
12
+ * Merges global and local workflow sources.
13
+ *
14
+ * Rules:
15
+ * - Local workflows always override global workflows with the same name.
16
+ * - If any local workflow has `default: true`, global defaults are stripped
17
+ * to prevent multiple defaults in the merged map.
18
+ * - Source attribution tracks whether each workflow came from global, local,
19
+ * or is a local override of a global workflow.
20
+ *
21
+ * Returns undefined if both sources are undefined.
22
+ */
23
+ export const mergeWorkflowSources = (global, local) => {
24
+ if (global === undefined && local === undefined) {
25
+ return undefined;
26
+ }
27
+ if (global === undefined) {
28
+ const sources = {};
29
+ Object.keys(local ?? {}).forEach((name) => {
30
+ sources[name] = 'local';
31
+ });
32
+ return { workflows: local ?? {}, sources };
33
+ }
34
+ if (local === undefined) {
35
+ const sources = {};
36
+ Object.keys(global).forEach((name) => {
37
+ sources[name] = 'global';
38
+ });
39
+ return { workflows: global, sources };
40
+ }
41
+ const localHasDefault = Object.values(local).some((wf) => wf.default === true);
42
+ const effectiveGlobal = localHasDefault ? stripDefaults(global) : global;
43
+ const merged = { ...effectiveGlobal, ...local };
44
+ const sources = {};
45
+ Object.keys(merged).forEach((name) => {
46
+ if (name in local) {
47
+ sources[name] = name in global ? 'local-override' : 'local';
48
+ }
49
+ else {
50
+ sources[name] = 'global';
51
+ }
52
+ });
53
+ return { workflows: merged, sources };
54
+ };
55
+ //# sourceMappingURL=merge-workflow-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-workflow-sources.js","sourceRoot":"","sources":["../../../src/lib/workflow/merge-workflow-sources.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,MAAM,aAAa,GAAG,CACpB,SAAuB,EACT,EAAE,CAChB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,IAAI;IACJ,EAAE,CAAC,OAAO,KAAK,IAAI;QACjB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE;QACrB,CAAC,CAAC,EAAE;CACP,CAAC,CACH,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAgC,EAChC,KAA+B,EACI,EAAE;IACrC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,MAAM,MAAM,GAAmC,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC;IAChF,MAAM,OAAO,GAAmC,EAAE,CAAC;IAEnD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Resolves the path to the global workflows file.
3
+ *
4
+ * Precedence:
5
+ * 1. CLI flag value (resolved relative to CWD)
6
+ * 2. Config key value (resolved relative to config file directory)
7
+ * 3. undefined (no global file configured)
8
+ *
9
+ * Note: No default filename auto-discovery — the user must explicitly
10
+ * specify a global workflows file via flag or config key.
11
+ */
12
+ export declare const resolveWorkflowsFilePath: (configDir: string, configKey: string | undefined, flagValue: string | undefined) => string | undefined;
13
+ //# sourceMappingURL=resolve-workflows-file-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-workflows-file-path.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/resolve-workflows-file-path.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,WAAW,MAAM,GAAG,SAAS,KAC5B,MAAM,GAAG,SAUX,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { resolve } from 'node:path';
2
+ /**
3
+ * Resolves the path to the global workflows file.
4
+ *
5
+ * Precedence:
6
+ * 1. CLI flag value (resolved relative to CWD)
7
+ * 2. Config key value (resolved relative to config file directory)
8
+ * 3. undefined (no global file configured)
9
+ *
10
+ * Note: No default filename auto-discovery — the user must explicitly
11
+ * specify a global workflows file via flag or config key.
12
+ */
13
+ export const resolveWorkflowsFilePath = (configDir, configKey, flagValue) => {
14
+ if (flagValue !== undefined) {
15
+ return resolve(flagValue);
16
+ }
17
+ if (configKey !== undefined) {
18
+ return resolve(configDir, configKey);
19
+ }
20
+ return undefined;
21
+ };
22
+ //# sourceMappingURL=resolve-workflows-file-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-workflows-file-path.js","sourceRoot":"","sources":["../../../src/lib/workflow/resolve-workflows-file-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,SAA6B,EAC7B,SAA6B,EACT,EAAE;IACtB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -811,10 +811,11 @@
811
811
  "workflow:run": {
812
812
  "aliases": [],
813
813
  "args": {},
814
- "description": "Execute a named workflow defined in a configuration file. Runs steps sequentially — shell commands via execa, jahia-cli commands via subprocess. Stops on first failure. Use --name to select a workflow, or omit to run the default.",
814
+ "description": "Execute a named workflow defined in a configuration file. Supports loading shared workflows from a global workflows file (via --workflows-file flag or workflowsFile config key). Local workflows override global ones with the same name. Runs steps sequentially — shell commands via execa, jahia-cli commands via subprocess. Stops on first failure. Use --name to select a workflow, or omit to run the default.",
815
815
  "examples": [
816
816
  "<%= config.bin %> workflow run --config jahia-cli.config.yml",
817
817
  "<%= config.bin %> workflow run --config jahia-cli.config.yml --name setup",
818
+ "<%= config.bin %> workflow run --config jahia-cli.config.yml --workflows-file shared.yml",
818
819
  "<%= config.bin %> workflow run --config ./my-config.yml --json"
819
820
  ],
820
821
  "flags": {
@@ -835,6 +836,14 @@
835
836
  "multiple": false,
836
837
  "type": "option"
837
838
  },
839
+ "workflows-file": {
840
+ "char": "w",
841
+ "description": "Path to a global workflows YAML file. Merged with local config workflows (local takes precedence). Resolved relative to CWD. Overrides the workflowsFile config key.",
842
+ "name": "workflows-file",
843
+ "hasDynamicHelp": false,
844
+ "multiple": false,
845
+ "type": "option"
846
+ },
838
847
  "json": {
839
848
  "description": "Output result as structured JSON (for AI agents and scripting)",
840
849
  "name": "json",
@@ -1097,5 +1106,5 @@
1097
1106
  ]
1098
1107
  }
1099
1108
  },
1100
- "version": "0.3.0"
1109
+ "version": "0.3.1"
1101
1110
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jahia/jahia-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "A CLI to accelerate developing and testing Jahia in the Agentic era",
5
5
  "author": "Jahia",
6
6
  "license": "Apache-2.0",