@proteinjs/build 1.7.0 → 1.8.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,23 @@
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
+ # [1.8.0](https://github.com/proteinjs/build/compare/@proteinjs/build@1.7.0...@proteinjs/build@1.8.0) (2026-04-13)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * use Promise<any> for retryOnNetworkError fn param to match cmd return type ([b843193](https://github.com/proteinjs/build/commit/b843193252062142c009e3116b19f4666355c252))
12
+
13
+
14
+ ### Features
15
+
16
+ * add git lock eviction, feature-aware minor bumps, and dirty root repo skip ([678720a](https://github.com/proteinjs/build/commit/678720a9efc2c9ccdd73534033f913d965ee6f43))
17
+ * retry npm install and publish on transient network errors ([d1e9502](https://github.com/proteinjs/build/commit/d1e9502fe4e57dfe661724a6aae41fa40584f86f))
18
+
19
+
20
+
21
+
22
+
6
23
  # [1.7.0](https://github.com/proteinjs/build/compare/@proteinjs/build@1.6.6...@proteinjs/build@1.7.0) (2026-04-09)
7
24
 
8
25
 
@@ -1,2 +1,3 @@
1
1
  export declare function versionWorkspace(): Promise<void>;
2
+ export declare function evictGitLocks(workspacePath: string): Promise<void>;
2
3
  //# sourceMappingURL=versionWorkspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"AAaA,wBAAsB,gBAAgB,kBAiErC"}
1
+ {"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"AAaA,wBAAsB,gBAAgB,kBAsErC;AAqnBD,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,iBAUxD"}
@@ -82,7 +82,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
82
82
  return (mod && mod.__esModule) ? mod : { "default": mod };
83
83
  };
84
84
  Object.defineProperty(exports, "__esModule", { value: true });
85
- exports.versionWorkspace = void 0;
85
+ exports.evictGitLocks = exports.versionWorkspace = void 0;
86
86
  var path = __importStar(require("path"));
87
87
  var child_process_1 = require("child_process");
88
88
  var util_node_1 = require("@proteinjs/util-node");
@@ -95,7 +95,7 @@ var logger = new logger_1.Logger({ name: cw.color('workspace:', logColors_1.prim
95
95
  var fixedVersionWorkspacesToVersion = {};
96
96
  function versionWorkspace() {
97
97
  return __awaiter(this, void 0, void 0, function () {
98
- var dryRun, workspacePath, _a, packageMap, packageGraph, sortedPackageNames, workspaceToPackageMap, skippedPackages, filteredPackageNames, _i, filteredPackageNames_1, packageName, localPackage, skipBumpingPackageVersion, dependenciesChanged, pushWithoutSync;
98
+ var dryRun, workspacePath, workspaceRootDirty, _a, packageMap, packageGraph, sortedPackageNames, workspaceToPackageMap, skippedPackages, filteredPackageNames, _i, filteredPackageNames_1, packageName, localPackage, skipBumpingPackageVersion, dependenciesChanged, pushWithoutSync;
99
99
  return __generator(this, function (_b) {
100
100
  switch (_b.label) {
101
101
  case 0:
@@ -104,15 +104,24 @@ function versionWorkspace() {
104
104
  logger.info({ message: 'Dry run mode enabled. Publish and push operations will be skipped.' });
105
105
  }
106
106
  workspacePath = process.cwd();
107
- if (!dryRun) return [3 /*break*/, 1];
108
- logger.info({ message: "> Dry run: skipping pullWorkspace for (".concat(workspacePath, ")") });
109
- return [3 /*break*/, 3];
110
- case 1: return [4 /*yield*/, pullWorkspace(workspacePath)];
111
- case 2:
107
+ return [4 /*yield*/, evictGitLocks(workspacePath)];
108
+ case 1:
112
109
  _b.sent();
113
- _b.label = 3;
114
- case 3: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
110
+ return [4 /*yield*/, isRepoDirty(workspacePath)];
111
+ case 2:
112
+ workspaceRootDirty = _b.sent();
113
+ if (workspaceRootDirty) {
114
+ logger.info({ message: "> Workspace root is dirty, will skip pull/push for root repo" });
115
+ }
116
+ if (!dryRun) return [3 /*break*/, 3];
117
+ logger.info({ message: "> Dry run: skipping pullWorkspace for (".concat(workspacePath, ")") });
118
+ return [3 /*break*/, 5];
119
+ case 3: return [4 /*yield*/, pullWorkspace(workspacePath, workspaceRootDirty)];
115
120
  case 4:
121
+ _b.sent();
122
+ _b.label = 5;
123
+ case 5: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
124
+ case 6:
116
125
  _a = _b.sent(), packageMap = _a.packageMap, packageGraph = _a.packageGraph, sortedPackageNames = _a.sortedPackageNames, workspaceToPackageMap = _a.workspaceToPackageMap;
117
126
  skippedPackages = ['root', 'typescript-parser'];
118
127
  filteredPackageNames = sortedPackageNames.filter(function (packageName) {
@@ -124,50 +133,50 @@ function versionWorkspace() {
124
133
  });
125
134
  logger.info({ message: "> Versioning workspace (".concat(workspacePath, ")") });
126
135
  _i = 0, filteredPackageNames_1 = filteredPackageNames;
127
- _b.label = 5;
128
- case 5:
129
- if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/, 12];
136
+ _b.label = 7;
137
+ case 7:
138
+ if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/, 14];
130
139
  packageName = filteredPackageNames_1[_i];
131
140
  localPackage = packageMap[packageName];
132
141
  skipBumpingPackageVersion = isInFixedVersionWorkspace(localPackage);
133
142
  return [4 /*yield*/, bumpDependencies(localPackage, packageMap, packageGraph, skipBumpingPackageVersion)];
134
- case 6:
143
+ case 8:
135
144
  dependenciesChanged = _b.sent();
136
145
  if (!dependenciesChanged) {
137
- return [3 /*break*/, 11];
146
+ return [3 /*break*/, 13];
138
147
  }
139
148
  return [4 /*yield*/, buildAndTest(localPackage)];
140
- case 7:
149
+ case 9:
141
150
  _b.sent();
142
151
  if (isInFixedVersionWorkspace(localPackage) && localPackage.workspace) {
143
152
  fixedVersionWorkspacesToVersion[localPackage.workspace.path] = true;
144
153
  logger.info({
145
154
  message: "(".concat(cw.color(packageName), ") skipping version push for package in a fixed-version workspace"),
146
155
  });
147
- return [3 /*break*/, 11];
156
+ return [3 /*break*/, 13];
148
157
  }
149
- if (!shouldPublishPackage(localPackage)) return [3 /*break*/, 9];
158
+ if (!shouldPublishPackage(localPackage)) return [3 /*break*/, 11];
150
159
  return [4 /*yield*/, publish(localPackage)];
151
- case 8:
152
- _b.sent();
153
- _b.label = 9;
154
- case 9: return [4 /*yield*/, pushAndTag(localPackage)];
155
160
  case 10:
156
161
  _b.sent();
157
162
  _b.label = 11;
158
- case 11:
159
- _i++;
160
- return [3 /*break*/, 5];
163
+ case 11: return [4 /*yield*/, pushAndTag(localPackage)];
161
164
  case 12:
165
+ _b.sent();
166
+ _b.label = 13;
167
+ case 13:
168
+ _i++;
169
+ return [3 /*break*/, 7];
170
+ case 14:
162
171
  pushWithoutSync = true;
163
172
  return [4 /*yield*/, syncFixedVersionWorkspaces(Object.keys(fixedVersionWorkspacesToVersion), packageMap, workspaceToPackageMap, pushWithoutSync)];
164
- case 13:
173
+ case 15:
165
174
  _b.sent();
166
- return [4 /*yield*/, pushMetarepos(workspacePath)];
167
- case 14:
175
+ return [4 /*yield*/, pushMetarepos(workspacePath, workspaceRootDirty)];
176
+ case 16:
168
177
  _b.sent();
169
178
  return [4 /*yield*/, symlinkWorkspace(workspacePath, filteredPackageNames, packageMap)];
170
- case 15:
179
+ case 17:
171
180
  _b.sent();
172
181
  logger.info({ message: "> Finished versioning workspace (".concat(workspacePath, ")") });
173
182
  return [2 /*return*/];
@@ -208,9 +217,10 @@ function getGitRepoRoot(dir) {
208
217
  });
209
218
  });
210
219
  }
211
- function pullWorkspace(workspacePath) {
220
+ function pullWorkspace(workspacePath, skipRootRepo) {
221
+ if (skipRootRepo === void 0) { skipRootRepo = false; }
212
222
  return __awaiter(this, void 0, void 0, function () {
213
- var _a, packageMap, sortedPackageNames, filteredPackageNames, pulledRepoRoots, _i, filteredPackageNames_2, packageName, localPackage, packageDir, repoRoot, repoName;
223
+ var _a, packageMap, sortedPackageNames, filteredPackageNames, pulledRepoRoots, _i, filteredPackageNames_2, packageName, localPackage, packageDir, repoRoot, repoName_1, repoName;
214
224
  return __generator(this, function (_b) {
215
225
  switch (_b.label) {
216
226
  case 0: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
@@ -239,6 +249,11 @@ function pullWorkspace(workspacePath) {
239
249
  return [3 /*break*/, 5];
240
250
  }
241
251
  pulledRepoRoots.add(repoRoot);
252
+ if (skipRootRepo && path.resolve(repoRoot) === path.resolve(workspacePath)) {
253
+ repoName_1 = path.basename(repoRoot);
254
+ logger.info({ message: "(".concat(cw.color(repoName_1), ") skipping pull for dirty workspace root repo") });
255
+ return [3 /*break*/, 5];
256
+ }
242
257
  repoName = path.basename(repoRoot);
243
258
  logger.info({ message: "(".concat(cw.color(repoName), ") pulling latest changes") });
244
259
  return [4 /*yield*/, (0, util_node_1.cmd)('git', ['pull'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
@@ -259,7 +274,7 @@ function pullWorkspace(workspacePath) {
259
274
  function bumpDependencies(localPackage, packageMap, packageGraph, skipBumpingPackageVersion) {
260
275
  if (skipBumpingPackageVersion === void 0) { skipBumpingPackageVersion = false; }
261
276
  return __awaiter(this, void 0, void 0, function () {
262
- var localDependencies, dependenciesChanged, _i, localDependencies_1, localDependency, localDependencyPackage, localDependencyVersion, currentDependencyVersion, newDependencyVersion, currentVersion;
277
+ var localDependencies, dependenciesChanged, _i, localDependencies_1, localDependency, localDependencyPackage, localDependencyVersion, currentDependencyVersion, newDependencyVersion, currentVersion, packageDir, bump;
263
278
  return __generator(this, function (_a) {
264
279
  switch (_a.label) {
265
280
  case 0:
@@ -289,19 +304,23 @@ function bumpDependencies(localPackage, packageMap, packageGraph, skipBumpingPac
289
304
  setDependencyVersion(localDependency, currentDependencyVersion, newDependencyVersion, localPackage);
290
305
  dependenciesChanged = true;
291
306
  }
292
- if (!dependenciesChanged) return [3 /*break*/, 2];
293
- if (!skipBumpingPackageVersion) {
294
- currentVersion = localPackage.packageJson.version;
295
- localPackage.packageJson.version = semver_1.default.inc(currentVersion, 'patch');
296
- logger.info({
297
- message: "(".concat(cw.color(localPackage.name), ") bumping version from ").concat(currentVersion, " -> ").concat(localPackage.packageJson.version),
298
- });
299
- }
300
- return [4 /*yield*/, util_node_1.Fs.writeFiles([{ path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) }])];
307
+ if (!dependenciesChanged) return [3 /*break*/, 4];
308
+ if (!!skipBumpingPackageVersion) return [3 /*break*/, 2];
309
+ currentVersion = localPackage.packageJson.version;
310
+ packageDir = path.dirname(localPackage.filePath);
311
+ return [4 /*yield*/, hasFeatureCommits(packageDir)];
301
312
  case 1:
302
- _a.sent();
313
+ bump = (_a.sent()) ? 'minor' : 'patch';
314
+ localPackage.packageJson.version = semver_1.default.inc(currentVersion, bump);
315
+ logger.info({
316
+ message: "(".concat(cw.color(localPackage.name), ") bumping version (").concat(bump, ") from ").concat(currentVersion, " -> ").concat(localPackage.packageJson.version),
317
+ });
303
318
  _a.label = 2;
304
- case 2: return [2 /*return*/, dependenciesChanged];
319
+ case 2: return [4 /*yield*/, util_node_1.Fs.writeFiles([{ path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) }])];
320
+ case 3:
321
+ _a.sent();
322
+ _a.label = 4;
323
+ case 4: return [2 /*return*/, dependenciesChanged];
305
324
  }
306
325
  });
307
326
  });
@@ -390,7 +409,7 @@ function syncFixedVersionWorkspaces(fixedVersionWorkspacePaths, packageMap, work
390
409
  function syncFixedVersions(workspacePath, localPackages) {
391
410
  var _a;
392
411
  return __awaiter(this, void 0, void 0, function () {
393
- var lernaJson, highestVersion, syncedFixedVersions, _i, localPackages_1, localPackage, currentVersion, lernaJsonPath;
412
+ var lernaJson, bump, highestVersion, syncedFixedVersions, _i, localPackages_1, localPackage, currentVersion, lernaJsonPath;
394
413
  return __generator(this, function (_b) {
395
414
  switch (_b.label) {
396
415
  case 0:
@@ -398,41 +417,44 @@ function syncFixedVersions(workspacePath, localPackages) {
398
417
  if (!lernaJson) {
399
418
  throw new Error("Cannot find lerna.json for workspace: ".concat(workspacePath));
400
419
  }
401
- highestVersion = semver_1.default.inc(lernaJson.version, 'patch');
420
+ return [4 /*yield*/, hasFeatureCommits(workspacePath)];
421
+ case 1:
422
+ bump = (_b.sent()) ? 'minor' : 'patch';
423
+ highestVersion = semver_1.default.inc(lernaJson.version, bump);
402
424
  if (!highestVersion) {
403
425
  throw new Error("Lerna version not specified for workspace: ".concat(workspacePath));
404
426
  }
405
427
  syncedFixedVersions = false;
406
428
  _i = 0, localPackages_1 = localPackages;
407
- _b.label = 1;
408
- case 1:
409
- if (!(_i < localPackages_1.length)) return [3 /*break*/, 4];
429
+ _b.label = 2;
430
+ case 2:
431
+ if (!(_i < localPackages_1.length)) return [3 /*break*/, 5];
410
432
  localPackage = localPackages_1[_i];
411
433
  currentVersion = localPackage.packageJson.version;
412
434
  if (currentVersion === highestVersion) {
413
- return [3 /*break*/, 3];
435
+ return [3 /*break*/, 4];
414
436
  }
415
437
  localPackage.packageJson.version = highestVersion;
416
438
  logger.info({
417
439
  message: "(".concat(cw.color(localPackage.name), ") bumping version from ").concat(currentVersion, " -> ").concat(localPackage.packageJson.version),
418
440
  });
419
441
  return [4 /*yield*/, util_node_1.Fs.writeFiles([{ path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) }])];
420
- case 2:
442
+ case 3:
421
443
  _b.sent();
422
444
  syncedFixedVersions = true;
423
- _b.label = 3;
424
- case 3:
425
- _i++;
426
- return [3 /*break*/, 1];
445
+ _b.label = 4;
427
446
  case 4:
428
- if (!syncedFixedVersions) return [3 /*break*/, 6];
447
+ _i++;
448
+ return [3 /*break*/, 2];
449
+ case 5:
450
+ if (!syncedFixedVersions) return [3 /*break*/, 7];
429
451
  lernaJsonPath = path.join(workspacePath, 'lerna.json');
430
452
  lernaJson.version = highestVersion;
431
453
  return [4 /*yield*/, util_node_1.Fs.writeFiles([{ path: lernaJsonPath, content: JSON.stringify(lernaJson, null, 2) }])];
432
- case 5:
454
+ case 6:
433
455
  _b.sent();
434
- _b.label = 6;
435
- case 6: return [2 /*return*/, syncedFixedVersions ? highestVersion : false];
456
+ _b.label = 7;
457
+ case 7: return [2 /*return*/, syncedFixedVersions ? highestVersion : false];
436
458
  }
437
459
  });
438
460
  });
@@ -440,7 +462,7 @@ function syncFixedVersions(workspacePath, localPackages) {
440
462
  function installWithRetry(localPackage, packageDir) {
441
463
  var _a, _b;
442
464
  return __awaiter(this, void 0, void 0, function () {
443
- var maxRetries, retryDelayMs, attempt, error_1, output, isRegistryPropagationError;
465
+ var maxRetries, retryDelayMs, attempt, error_1, output, isRegistryPropagationError, isRetryable, reason;
444
466
  return __generator(this, function (_c) {
445
467
  switch (_c.label) {
446
468
  case 0:
@@ -461,11 +483,13 @@ function installWithRetry(localPackage, packageDir) {
461
483
  error_1 = _c.sent();
462
484
  output = "".concat((_a = error_1.stdout) !== null && _a !== void 0 ? _a : '').concat((_b = error_1.stderr) !== null && _b !== void 0 ? _b : '');
463
485
  isRegistryPropagationError = /No matching version found/i.test(output) || /ETARGET/i.test(output) || /404 Not Found/i.test(output);
464
- if (!isRegistryPropagationError || attempt === maxRetries) {
486
+ isRetryable = isRegistryPropagationError || isNetworkError(error_1);
487
+ if (!isRetryable || attempt === maxRetries) {
465
488
  throw error_1;
466
489
  }
490
+ reason = isRegistryPropagationError ? 'dependency not yet available on registry' : 'network error';
467
491
  logger.info({
468
- message: "(".concat(cw.color(localPackage.name), ") dependency not yet available on registry, retrying install (attempt ").concat(attempt, "/").concat(maxRetries, ", next retry in ").concat(retryDelayMs / 1000, "s)"),
492
+ message: "(".concat(cw.color(localPackage.name), ") ").concat(reason, ", retrying install (attempt ").concat(attempt, "/").concat(maxRetries, ", next retry in ").concat(retryDelayMs / 1000, "s)"),
469
493
  });
470
494
  return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, retryDelayMs); })];
471
495
  case 5:
@@ -597,15 +621,15 @@ function pushAndTagFixedVersionRepo(dir, version, skipTagging, skipCi) {
597
621
  if (skipTagging === void 0) { skipTagging = false; }
598
622
  if (skipCi === void 0) { skipCi = true; }
599
623
  return __awaiter(this, void 0, void 0, function () {
600
- var dryRun, repoName_1, repoName, latestCommitSha, repoInfo, commit, tagName;
624
+ var dryRun, repoName_2, repoName, latestCommitSha, repoInfo, commit, tagName;
601
625
  return __generator(this, function (_a) {
602
626
  switch (_a.label) {
603
627
  case 0:
604
628
  dryRun = isDryRun();
605
629
  if (dryRun) {
606
- repoName_1 = path.basename(dir.endsWith(path.sep) ? dir.slice(0, -1) : dir);
630
+ repoName_2 = path.basename(dir.endsWith(path.sep) ? dir.slice(0, -1) : dir);
607
631
  logger.info({
608
- message: "(".concat(cw.color(repoName_1), ") Dry run: skipping git add/commit/push").concat(version ? " for version ".concat(version) : ''),
632
+ message: "(".concat(cw.color(repoName_2), ") Dry run: skipping git add/commit/push").concat(version ? " for version ".concat(version) : ''),
609
633
  });
610
634
  return [2 /*return*/, undefined];
611
635
  }
@@ -654,9 +678,10 @@ function pushAndTagFixedVersionRepo(dir, version, skipTagging, skipCi) {
654
678
  });
655
679
  });
656
680
  }
657
- function pushMetarepos(dir) {
681
+ function pushMetarepos(dir, skipRootRepo) {
682
+ if (skipRootRepo === void 0) { skipRootRepo = false; }
658
683
  return __awaiter(this, void 0, void 0, function () {
659
- var metarepoPaths, _i, metarepoPaths_1, metarepoPath;
684
+ var metarepoPaths, _i, metarepoPaths_1, metarepoPath, repoName;
660
685
  return __generator(this, function (_a) {
661
686
  switch (_a.label) {
662
687
  case 0: return [4 /*yield*/, util_node_1.Fs.getFilePathsMatchingGlob(dir, '**/.gitmodules', ['**/node_modules/**', '**/dist/**'])];
@@ -669,6 +694,11 @@ function pushMetarepos(dir) {
669
694
  case 2:
670
695
  if (!(_i < metarepoPaths_1.length)) return [3 /*break*/, 5];
671
696
  metarepoPath = metarepoPaths_1[_i];
697
+ if (skipRootRepo && path.resolve(metarepoPath) === path.resolve(dir)) {
698
+ repoName = path.basename(metarepoPath);
699
+ logger.info({ message: "(".concat(cw.color(repoName), ") skipping dirty workspace root repo") });
700
+ return [3 /*break*/, 4];
701
+ }
672
702
  return [4 /*yield*/, pushMetarepo(metarepoPath)];
673
703
  case 3:
674
704
  _a.sent();
@@ -683,15 +713,15 @@ function pushMetarepos(dir) {
683
713
  }
684
714
  function pushMetarepo(dir) {
685
715
  return __awaiter(this, void 0, void 0, function () {
686
- var dryRun, repoName_2, repoName;
716
+ var dryRun, repoName_3, repoName;
687
717
  return __generator(this, function (_a) {
688
718
  switch (_a.label) {
689
719
  case 0:
690
720
  dryRun = isDryRun();
691
721
  if (dryRun) {
692
- repoName_2 = path.basename(dir.endsWith(path.sep) ? dir.slice(0, -1) : dir);
722
+ repoName_3 = path.basename(dir.endsWith(path.sep) ? dir.slice(0, -1) : dir);
693
723
  logger.info({
694
- message: "(".concat(cw.color(repoName_2), ") Dry run: skipping metarepo commit/push for ").concat(dir),
724
+ message: "(".concat(cw.color(repoName_3), ") Dry run: skipping metarepo commit/push for ").concat(dir),
695
725
  });
696
726
  return [2 /*return*/];
697
727
  }
@@ -828,7 +858,7 @@ function publish(localPackage) {
828
858
  catch (_e) {
829
859
  /* ignore malformed URL */
830
860
  }
831
- return [4 /*yield*/, (0, util_node_1.cmd)('npm', args, { cwd: packageDir, env: __assign({}, process.env) }, { logPrefix: "[".concat(cw.color(localPackage.name), "] ") })];
861
+ 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)];
832
862
  case 3:
833
863
  _d.sent();
834
864
  logger.info({ message: "(".concat(cw.color(localPackage.name), ") published ").concat(localPackage.packageJson.version) });
@@ -902,4 +932,105 @@ function getPublishRegistry(publishConfig) {
902
932
  }
903
933
  return 'https://registry.npmjs.org/';
904
934
  }
935
+ function isRepoDirty(dir) {
936
+ return __awaiter(this, void 0, void 0, function () {
937
+ return __generator(this, function (_a) {
938
+ return [2 /*return*/, new Promise(function (resolve) {
939
+ (0, child_process_1.exec)('git diff --ignore-submodules HEAD', { cwd: dir }, function (error, stdout) {
940
+ if (error) {
941
+ resolve(false);
942
+ return;
943
+ }
944
+ resolve(stdout.trim().length > 0);
945
+ });
946
+ })];
947
+ });
948
+ });
949
+ }
950
+ function hasFeatureCommits(dir) {
951
+ return __awaiter(this, void 0, void 0, function () {
952
+ return __generator(this, function (_a) {
953
+ return [2 /*return*/, new Promise(function (resolve) {
954
+ (0, child_process_1.exec)('git log @{u}..HEAD --oneline', { cwd: dir }, function (error, stdout) {
955
+ if (error || !stdout.trim()) {
956
+ resolve(false);
957
+ return;
958
+ }
959
+ var hasFeature = stdout.split('\n').some(function (line) { return /^[a-f0-9]+\s+feat[\s(:]/i.test(line); });
960
+ resolve(hasFeature);
961
+ });
962
+ })];
963
+ });
964
+ });
965
+ }
966
+ function evictGitLocks(workspacePath) {
967
+ return __awaiter(this, void 0, void 0, function () {
968
+ var gitDir, lockFiles;
969
+ return __generator(this, function (_a) {
970
+ switch (_a.label) {
971
+ case 0:
972
+ gitDir = path.join(workspacePath, '.git');
973
+ return [4 /*yield*/, util_node_1.Fs.getFilePathsMatchingGlob(gitDir, '**/*.lock')];
974
+ case 1:
975
+ lockFiles = _a.sent();
976
+ if (lockFiles.length === 0) {
977
+ return [2 /*return*/];
978
+ }
979
+ logger.info({ message: "> Evicting ".concat(lockFiles.length, " git lock file(s) from workspace") });
980
+ return [4 /*yield*/, util_node_1.Fs.deleteFiles(lockFiles)];
981
+ case 2:
982
+ _a.sent();
983
+ logger.info({ message: "> Evicted git lock files" });
984
+ return [2 /*return*/];
985
+ }
986
+ });
987
+ });
988
+ }
989
+ exports.evictGitLocks = evictGitLocks;
990
+ function isNetworkError(error) {
991
+ var _a, _b;
992
+ var output = "".concat((_a = error.stdout) !== null && _a !== void 0 ? _a : '').concat((_b = error.stderr) !== null && _b !== void 0 ? _b : '');
993
+ return (/ECONNRESET/i.test(output) || /ETIMEDOUT/i.test(output) || /ENOTFOUND/i.test(output) ||
994
+ /EAI_AGAIN/i.test(output) || /ECONNREFUSED/i.test(output) || /socket hang up/i.test(output) ||
995
+ /network/i.test(output));
996
+ }
997
+ function retryOnNetworkError(fn, label, maxRetries, retryDelayMs) {
998
+ if (maxRetries === void 0) { maxRetries = 3; }
999
+ if (retryDelayMs === void 0) { retryDelayMs = 15000; }
1000
+ return __awaiter(this, void 0, void 0, function () {
1001
+ var attempt, error_2;
1002
+ return __generator(this, function (_a) {
1003
+ switch (_a.label) {
1004
+ case 0:
1005
+ attempt = 1;
1006
+ _a.label = 1;
1007
+ case 1:
1008
+ if (!(attempt <= maxRetries)) return [3 /*break*/, 7];
1009
+ _a.label = 2;
1010
+ case 2:
1011
+ _a.trys.push([2, 4, , 6]);
1012
+ return [4 /*yield*/, fn()];
1013
+ case 3:
1014
+ _a.sent();
1015
+ return [2 /*return*/];
1016
+ case 4:
1017
+ error_2 = _a.sent();
1018
+ if (!isNetworkError(error_2) || attempt === maxRetries) {
1019
+ throw error_2;
1020
+ }
1021
+ logger.info({
1022
+ message: "(".concat(cw.color(label), ") network error, retrying (attempt ").concat(attempt, "/").concat(maxRetries, ", next retry in ").concat(retryDelayMs / 1000, "s)"),
1023
+ });
1024
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, retryDelayMs); })];
1025
+ case 5:
1026
+ _a.sent();
1027
+ return [3 /*break*/, 6];
1028
+ case 6:
1029
+ attempt++;
1030
+ return [3 /*break*/, 1];
1031
+ case 7: return [2 /*return*/];
1032
+ }
1033
+ });
1034
+ });
1035
+ }
905
1036
  //# sourceMappingURL=versionWorkspace.js.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/build",
3
- "version": "1.7.0",
3
+ "version": "1.8.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": "08a23fada4365fe72c8f7c34ea22ff0b1742fa93"
61
+ "gitHead": "1139c87c46d1a02ab46d1552c5176f10eba00257"
62
62
  }
@@ -18,10 +18,15 @@ export async function versionWorkspace() {
18
18
  logger.info({ message: 'Dry run mode enabled. Publish and push operations will be skipped.' });
19
19
  }
20
20
  const workspacePath = process.cwd();
21
+ await evictGitLocks(workspacePath);
22
+ const workspaceRootDirty = await isRepoDirty(workspacePath);
23
+ if (workspaceRootDirty) {
24
+ logger.info({ message: `> Workspace root is dirty, will skip pull/push for root repo` });
25
+ }
21
26
  if (dryRun) {
22
27
  logger.info({ message: `> Dry run: skipping pullWorkspace for (${workspacePath})` });
23
28
  } else {
24
- await pullWorkspace(workspacePath);
29
+ await pullWorkspace(workspacePath, workspaceRootDirty);
25
30
  }
26
31
 
27
32
  const { packageMap, packageGraph, sortedPackageNames, workspaceToPackageMap } =
@@ -73,7 +78,7 @@ export async function versionWorkspace() {
73
78
  workspaceToPackageMap,
74
79
  pushWithoutSync
75
80
  );
76
- await pushMetarepos(workspacePath);
81
+ await pushMetarepos(workspacePath, workspaceRootDirty);
77
82
  await symlinkWorkspace(workspacePath, filteredPackageNames, packageMap);
78
83
  logger.info({ message: `> Finished versioning workspace (${workspacePath})` });
79
84
  }
@@ -112,7 +117,7 @@ async function getGitRepoRoot(dir: string): Promise<string> {
112
117
  });
113
118
  }
114
119
 
115
- async function pullWorkspace(workspacePath: string) {
120
+ async function pullWorkspace(workspacePath: string, skipRootRepo = false) {
116
121
  const { packageMap, sortedPackageNames } = await PackageUtil.getWorkspaceMetadata(workspacePath);
117
122
  const filteredPackageNames = sortedPackageNames.filter((packageName) => {
118
123
  const localPackage = packageMap[packageName];
@@ -134,6 +139,11 @@ async function pullWorkspace(workspacePath: string) {
134
139
  continue;
135
140
  }
136
141
  pulledRepoRoots.add(repoRoot);
142
+ if (skipRootRepo && path.resolve(repoRoot) === path.resolve(workspacePath)) {
143
+ const repoName = path.basename(repoRoot);
144
+ logger.info({ message: `(${cw.color(repoName)}) skipping pull for dirty workspace root repo` });
145
+ continue;
146
+ }
137
147
  const repoName = path.basename(repoRoot);
138
148
  logger.info({ message: `(${cw.color(repoName)}) pulling latest changes` });
139
149
  await cmd('git', ['pull'], { cwd: repoRoot }, { logPrefix: `[${cw.color(repoName)}] ` });
@@ -184,9 +194,11 @@ async function bumpDependencies(
184
194
  if (dependenciesChanged) {
185
195
  if (!skipBumpingPackageVersion) {
186
196
  const currentVersion = localPackage.packageJson.version;
187
- localPackage.packageJson.version = semver.inc(currentVersion, 'patch');
197
+ const packageDir = path.dirname(localPackage.filePath);
198
+ const bump = (await hasFeatureCommits(packageDir)) ? 'minor' : 'patch';
199
+ localPackage.packageJson.version = semver.inc(currentVersion, bump);
188
200
  logger.info({
189
- message: `(${cw.color(localPackage.name)}) bumping version from ${currentVersion} -> ${localPackage.packageJson.version}`,
201
+ message: `(${cw.color(localPackage.name)}) bumping version (${bump}) from ${currentVersion} -> ${localPackage.packageJson.version}`,
190
202
  });
191
203
  }
192
204
  await Fs.writeFiles([{ path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) }]);
@@ -284,7 +296,8 @@ async function syncFixedVersions(workspacePath: string, localPackages: LocalPack
284
296
  throw new Error(`Cannot find lerna.json for workspace: ${workspacePath}`);
285
297
  }
286
298
 
287
- const highestVersion = semver.inc(lernaJson.version, 'patch');
299
+ const bump = (await hasFeatureCommits(workspacePath)) ? 'minor' : 'patch';
300
+ const highestVersion = semver.inc(lernaJson.version, bump);
288
301
  if (!highestVersion) {
289
302
  throw new Error(`Lerna version not specified for workspace: ${workspacePath}`);
290
303
  }
@@ -324,11 +337,13 @@ async function installWithRetry(localPackage: LocalPackage, packageDir: string)
324
337
  const output = `${error.stdout ?? ''}${error.stderr ?? ''}`;
325
338
  const isRegistryPropagationError =
326
339
  /No matching version found/i.test(output) || /ETARGET/i.test(output) || /404 Not Found/i.test(output);
327
- if (!isRegistryPropagationError || attempt === maxRetries) {
340
+ const isRetryable = isRegistryPropagationError || isNetworkError(error);
341
+ if (!isRetryable || attempt === maxRetries) {
328
342
  throw error;
329
343
  }
344
+ const reason = isRegistryPropagationError ? 'dependency not yet available on registry' : 'network error';
330
345
  logger.info({
331
- message: `(${cw.color(localPackage.name)}) dependency not yet available on registry, retrying install (attempt ${attempt}/${maxRetries}, next retry in ${retryDelayMs / 1000}s)`,
346
+ message: `(${cw.color(localPackage.name)}) ${reason}, retrying install (attempt ${attempt}/${maxRetries}, next retry in ${retryDelayMs / 1000}s)`,
332
347
  });
333
348
  await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
334
349
  }
@@ -477,11 +492,16 @@ async function pushAndTagFixedVersionRepo(
477
492
  return commit;
478
493
  }
479
494
 
480
- async function pushMetarepos(dir: string) {
495
+ async function pushMetarepos(dir: string, skipRootRepo = false) {
481
496
  const metarepoPaths = (await Fs.getFilePathsMatchingGlob(dir, '**/.gitmodules', ['**/node_modules/**', '**/dist/**']))
482
497
  .map((gitmodulesPath) => path.dirname(gitmodulesPath))
483
498
  .sort((a, b) => b.localeCompare(a));
484
499
  for (const metarepoPath of metarepoPaths) {
500
+ if (skipRootRepo && path.resolve(metarepoPath) === path.resolve(dir)) {
501
+ const repoName = path.basename(metarepoPath);
502
+ logger.info({ message: `(${cw.color(repoName)}) skipping dirty workspace root repo` });
503
+ continue;
504
+ }
485
505
  await pushMetarepo(metarepoPath);
486
506
  }
487
507
  }
@@ -601,11 +621,11 @@ async function publish(localPackage: LocalPackage) {
601
621
  /* ignore malformed URL */
602
622
  }
603
623
 
604
- await cmd(
605
- 'npm',
606
- args,
607
- { cwd: packageDir, env: { ...process.env } },
608
- { logPrefix: `[${cw.color(localPackage.name)}] ` }
624
+ await retryOnNetworkError(
625
+ () => cmd('npm', args, { cwd: packageDir, env: { ...process.env } }, { logPrefix: `[${cw.color(localPackage.name)}] ` }),
626
+ localPackage.name,
627
+ 3,
628
+ 15_000
609
629
  );
610
630
 
611
631
  logger.info({ message: `(${cw.color(localPackage.name)}) published ${localPackage.packageJson.version}` });
@@ -664,3 +684,71 @@ function getPublishRegistry(publishConfig: { registry?: string }) {
664
684
 
665
685
  return 'https://registry.npmjs.org/';
666
686
  }
687
+
688
+ async function isRepoDirty(dir: string): Promise<boolean> {
689
+ return new Promise((resolve) => {
690
+ exec('git diff --ignore-submodules HEAD', { cwd: dir }, (error, stdout) => {
691
+ if (error) {
692
+ resolve(false);
693
+ return;
694
+ }
695
+ resolve(stdout.trim().length > 0);
696
+ });
697
+ });
698
+ }
699
+
700
+ async function hasFeatureCommits(dir: string): Promise<boolean> {
701
+ return new Promise((resolve) => {
702
+ exec('git log @{u}..HEAD --oneline', { cwd: dir }, (error, stdout) => {
703
+ if (error || !stdout.trim()) {
704
+ resolve(false);
705
+ return;
706
+ }
707
+ const hasFeature = stdout.split('\n').some((line) => /^[a-f0-9]+\s+feat[\s(:]/i.test(line));
708
+ resolve(hasFeature);
709
+ });
710
+ });
711
+ }
712
+
713
+ export async function evictGitLocks(workspacePath: string) {
714
+ const gitDir = path.join(workspacePath, '.git');
715
+ const lockFiles = await Fs.getFilePathsMatchingGlob(gitDir, '**/*.lock');
716
+ if (lockFiles.length === 0) {
717
+ return;
718
+ }
719
+
720
+ logger.info({ message: `> Evicting ${lockFiles.length} git lock file(s) from workspace` });
721
+ await Fs.deleteFiles(lockFiles);
722
+ logger.info({ message: `> Evicted git lock files` });
723
+ }
724
+
725
+ function isNetworkError(error: any): boolean {
726
+ const output = `${error.stdout ?? ''}${error.stderr ?? ''}`;
727
+ return (
728
+ /ECONNRESET/i.test(output) || /ETIMEDOUT/i.test(output) || /ENOTFOUND/i.test(output) ||
729
+ /EAI_AGAIN/i.test(output) || /ECONNREFUSED/i.test(output) || /socket hang up/i.test(output) ||
730
+ /network/i.test(output)
731
+ );
732
+ }
733
+
734
+ async function retryOnNetworkError(
735
+ fn: () => Promise<any>,
736
+ label: string,
737
+ maxRetries = 3,
738
+ retryDelayMs = 15_000
739
+ ): Promise<void> {
740
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
741
+ try {
742
+ await fn();
743
+ return;
744
+ } catch (error: any) {
745
+ if (!isNetworkError(error) || attempt === maxRetries) {
746
+ throw error;
747
+ }
748
+ logger.info({
749
+ message: `(${cw.color(label)}) network error, retrying (attempt ${attempt}/${maxRetries}, next retry in ${retryDelayMs / 1000}s)`,
750
+ });
751
+ await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
752
+ }
753
+ }
754
+ }