pipecraft 0.29.3 → 0.36.2

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 (136) hide show
  1. package/README.md +98 -34
  2. package/dist/cli/index.d.ts +3 -3
  3. package/dist/cli/index.js +66 -24
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/generators/init.tpl.d.ts +4 -4
  6. package/dist/generators/init.tpl.d.ts.map +1 -1
  7. package/dist/generators/init.tpl.js +310 -83
  8. package/dist/generators/init.tpl.js.map +1 -1
  9. package/dist/generators/workflows.tpl.d.ts +9 -9
  10. package/dist/generators/workflows.tpl.d.ts.map +1 -1
  11. package/dist/generators/workflows.tpl.js +33 -24
  12. package/dist/generators/workflows.tpl.js.map +1 -1
  13. package/dist/templates/actions/calculate-version.yml.tpl.d.ts +7 -4
  14. package/dist/templates/actions/calculate-version.yml.tpl.d.ts.map +1 -1
  15. package/dist/templates/actions/calculate-version.yml.tpl.js +16 -9
  16. package/dist/templates/actions/calculate-version.yml.tpl.js.map +1 -1
  17. package/dist/templates/actions/create-pr.yml.tpl.d.ts +5 -2
  18. package/dist/templates/actions/create-pr.yml.tpl.d.ts.map +1 -1
  19. package/dist/templates/actions/create-pr.yml.tpl.js +9 -6
  20. package/dist/templates/actions/create-pr.yml.tpl.js.map +1 -1
  21. package/dist/templates/actions/create-release.yml.tpl.d.ts +5 -2
  22. package/dist/templates/actions/create-release.yml.tpl.d.ts.map +1 -1
  23. package/dist/templates/actions/create-release.yml.tpl.js +9 -6
  24. package/dist/templates/actions/create-release.yml.tpl.js.map +1 -1
  25. package/dist/templates/actions/create-tag.yml.tpl.d.ts +5 -2
  26. package/dist/templates/actions/create-tag.yml.tpl.d.ts.map +1 -1
  27. package/dist/templates/actions/create-tag.yml.tpl.js +9 -6
  28. package/dist/templates/actions/create-tag.yml.tpl.js.map +1 -1
  29. package/dist/templates/actions/detect-changes.yml.tpl.d.ts +24 -52
  30. package/dist/templates/actions/detect-changes.yml.tpl.d.ts.map +1 -1
  31. package/dist/templates/actions/detect-changes.yml.tpl.js +281 -108
  32. package/dist/templates/actions/detect-changes.yml.tpl.js.map +1 -1
  33. package/dist/templates/actions/manage-branch.yml.tpl.d.ts +5 -2
  34. package/dist/templates/actions/manage-branch.yml.tpl.d.ts.map +1 -1
  35. package/dist/templates/actions/manage-branch.yml.tpl.js +9 -6
  36. package/dist/templates/actions/manage-branch.yml.tpl.js.map +1 -1
  37. package/dist/templates/actions/promote-branch.yml.tpl.d.ts +5 -2
  38. package/dist/templates/actions/promote-branch.yml.tpl.d.ts.map +1 -1
  39. package/dist/templates/actions/promote-branch.yml.tpl.js +27 -76
  40. package/dist/templates/actions/promote-branch.yml.tpl.js.map +1 -1
  41. package/dist/templates/actions/run-nx-affected.yml.tpl.d.ts +33 -0
  42. package/dist/templates/actions/run-nx-affected.yml.tpl.d.ts.map +1 -0
  43. package/dist/templates/actions/run-nx-affected.yml.tpl.js +346 -0
  44. package/dist/templates/actions/run-nx-affected.yml.tpl.js.map +1 -0
  45. package/dist/templates/release-it.cjs.tpl.d.ts +1 -1
  46. package/dist/templates/release-it.cjs.tpl.d.ts.map +1 -1
  47. package/dist/templates/release-it.cjs.tpl.js +24 -26
  48. package/dist/templates/release-it.cjs.tpl.js.map +1 -1
  49. package/dist/templates/workflows/enforce-pr-target.yml.tpl.d.ts +1 -1
  50. package/dist/templates/workflows/enforce-pr-target.yml.tpl.d.ts.map +1 -1
  51. package/dist/templates/workflows/enforce-pr-target.yml.tpl.js +2 -3
  52. package/dist/templates/workflows/enforce-pr-target.yml.tpl.js.map +1 -1
  53. package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts +2 -2
  54. package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts.map +1 -1
  55. package/dist/templates/workflows/pipeline-nx.yml.tpl.js +300 -93
  56. package/dist/templates/workflows/pipeline-nx.yml.tpl.js.map +1 -1
  57. package/dist/templates/workflows/pipeline.yml.tpl.d.ts +2 -2
  58. package/dist/templates/workflows/pipeline.yml.tpl.d.ts.map +1 -1
  59. package/dist/templates/workflows/pipeline.yml.tpl.js +347 -74
  60. package/dist/templates/workflows/pipeline.yml.tpl.js.map +1 -1
  61. package/dist/templates/workflows/pr-title-check.yml.tpl.d.ts +1 -1
  62. package/dist/templates/workflows/pr-title-check.yml.tpl.d.ts.map +1 -1
  63. package/dist/templates/workflows/pr-title-check.yml.tpl.js +101 -22
  64. package/dist/templates/workflows/pr-title-check.yml.tpl.js.map +1 -1
  65. package/dist/templates/workflows/shared/index.d.ts +3 -2
  66. package/dist/templates/workflows/shared/index.d.ts.map +1 -1
  67. package/dist/templates/workflows/shared/index.js +3 -2
  68. package/dist/templates/workflows/shared/index.js.map +1 -1
  69. package/dist/templates/workflows/shared/operations-changes.d.ts +13 -2
  70. package/dist/templates/workflows/shared/operations-changes.d.ts.map +1 -1
  71. package/dist/templates/workflows/shared/operations-changes.js +47 -16
  72. package/dist/templates/workflows/shared/operations-changes.js.map +1 -1
  73. package/dist/templates/workflows/shared/operations-domain-jobs.d.ts +18 -1
  74. package/dist/templates/workflows/shared/operations-domain-jobs.d.ts.map +1 -1
  75. package/dist/templates/workflows/shared/operations-domain-jobs.js +142 -17
  76. package/dist/templates/workflows/shared/operations-domain-jobs.js.map +1 -1
  77. package/dist/templates/workflows/shared/operations-gate.d.ts +32 -0
  78. package/dist/templates/workflows/shared/operations-gate.d.ts.map +1 -0
  79. package/dist/templates/workflows/shared/operations-gate.js +77 -0
  80. package/dist/templates/workflows/shared/operations-gate.js.map +1 -0
  81. package/dist/templates/workflows/shared/operations-header.d.ts +1 -1
  82. package/dist/templates/workflows/shared/operations-header.d.ts.map +1 -1
  83. package/dist/templates/workflows/shared/operations-header.js +46 -6
  84. package/dist/templates/workflows/shared/operations-header.js.map +1 -1
  85. package/dist/templates/workflows/shared/operations-tag-promote.d.ts +5 -1
  86. package/dist/templates/workflows/shared/operations-tag-promote.d.ts.map +1 -1
  87. package/dist/templates/workflows/shared/operations-tag-promote.js +138 -31
  88. package/dist/templates/workflows/shared/operations-tag-promote.js.map +1 -1
  89. package/dist/templates/workflows/shared/operations-version.d.ts +3 -1
  90. package/dist/templates/workflows/shared/operations-version.d.ts.map +1 -1
  91. package/dist/templates/workflows/shared/operations-version.js +18 -10
  92. package/dist/templates/workflows/shared/operations-version.js.map +1 -1
  93. package/dist/templates/yaml-format-utils.d.ts.map +1 -1
  94. package/dist/templates/yaml-format-utils.js.map +1 -1
  95. package/dist/types/index.d.ts +57 -4
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/dist/utils/action-reference.d.ts +73 -0
  98. package/dist/utils/action-reference.d.ts.map +1 -0
  99. package/dist/utils/action-reference.js +120 -0
  100. package/dist/utils/action-reference.js.map +1 -0
  101. package/dist/utils/ast-path-operations.d.ts +3 -3
  102. package/dist/utils/ast-path-operations.d.ts.map +1 -1
  103. package/dist/utils/ast-path-operations.js +58 -17
  104. package/dist/utils/ast-path-operations.js.map +1 -1
  105. package/dist/utils/config.d.ts +11 -5
  106. package/dist/utils/config.d.ts.map +1 -1
  107. package/dist/utils/config.js +33 -8
  108. package/dist/utils/config.js.map +1 -1
  109. package/dist/utils/github-setup.d.ts +4 -4
  110. package/dist/utils/github-setup.d.ts.map +1 -1
  111. package/dist/utils/github-setup.js +57 -36
  112. package/dist/utils/github-setup.js.map +1 -1
  113. package/dist/utils/logger.d.ts.map +1 -1
  114. package/dist/utils/logger.js.map +1 -1
  115. package/dist/utils/messaging.d.ts.map +1 -1
  116. package/dist/utils/messaging.js +7 -3
  117. package/dist/utils/messaging.js.map +1 -1
  118. package/dist/utils/preflight.d.ts +2 -2
  119. package/dist/utils/preflight.d.ts.map +1 -1
  120. package/dist/utils/preflight.js +43 -41
  121. package/dist/utils/preflight.js.map +1 -1
  122. package/dist/utils/versioning.d.ts +1 -1
  123. package/dist/utils/versioning.d.ts.map +1 -1
  124. package/dist/utils/versioning.js +10 -10
  125. package/dist/utils/versioning.js.map +1 -1
  126. package/package.json +11 -4
  127. package/src/generators/init.tpl.ts +374 -102
  128. package/src/generators/workflows.tpl.ts +54 -45
  129. package/dist/templates/actions/detect-changes-nx.yml.tpl.d.ts +0 -32
  130. package/dist/templates/actions/detect-changes-nx.yml.tpl.d.ts.map +0 -1
  131. package/dist/templates/actions/detect-changes-nx.yml.tpl.js +0 -227
  132. package/dist/templates/actions/detect-changes-nx.yml.tpl.js.map +0 -1
  133. package/dist/utils/idempotency.d.ts +0 -187
  134. package/dist/utils/idempotency.d.ts.map +0 -1
  135. package/dist/utils/idempotency.js +0 -304
  136. package/dist/utils/idempotency.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * Uses shared operations architecture for maintainability and consistency with Nx template.
