@on-par/factory-core 0.9.28-next.21 → 0.9.28-next.22
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/land/changelog.ts"],"names":[],"mappings":"AAkDA,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmD5D"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const UNRELEASED = /^## Unreleased\s*$/i;
|
|
2
|
+
function findSection(lines) {
|
|
3
|
+
const heading = lines.findIndex((line) => UNRELEASED.test(line));
|
|
4
|
+
if (heading === -1)
|
|
5
|
+
return undefined;
|
|
6
|
+
let end = lines.findIndex((line, index) => index > heading && line.startsWith('## '));
|
|
7
|
+
if (end === -1)
|
|
8
|
+
end = lines.length;
|
|
9
|
+
const subsections = [{ key: '', start: heading + 1, end, headingIndex: heading }];
|
|
10
|
+
for (let index = heading + 1; index < end; index++) {
|
|
11
|
+
const line = lines[index] ?? '';
|
|
12
|
+
if (!line.startsWith('### '))
|
|
13
|
+
continue;
|
|
14
|
+
const previous = subsections[subsections.length - 1];
|
|
15
|
+
if (previous)
|
|
16
|
+
previous.end = index;
|
|
17
|
+
subsections.push({ key: line.trimEnd(), start: index + 1, end, headingIndex: index });
|
|
18
|
+
}
|
|
19
|
+
return { heading, end, subsections };
|
|
20
|
+
}
|
|
21
|
+
function outside(lines, section) {
|
|
22
|
+
if (!section)
|
|
23
|
+
return lines.join('\n');
|
|
24
|
+
return [...lines.slice(0, section.heading), ...lines.slice(section.end)].join('\n');
|
|
25
|
+
}
|
|
26
|
+
function nonBlank(lines, sub) {
|
|
27
|
+
return sub ? lines.slice(sub.start, sub.end).filter((line) => line.trim() !== '') : [];
|
|
28
|
+
}
|
|
29
|
+
function lastNonBlank(lines, from, end) {
|
|
30
|
+
for (let index = end - 1; index >= from; index--) {
|
|
31
|
+
if ((lines[index] ?? '').trim() !== '')
|
|
32
|
+
return index;
|
|
33
|
+
}
|
|
34
|
+
return from;
|
|
35
|
+
}
|
|
36
|
+
export function mergeChangelogUnreleased(base, ours, theirs) {
|
|
37
|
+
const baseLines = base.split('\n');
|
|
38
|
+
const oursLines = ours.split('\n');
|
|
39
|
+
const result = theirs.split('\n');
|
|
40
|
+
const baseSection = findSection(baseLines);
|
|
41
|
+
const oursSection = findSection(oursLines);
|
|
42
|
+
if (!baseSection || !oursSection || !findSection(result)) {
|
|
43
|
+
return { ok: false, reason: 'no ## Unreleased section' };
|
|
44
|
+
}
|
|
45
|
+
if (outside(oursLines, oursSection) !== outside(baseLines, baseSection)) {
|
|
46
|
+
return { ok: false, reason: 'PR changed CHANGELOG.md outside ## Unreleased' };
|
|
47
|
+
}
|
|
48
|
+
const removed = { ok: false, reason: 'PR removed or edited an existing Unreleased line' };
|
|
49
|
+
const additions = [];
|
|
50
|
+
for (const sub of baseSection.subsections) {
|
|
51
|
+
if (nonBlank(baseLines, sub).length > 0 && !oursSection.subsections.some((s) => s.key === sub.key)) {
|
|
52
|
+
return removed;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
for (const sub of oursSection.subsections) {
|
|
56
|
+
const baseItems = nonBlank(baseLines, baseSection.subsections.find((s) => s.key === sub.key));
|
|
57
|
+
const added = [];
|
|
58
|
+
let matched = 0;
|
|
59
|
+
for (const line of nonBlank(oursLines, sub)) {
|
|
60
|
+
if (matched < baseItems.length && line === baseItems[matched])
|
|
61
|
+
matched++;
|
|
62
|
+
else
|
|
63
|
+
added.push(line);
|
|
64
|
+
}
|
|
65
|
+
if (matched < baseItems.length)
|
|
66
|
+
return removed;
|
|
67
|
+
if (added.length > 0)
|
|
68
|
+
additions.push({ key: sub.key, lines: added });
|
|
69
|
+
}
|
|
70
|
+
for (const { key, lines } of additions) {
|
|
71
|
+
const section = findSection(result);
|
|
72
|
+
if (!section)
|
|
73
|
+
return { ok: false, reason: 'no ## Unreleased section' };
|
|
74
|
+
const sub = section.subsections.find((s) => s.key === key);
|
|
75
|
+
const present = new Set(nonBlank(result, sub));
|
|
76
|
+
const fresh = lines.filter((line) => !present.has(line));
|
|
77
|
+
if (fresh.length === 0)
|
|
78
|
+
continue;
|
|
79
|
+
if (sub) {
|
|
80
|
+
const at = lastNonBlank(result, sub.headingIndex, sub.end);
|
|
81
|
+
result.splice(at + 1, 0, ...(key === '' && at === section.heading ? [''] : []), ...fresh);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const at = lastNonBlank(result, section.heading, section.end);
|
|
85
|
+
result.splice(at + 1, 0, '', key, '', ...fresh);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return { ok: true, text: result.join('\n') };
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=changelog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/land/changelog.ts"],"names":[],"mappings":"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"}
|
package/dist/land/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/land/sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/land/sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7G,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;CAC3F;AAID,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAyB5F,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAqKnF"}
|
package/dist/land/sync.js
CHANGED
|
@@ -2,8 +2,10 @@ import { readFileSync, writeFileSync } from 'node:fs';
|
|
|
2
2
|
import { basename } from 'node:path';
|
|
3
3
|
import { parseAdr, upsertIndexRow } from '@on-par/adr-kit';
|
|
4
4
|
import { shellEscape } from '../utils/index.js';
|
|
5
|
+
import { mergeChangelogUnreleased } from './changelog.js';
|
|
5
6
|
const TIMEOUT = 120_000;
|
|
6
7
|
const ADR_INDEX_PATH = 'docs/adr/README.md';
|
|
8
|
+
const CHANGELOG_PATH = 'CHANGELOG.md';
|
|
7
9
|
const ADR_FILE = /^docs\/adr\/[^/]+\.md$/i;
|
|
8
10
|
const NON_ADR = /^(readme|index|_?template)\.md$/i;
|
|
9
11
|
function output(result) {
|
|
@@ -63,8 +65,41 @@ export async function syncLandBranch(opts) {
|
|
|
63
65
|
const addedPaths = pathsFromNul(output(await run(`git diff --diff-filter=A --name-only -z ${shellEscape(base)} HEAD -- docs/adr`)))
|
|
64
66
|
.filter((path) => ADR_FILE.test(path) && !NON_ADR.test(basename(path)))
|
|
65
67
|
.sort();
|
|
68
|
+
const changedSince = async (rev) => pathsFromNul(output(await run(`git diff --name-only -z ${shellEscape(base)} ${rev} -- ${shellEscape(CHANGELOG_PATH)}`))).length > 0;
|
|
69
|
+
const changelogBothChanged = (await changedSince(shellEscape(head))) && (await changedSince('origin/main'));
|
|
70
|
+
const resolveChangelog = async () => {
|
|
71
|
+
try {
|
|
72
|
+
const show = async (rev) => output(await run(`git show ${shellEscape(`${rev}:${CHANGELOG_PATH}`)}`));
|
|
73
|
+
return mergeChangelogUnreleased(await show(base), await show(head), await show('origin/main'));
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return { ok: false, reason: errorText(error) };
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const writeChangelog = async (text) => {
|
|
80
|
+
writeFileSync(`${opts.worktree}/${CHANGELOG_PATH}`, text);
|
|
81
|
+
await run(`git add -- ${shellEscape(CHANGELOG_PATH)}`);
|
|
82
|
+
};
|
|
83
|
+
const resolved = [];
|
|
66
84
|
try {
|
|
67
|
-
await run('git merge --no-edit origin/main');
|
|
85
|
+
await run(changelogBothChanged ? 'git merge --no-edit --no-commit origin/main' : 'git merge --no-edit origin/main');
|
|
86
|
+
if (changelogBothChanged) {
|
|
87
|
+
mergeStarted = true;
|
|
88
|
+
const changelog = await resolveChangelog();
|
|
89
|
+
if (!changelog.ok)
|
|
90
|
+
return await abort(`unresolved merge conflicts: ${CHANGELOG_PATH}`, [CHANGELOG_PATH]);
|
|
91
|
+
try {
|
|
92
|
+
await writeChangelog(changelog.text);
|
|
93
|
+
const remaining = pathsFromNul(output(await run('git diff --name-only --diff-filter=U -z'))).sort();
|
|
94
|
+
if (remaining.length > 0)
|
|
95
|
+
throw new Error(`unresolved paths remain: ${remaining.join(', ')}`);
|
|
96
|
+
await run('git commit --no-edit');
|
|
97
|
+
}
|
|
98
|
+
catch (resolveError) {
|
|
99
|
+
return await abort(`${CHANGELOG_PATH} resolution failed: ${errorText(resolveError)}`, [CHANGELOG_PATH]);
|
|
100
|
+
}
|
|
101
|
+
resolved.push(CHANGELOG_PATH);
|
|
102
|
+
}
|
|
68
103
|
}
|
|
69
104
|
catch (mergeError) {
|
|
70
105
|
mergeStarted = true;
|
|
@@ -79,40 +114,68 @@ export async function syncLandBranch(opts) {
|
|
|
79
114
|
return await abort(`merge failed without unmerged paths: ${errorText(mergeError)}`);
|
|
80
115
|
}
|
|
81
116
|
opts.log('conflict_detected', `land sync conflicts: ${conflicts.join(', ')}`, { paths: conflicts });
|
|
82
|
-
const
|
|
117
|
+
const changelogConflicted = conflicts.includes(CHANGELOG_PATH);
|
|
118
|
+
const changelog = changelogConflicted || changelogBothChanged ? await resolveChangelog() : undefined;
|
|
119
|
+
const changelogPending = changelog?.ok === true ? changelog : undefined;
|
|
120
|
+
const otherPaths = conflicts.filter((path) => path !== ADR_INDEX_PATH && path !== CHANGELOG_PATH);
|
|
121
|
+
if (changelogConflicted && !changelogPending)
|
|
122
|
+
otherPaths.push(CHANGELOG_PATH);
|
|
123
|
+
otherPaths.sort();
|
|
83
124
|
if (otherPaths.length > 0) {
|
|
84
125
|
return await abort(`unresolved merge conflicts: ${otherPaths.join(', ')}`, otherPaths);
|
|
85
126
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
127
|
+
if (conflicts.includes(ADR_INDEX_PATH)) {
|
|
128
|
+
let replayFailure;
|
|
129
|
+
try {
|
|
130
|
+
await run(`git checkout --theirs -- ${shellEscape(ADR_INDEX_PATH)}`);
|
|
131
|
+
let readme = readFileSync(`${opts.worktree}/${ADR_INDEX_PATH}`, 'utf8');
|
|
132
|
+
for (const path of addedPaths) {
|
|
133
|
+
const filename = basename(path);
|
|
134
|
+
const source = readFileSync(`${opts.worktree}/${path}`, 'utf8');
|
|
135
|
+
const adr = parseAdr(source, { filename });
|
|
136
|
+
const title = adr.title.trim();
|
|
137
|
+
if (adr.number === undefined || title === '') {
|
|
138
|
+
replayFailure = `${filename}: ADR requires a number and title`;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
readme = upsertIndexRow(readme, { number: adr.number, title, status: adr.status, href: filename });
|
|
142
|
+
}
|
|
143
|
+
if (!replayFailure) {
|
|
144
|
+
writeFileSync(`${opts.worktree}/${ADR_INDEX_PATH}`, readme);
|
|
145
|
+
await run(`git add -- ${shellEscape(ADR_INDEX_PATH)}`);
|
|
98
146
|
}
|
|
99
|
-
readme = upsertIndexRow(readme, { number: adr.number, title, status: adr.status, href: filename });
|
|
100
147
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
148
|
+
catch (replayError) {
|
|
149
|
+
replayFailure = errorText(replayError);
|
|
150
|
+
}
|
|
151
|
+
if (replayFailure)
|
|
152
|
+
return await abort(`ADR index replay failed: ${replayFailure}`, [ADR_INDEX_PATH]);
|
|
153
|
+
resolved.push(ADR_INDEX_PATH);
|
|
154
|
+
}
|
|
155
|
+
if (changelogPending) {
|
|
156
|
+
try {
|
|
157
|
+
await writeChangelog(changelogPending.text);
|
|
109
158
|
}
|
|
159
|
+
catch (changelogError) {
|
|
160
|
+
return await abort(`${CHANGELOG_PATH} resolution failed: ${errorText(changelogError)}`, [CHANGELOG_PATH]);
|
|
161
|
+
}
|
|
162
|
+
resolved.push(CHANGELOG_PATH);
|
|
163
|
+
}
|
|
164
|
+
const failedPath = resolved.includes(ADR_INDEX_PATH) ? ADR_INDEX_PATH : CHANGELOG_PATH;
|
|
165
|
+
const label = failedPath === ADR_INDEX_PATH ? 'ADR index replay failed' : `${CHANGELOG_PATH} resolution failed`;
|
|
166
|
+
let commitFailure;
|
|
167
|
+
try {
|
|
168
|
+
const remaining = pathsFromNul(output(await run('git diff --name-only --diff-filter=U -z'))).sort();
|
|
169
|
+
if (remaining.length > 0)
|
|
170
|
+
commitFailure = `unresolved paths remain: ${remaining.join(', ')}`;
|
|
171
|
+
else
|
|
172
|
+
await run('git commit --no-edit');
|
|
110
173
|
}
|
|
111
|
-
catch (
|
|
112
|
-
|
|
174
|
+
catch (commitError) {
|
|
175
|
+
commitFailure = errorText(commitError);
|
|
113
176
|
}
|
|
114
|
-
if (
|
|
115
|
-
return await abort(
|
|
177
|
+
if (commitFailure)
|
|
178
|
+
return await abort(`${label}: ${commitFailure}`, [failedPath]);
|
|
116
179
|
}
|
|
117
180
|
try {
|
|
118
181
|
await run(`git push origin ${shellEscape(opts.branch)}`);
|
|
@@ -120,11 +183,9 @@ export async function syncLandBranch(opts) {
|
|
|
120
183
|
catch (pushError) {
|
|
121
184
|
return { ok: false, message: `push rejected: ${errorText(pushError)}`, paths: [] };
|
|
122
185
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
paths: [ADR_INDEX_PATH],
|
|
127
|
-
});
|
|
186
|
+
for (const path of resolved) {
|
|
187
|
+
const what = path === ADR_INDEX_PATH ? 'ADR index' : `${CHANGELOG_PATH} Unreleased`;
|
|
188
|
+
opts.log('conflict_resolved', `resolved ${what} conflict mechanically`, { mode: 'mechanical', paths: [path] });
|
|
128
189
|
}
|
|
129
190
|
return { ok: true };
|
|
130
191
|
}
|
package/dist/land/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/land/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/land/sync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@on-par/factory-core",
|
|
3
|
-
"version": "0.9.28-next.
|
|
3
|
+
"version": "0.9.28-next.22",
|
|
4
4
|
"description": "Core engine: model router, constitutions, checkers, and pipeline phases for the Software Factory.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
"prepack": "node ../../scripts/pack-hygiene-cli.ts prepack"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@on-par/adr-kit": "0.9.28-next.
|
|
58
|
-
"@on-par/contracts": "0.9.28-next.
|
|
59
|
-
"@on-par/factory-config": "0.9.28-next.
|
|
60
|
-
"@on-par/repo-context": "0.9.28-next.
|
|
57
|
+
"@on-par/adr-kit": "0.9.28-next.22",
|
|
58
|
+
"@on-par/contracts": "0.9.28-next.22",
|
|
59
|
+
"@on-par/factory-config": "0.9.28-next.22",
|
|
60
|
+
"@on-par/repo-context": "0.9.28-next.22",
|
|
61
61
|
"@octokit/rest": "^22.0.0",
|
|
62
62
|
"execa": "^10.2.1",
|
|
63
63
|
"gray-matter": "^4.0.3",
|