@proteinjs/build 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.2.0](https://github.com/proteinjs/build/compare/@proteinjs/build@2.1.0...@proteinjs/build@2.2.0) (2026-07-21)
7
+
8
+
9
+ ### Features
10
+
11
+ * version-workspace --merge-to-main — opt-in pre-phase merging feature branches into main before versioning ([1eda265](https://github.com/proteinjs/build/commit/1eda2655ce752d1ecd36baa4d5c76540f9a31369))
12
+
13
+
14
+
15
+
16
+
6
17
  # [2.1.0](https://github.com/proteinjs/build/compare/@proteinjs/build@2.0.2...@proteinjs/build@2.1.0) (2026-07-03)
7
18
 
8
19
 
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Opt-in pre-phase for `version-workspace`: merge feature-branch work into `main` in each leaf git
3
+ * repo BEFORE versioning, so the release runs on main. Without the flag, behavior is unchanged —
4
+ * the workspace versions in place on whatever branch each repo is on (the "stay on feature
5
+ * branches and just bump deps" mode).
6
+ *
7
+ * version-workspace --merge-to-main
8
+ * Every leaf repo whose current branch != main merges its current branch HEAD into main.
9
+ *
10
+ * version-workspace --merge-to-main=chat:17dda73,thought:ffdc105
11
+ * Only the named repos (matched by git-repo directory name), each merged at the PINNED sha —
12
+ * work pushed to the feature branch after the pin simply isn't in this release. A bare name
13
+ * (no `:sha`) merges that repo's current branch HEAD.
14
+ *
15
+ * Also accepted via env: VERSION_WORKSPACE_MERGE_TO_MAIN (same syntax; `1`/`true` = bare mode).
16
+ *
17
+ * Semantics per repo: fetch; checkout main; sync with origin/main FAST-FORWARD-ONLY (never rebase
18
+ * — local main legitimately holds an unpushed merge commit on resume, and a rebase would
19
+ * linearize it; true local/origin divergence stops loudly); merge the sha with a merge commit
20
+ * (`--no-ff`). Already-merged shas are skipped (idempotent — safe to re-run after fixing a
21
+ * conflict). A conflict stops the run with the repo + conflicted files named, leaving the merge in
22
+ * progress in that repo for resolution; re-running continues past it. Repos are LEFT ON MAIN
23
+ * afterward (the feature branch itself is never modified); the workspace root/metarepos are never
24
+ * touched by this phase.
25
+ */
26
+ export type MergeToMainSpec = {
27
+ enabled: boolean;
28
+ pins: Map<string, string | undefined>;
29
+ };
30
+ export declare function parseMergeToMainSpec(args: string[], envValue?: string): MergeToMainSpec;
31
+ export declare function mergeToMain(workspacePath: string, spec: MergeToMainSpec, planOnly: boolean): Promise<void>;
32
+ //# sourceMappingURL=mergeToMain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeToMain.d.ts","sourceRoot":"","sources":["../../src/mergeToMain.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE,CAAC;AAE1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAkCvF;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FhH"}
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.mergeToMain = exports.parseMergeToMainSpec = void 0;
63
+ var path = __importStar(require("path"));
64
+ var child_process_1 = require("child_process");
65
+ var util_node_1 = require("@proteinjs/util-node");
66
+ var logger_1 = require("@proteinjs/logger");
67
+ var logColors_1 = require("./logColors");
68
+ var cw = new util_node_1.LogColorWrapper();
69
+ var logger = new logger_1.Logger({ name: cw.color('workspace:', logColors_1.primaryLogColor) + cw.color('merge', logColors_1.secondaryLogColor) });
70
+ function parseMergeToMainSpec(args, envValue) {
71
+ var pins = new Map();
72
+ var enabled = false;
73
+ var consume = function (value) {
74
+ enabled = true;
75
+ if (value === '' || value === 'true' || value === '1') {
76
+ return; // bare mode: all repos at branch HEAD
77
+ }
78
+ for (var _i = 0, _a = value.split(','); _i < _a.length; _i++) {
79
+ var entry = _a[_i];
80
+ var trimmed = entry.trim();
81
+ if (!trimmed) {
82
+ continue;
83
+ }
84
+ var _b = trimmed.split(':').map(function (s) { return s.trim(); }), repo = _b[0], sha = _b[1];
85
+ pins.set(repo, sha || undefined);
86
+ }
87
+ };
88
+ for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {
89
+ var arg = args_1[_i];
90
+ if (arg === '--merge-to-main') {
91
+ consume('');
92
+ }
93
+ else {
94
+ var match = arg.match(/^--merge-to-main=(.*)$/);
95
+ if (match) {
96
+ consume(match[1]);
97
+ }
98
+ }
99
+ }
100
+ if (!enabled && envValue) {
101
+ consume(envValue);
102
+ }
103
+ return { enabled: enabled, pins: pins };
104
+ }
105
+ exports.parseMergeToMainSpec = parseMergeToMainSpec;
106
+ function mergeToMain(workspacePath, spec, planOnly) {
107
+ var _a;
108
+ return __awaiter(this, void 0, void 0, function () {
109
+ var repoRoots, _i, repoRoots_1, repoRoot, repoName, pinned, branch, sha, _b, _c, _d, _e, originIsAncestor, alreadyMerged, error_1, conflicted;
110
+ return __generator(this, function (_f) {
111
+ switch (_f.label) {
112
+ case 0:
113
+ if (!spec.enabled) {
114
+ return [2 /*return*/];
115
+ }
116
+ return [4 /*yield*/, leafRepoRoots(workspacePath)];
117
+ case 1:
118
+ repoRoots = _f.sent();
119
+ _i = 0, repoRoots_1 = repoRoots;
120
+ _f.label = 2;
121
+ case 2:
122
+ if (!(_i < repoRoots_1.length)) return [3 /*break*/, 26];
123
+ repoRoot = repoRoots_1[_i];
124
+ repoName = path.basename(repoRoot);
125
+ pinned = spec.pins.size > 0;
126
+ if (pinned && !spec.pins.has(repoName)) {
127
+ return [3 /*break*/, 25];
128
+ }
129
+ return [4 /*yield*/, git(repoRoot, 'rev-parse --abbrev-ref HEAD')];
130
+ case 3:
131
+ branch = _f.sent();
132
+ if (!((_a = spec.pins.get(repoName)) !== null && _a !== void 0)) return [3 /*break*/, 4];
133
+ _b = _a;
134
+ return [3 /*break*/, 8];
135
+ case 4:
136
+ if (!(branch === 'main')) return [3 /*break*/, 5];
137
+ _c = undefined;
138
+ return [3 /*break*/, 7];
139
+ case 5: return [4 /*yield*/, git(repoRoot, 'rev-parse HEAD')];
140
+ case 6:
141
+ _c = _f.sent();
142
+ _f.label = 7;
143
+ case 7:
144
+ _b = (_c);
145
+ _f.label = 8;
146
+ case 8:
147
+ sha = _b;
148
+ if (!sha) {
149
+ // Bare mode and already on main with no pin: nothing to merge.
150
+ return [3 /*break*/, 25];
151
+ }
152
+ if (planOnly) {
153
+ logger.info({
154
+ message: "(".concat(cw.color(repoName), ") would merge ").concat(sha.slice(0, 9), " (").concat(branch, ") into main. NOTE: plan-only bump levels below reflect PRE-merge state; run with --dry-run after merging for post-merge planning."),
155
+ });
156
+ return [3 /*break*/, 25];
157
+ }
158
+ return [4 /*yield*/, (0, util_node_1.cmd)('git', ['fetch', '-q'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
159
+ case 9:
160
+ _f.sent();
161
+ _f.label = 10;
162
+ case 10:
163
+ _f.trys.push([10, 12, , 13]);
164
+ return [4 /*yield*/, git(repoRoot, "cat-file -e ".concat(sha, "^{commit}"))];
165
+ case 11:
166
+ _f.sent();
167
+ return [3 /*break*/, 13];
168
+ case 12:
169
+ _d = _f.sent();
170
+ throw new Error("(".concat(repoName, ") --merge-to-main sha ").concat(sha, " is not a commit in this repo"));
171
+ case 13:
172
+ if (!(branch !== 'main')) return [3 /*break*/, 15];
173
+ return [4 /*yield*/, (0, util_node_1.cmd)('git', ['checkout', 'main'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
174
+ case 14:
175
+ _f.sent();
176
+ _f.label = 15;
177
+ case 15:
178
+ _f.trys.push([15, 17, , 19]);
179
+ return [4 /*yield*/, (0, util_node_1.cmd)('git', ['merge', '--ff-only', 'origin/main'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
180
+ case 16:
181
+ _f.sent();
182
+ return [3 /*break*/, 19];
183
+ case 17:
184
+ _e = _f.sent();
185
+ return [4 /*yield*/, git(repoRoot, 'merge-base --is-ancestor origin/main HEAD')
186
+ .then(function () { return true; })
187
+ .catch(function () { return false; })];
188
+ case 18:
189
+ originIsAncestor = _f.sent();
190
+ if (!originIsAncestor) {
191
+ throw new Error("(".concat(repoName, ") local main and origin/main have DIVERGED (local holds unpushed commits AND origin moved). ") +
192
+ "Reconcile manually (e.g. merge origin/main into main), then re-run.");
193
+ }
194
+ logger.info({
195
+ message: "(".concat(cw.color(repoName), ") local main is ahead of origin (unpushed merge from a prior run) \u2014 continuing"),
196
+ });
197
+ return [3 /*break*/, 19];
198
+ case 19: return [4 /*yield*/, git(repoRoot, "merge-base --is-ancestor ".concat(sha, " HEAD"))
199
+ .then(function () { return true; })
200
+ .catch(function () { return false; })];
201
+ case 20:
202
+ alreadyMerged = _f.sent();
203
+ if (alreadyMerged) {
204
+ logger.info({ message: "(".concat(cw.color(repoName), ") ").concat(sha.slice(0, 9), " already on main \u2014 skipping merge") });
205
+ return [3 /*break*/, 25];
206
+ }
207
+ logger.info({ message: "(".concat(cw.color(repoName), ") merging ").concat(sha.slice(0, 9), " (").concat(branch, ") into main") });
208
+ _f.label = 21;
209
+ case 21:
210
+ _f.trys.push([21, 23, , 25]);
211
+ return [4 /*yield*/, (0, util_node_1.cmd)('git', [
212
+ 'merge',
213
+ '--no-ff',
214
+ '-m',
215
+ "merge: ".concat(branch, " @ ").concat(sha.slice(0, 9), " -> main (version-workspace --merge-to-main)"),
216
+ sha,
217
+ ], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
218
+ case 22:
219
+ _f.sent();
220
+ return [3 /*break*/, 25];
221
+ case 23:
222
+ error_1 = _f.sent();
223
+ return [4 /*yield*/, git(repoRoot, 'diff --name-only --diff-filter=U').catch(function () { return ''; })];
224
+ case 24:
225
+ conflicted = _f.sent();
226
+ throw new Error("(".concat(repoName, ") merge of ").concat(sha.slice(0, 9), " into main has conflicts: [").concat(conflicted.split('\n').filter(Boolean).join(', '), "]. ") +
227
+ "Resolve + commit the merge in ".concat(repoRoot, ", then re-run \u2014 already-merged repos are skipped."));
228
+ case 25:
229
+ _i++;
230
+ return [3 /*break*/, 2];
231
+ case 26: return [2 /*return*/];
232
+ }
233
+ });
234
+ });
235
+ }
236
+ exports.mergeToMain = mergeToMain;
237
+ /** Unique git-repo roots that directly contain workspace packages — never the workspace root. */
238
+ function leafRepoRoots(workspacePath) {
239
+ return __awaiter(this, void 0, void 0, function () {
240
+ var _a, packageMap, sortedPackageNames, roots, _i, sortedPackageNames_1, packageName, localPackage, packageDir, repoRoot;
241
+ return __generator(this, function (_b) {
242
+ switch (_b.label) {
243
+ case 0: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
244
+ case 1:
245
+ _a = _b.sent(), packageMap = _a.packageMap, sortedPackageNames = _a.sortedPackageNames;
246
+ roots = new Set();
247
+ _i = 0, sortedPackageNames_1 = sortedPackageNames;
248
+ _b.label = 2;
249
+ case 2:
250
+ if (!(_i < sortedPackageNames_1.length)) return [3 /*break*/, 5];
251
+ packageName = sortedPackageNames_1[_i];
252
+ localPackage = packageMap[packageName];
253
+ packageDir = path.dirname(localPackage.filePath);
254
+ return [4 /*yield*/, git(packageDir, 'rev-parse --show-toplevel').catch(function () { return undefined; })];
255
+ case 3:
256
+ repoRoot = _b.sent();
257
+ if (repoRoot && path.resolve(repoRoot) !== path.resolve(workspacePath)) {
258
+ roots.add(repoRoot);
259
+ }
260
+ _b.label = 4;
261
+ case 4:
262
+ _i++;
263
+ return [3 /*break*/, 2];
264
+ case 5: return [2 /*return*/, Array.from(roots).sort()];
265
+ }
266
+ });
267
+ });
268
+ }
269
+ function git(cwd, args) {
270
+ return new Promise(function (resolve, reject) {
271
+ (0, child_process_1.exec)("git ".concat(args), { cwd: cwd }, function (error, stdout) { return (error ? reject(error) : resolve(stdout.trim())); });
272
+ });
273
+ }
274
+ //# sourceMappingURL=mergeToMain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeToMain.js","sourceRoot":"","sources":["../../src/mergeToMain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"AAaA,wBAAsB,gBAAgB,kBAuKrC;AAy0BD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAcrD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAmB1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAuB7E;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,iBAUxD"}
1
+ {"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"AAcA,wBAAsB,gBAAgB,kBA0KrC;AA40BD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAcrD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAsB1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAuB7E;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,iBAUxD"}
@@ -90,12 +90,13 @@ var logger_1 = require("@proteinjs/logger");
90
90
  var semver_1 = __importDefault(require("semver"));
91
91
  var logColors_1 = require("./logColors");
92
92
  var lintWorkspace_1 = require("./lintWorkspace");
93
+ var mergeToMain_1 = require("./mergeToMain");
93
94
  var cw = new util_node_1.LogColorWrapper();
94
95
  var logger = new logger_1.Logger({ name: cw.color('workspace:', logColors_1.primaryLogColor) + cw.color('version', logColors_1.secondaryLogColor) });
95
96
  var fixedVersionWorkspacesToVersion = {};
96
97
  function versionWorkspace() {
97
98
  return __awaiter(this, void 0, void 0, function () {
98
- var dryRun, planOnly, workspacePath, workspaceRootDirty, _a, packageMap, packageGraph, sortedPackageNames, workspaceToPackageMap, userSkippedPackages, skippedPackages, filteredPackageNames, commitBumps, scanSummary, commitLeaves, _i, filteredPackageNames_1, packageName, localPackage, skipBumpingPackageVersion, ownBump, dependenciesChanged, cascadeBump, effectiveBump, currentVersion, sourceNote, planPrefix, pushWithoutSync;
99
+ var dryRun, planOnly, workspacePath, mergeSpec, workspaceRootDirty, _a, packageMap, packageGraph, sortedPackageNames, workspaceToPackageMap, userSkippedPackages, skippedPackages, filteredPackageNames, commitBumps, scanSummary, commitLeaves, _i, filteredPackageNames_1, packageName, localPackage, skipBumpingPackageVersion, ownBump, dependenciesChanged, cascadeBump, effectiveBump, currentVersion, sourceNote, planPrefix, pushWithoutSync;
99
100
  return __generator(this, function (_b) {
100
101
  switch (_b.label) {
101
102
  case 0:
@@ -113,21 +114,25 @@ function versionWorkspace() {
113
114
  return [4 /*yield*/, evictGitLocks(workspacePath)];
114
115
  case 1:
115
116
  _b.sent();
116
- return [4 /*yield*/, isRepoDirty(workspacePath)];
117
+ mergeSpec = (0, mergeToMain_1.parseMergeToMainSpec)(process.argv.slice(2), process.env.VERSION_WORKSPACE_MERGE_TO_MAIN);
118
+ return [4 /*yield*/, (0, mergeToMain_1.mergeToMain)(workspacePath, mergeSpec, planOnly)];
117
119
  case 2:
120
+ _b.sent();
121
+ return [4 /*yield*/, isRepoDirty(workspacePath)];
122
+ case 3:
118
123
  workspaceRootDirty = _b.sent();
119
124
  if (workspaceRootDirty) {
120
125
  logger.info({ message: "> Workspace root is dirty, will skip pull/push for root repo" });
121
126
  }
122
- if (!(dryRun || planOnly)) return [3 /*break*/, 3];
127
+ if (!(dryRun || planOnly)) return [3 /*break*/, 4];
123
128
  logger.info({ message: "> Skipping pullWorkspace for (".concat(workspacePath, ")") });
124
- return [3 /*break*/, 5];
125
- case 3: return [4 /*yield*/, pullWorkspace(workspacePath, workspaceRootDirty)];
126
- case 4:
129
+ return [3 /*break*/, 6];
130
+ case 4: return [4 /*yield*/, pullWorkspace(workspacePath, workspaceRootDirty)];
131
+ case 5:
127
132
  _b.sent();
128
- _b.label = 5;
129
- case 5: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
130
- case 6:
133
+ _b.label = 6;
134
+ case 6: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
135
+ case 7:
131
136
  _a = _b.sent(), packageMap = _a.packageMap, packageGraph = _a.packageGraph, sortedPackageNames = _a.sortedPackageNames, workspaceToPackageMap = _a.workspaceToPackageMap;
132
137
  userSkippedPackages = getUserSkippedPackages();
133
138
  if (userSkippedPackages.size > 0) {
@@ -147,7 +152,7 @@ function versionWorkspace() {
147
152
  });
148
153
  logger.info({ message: "> Versioning workspace (".concat(workspacePath, ")") });
149
154
  return [4 /*yield*/, scanCommitBumps(filteredPackageNames, packageMap)];
150
- case 7:
155
+ case 8:
151
156
  commitBumps = _b.sent();
152
157
  if (commitBumps.size === 0) {
153
158
  logger.info({ message: "> No packages have unpushed commits" });
@@ -168,31 +173,27 @@ function versionWorkspace() {
168
173
  });
169
174
  }
170
175
  _i = 0, filteredPackageNames_1 = filteredPackageNames;
171
- _b.label = 8;
172
- case 8:
173
- if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/, 17];
176
+ _b.label = 9;
177
+ case 9:
178
+ if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/, 18];
174
179
  packageName = filteredPackageNames_1[_i];
175
180
  localPackage = packageMap[packageName];
176
181
  skipBumpingPackageVersion = isInFixedVersionWorkspace(localPackage);
177
182
  ownBump = skipBumpingPackageVersion ? undefined : commitBumps.get(packageName);
178
183
  return [4 /*yield*/, applyDependencyVersionRewrites(localPackage, packageMap, packageGraph, userSkippedPackages)];
179
- case 9:
184
+ case 10:
180
185
  dependenciesChanged = _b.sent();
181
186
  cascadeBump = dependenciesChanged ? 'patch' : undefined;
182
187
  effectiveBump = maxBump(ownBump, cascadeBump);
183
188
  if (!effectiveBump && !dependenciesChanged) {
184
- return [3 /*break*/, 16];
189
+ return [3 /*break*/, 17];
185
190
  }
186
191
  if (effectiveBump && !skipBumpingPackageVersion) {
187
192
  currentVersion = localPackage.packageJson.version;
188
193
  // In-memory version mutation runs in plan-only too so downstream
189
194
  // packages see the right dep versions when we simulate cascades.
190
195
  localPackage.packageJson.version = semver_1.default.inc(currentVersion, effectiveBump);
191
- sourceNote = ownBump
192
- ? cascadeBump
193
- ? "own+cascade, own=".concat(ownBump)
194
- : "own=".concat(ownBump)
195
- : 'dep cascade';
196
+ sourceNote = ownBump ? (cascadeBump ? "own+cascade, own=".concat(ownBump) : "own=".concat(ownBump)) : 'dep cascade';
196
197
  planPrefix = planOnly ? 'would bump' : 'bumping';
197
198
  logger.info({
198
199
  message: "(".concat(cw.color(packageName), ") ").concat(planPrefix, " version (").concat(effectiveBump, "; ").concat(sourceNote, ") from ").concat(currentVersion, " -> ").concat(localPackage.packageJson.version),
@@ -210,54 +211,54 @@ function versionWorkspace() {
210
211
  // and the eventual syncFixedVersionWorkspaces pass. The in-memory
211
212
  // mutation above is enough to keep the simulated cascade correct for
212
213
  // the remaining packages in this loop.
213
- return [3 /*break*/, 16];
214
+ return [3 /*break*/, 17];
214
215
  }
215
- if (!(effectiveBump || dependenciesChanged)) return [3 /*break*/, 11];
216
+ if (!(effectiveBump || dependenciesChanged)) return [3 /*break*/, 12];
216
217
  return [4 /*yield*/, util_node_1.Fs.writeFiles([
217
218
  { path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) },
218
219
  ])];
219
- case 10:
220
+ case 11:
220
221
  _b.sent();
221
- _b.label = 11;
222
- case 11: return [4 /*yield*/, buildAndTest(localPackage)];
223
- case 12:
222
+ _b.label = 12;
223
+ case 12: return [4 /*yield*/, buildAndTest(localPackage)];
224
+ case 13:
224
225
  _b.sent();
225
226
  if (isInFixedVersionWorkspace(localPackage) && localPackage.workspace) {
226
227
  logger.info({
227
228
  message: "(".concat(cw.color(packageName), ") skipping version push for package in a fixed-version workspace"),
228
229
  });
229
- return [3 /*break*/, 16];
230
+ return [3 /*break*/, 17];
230
231
  }
231
- if (!shouldPublishPackage(localPackage)) return [3 /*break*/, 14];
232
+ if (!shouldPublishPackage(localPackage)) return [3 /*break*/, 15];
232
233
  return [4 /*yield*/, publish(localPackage)];
233
- case 13:
234
+ case 14:
234
235
  _b.sent();
235
- _b.label = 14;
236
- case 14: return [4 /*yield*/, pushAndTag(localPackage)];
237
- case 15:
238
- _b.sent();
239
- _b.label = 16;
236
+ _b.label = 15;
237
+ case 15: return [4 /*yield*/, pushAndTag(localPackage)];
240
238
  case 16:
241
- _i++;
242
- return [3 /*break*/, 8];
239
+ _b.sent();
240
+ _b.label = 17;
243
241
  case 17:
244
- if (!planOnly) return [3 /*break*/, 19];
245
- return [4 /*yield*/, logPlannedFixedVersionSyncs(Object.keys(fixedVersionWorkspacesToVersion), packageMap, workspaceToPackageMap)];
242
+ _i++;
243
+ return [3 /*break*/, 9];
246
244
  case 18:
245
+ if (!planOnly) return [3 /*break*/, 20];
246
+ return [4 /*yield*/, logPlannedFixedVersionSyncs(Object.keys(fixedVersionWorkspacesToVersion), packageMap, workspaceToPackageMap)];
247
+ case 19:
247
248
  _b.sent();
248
249
  logger.info({ message: "> Plan-only: skipping fixed-version sync, metarepo push, and symlink refresh" });
249
250
  logger.info({ message: "> Finished versioning workspace (".concat(workspacePath, ") [plan-only]") });
250
251
  return [2 /*return*/];
251
- case 19:
252
+ case 20:
252
253
  pushWithoutSync = true;
253
254
  return [4 /*yield*/, syncFixedVersionWorkspaces(Object.keys(fixedVersionWorkspacesToVersion), packageMap, workspaceToPackageMap, pushWithoutSync)];
254
- case 20:
255
+ case 21:
255
256
  _b.sent();
256
257
  return [4 /*yield*/, pushMetarepos(workspacePath, workspaceRootDirty)];
257
- case 21:
258
+ case 22:
258
259
  _b.sent();
259
260
  return [4 /*yield*/, symlinkWorkspace(workspacePath, filteredPackageNames, packageMap)];
260
- case 22:
261
+ case 23:
261
262
  _b.sent();
262
263
  logger.info({ message: "> Finished versioning workspace (".concat(workspacePath, ")") });
263
264
  return [2 /*return*/];
@@ -1142,7 +1143,9 @@ function publish(localPackage) {
1142
1143
  catch (_e) {
1143
1144
  /* ignore malformed URL */
1144
1145
  }
1145
- return [4 /*yield*/, retryOnNetworkError(function () { return (0, util_node_1.cmd)('npm', args, { cwd: packageDir, env: __assign({}, process.env) }, { logPrefix: "[".concat(cw.color(localPackage.name), "] ") }); }, localPackage.name, 3, 15000)];
1146
+ return [4 /*yield*/, retryOnNetworkError(function () {
1147
+ return (0, util_node_1.cmd)('npm', args, { cwd: packageDir, env: __assign({}, process.env) }, { logPrefix: "[".concat(cw.color(localPackage.name), "] ") });
1148
+ }, localPackage.name, 3, 15000)];
1146
1149
  case 3:
1147
1150
  _d.sent();
1148
1151
  logger.info({ message: "(".concat(cw.color(localPackage.name), ") published ").concat(localPackage.packageJson.version) });
@@ -1306,7 +1309,10 @@ function classifyUnpushedCommits(dir) {
1306
1309
  resolve(undefined);
1307
1310
  return;
1308
1311
  }
1309
- var commits = stdout.split('\x00').map(function (s) { return s.trim(); }).filter(function (s) { return s.length > 0; });
1312
+ var commits = stdout
1313
+ .split('\x00')
1314
+ .map(function (s) { return s.trim(); })
1315
+ .filter(function (s) { return s.length > 0; });
1310
1316
  var result;
1311
1317
  for (var _i = 0, commits_1 = commits; _i < commits_1.length; _i++) {
1312
1318
  var commit = commits_1[_i];
@@ -1375,8 +1381,12 @@ exports.evictGitLocks = evictGitLocks;
1375
1381
  function isNetworkError(error) {
1376
1382
  var _a, _b;
1377
1383
  var output = "".concat((_a = error.stdout) !== null && _a !== void 0 ? _a : '').concat((_b = error.stderr) !== null && _b !== void 0 ? _b : '');
1378
- return (/ECONNRESET/i.test(output) || /ETIMEDOUT/i.test(output) || /ENOTFOUND/i.test(output) ||
1379
- /EAI_AGAIN/i.test(output) || /ECONNREFUSED/i.test(output) || /socket hang up/i.test(output) ||
1384
+ return (/ECONNRESET/i.test(output) ||
1385
+ /ETIMEDOUT/i.test(output) ||
1386
+ /ENOTFOUND/i.test(output) ||
1387
+ /EAI_AGAIN/i.test(output) ||
1388
+ /ECONNREFUSED/i.test(output) ||
1389
+ /socket hang up/i.test(output) ||
1380
1390
  /network/i.test(output));
1381
1391
  }
1382
1392
  function retryOnNetworkError(fn, label, maxRetries, retryDelayMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"versionWorkspace.js","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versionWorkspace.js","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseMergeToMainSpec.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergeToMainSpec.test.d.ts","sourceRoot":"","sources":["../../test/parseMergeToMainSpec.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mergeToMain_1 = require("../src/mergeToMain");
4
+ describe('parseMergeToMainSpec', function () {
5
+ it('is disabled with no flag and no env', function () {
6
+ expect((0, mergeToMain_1.parseMergeToMainSpec)([]).enabled).toBe(false);
7
+ expect((0, mergeToMain_1.parseMergeToMainSpec)(['--dry-run']).enabled).toBe(false);
8
+ });
9
+ it('bare flag enables merge for all repos at branch HEAD', function () {
10
+ var spec = (0, mergeToMain_1.parseMergeToMainSpec)(['--merge-to-main']);
11
+ expect(spec.enabled).toBe(true);
12
+ expect(spec.pins.size).toBe(0);
13
+ });
14
+ it('pinned form names repos with shas', function () {
15
+ var spec = (0, mergeToMain_1.parseMergeToMainSpec)(['--merge-to-main=chat:17dda73,thought:ffdc105']);
16
+ expect(spec.enabled).toBe(true);
17
+ expect(spec.pins.get('chat')).toBe('17dda73');
18
+ expect(spec.pins.get('thought')).toBe('ffdc105');
19
+ expect(spec.pins.has('flow')).toBe(false);
20
+ });
21
+ it('bare repo name (no sha) pins the repo at its branch HEAD', function () {
22
+ var spec = (0, mergeToMain_1.parseMergeToMainSpec)(['--merge-to-main=chat,thought:abc123']);
23
+ expect(spec.pins.has('chat')).toBe(true);
24
+ expect(spec.pins.get('chat')).toBeUndefined();
25
+ expect(spec.pins.get('thought')).toBe('abc123');
26
+ });
27
+ it('repeatable flags accumulate pins', function () {
28
+ var spec = (0, mergeToMain_1.parseMergeToMainSpec)(['--merge-to-main=chat:a', '--merge-to-main=flow:b']);
29
+ expect(spec.pins.get('chat')).toBe('a');
30
+ expect(spec.pins.get('flow')).toBe('b');
31
+ });
32
+ it('env var enables when no flag is present; flag wins over env', function () {
33
+ expect((0, mergeToMain_1.parseMergeToMainSpec)([], '1').enabled).toBe(true);
34
+ expect((0, mergeToMain_1.parseMergeToMainSpec)([], 'chat:abc').pins.get('chat')).toBe('abc');
35
+ var flagWins = (0, mergeToMain_1.parseMergeToMainSpec)(['--merge-to-main=flow:x'], 'chat:abc');
36
+ expect(flagWins.pins.has('chat')).toBe(false);
37
+ expect(flagWins.pins.get('flow')).toBe('x');
38
+ });
39
+ });
40
+ //# sourceMappingURL=parseMergeToMainSpec.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergeToMainSpec.test.js","sourceRoot":"","sources":["../../test/parseMergeToMainSpec.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/build",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Workspace build tools",
5
5
  "main": "./dist/generated/index.js",
6
6
  "types": "./dist/generated/index.d.ts",
@@ -58,5 +58,5 @@
58
58
  "webpack": "5.90.0",
59
59
  "webpack-cli": "5.1.4"
60
60
  },
61
- "gitHead": "54f2c4cfd4e175de48cf0822539171d5a2d6e9c6"
61
+ "gitHead": "4c4c863d8590bb3d04c6c5f7b784e58090b01fe6"
62
62
  }
@@ -0,0 +1,187 @@
1
+ import * as path from 'path';
2
+ import { exec } from 'child_process';
3
+ import { PackageUtil, cmd, LogColorWrapper } from '@proteinjs/util-node';
4
+ import { Logger } from '@proteinjs/logger';
5
+ import { primaryLogColor, secondaryLogColor } from './logColors';
6
+
7
+ const cw = new LogColorWrapper();
8
+ const logger = new Logger({ name: cw.color('workspace:', primaryLogColor) + cw.color('merge', secondaryLogColor) });
9
+
10
+ /**
11
+ * Opt-in pre-phase for `version-workspace`: merge feature-branch work into `main` in each leaf git
12
+ * repo BEFORE versioning, so the release runs on main. Without the flag, behavior is unchanged —
13
+ * the workspace versions in place on whatever branch each repo is on (the "stay on feature
14
+ * branches and just bump deps" mode).
15
+ *
16
+ * version-workspace --merge-to-main
17
+ * Every leaf repo whose current branch != main merges its current branch HEAD into main.
18
+ *
19
+ * version-workspace --merge-to-main=chat:17dda73,thought:ffdc105
20
+ * Only the named repos (matched by git-repo directory name), each merged at the PINNED sha —
21
+ * work pushed to the feature branch after the pin simply isn't in this release. A bare name
22
+ * (no `:sha`) merges that repo's current branch HEAD.
23
+ *
24
+ * Also accepted via env: VERSION_WORKSPACE_MERGE_TO_MAIN (same syntax; `1`/`true` = bare mode).
25
+ *
26
+ * Semantics per repo: fetch; checkout main; sync with origin/main FAST-FORWARD-ONLY (never rebase
27
+ * — local main legitimately holds an unpushed merge commit on resume, and a rebase would
28
+ * linearize it; true local/origin divergence stops loudly); merge the sha with a merge commit
29
+ * (`--no-ff`). Already-merged shas are skipped (idempotent — safe to re-run after fixing a
30
+ * conflict). A conflict stops the run with the repo + conflicted files named, leaving the merge in
31
+ * progress in that repo for resolution; re-running continues past it. Repos are LEFT ON MAIN
32
+ * afterward (the feature branch itself is never modified); the workspace root/metarepos are never
33
+ * touched by this phase.
34
+ */
35
+ export type MergeToMainSpec = { enabled: boolean; pins: Map<string, string | undefined> };
36
+
37
+ export function parseMergeToMainSpec(args: string[], envValue?: string): MergeToMainSpec {
38
+ const pins = new Map<string, string | undefined>();
39
+ let enabled = false;
40
+
41
+ const consume = (value: string) => {
42
+ enabled = true;
43
+ if (value === '' || value === 'true' || value === '1') {
44
+ return; // bare mode: all repos at branch HEAD
45
+ }
46
+ for (const entry of value.split(',')) {
47
+ const trimmed = entry.trim();
48
+ if (!trimmed) {
49
+ continue;
50
+ }
51
+ const [repo, sha] = trimmed.split(':').map((s) => s.trim());
52
+ pins.set(repo, sha || undefined);
53
+ }
54
+ };
55
+
56
+ for (const arg of args) {
57
+ if (arg === '--merge-to-main') {
58
+ consume('');
59
+ } else {
60
+ const match = arg.match(/^--merge-to-main=(.*)$/);
61
+ if (match) {
62
+ consume(match[1]);
63
+ }
64
+ }
65
+ }
66
+ if (!enabled && envValue) {
67
+ consume(envValue);
68
+ }
69
+
70
+ return { enabled, pins };
71
+ }
72
+
73
+ export async function mergeToMain(workspacePath: string, spec: MergeToMainSpec, planOnly: boolean): Promise<void> {
74
+ if (!spec.enabled) {
75
+ return;
76
+ }
77
+
78
+ const repoRoots = await leafRepoRoots(workspacePath);
79
+ for (const repoRoot of repoRoots) {
80
+ const repoName = path.basename(repoRoot);
81
+ const pinned = spec.pins.size > 0;
82
+ if (pinned && !spec.pins.has(repoName)) {
83
+ continue;
84
+ }
85
+ const branch = await git(repoRoot, 'rev-parse --abbrev-ref HEAD');
86
+ const sha = spec.pins.get(repoName) ?? (branch === 'main' ? undefined : await git(repoRoot, 'rev-parse HEAD'));
87
+ if (!sha) {
88
+ // Bare mode and already on main with no pin: nothing to merge.
89
+ continue;
90
+ }
91
+
92
+ if (planOnly) {
93
+ logger.info({
94
+ message: `(${cw.color(repoName)}) would merge ${sha.slice(0, 9)} (${branch}) into main. NOTE: plan-only bump levels below reflect PRE-merge state; run with --dry-run after merging for post-merge planning.`,
95
+ });
96
+ continue;
97
+ }
98
+
99
+ await cmd('git', ['fetch', '-q'], { cwd: repoRoot }, { logPrefix: `[${cw.color(repoName)}] ` });
100
+ try {
101
+ await git(repoRoot, `cat-file -e ${sha}^{commit}`);
102
+ } catch {
103
+ throw new Error(`(${repoName}) --merge-to-main sha ${sha} is not a commit in this repo`);
104
+ }
105
+
106
+ if (branch !== 'main') {
107
+ await cmd('git', ['checkout', 'main'], { cwd: repoRoot }, { logPrefix: `[${cw.color(repoName)}] ` });
108
+ }
109
+ // Sync local main with origin FAST-FORWARD-ONLY — never rebase: after a prior run of this
110
+ // phase, local main legitimately holds an UNPUSHED MERGE COMMIT, and a rebase would linearize
111
+ // it (replaying every branch commit, usually into conflicts). Ahead-of-origin is the normal
112
+ // resume state and is fine; true divergence (local merge AND origin moved) is abnormal —
113
+ // stop loudly rather than guess.
114
+ try {
115
+ await cmd(
116
+ 'git',
117
+ ['merge', '--ff-only', 'origin/main'],
118
+ { cwd: repoRoot },
119
+ { logPrefix: `[${cw.color(repoName)}] ` }
120
+ );
121
+ } catch {
122
+ const originIsAncestor = await git(repoRoot, 'merge-base --is-ancestor origin/main HEAD')
123
+ .then(() => true)
124
+ .catch(() => false);
125
+ if (!originIsAncestor) {
126
+ throw new Error(
127
+ `(${repoName}) local main and origin/main have DIVERGED (local holds unpushed commits AND origin moved). ` +
128
+ `Reconcile manually (e.g. merge origin/main into main), then re-run.`
129
+ );
130
+ }
131
+ logger.info({
132
+ message: `(${cw.color(repoName)}) local main is ahead of origin (unpushed merge from a prior run) — continuing`,
133
+ });
134
+ }
135
+
136
+ const alreadyMerged = await git(repoRoot, `merge-base --is-ancestor ${sha} HEAD`)
137
+ .then(() => true)
138
+ .catch(() => false);
139
+ if (alreadyMerged) {
140
+ logger.info({ message: `(${cw.color(repoName)}) ${sha.slice(0, 9)} already on main — skipping merge` });
141
+ continue;
142
+ }
143
+
144
+ logger.info({ message: `(${cw.color(repoName)}) merging ${sha.slice(0, 9)} (${branch}) into main` });
145
+ try {
146
+ await cmd(
147
+ 'git',
148
+ [
149
+ 'merge',
150
+ '--no-ff',
151
+ '-m',
152
+ `merge: ${branch} @ ${sha.slice(0, 9)} -> main (version-workspace --merge-to-main)`,
153
+ sha,
154
+ ],
155
+ { cwd: repoRoot },
156
+ { logPrefix: `[${cw.color(repoName)}] ` }
157
+ );
158
+ } catch (error) {
159
+ const conflicted = await git(repoRoot, 'diff --name-only --diff-filter=U').catch(() => '');
160
+ throw new Error(
161
+ `(${repoName}) merge of ${sha.slice(0, 9)} into main has conflicts: [${conflicted.split('\n').filter(Boolean).join(', ')}]. ` +
162
+ `Resolve + commit the merge in ${repoRoot}, then re-run — already-merged repos are skipped.`
163
+ );
164
+ }
165
+ }
166
+ }
167
+
168
+ /** Unique git-repo roots that directly contain workspace packages — never the workspace root. */
169
+ async function leafRepoRoots(workspacePath: string): Promise<string[]> {
170
+ const { packageMap, sortedPackageNames } = await PackageUtil.getWorkspaceMetadata(workspacePath);
171
+ const roots = new Set<string>();
172
+ for (const packageName of sortedPackageNames) {
173
+ const localPackage = packageMap[packageName];
174
+ const packageDir = path.dirname(localPackage.filePath);
175
+ const repoRoot = await git(packageDir, 'rev-parse --show-toplevel').catch(() => undefined);
176
+ if (repoRoot && path.resolve(repoRoot) !== path.resolve(workspacePath)) {
177
+ roots.add(repoRoot);
178
+ }
179
+ }
180
+ return Array.from(roots).sort();
181
+ }
182
+
183
+ function git(cwd: string, args: string): Promise<string> {
184
+ return new Promise((resolve, reject) => {
185
+ exec(`git ${args}`, { cwd }, (error, stdout) => (error ? reject(error) : resolve(stdout.trim())));
186
+ });
187
+ }
@@ -6,6 +6,7 @@ import semver from 'semver';
6
6
  import { Commit } from './Github';
7
7
  import { primaryLogColor, secondaryLogColor } from './logColors';
8
8
  import { hasLintConfig } from './lintWorkspace';
9
+ import { mergeToMain, parseMergeToMainSpec } from './mergeToMain';
9
10
 
10
11
  const cw = new LogColorWrapper();
11
12
  const logger = new Logger({ name: cw.color('workspace:', primaryLogColor) + cw.color('version', secondaryLogColor) });
@@ -25,6 +26,13 @@ export async function versionWorkspace() {
25
26
  }
26
27
  const workspacePath = process.cwd();
27
28
  await evictGitLocks(workspacePath);
29
+
30
+ // Opt-in pre-phase: merge feature-branch work into main per leaf repo before versioning (see
31
+ // mergeToMain.ts). Default (no flag) is unchanged: version in place on each repo's current
32
+ // branch. Repos this phase touches are left ON MAIN; feature branches are never modified.
33
+ const mergeSpec = parseMergeToMainSpec(process.argv.slice(2), process.env.VERSION_WORKSPACE_MERGE_TO_MAIN);
34
+ await mergeToMain(workspacePath, mergeSpec, planOnly);
35
+
28
36
  const workspaceRootDirty = await isRepoDirty(workspacePath);
29
37
  if (workspaceRootDirty) {
30
38
  logger.info({ message: `> Workspace root is dirty, will skip pull/push for root repo` });
@@ -113,11 +121,7 @@ export async function versionWorkspace() {
113
121
  // In-memory version mutation runs in plan-only too so downstream
114
122
  // packages see the right dep versions when we simulate cascades.
115
123
  localPackage.packageJson.version = semver.inc(currentVersion, effectiveBump);
116
- const sourceNote = ownBump
117
- ? cascadeBump
118
- ? `own+cascade, own=${ownBump}`
119
- : `own=${ownBump}`
120
- : 'dep cascade';
124
+ const sourceNote = ownBump ? (cascadeBump ? `own+cascade, own=${ownBump}` : `own=${ownBump}`) : 'dep cascade';
121
125
  const planPrefix = planOnly ? 'would bump' : 'bumping';
122
126
  logger.info({
123
127
  message: `(${cw.color(packageName)}) ${planPrefix} version (${effectiveBump}; ${sourceNote}) from ${currentVersion} -> ${localPackage.packageJson.version}`,
@@ -392,10 +396,7 @@ async function applyDependencyVersionRewrites(
392
396
  * This is the input to `computeCommitLeaves` and to the per-package bump-level
393
397
  * combine in the main loop.
394
398
  */
395
- async function scanCommitBumps(
396
- packageNames: string[],
397
- packageMap: LocalPackageMap
398
- ): Promise<Map<string, CommitBump>> {
399
+ async function scanCommitBumps(packageNames: string[], packageMap: LocalPackageMap): Promise<Map<string, CommitBump>> {
399
400
  const result = new Map<string, CommitBump>();
400
401
  for (const packageName of packageNames) {
401
402
  const localPackage = packageMap[packageName];
@@ -911,7 +912,13 @@ async function publish(localPackage: LocalPackage) {
911
912
  }
912
913
 
913
914
  await retryOnNetworkError(
914
- () => cmd('npm', args, { cwd: packageDir, env: { ...process.env } }, { logPrefix: `[${cw.color(localPackage.name)}] ` }),
915
+ () =>
916
+ cmd(
917
+ 'npm',
918
+ args,
919
+ { cwd: packageDir, env: { ...process.env } },
920
+ { logPrefix: `[${cw.color(localPackage.name)}] ` }
921
+ ),
915
922
  localPackage.name,
916
923
  3,
917
924
  15_000
@@ -1057,7 +1064,10 @@ export async function classifyUnpushedCommits(dir: string): Promise<CommitBump |
1057
1064
  resolve(undefined);
1058
1065
  return;
1059
1066
  }
1060
- const commits = stdout.split('\x00').map((s) => s.trim()).filter((s) => s.length > 0);
1067
+ const commits = stdout
1068
+ .split('\x00')
1069
+ .map((s) => s.trim())
1070
+ .filter((s) => s.length > 0);
1061
1071
  let result: CommitBump | undefined;
1062
1072
  for (const commit of commits) {
1063
1073
  result = maxBump(result, classifyCommitMessage(commit));
@@ -1114,8 +1124,12 @@ export async function evictGitLocks(workspacePath: string) {
1114
1124
  function isNetworkError(error: any): boolean {
1115
1125
  const output = `${error.stdout ?? ''}${error.stderr ?? ''}`;
1116
1126
  return (
1117
- /ECONNRESET/i.test(output) || /ETIMEDOUT/i.test(output) || /ENOTFOUND/i.test(output) ||
1118
- /EAI_AGAIN/i.test(output) || /ECONNREFUSED/i.test(output) || /socket hang up/i.test(output) ||
1127
+ /ECONNRESET/i.test(output) ||
1128
+ /ETIMEDOUT/i.test(output) ||
1129
+ /ENOTFOUND/i.test(output) ||
1130
+ /EAI_AGAIN/i.test(output) ||
1131
+ /ECONNREFUSED/i.test(output) ||
1132
+ /socket hang up/i.test(output) ||
1119
1133
  /network/i.test(output)
1120
1134
  );
1121
1135
  }
@@ -0,0 +1,43 @@
1
+ import { parseMergeToMainSpec } from '../src/mergeToMain';
2
+
3
+ describe('parseMergeToMainSpec', () => {
4
+ it('is disabled with no flag and no env', () => {
5
+ expect(parseMergeToMainSpec([]).enabled).toBe(false);
6
+ expect(parseMergeToMainSpec(['--dry-run']).enabled).toBe(false);
7
+ });
8
+
9
+ it('bare flag enables merge for all repos at branch HEAD', () => {
10
+ const spec = parseMergeToMainSpec(['--merge-to-main']);
11
+ expect(spec.enabled).toBe(true);
12
+ expect(spec.pins.size).toBe(0);
13
+ });
14
+
15
+ it('pinned form names repos with shas', () => {
16
+ const spec = parseMergeToMainSpec(['--merge-to-main=chat:17dda73,thought:ffdc105']);
17
+ expect(spec.enabled).toBe(true);
18
+ expect(spec.pins.get('chat')).toBe('17dda73');
19
+ expect(spec.pins.get('thought')).toBe('ffdc105');
20
+ expect(spec.pins.has('flow')).toBe(false);
21
+ });
22
+
23
+ it('bare repo name (no sha) pins the repo at its branch HEAD', () => {
24
+ const spec = parseMergeToMainSpec(['--merge-to-main=chat,thought:abc123']);
25
+ expect(spec.pins.has('chat')).toBe(true);
26
+ expect(spec.pins.get('chat')).toBeUndefined();
27
+ expect(spec.pins.get('thought')).toBe('abc123');
28
+ });
29
+
30
+ it('repeatable flags accumulate pins', () => {
31
+ const spec = parseMergeToMainSpec(['--merge-to-main=chat:a', '--merge-to-main=flow:b']);
32
+ expect(spec.pins.get('chat')).toBe('a');
33
+ expect(spec.pins.get('flow')).toBe('b');
34
+ });
35
+
36
+ it('env var enables when no flag is present; flag wins over env', () => {
37
+ expect(parseMergeToMainSpec([], '1').enabled).toBe(true);
38
+ expect(parseMergeToMainSpec([], 'chat:abc').pins.get('chat')).toBe('abc');
39
+ const flagWins = parseMergeToMainSpec(['--merge-to-main=flow:x'], 'chat:abc');
40
+ expect(flagWins.pins.has('chat')).toBe(false);
41
+ expect(flagWins.pins.get('flow')).toBe('x');
42
+ });
43
+ });