@proteinjs/build 1.6.6 → 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 +28 -0
- package/LICENSE +21 -0
- package/dist/src/versionWorkspace.d.ts +1 -0
- package/dist/src/versionWorkspace.d.ts.map +1 -1
- package/dist/src/versionWorkspace.js +272 -72
- package/dist/src/versionWorkspace.js.map +1 -1
- package/package.json +3 -2
- package/src/versionWorkspace.ts +147 -14
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,34 @@
|
|
|
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
|
+
|
|
23
|
+
# [1.7.0](https://github.com/proteinjs/build/compare/@proteinjs/build@1.6.6...@proteinjs/build@1.7.0) (2026-04-09)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
* **version:** retry npm install on registry propagation delays, deduplicate git pulls ([5d0c516](https://github.com/proteinjs/build/commit/5d0c516eaa124f3236a70e801c16818ebac2cae4))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
6
34
|
## [1.6.3](https://github.com/proteinjs/build/compare/@proteinjs/build@1.6.2...@proteinjs/build@1.6.3) (2025-11-22)
|
|
7
35
|
|
|
8
36
|
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"AAaA,wBAAsB,gBAAgB,
|
|
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
|
-
|
|
108
|
-
|
|
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
|
-
|
|
114
|
-
case
|
|
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 =
|
|
128
|
-
case
|
|
129
|
-
if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/,
|
|
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
|
|
143
|
+
case 8:
|
|
135
144
|
dependenciesChanged = _b.sent();
|
|
136
145
|
if (!dependenciesChanged) {
|
|
137
|
-
return [3 /*break*/,
|
|
146
|
+
return [3 /*break*/, 13];
|
|
138
147
|
}
|
|
139
148
|
return [4 /*yield*/, buildAndTest(localPackage)];
|
|
140
|
-
case
|
|
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*/,
|
|
156
|
+
return [3 /*break*/, 13];
|
|
148
157
|
}
|
|
149
|
-
if (!shouldPublishPackage(localPackage)) return [3 /*break*/,
|
|
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
|
|
173
|
+
case 15:
|
|
165
174
|
_b.sent();
|
|
166
|
-
return [4 /*yield*/, pushMetarepos(workspacePath)];
|
|
167
|
-
case
|
|
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
|
|
179
|
+
case 17:
|
|
171
180
|
_b.sent();
|
|
172
181
|
logger.info({ message: "> Finished versioning workspace (".concat(workspacePath, ")") });
|
|
173
182
|
return [2 /*return*/];
|
|
@@ -193,9 +202,25 @@ function isInFixedVersionWorkspace(localPackage) {
|
|
|
193
202
|
localPackage.workspace.lernaJson &&
|
|
194
203
|
localPackage.workspace.lernaJson.version !== 'independent');
|
|
195
204
|
}
|
|
196
|
-
function
|
|
205
|
+
function getGitRepoRoot(dir) {
|
|
206
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
207
|
+
return __generator(this, function (_a) {
|
|
208
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
209
|
+
(0, child_process_1.exec)('git rev-parse --show-toplevel', { cwd: dir }, function (error, stdout) {
|
|
210
|
+
if (error) {
|
|
211
|
+
reject(error);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
resolve(stdout.trim());
|
|
215
|
+
});
|
|
216
|
+
})];
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
function pullWorkspace(workspacePath, skipRootRepo) {
|
|
221
|
+
if (skipRootRepo === void 0) { skipRootRepo = false; }
|
|
197
222
|
return __awaiter(this, void 0, void 0, function () {
|
|
198
|
-
var _a, packageMap, sortedPackageNames, filteredPackageNames, _i, filteredPackageNames_2, packageName, localPackage;
|
|
223
|
+
var _a, packageMap, sortedPackageNames, filteredPackageNames, pulledRepoRoots, _i, filteredPackageNames_2, packageName, localPackage, packageDir, repoRoot, repoName_1, repoName;
|
|
199
224
|
return __generator(this, function (_b) {
|
|
200
225
|
switch (_b.label) {
|
|
201
226
|
case 0: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
|
|
@@ -208,21 +233,38 @@ function pullWorkspace(workspacePath) {
|
|
|
208
233
|
!!((_b = localPackage.packageJson.scripts) === null || _b === void 0 ? void 0 : _b.build) &&
|
|
209
234
|
packageName != 'typescript-parser');
|
|
210
235
|
});
|
|
236
|
+
pulledRepoRoots = new Set();
|
|
211
237
|
logger.info({ message: "> Pulling workspace (".concat(workspacePath, ")") });
|
|
212
238
|
_i = 0, filteredPackageNames_2 = filteredPackageNames;
|
|
213
239
|
_b.label = 2;
|
|
214
240
|
case 2:
|
|
215
|
-
if (!(_i < filteredPackageNames_2.length)) return [3 /*break*/,
|
|
241
|
+
if (!(_i < filteredPackageNames_2.length)) return [3 /*break*/, 6];
|
|
216
242
|
packageName = filteredPackageNames_2[_i];
|
|
217
243
|
localPackage = packageMap[packageName];
|
|
218
|
-
|
|
244
|
+
packageDir = path.dirname(localPackage.filePath);
|
|
245
|
+
return [4 /*yield*/, getGitRepoRoot(packageDir)];
|
|
219
246
|
case 3:
|
|
220
|
-
_b.sent();
|
|
221
|
-
|
|
247
|
+
repoRoot = _b.sent();
|
|
248
|
+
if (pulledRepoRoots.has(repoRoot)) {
|
|
249
|
+
return [3 /*break*/, 5];
|
|
250
|
+
}
|
|
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
|
+
}
|
|
257
|
+
repoName = path.basename(repoRoot);
|
|
258
|
+
logger.info({ message: "(".concat(cw.color(repoName), ") pulling latest changes") });
|
|
259
|
+
return [4 /*yield*/, (0, util_node_1.cmd)('git', ['pull'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
|
|
222
260
|
case 4:
|
|
261
|
+
_b.sent();
|
|
262
|
+
logger.info({ message: "(".concat(cw.color(repoName), ") pulled latest changes") });
|
|
263
|
+
_b.label = 5;
|
|
264
|
+
case 5:
|
|
223
265
|
_i++;
|
|
224
266
|
return [3 /*break*/, 2];
|
|
225
|
-
case
|
|
267
|
+
case 6:
|
|
226
268
|
logger.info({ message: "> Finished pulling workspace (".concat(workspacePath, ")") });
|
|
227
269
|
return [2 /*return*/];
|
|
228
270
|
}
|
|
@@ -232,7 +274,7 @@ function pullWorkspace(workspacePath) {
|
|
|
232
274
|
function bumpDependencies(localPackage, packageMap, packageGraph, skipBumpingPackageVersion) {
|
|
233
275
|
if (skipBumpingPackageVersion === void 0) { skipBumpingPackageVersion = false; }
|
|
234
276
|
return __awaiter(this, void 0, void 0, function () {
|
|
235
|
-
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;
|
|
236
278
|
return __generator(this, function (_a) {
|
|
237
279
|
switch (_a.label) {
|
|
238
280
|
case 0:
|
|
@@ -262,19 +304,23 @@ function bumpDependencies(localPackage, packageMap, packageGraph, skipBumpingPac
|
|
|
262
304
|
setDependencyVersion(localDependency, currentDependencyVersion, newDependencyVersion, localPackage);
|
|
263
305
|
dependenciesChanged = true;
|
|
264
306
|
}
|
|
265
|
-
if (!dependenciesChanged) return [3 /*break*/,
|
|
266
|
-
if (
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
message: "(".concat(cw.color(localPackage.name), ") bumping version from ").concat(currentVersion, " -> ").concat(localPackage.packageJson.version),
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
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)];
|
|
274
312
|
case 1:
|
|
275
|
-
_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
|
+
});
|
|
276
318
|
_a.label = 2;
|
|
277
|
-
case 2: return [
|
|
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];
|
|
278
324
|
}
|
|
279
325
|
});
|
|
280
326
|
});
|
|
@@ -363,7 +409,7 @@ function syncFixedVersionWorkspaces(fixedVersionWorkspacePaths, packageMap, work
|
|
|
363
409
|
function syncFixedVersions(workspacePath, localPackages) {
|
|
364
410
|
var _a;
|
|
365
411
|
return __awaiter(this, void 0, void 0, function () {
|
|
366
|
-
var lernaJson, highestVersion, syncedFixedVersions, _i, localPackages_1, localPackage, currentVersion, lernaJsonPath;
|
|
412
|
+
var lernaJson, bump, highestVersion, syncedFixedVersions, _i, localPackages_1, localPackage, currentVersion, lernaJsonPath;
|
|
367
413
|
return __generator(this, function (_b) {
|
|
368
414
|
switch (_b.label) {
|
|
369
415
|
case 0:
|
|
@@ -371,41 +417,88 @@ function syncFixedVersions(workspacePath, localPackages) {
|
|
|
371
417
|
if (!lernaJson) {
|
|
372
418
|
throw new Error("Cannot find lerna.json for workspace: ".concat(workspacePath));
|
|
373
419
|
}
|
|
374
|
-
|
|
420
|
+
return [4 /*yield*/, hasFeatureCommits(workspacePath)];
|
|
421
|
+
case 1:
|
|
422
|
+
bump = (_b.sent()) ? 'minor' : 'patch';
|
|
423
|
+
highestVersion = semver_1.default.inc(lernaJson.version, bump);
|
|
375
424
|
if (!highestVersion) {
|
|
376
425
|
throw new Error("Lerna version not specified for workspace: ".concat(workspacePath));
|
|
377
426
|
}
|
|
378
427
|
syncedFixedVersions = false;
|
|
379
428
|
_i = 0, localPackages_1 = localPackages;
|
|
380
|
-
_b.label =
|
|
381
|
-
case
|
|
382
|
-
if (!(_i < localPackages_1.length)) return [3 /*break*/,
|
|
429
|
+
_b.label = 2;
|
|
430
|
+
case 2:
|
|
431
|
+
if (!(_i < localPackages_1.length)) return [3 /*break*/, 5];
|
|
383
432
|
localPackage = localPackages_1[_i];
|
|
384
433
|
currentVersion = localPackage.packageJson.version;
|
|
385
434
|
if (currentVersion === highestVersion) {
|
|
386
|
-
return [3 /*break*/,
|
|
435
|
+
return [3 /*break*/, 4];
|
|
387
436
|
}
|
|
388
437
|
localPackage.packageJson.version = highestVersion;
|
|
389
438
|
logger.info({
|
|
390
439
|
message: "(".concat(cw.color(localPackage.name), ") bumping version from ").concat(currentVersion, " -> ").concat(localPackage.packageJson.version),
|
|
391
440
|
});
|
|
392
441
|
return [4 /*yield*/, util_node_1.Fs.writeFiles([{ path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) }])];
|
|
393
|
-
case
|
|
442
|
+
case 3:
|
|
394
443
|
_b.sent();
|
|
395
444
|
syncedFixedVersions = true;
|
|
396
|
-
_b.label =
|
|
397
|
-
case 3:
|
|
398
|
-
_i++;
|
|
399
|
-
return [3 /*break*/, 1];
|
|
445
|
+
_b.label = 4;
|
|
400
446
|
case 4:
|
|
401
|
-
|
|
447
|
+
_i++;
|
|
448
|
+
return [3 /*break*/, 2];
|
|
449
|
+
case 5:
|
|
450
|
+
if (!syncedFixedVersions) return [3 /*break*/, 7];
|
|
402
451
|
lernaJsonPath = path.join(workspacePath, 'lerna.json');
|
|
403
452
|
lernaJson.version = highestVersion;
|
|
404
453
|
return [4 /*yield*/, util_node_1.Fs.writeFiles([{ path: lernaJsonPath, content: JSON.stringify(lernaJson, null, 2) }])];
|
|
405
|
-
case
|
|
454
|
+
case 6:
|
|
406
455
|
_b.sent();
|
|
407
|
-
_b.label =
|
|
408
|
-
case
|
|
456
|
+
_b.label = 7;
|
|
457
|
+
case 7: return [2 /*return*/, syncedFixedVersions ? highestVersion : false];
|
|
458
|
+
}
|
|
459
|
+
});
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
function installWithRetry(localPackage, packageDir) {
|
|
463
|
+
var _a, _b;
|
|
464
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
465
|
+
var maxRetries, retryDelayMs, attempt, error_1, output, isRegistryPropagationError, isRetryable, reason;
|
|
466
|
+
return __generator(this, function (_c) {
|
|
467
|
+
switch (_c.label) {
|
|
468
|
+
case 0:
|
|
469
|
+
maxRetries = 10;
|
|
470
|
+
retryDelayMs = 90000;
|
|
471
|
+
attempt = 1;
|
|
472
|
+
_c.label = 1;
|
|
473
|
+
case 1:
|
|
474
|
+
if (!(attempt <= maxRetries)) return [3 /*break*/, 7];
|
|
475
|
+
_c.label = 2;
|
|
476
|
+
case 2:
|
|
477
|
+
_c.trys.push([2, 4, , 6]);
|
|
478
|
+
return [4 /*yield*/, (0, util_node_1.cmd)('npm', ['install'], { cwd: packageDir }, { logPrefix: "[".concat(cw.color(localPackage.name), "] ") })];
|
|
479
|
+
case 3:
|
|
480
|
+
_c.sent();
|
|
481
|
+
return [2 /*return*/];
|
|
482
|
+
case 4:
|
|
483
|
+
error_1 = _c.sent();
|
|
484
|
+
output = "".concat((_a = error_1.stdout) !== null && _a !== void 0 ? _a : '').concat((_b = error_1.stderr) !== null && _b !== void 0 ? _b : '');
|
|
485
|
+
isRegistryPropagationError = /No matching version found/i.test(output) || /ETARGET/i.test(output) || /404 Not Found/i.test(output);
|
|
486
|
+
isRetryable = isRegistryPropagationError || isNetworkError(error_1);
|
|
487
|
+
if (!isRetryable || attempt === maxRetries) {
|
|
488
|
+
throw error_1;
|
|
489
|
+
}
|
|
490
|
+
reason = isRegistryPropagationError ? 'dependency not yet available on registry' : 'network error';
|
|
491
|
+
logger.info({
|
|
492
|
+
message: "(".concat(cw.color(localPackage.name), ") ").concat(reason, ", retrying install (attempt ").concat(attempt, "/").concat(maxRetries, ", next retry in ").concat(retryDelayMs / 1000, "s)"),
|
|
493
|
+
});
|
|
494
|
+
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, retryDelayMs); })];
|
|
495
|
+
case 5:
|
|
496
|
+
_c.sent();
|
|
497
|
+
return [3 /*break*/, 6];
|
|
498
|
+
case 6:
|
|
499
|
+
attempt++;
|
|
500
|
+
return [3 /*break*/, 1];
|
|
501
|
+
case 7: return [2 /*return*/];
|
|
409
502
|
}
|
|
410
503
|
});
|
|
411
504
|
});
|
|
@@ -424,7 +517,7 @@ function buildAndTest(localPackage) {
|
|
|
424
517
|
_b.sent();
|
|
425
518
|
logger.info({ message: "(".concat(cw.color(localPackage.name), ") cleaned package") });
|
|
426
519
|
logger.info({ message: "(".concat(cw.color(localPackage.name), ") installing latest dependency versions") });
|
|
427
|
-
return [4 /*yield*/, (
|
|
520
|
+
return [4 /*yield*/, installWithRetry(localPackage, packageDir)];
|
|
428
521
|
case 2:
|
|
429
522
|
_b.sent();
|
|
430
523
|
logger.info({ message: "(".concat(cw.color(localPackage.name), ") installed latest dependency versions") });
|
|
@@ -528,15 +621,15 @@ function pushAndTagFixedVersionRepo(dir, version, skipTagging, skipCi) {
|
|
|
528
621
|
if (skipTagging === void 0) { skipTagging = false; }
|
|
529
622
|
if (skipCi === void 0) { skipCi = true; }
|
|
530
623
|
return __awaiter(this, void 0, void 0, function () {
|
|
531
|
-
var dryRun,
|
|
624
|
+
var dryRun, repoName_2, repoName, latestCommitSha, repoInfo, commit, tagName;
|
|
532
625
|
return __generator(this, function (_a) {
|
|
533
626
|
switch (_a.label) {
|
|
534
627
|
case 0:
|
|
535
628
|
dryRun = isDryRun();
|
|
536
629
|
if (dryRun) {
|
|
537
|
-
|
|
630
|
+
repoName_2 = path.basename(dir.endsWith(path.sep) ? dir.slice(0, -1) : dir);
|
|
538
631
|
logger.info({
|
|
539
|
-
message: "(".concat(cw.color(
|
|
632
|
+
message: "(".concat(cw.color(repoName_2), ") Dry run: skipping git add/commit/push").concat(version ? " for version ".concat(version) : ''),
|
|
540
633
|
});
|
|
541
634
|
return [2 /*return*/, undefined];
|
|
542
635
|
}
|
|
@@ -585,9 +678,10 @@ function pushAndTagFixedVersionRepo(dir, version, skipTagging, skipCi) {
|
|
|
585
678
|
});
|
|
586
679
|
});
|
|
587
680
|
}
|
|
588
|
-
function pushMetarepos(dir) {
|
|
681
|
+
function pushMetarepos(dir, skipRootRepo) {
|
|
682
|
+
if (skipRootRepo === void 0) { skipRootRepo = false; }
|
|
589
683
|
return __awaiter(this, void 0, void 0, function () {
|
|
590
|
-
var metarepoPaths, _i, metarepoPaths_1, metarepoPath;
|
|
684
|
+
var metarepoPaths, _i, metarepoPaths_1, metarepoPath, repoName;
|
|
591
685
|
return __generator(this, function (_a) {
|
|
592
686
|
switch (_a.label) {
|
|
593
687
|
case 0: return [4 /*yield*/, util_node_1.Fs.getFilePathsMatchingGlob(dir, '**/.gitmodules', ['**/node_modules/**', '**/dist/**'])];
|
|
@@ -600,6 +694,11 @@ function pushMetarepos(dir) {
|
|
|
600
694
|
case 2:
|
|
601
695
|
if (!(_i < metarepoPaths_1.length)) return [3 /*break*/, 5];
|
|
602
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
|
+
}
|
|
603
702
|
return [4 /*yield*/, pushMetarepo(metarepoPath)];
|
|
604
703
|
case 3:
|
|
605
704
|
_a.sent();
|
|
@@ -614,15 +713,15 @@ function pushMetarepos(dir) {
|
|
|
614
713
|
}
|
|
615
714
|
function pushMetarepo(dir) {
|
|
616
715
|
return __awaiter(this, void 0, void 0, function () {
|
|
617
|
-
var dryRun,
|
|
716
|
+
var dryRun, repoName_3, repoName;
|
|
618
717
|
return __generator(this, function (_a) {
|
|
619
718
|
switch (_a.label) {
|
|
620
719
|
case 0:
|
|
621
720
|
dryRun = isDryRun();
|
|
622
721
|
if (dryRun) {
|
|
623
|
-
|
|
722
|
+
repoName_3 = path.basename(dir.endsWith(path.sep) ? dir.slice(0, -1) : dir);
|
|
624
723
|
logger.info({
|
|
625
|
-
message: "(".concat(cw.color(
|
|
724
|
+
message: "(".concat(cw.color(repoName_3), ") Dry run: skipping metarepo commit/push for ").concat(dir),
|
|
626
725
|
});
|
|
627
726
|
return [2 /*return*/];
|
|
628
727
|
}
|
|
@@ -759,7 +858,7 @@ function publish(localPackage) {
|
|
|
759
858
|
catch (_e) {
|
|
760
859
|
/* ignore malformed URL */
|
|
761
860
|
}
|
|
762
|
-
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)];
|
|
763
862
|
case 3:
|
|
764
863
|
_d.sent();
|
|
765
864
|
logger.info({ message: "(".concat(cw.color(localPackage.name), ") published ").concat(localPackage.packageJson.version) });
|
|
@@ -833,4 +932,105 @@ function getPublishRegistry(publishConfig) {
|
|
|
833
932
|
}
|
|
834
933
|
return 'https://registry.npmjs.org/';
|
|
835
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
|
+
}
|
|
836
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.
|
|
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",
|
|
@@ -57,5 +57,6 @@
|
|
|
57
57
|
"typescript": "5.2.2",
|
|
58
58
|
"webpack": "5.90.0",
|
|
59
59
|
"webpack-cli": "5.1.4"
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"gitHead": "1139c87c46d1a02ab46d1552c5176f10eba00257"
|
|
61
62
|
}
|
package/src/versionWorkspace.ts
CHANGED
|
@@ -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
|
}
|
|
@@ -100,7 +105,19 @@ function isInFixedVersionWorkspace(localPackage: LocalPackage) {
|
|
|
100
105
|
);
|
|
101
106
|
}
|
|
102
107
|
|
|
103
|
-
async function
|
|
108
|
+
async function getGitRepoRoot(dir: string): Promise<string> {
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
exec('git rev-parse --show-toplevel', { cwd: dir }, (error, stdout) => {
|
|
111
|
+
if (error) {
|
|
112
|
+
reject(error);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
resolve(stdout.trim());
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
async function pullWorkspace(workspacePath: string, skipRootRepo = false) {
|
|
104
121
|
const { packageMap, sortedPackageNames } = await PackageUtil.getWorkspaceMetadata(workspacePath);
|
|
105
122
|
const filteredPackageNames = sortedPackageNames.filter((packageName) => {
|
|
106
123
|
const localPackage = packageMap[packageName];
|
|
@@ -111,10 +128,26 @@ async function pullWorkspace(workspacePath: string) {
|
|
|
111
128
|
);
|
|
112
129
|
});
|
|
113
130
|
|
|
131
|
+
// Deduplicate: pull once per unique leaf git repo (repos that directly contain packages)
|
|
132
|
+
const pulledRepoRoots = new Set<string>();
|
|
114
133
|
logger.info({ message: `> Pulling workspace (${workspacePath})` });
|
|
115
134
|
for (const packageName of filteredPackageNames) {
|
|
116
135
|
const localPackage = packageMap[packageName];
|
|
117
|
-
|
|
136
|
+
const packageDir = path.dirname(localPackage.filePath);
|
|
137
|
+
const repoRoot = await getGitRepoRoot(packageDir);
|
|
138
|
+
if (pulledRepoRoots.has(repoRoot)) {
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
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
|
+
}
|
|
147
|
+
const repoName = path.basename(repoRoot);
|
|
148
|
+
logger.info({ message: `(${cw.color(repoName)}) pulling latest changes` });
|
|
149
|
+
await cmd('git', ['pull'], { cwd: repoRoot }, { logPrefix: `[${cw.color(repoName)}] ` });
|
|
150
|
+
logger.info({ message: `(${cw.color(repoName)}) pulled latest changes` });
|
|
118
151
|
}
|
|
119
152
|
|
|
120
153
|
logger.info({ message: `> Finished pulling workspace (${workspacePath})` });
|
|
@@ -161,9 +194,11 @@ async function bumpDependencies(
|
|
|
161
194
|
if (dependenciesChanged) {
|
|
162
195
|
if (!skipBumpingPackageVersion) {
|
|
163
196
|
const currentVersion = localPackage.packageJson.version;
|
|
164
|
-
|
|
197
|
+
const packageDir = path.dirname(localPackage.filePath);
|
|
198
|
+
const bump = (await hasFeatureCommits(packageDir)) ? 'minor' : 'patch';
|
|
199
|
+
localPackage.packageJson.version = semver.inc(currentVersion, bump);
|
|
165
200
|
logger.info({
|
|
166
|
-
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}`,
|
|
167
202
|
});
|
|
168
203
|
}
|
|
169
204
|
await Fs.writeFiles([{ path: localPackage.filePath, content: JSON.stringify(localPackage.packageJson, null, 2) }]);
|
|
@@ -261,7 +296,8 @@ async function syncFixedVersions(workspacePath: string, localPackages: LocalPack
|
|
|
261
296
|
throw new Error(`Cannot find lerna.json for workspace: ${workspacePath}`);
|
|
262
297
|
}
|
|
263
298
|
|
|
264
|
-
const
|
|
299
|
+
const bump = (await hasFeatureCommits(workspacePath)) ? 'minor' : 'patch';
|
|
300
|
+
const highestVersion = semver.inc(lernaJson.version, bump);
|
|
265
301
|
if (!highestVersion) {
|
|
266
302
|
throw new Error(`Lerna version not specified for workspace: ${workspacePath}`);
|
|
267
303
|
}
|
|
@@ -290,13 +326,37 @@ async function syncFixedVersions(workspacePath: string, localPackages: LocalPack
|
|
|
290
326
|
return syncedFixedVersions ? highestVersion : false;
|
|
291
327
|
}
|
|
292
328
|
|
|
329
|
+
async function installWithRetry(localPackage: LocalPackage, packageDir: string) {
|
|
330
|
+
const maxRetries = 10;
|
|
331
|
+
const retryDelayMs = 90_000;
|
|
332
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
333
|
+
try {
|
|
334
|
+
await cmd('npm', ['install'], { cwd: packageDir }, { logPrefix: `[${cw.color(localPackage.name)}] ` });
|
|
335
|
+
return;
|
|
336
|
+
} catch (error: any) {
|
|
337
|
+
const output = `${error.stdout ?? ''}${error.stderr ?? ''}`;
|
|
338
|
+
const isRegistryPropagationError =
|
|
339
|
+
/No matching version found/i.test(output) || /ETARGET/i.test(output) || /404 Not Found/i.test(output);
|
|
340
|
+
const isRetryable = isRegistryPropagationError || isNetworkError(error);
|
|
341
|
+
if (!isRetryable || attempt === maxRetries) {
|
|
342
|
+
throw error;
|
|
343
|
+
}
|
|
344
|
+
const reason = isRegistryPropagationError ? 'dependency not yet available on registry' : 'network error';
|
|
345
|
+
logger.info({
|
|
346
|
+
message: `(${cw.color(localPackage.name)}) ${reason}, retrying install (attempt ${attempt}/${maxRetries}, next retry in ${retryDelayMs / 1000}s)`,
|
|
347
|
+
});
|
|
348
|
+
await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
293
353
|
async function buildAndTest(localPackage: LocalPackage) {
|
|
294
354
|
const packageDir = path.dirname(localPackage.filePath);
|
|
295
355
|
logger.info({ message: `(${cw.color(localPackage.name)}) cleaning package` });
|
|
296
356
|
await cmd('npm', ['run', 'clean'], { cwd: packageDir }, { logPrefix: `[${cw.color(localPackage.name)}] ` });
|
|
297
357
|
logger.info({ message: `(${cw.color(localPackage.name)}) cleaned package` });
|
|
298
358
|
logger.info({ message: `(${cw.color(localPackage.name)}) installing latest dependency versions` });
|
|
299
|
-
await
|
|
359
|
+
await installWithRetry(localPackage, packageDir);
|
|
300
360
|
logger.info({ message: `(${cw.color(localPackage.name)}) installed latest dependency versions` });
|
|
301
361
|
if (hasLintConfig(localPackage)) {
|
|
302
362
|
logger.info({ message: `Linting ${cw.color(localPackage.name)} (${packageDir})` });
|
|
@@ -432,11 +492,16 @@ async function pushAndTagFixedVersionRepo(
|
|
|
432
492
|
return commit;
|
|
433
493
|
}
|
|
434
494
|
|
|
435
|
-
async function pushMetarepos(dir: string) {
|
|
495
|
+
async function pushMetarepos(dir: string, skipRootRepo = false) {
|
|
436
496
|
const metarepoPaths = (await Fs.getFilePathsMatchingGlob(dir, '**/.gitmodules', ['**/node_modules/**', '**/dist/**']))
|
|
437
497
|
.map((gitmodulesPath) => path.dirname(gitmodulesPath))
|
|
438
498
|
.sort((a, b) => b.localeCompare(a));
|
|
439
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
|
+
}
|
|
440
505
|
await pushMetarepo(metarepoPath);
|
|
441
506
|
}
|
|
442
507
|
}
|
|
@@ -556,11 +621,11 @@ async function publish(localPackage: LocalPackage) {
|
|
|
556
621
|
/* ignore malformed URL */
|
|
557
622
|
}
|
|
558
623
|
|
|
559
|
-
await
|
|
560
|
-
'npm',
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
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
|
|
564
629
|
);
|
|
565
630
|
|
|
566
631
|
logger.info({ message: `(${cw.color(localPackage.name)}) published ${localPackage.packageJson.version}` });
|
|
@@ -619,3 +684,71 @@ function getPublishRegistry(publishConfig: { registry?: string }) {
|
|
|
619
684
|
|
|
620
685
|
return 'https://registry.npmjs.org/';
|
|
621
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
|
+
}
|