8
8
  */
9
- import { PinionContext } from '@featherscloud/pinion';
10
- import { PipecraftConfig } from '../../types/index.js';
9
+ import { type PinionContext } from '@featherscloud/pinion';
10
+ import type { PipecraftConfig } from '../../types/index.js';
11
11
  interface PathBasedPipelineContext extends PinionContext {
12
12
  config: PipecraftConfig;
13
13
  branchFlow: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAiBtD,UAAU,wBAAyB,SAAQ,aAAa;IACtD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,wBAAwB,iBA+IoF,CAAA"}
1
+ {"version":3,"file":"pipeline.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAGlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAc3D,UAAU,wBAAyB,SAAQ,aAAa;IACtD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAiKD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,wBAAwB,iBAqTjD,CAAA"}
@@ -7,23 +7,156 @@
7
7
  * Uses shared operations architecture for maintainability and consistency with Nx template.
8
8
  */
9
9
  import { renderTemplate, toFile } from '@featherscloud/pinion';
10
- import { parseDocument, stringify } from 'yaml';
11
10
  import fs from 'fs';
12
- import { logger } from '../../utils/logger.js';
11
+ import { Document, parseDocument, Scalar, stringify, YAMLMap } from 'yaml';
13
12
  import { applyPathOperations } from '../../utils/ast-path-operations.js';
13
+ import { logger } from '../../utils/logger.js';
14
14
  import { formatIfConditions } from '../yaml-format-utils.js';
15
- import { createHeaderOperations, createChangesJobOperation, createDomainTestJobOperations, createDomainDeployJobOperations, createDomainRemoteTestJobOperations, createVersionJobOperation, createTagPromoteReleaseOperations, getDomainJobNames } from './shared/index.js';
15
+ import { createChangesJobOperation, createGateJobOperation, createHeaderOperations, createTagPromoteReleaseOperations, createVersionJobOperation } from './shared/index.js';
16
+ import { getDomainJobNames } from './shared/operations-domain-jobs.js';
17
+ /**
18
+ * Extract user-customized section between markers from YAML content
19
+ * Returns content WITHOUT the markers themselves
20
+ * Uses unique delimiters as YAML comments (indentation-independent)
21
+ */
22
+ function extractUserSection(yamlContent) {
23
+ // Match markers as YAML comments: any leading whitespace + one or more # + optional whitespace + marker
24
+ // Example: " ### <--START CUSTOM JOBS-->"
25
+ const startMarkerRegex = /^.*#+\s*<--START CUSTOM JOBS-->\s*$/m;
26
+ const endMarkerRegex = /^.*#+\s*<--END CUSTOM JOBS-->\s*$/m;
27
+ const startMatch = yamlContent.match(startMarkerRegex);
28
+ const endMatch = yamlContent.match(endMarkerRegex);
29
+ if (!startMatch || !endMatch) {
30
+ return null;
31
+ }
32
+ const startIndex = startMatch.index + startMatch[0].length;
33
+ const endIndex = endMatch.index;
34
+ // Extract content between markers (NOT including the markers themselves)
35
+ let extracted = yamlContent.substring(startIndex, endIndex);
36
+ // Normalize whitespace: remove leading/trailing newlines
37
+ // These will be added back consistently during insertion
38
+ extracted = extracted.replace(/^\n+/, '');
39
+ extracted = extracted.replace(/\n+$/, '');
40
+ return extracted;
41
+ }
42
+ /**
43
+ * Generate placeholder jobs for domains with prefixes as YAML text
44
+ *
45
+ * @param domains - Domain configuration
46
+ * @returns YAML text for placeholder jobs, grouped by prefix
47
+ */
48
+ function generatePrefixedJobsText(domains) {
49
+ // Group jobs by prefix
50
+ const jobsByPrefix = {};
51
+ Object.keys(domains)
52
+ .sort()
53
+ .forEach(domain => {
54
+ const domainConfig = domains[domain];
55
+ logger.verbose(`📋 Domain ${domain}: prefixes = ${domainConfig.prefixes ? JSON.stringify(domainConfig.prefixes) : 'undefined'}`);
56
+ if (domainConfig.prefixes && Array.isArray(domainConfig.prefixes)) {
57
+ domainConfig.prefixes.forEach((prefix) => {
58
+ if (!jobsByPrefix[prefix]) {
59
+ jobsByPrefix[prefix] = [];
60
+ }
61
+ jobsByPrefix[prefix].push({
62
+ domain,
63
+ jobName: `${prefix}-${domain}`
64
+ });
65
+ });
66
+ }
67
+ });
68
+ // Generate YAML text for each prefix group
69
+ const jobTexts = [];
70
+ Object.keys(jobsByPrefix)
71
+ .sort()
72
+ .forEach(prefix => {
73
+ const jobs = jobsByPrefix[prefix];
74
+ jobs.forEach(job => {
75
+ const jobYaml = ` ${job.jobName}:
76
+ needs: changes
77
+ if: \${{ needs.changes.outputs.${job.domain} == 'true' }}
78
+ runs-on: ubuntu-latest
79
+ steps:
80
+ - uses: actions/checkout@v4
81
+ with:
82
+ ref: \${{ inputs.commitSha || github.sha }}
83
+ # TODO: Replace with your ${job.domain} ${prefix} logic
84
+ - name: Run ${prefix} for ${job.domain}
85
+ run: |
86
+ echo "Running ${prefix} for ${job.domain} domain"
87
+ echo "Replace this with your actual ${prefix} commands"
88
+ # Example: npm run ${prefix}:${job.domain}`;
89
+ jobTexts.push(jobYaml);
90
+ });
91
+ });
92
+ return jobTexts.join('\n\n');
93
+ }
94
+ /**
95
+ * Merge generated placeholder jobs with existing custom section content
96
+ *
97
+ * Only adds jobs that don't already exist in the custom section
98
+ *
99
+ * @param userSection - Existing custom section content (may be null)
100
+ * @param generatedJobs - Generated placeholder jobs text
101
+ * @returns Merged content
102
+ */
103
+ function mergeCustomJobsContent(userSection, generatedJobs) {
104
+ if (!generatedJobs) {
105
+ return userSection || '';
106
+ }
107
+ // Extract existing job names from userSection
108
+ const existingJobNames = new Set();
109
+ if (userSection) {
110
+ // Match job names: lines starting with spaces + jobname + :
111
+ const jobNameRegex = /^ {2}([a-zA-Z0-9_-]+):/gm;
112
+ let match;
113
+ while ((match = jobNameRegex.exec(userSection)) !== null) {
114
+ existingJobNames.add(match[1]);
115
+ }
116
+ }
117
+ logger.verbose(`📋 Existing custom job names: ${Array.from(existingJobNames).join(', ') || 'none'}`);
118
+ // Filter generated jobs to only include those that don't exist
119
+ const generatedJobLines = generatedJobs.split('\n\n');
120
+ const newJobs = [];
121
+ const skippedJobs = [];
122
+ generatedJobLines.forEach(jobText => {
123
+ // Extract job name from first line
124
+ const jobNameMatch = jobText.match(/^ {2}([a-zA-Z0-9_-]+):/);
125
+ if (jobNameMatch) {
126
+ const jobName = jobNameMatch[1];
127
+ if (!existingJobNames.has(jobName)) {
128
+ newJobs.push(jobText);
129
+ }
130
+ else {
131
+ skippedJobs.push(jobName);
132
+ }
133
+ }
134
+ });
135
+ logger.verbose(`📋 Generated ${newJobs.length} new placeholder job(s)`);
136
+ if (skippedJobs.length > 0) {
137
+ logger.verbose(`📋 Skipped ${skippedJobs.length} existing job(s): ${skippedJobs.join(', ')}`);
138
+ }
139
+ // Merge: existing jobs first, then new jobs
140
+ const parts = [];
141
+ if (userSection && userSection.trim()) {
142
+ parts.push(userSection);
143
+ }
144
+ if (newJobs.length > 0) {
145
+ parts.push(newJobs.join('\n\n'));
146
+ }
147
+ return parts.join('\n\n');
148
+ }
16
149
  /**
17
150
  * Main generator that handles merging with existing workflow
18
151
  */
19
152
  export const generate = (ctx) => Promise.resolve(ctx)
20
153
  .then(ctx => {
21
- const filePath = `${ctx.cwd || process.cwd()}/.github/workflows/pipeline.yml`;
154
+ const filePath = ctx.pipelinePath || `${ctx.cwd || process.cwd()}/.github/workflows/pipeline.yml`;
22
155
  const { config, branchFlow } = ctx;
23
156
  const domains = config?.domains || {};
24
- // Get domain job names for dependency management
25
- const { testJobs, deployJobs, remoteTestJobs } = getDomainJobNames(domains);
26
- // Build operations array
157
+ // Get job names from domains (supports both prefixes and legacy boolean flags)
158
+ const { testJobs, deployJobs, remoteTestJobs, allJobsByPrefix } = getDomainJobNames(domains);
159
+ // Build operations array - only managed jobs
27
160
  const operations = [
28
161
  // Header (name, run-name, on triggers)
29
162
  ...createHeaderOperations({ branchFlow }),
@@ -31,104 +164,244 @@ export const generate = (ctx) => Promise.resolve(ctx)
31
164
  createChangesJobOperation({
32
165
  domains,
33
166
  useNx: false,
34
- baseRef: config.finalBranch
167
+ baseRef: config.finalBranch,
168
+ config
35
169
  }),
36
- // NO nx-ci job for path-based (that's the key difference!)
37
- // Domain test jobs (preserved for user customization)
38
- ...createDomainTestJobOperations({ domains }),
39
- // Version calculation
170
+ // Version calculation (simplified - only depends on changes)
40
171
  createVersionJobOperation({
41
- testJobNames: testJobs,
172
+ testJobNames: [], // No test job dependencies in new model
42
173
  nxEnabled: false,
43
- baseRef: config.finalBranch
174
+ baseRef: config.finalBranch,
175
+ config
176
+ }),
177
+ // NOTE: Prefixed domain jobs are NOT generated via operations
178
+ // They are generated as text and merged into the custom section below
179
+ // Gate job (runs after ALL prefix-based jobs, gates downstream jobs)
180
+ createGateJobOperation({
181
+ testJobNames: testJobs,
182
+ deployJobNames: deployJobs,
183
+ allJobsByPrefix // Includes ALL jobs from all prefixes (test, deploy, lint, build, etc.)
44
184
  }),
45
- // Domain deploy jobs (preserved for user customization)
46
- ...createDomainDeployJobOperations({ domains }),
47
- // Domain remote test jobs (preserved for user customization)
48
- ...createDomainRemoteTestJobOperations({ domains }),
49
185
  // Tag, promote, release
50
186
  ...createTagPromoteReleaseOperations({
51
187
  branchFlow,
52
- deployJobNames: deployJobs,
53
- remoteTestJobNames: remoteTestJobs
188
+ deployJobNames: [], // No deployment dependencies in new model
189
+ remoteTestJobNames: [],
190
+ testJobNames: testJobs, // Pass test jobs for default tag job dependencies
191
+ autoMerge: typeof config.autoMerge === 'object' ? config.autoMerge : {},
192
+ config
54
193
  })
55
194
  ];
56
195
  // Check if file exists
57
- if (!fs.existsSync(filePath)) {
58
- logger.verbose('📝 Creating new path-based pipeline');
196
+ const fileExists = fs.existsSync(filePath);
197
+ // Extract user-customized section and custom jobs from existing file if it exists
198
+ let userSection = null;
199
+ const customJobsFromExisting = [];
200
+ if (fileExists) {
201
+ const existingContent = fs.readFileSync(filePath, 'utf8');
202
+ userSection = extractUserSection(existingContent);
203
+ if (userSection) {
204
+ logger.verbose('📋 Found user-customized section between markers');
205
+ }
206
+ // Also extract custom jobs (for force mode preservation)
207
+ const existingDoc = parseDocument(existingContent);
208
+ const existingJobs = existingDoc.contents && existingDoc.contents.get
209
+ ? existingDoc.contents.get('jobs')
210
+ : null;
211
+ const managedJobs = new Set(['changes', 'version', 'gate', 'tag', 'promote', 'release']);
212
+ if (existingJobs && existingJobs.items) {
213
+ for (const pair of existingJobs.items) {
214
+ const keyStr = pair.key instanceof Scalar ? pair.key.value : pair.key;
215
+ if (!managedJobs.has(keyStr)) {
216
+ customJobsFromExisting.push(pair);
217
+ }
218
+ }
219
+ }
220
+ if (customJobsFromExisting.length > 0) {
221
+ logger.verbose(`📋 Found ${customJobsFromExisting.length} custom job(s) to preserve`);
222
+ // If no userSection but custom jobs exist, convert custom jobs to YAML text
223
+ if (!userSection && customJobsFromExisting.length > 0) {
224
+ // Stringify each job pair individually to get proper formatting
225
+ const jobTexts = [];
226
+ for (const pair of customJobsFromExisting) {
227
+ // Create a temp doc for this one job to get proper YAML formatting
228
+ const tempDoc = new Document(new YAMLMap());
229
+ tempDoc.contents.items = [pair];
230
+ let jobYaml = tempDoc.toString({
231
+ lineWidth: 0,
232
+ indent: 2,
233
+ defaultStringType: 'PLAIN',
234
+ defaultKeyType: 'PLAIN',
235
+ minContentWidth: 0
236
+ });
237
+ // Remove trailing newlines and add proper indentation (2 spaces for YAML jobs section)
238
+ jobYaml = jobYaml
239
+ .trim()
240
+ .split('\n')
241
+ .map(line => ' ' + line)
242
+ .join('\n');
243
+ jobTexts.push(jobYaml);
244
+ }
245
+ // Join all jobs with double newlines
246
+ userSection = jobTexts.join('\n\n');
247
+ logger.verbose('📋 Converted custom jobs to user section');
248
+ }
249
+ }
250
+ }
251
+ // In force mode or new file, create fresh document to ensure correct structure
252
+ if (!fileExists || ctx.pinion?.force) {
253
+ const logMessage = !fileExists
254
+ ? '📝 Creating new path-based pipeline'
255
+ : '🔄 Force mode: Rebuilding path-based pipeline from scratch';
256
+ logger.verbose(logMessage);
59
257
  // Create new document with empty YAML map
60
258
  const doc = parseDocument('{}');
259
+ // Ensure the root map uses block style (not flow/compact)
260
+ if (doc.contents && doc.contents.flow !== undefined) {
261
+ ;
262
+ doc.contents.flow = false;
263
+ }
264
+ // Add header comment block to document
265
+ const headerComment = `=============================================================================
266
+ PIPECRAFT MANAGED WORKFLOW
267
+ =============================================================================
268
+
269
+ ✅ YOU CAN CUSTOMIZE:
270
+ - Custom jobs between the '# <--START CUSTOM JOBS-->' and '# <--END CUSTOM JOBS-->' comment markers
271
+ - Workflow name
272
+
273
+ ⚠️ PIPECRAFT MANAGES (do not modify):
274
+ - Workflow triggers, job dependencies, and conditionals
275
+ - Changes detection, version calculation, and tag creation
276
+ - Tag, promote, and release jobs
277
+
278
+ 📌 VERSION PROMOTION BEHAVIOR:
279
+ - Only commits that trigger a version bump will promote to staging/main
280
+ - Non-versioned commits (test, build, etc.) remain on develop
281
+ - This keeps staging/main aligned with tagged releases
282
+
283
+ Running 'pipecraft generate' updates managed sections while preserving
284
+ your customizations in test/deploy/remote-test jobs.
285
+
286
+ 📖 Learn more: https://pipecraft.thecraftlab.dev
287
+ =============================================================================`;
288
+ doc.commentBefore = headerComment;
289
+ // NOTE: Custom jobs are NOT added to the document via AST
290
+ // They are preserved in userSection and merged with generated placeholders
291
+ // Then inserted as text after version job (see below)
61
292
  if (doc.contents) {
62
293
  applyPathOperations(doc.contents, operations, doc);
63
294
  }
64
- const yamlContent = stringify(doc, { lineWidth: 0, minContentWidth: 0 });
295
+ // Stringify to YAML
296
+ let yamlContent = stringify(doc, {
297
+ lineWidth: 0,
298
+ indent: 2,
299
+ defaultStringType: 'PLAIN',
300
+ defaultKeyType: 'PLAIN',
301
+ minContentWidth: 0
302
+ });
303
+ // Generate placeholder jobs from prefixes and merge with existing custom section
304
+ const generatedPlaceholders = generatePrefixedJobsText(domains);
305
+ // Debug: log generated job names
306
+ const generatedJobNames = generatedPlaceholders
307
+ .split('\n\n')
308
+ .map(j => j.match(/^ {2}([a-zA-Z0-9_-]+):/))
309
+ .filter(m => m)
310
+ .map(m => m[1]);
311
+ logger.verbose(`📋 Generated ${generatedJobNames.length} placeholder jobs: ${generatedJobNames.join(', ')}`);
312
+ const mergedCustomContent = mergeCustomJobsContent(userSection, generatedPlaceholders);
313
+ // Insert merged custom section (user jobs + generated placeholders)
314
+ if (mergedCustomContent && mergedCustomContent.trim().length > 0) {
315
+ // Find the version job's outputs section
316
+ const versionOutputsPattern = /^ {2}version:\s*\n(?:.*\n)*? {4}outputs:\s*\n\s*version:.*$/m;
317
+ const match = yamlContent.match(versionOutputsPattern);
318
+ if (match) {
319
+ const insertionIndex = match.index + match[0].length;
320
+ const userSectionWithMarkers = `# <--START CUSTOM JOBS-->\n\n${mergedCustomContent}\n\n # <--END CUSTOM JOBS-->`;
321
+ yamlContent =
322
+ yamlContent.slice(0, insertionIndex) +
323
+ '\n\n ' +
324
+ userSectionWithMarkers +
325
+ '\n' +
326
+ yamlContent.slice(insertionIndex);
327
+ logger.verbose('📋 Inserted custom jobs section (user + generated placeholders) after version job');
328
+ }
329
+ }
330
+ else if (!fileExists) {
331
+ // For new files, add placeholder markers
332
+ const versionOutputsPattern = /^( {2}version:\s*\n(?:.*\n)*? {4}outputs:\s*\n\s*version:.*)$/m;
333
+ yamlContent = yamlContent.replace(versionOutputsPattern, '$1\n\n # <--START CUSTOM JOBS-->\n\n # <--END CUSTOM JOBS-->\n');
334
+ logger.verbose('📝 Added placeholder user section markers');
335
+ }
65
336
  const formattedContent = formatIfConditions(yamlContent);
66
- return { ...ctx, yamlContent: formattedContent, mergeStatus: 'created' };
337
+ const status = mergedCustomContent ? 'merged' : fileExists ? 'rebuilt' : 'created';
338
+ return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
67
339
  }
68
- // Parse existing file
340
+ // Parse existing file for merge mode (no force flag)
69
341
  const existingContent = fs.readFileSync(filePath, 'utf8');
70
342
  const doc = parseDocument(existingContent);
71
- // Get managed jobs (always overwritten)
72
- const managedJobs = new Set(['changes', 'version', 'tag', 'promote', 'release']);
73
- // Get deprecated jobs (should be removed)
74
- const deprecatedJobs = new Set(['createpr', 'branch']);
75
- // Extract user jobs from existing (preserves comments!)
76
- const userJobs = new Map();
77
- const existingJobs = doc.contents && doc.contents.get ? doc.contents.get('jobs') : null;
78
- if (existingJobs && existingJobs.items) {
79
- for (const item of existingJobs.items) {
80
- const jobName = item.key?.toString();
81
- if (jobName &&
82
- !managedJobs.has(jobName) &&
83
- !deprecatedJobs.has(jobName) &&
84
- !testJobs.includes(jobName) &&
85
- !deployJobs.includes(jobName) &&
86
- !remoteTestJobs.includes(jobName)) {
87
- // This is a custom user job - preserve it completely
88
- userJobs.set(jobName, item);
89
- }
90
- }
91
- }
92
- // Clear all jobs before applying operations to prevent duplicates
93
- if (existingJobs && existingJobs.items) {
94
- ;
95
- existingJobs.items = [];
96
- }
97
343
  // Apply operations to update managed jobs
98
344
  if (doc.contents) {
99
345
  applyPathOperations(doc.contents, operations, doc);
100
346
  }
101
- // Add back user jobs (preserves their comments!)
102
- if (userJobs.size > 0) {
103
- logger.verbose(`📋 Preserving ${userJobs.size} user jobs: ${Array.from(userJobs.keys()).join(', ')}`);
104
- const jobsNode = doc.contents.get('jobs');
105
- if (jobsNode && jobsNode.items) {
106
- for (const [_, item] of userJobs) {
107
- jobsNode.items.push(item);
108
- }
347
+ // Stringify to YAML
348
+ let yamlContent = stringify(doc, {
349
+ lineWidth: 0,
350
+ indent: 2,
351
+ defaultStringType: 'PLAIN',
352
+ defaultKeyType: 'PLAIN',
353
+ minContentWidth: 0
354
+ });
355
+ // Insert user section after version job if it exists
356
+ // Find the version job's outputs section
357
+ const versionOutputsPattern = /^ {2}version:\s*\n(?:.*\n)*? {4}outputs:\s*\n\s*version:.*$/m;
358
+ const match = yamlContent.match(versionOutputsPattern);
359
+ if (match) {
360
+ const insertionIndex = match.index + match[0].length;
361
+ // If no user section exists, create default with test-gate example
362
+ const defaultCustomSection = `#=============================================================================
363
+ # CUSTOM JOBS SECTION (✅ Add your test, deploy, and remote-test jobs here)
364
+ #=============================================================================
365
+ # This section is preserved across regenerations. Add your custom jobs between
366
+ # the START and END markers below.
367
+ #
368
+ # Example: test-gate pattern (recommended for production workflows)
369
+ # Uncomment and customize the example below to prevent deployments when tests fail.
370
+
371
+ # test-gate:
372
+ # needs: [ ] # TODO: Add all test job names (e.g., test-api, test-frontend)
373
+ # if: always() # TODO: Add failure checks and success conditions
374
+ # runs-on: ubuntu-latest
375
+ # steps:
376
+ # - run: echo "✅ All tests passed"`;
377
+ const contentToInsert = userSection || defaultCustomSection;
378
+ const userSectionWithMarkers = `# <--START CUSTOM JOBS-->\n\n${contentToInsert}\n\n # <--END CUSTOM JOBS-->`;
379
+ if (userSection) {
380
+ logger.verbose('📋 Inserting preserved user section between markers');
109
381
  }
110
- }
111
- // Check for deprecated jobs
112
- const deprecatedFound = [];
113
- if (existingJobs && existingJobs.items) {
114
- for (const item of existingJobs.items) {
115
- const jobName = item.key?.toString();
116
- if (jobName && deprecatedJobs.has(jobName)) {
117
- deprecatedFound.push(jobName);
118
- }
382
+ else {
383
+ logger.verbose('📝 Creating default custom section with test-gate example');
119
384
  }
385
+ yamlContent =
386
+ yamlContent.slice(0, insertionIndex) +
387
+ '\n\n ' +
388
+ userSectionWithMarkers +
389
+ '\n' +
390
+ yamlContent.slice(insertionIndex);
120
391
  }
121
- if (deprecatedFound.length > 0) {
122
- logger.verbose(`🗑️ Removed deprecated jobs: ${deprecatedFound.join(', ')}`);
123
- }
124
- const status = userJobs.size > 0 ? 'merged' : 'updated';
125
- const yamlContent = stringify(doc, { lineWidth: 0, minContentWidth: 0 });
126
392
  const formattedContent = formatIfConditions(yamlContent);
393
+ const status = userSection ? 'merged' : 'updated';
127
394
  return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
128
395
  })
129
396
  .then(ctx => {
130
397
  const outputPath = ctx.outputPipelinePath || '.github/workflows/pipeline.yml';
131
- const status = ctx.mergeStatus === 'merged' ? '🔄 Merged with existing' : ctx.mergeStatus === 'updated' ? '🔄 Updated existing' : '📝 Created new';
398
+ const status = ctx.mergeStatus === 'merged'
399
+ ? '🔄 Merged with existing'
400
+ : ctx.mergeStatus === 'updated'
401
+ ? '🔄 Updated existing'
402
+ : ctx.mergeStatus === 'rebuilt'
403
+ ? '🔄 Rebuilt from scratch'
404
+ : '📝 Created new';
132
405
  logger.verbose(`${status} ${outputPath}`);
133
406
  return ctx;
134
407
  })
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  * })
26
26
  * ```
27
27
  */
28
- import { PinionContext } from '@featherscloud/pinion';
28
+ import { type PinionContext } from '@featherscloud/pinion';
29
29
  /**
30
30
  * Generates the pr-title-check.yml workflow file.
31
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pr-title-check.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pr-title-check.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAE7E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBA6ErC,CAAA"}
1
+ {"version":3,"file":"pr-title-check.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pr-title-check.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAgKvC,CAAA"}