@clickview/ship-it 0.0.53 → 0.0.54-dev.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/dist/P3/Account.Api.md +20 -0
- package/dist/P3/Analytics Web.md +13 -0
- package/dist/P3/Batch.Api.md +25 -0
- package/dist/P3/Classroom.Api.md +21 -0
- package/dist/P3/ClickView Online.md +18 -0
- package/dist/P3/ClickView.Cron.JobProcessor.md +28 -0
- package/dist/P3/ClickView.Curator.md +39 -0
- package/dist/P3/Clients.md +31 -0
- package/dist/P3/Collection.Api.md +28 -0
- package/dist/P3/Discover.Api.md +23 -0
- package/dist/P3/Domain.Api.md +36 -0
- package/dist/P3/Exchange.Web.md +6 -0
- package/dist/P3/File.Api.IngestService.md +38 -0
- package/dist/P3/File.Api.md +26 -0
- package/dist/P3/FileGenerator.md +14 -0
- package/dist/P3/Hydration.App.md +20 -0
- package/dist/P3/Integrations.Api.md +68 -0
- package/dist/P3/Krakend.md +29 -0
- package/dist/P3/LeadQualifier.App.md +19 -0
- package/dist/P3/Library Editor.md +14 -0
- package/dist/P3/Library.Api.md +29 -0
- package/dist/P3/Lite.md +6 -0
- package/dist/P3/LocalCache.Api.md +22 -0
- package/dist/P3/LoginAnalytics.Api.md +20 -0
- package/dist/P3/Master.Api.md +13 -0
- package/dist/P3/Master.Auth.md +28 -0
- package/dist/P3/Objects.Api.md +27 -0
- package/dist/P3/Permissions.Api.md +23 -0
- package/dist/P3/Release Notes.md +1196 -0
- package/dist/P3/Search.Api.md +14 -0
- package/dist/P3/Share.Api.md +16 -0
- package/dist/P3/StreamableLearning.Web.md +6 -0
- package/dist/P3/Subjects.API.md +13 -0
- package/dist/P3/Tools.md +13 -0
- package/dist/P3/Tv.Web.md +35 -0
- package/dist/P3/TvConversion.App.md +14 -0
- package/dist/P3/TvRecording.App.md +18 -0
- package/dist/P3/TvSplice.App.md +14 -0
- package/dist/P3/Users.Api.md +46 -0
- package/dist/P3/VideoCollections.Api.md +6 -0
- package/dist/P3/VideoViews.Api.md +29 -0
- package/dist/P3/WorkspaceSplice.App.md +14 -0
- package/dist/P3/clickview.md +130 -0
- package/dist/P3/index.app.md +58 -0
- package/dist/V1/V1 Notes Audit.csv +53 -0
- package/dist/W2/W2 Notes Audit.csv +43 -0
- package/lib/src/tasks/InstallPackagesTask.js +183 -57
- package/package.json +2 -2
|
@@ -59,6 +59,7 @@ var semver_1 = __importDefault(require("semver"));
|
|
|
59
59
|
var child_process_1 = __importDefault(require("child_process"));
|
|
60
60
|
var types_1 = require("../types");
|
|
61
61
|
var services_1 = require("../services");
|
|
62
|
+
var errors_1 = require("../errors");
|
|
62
63
|
var utils_1 = require("../utils");
|
|
63
64
|
var MonorepoPackageJsonFiles_1 = require("../constants/MonorepoPackageJsonFiles");
|
|
64
65
|
var ROOT_DIRECTORIES = {
|
|
@@ -79,22 +80,29 @@ var ROOT_DIRECTORIES = {
|
|
|
79
80
|
// Streamable learning
|
|
80
81
|
1144: 'src/StreamableLearning.Web'
|
|
81
82
|
};
|
|
83
|
+
/**
|
|
84
|
+
* npm accepts a publish before the version can be resolved from the registry. Large packages get
|
|
85
|
+
* queued for background processing ("Your package is being processed and may take a few minutes to
|
|
86
|
+
* become available"), so we poll for up to 5 minutes.
|
|
87
|
+
*/
|
|
88
|
+
var PUBLISH_POLL_ATTEMPTS = 20;
|
|
89
|
+
var PUBLISH_POLL_INTERVAL_MS = 15000;
|
|
82
90
|
var InstallPackagesTask = /** @class */ (function () {
|
|
83
91
|
function InstallPackagesTask(service) {
|
|
84
92
|
this.service = service;
|
|
85
93
|
}
|
|
86
94
|
InstallPackagesTask.prototype.run = function (options) {
|
|
87
95
|
return __awaiter(this, void 0, void 0, function () {
|
|
88
|
-
var targetBranch, projectId, project, versions_1, folderName,
|
|
89
|
-
return __generator(this, function (
|
|
90
|
-
switch (
|
|
96
|
+
var targetBranch, projectId, project, versions_1, folderName, updatedPackages, error_1, milestone, projects, monorepo, consumingProjects, _a, monorepoBranch, monorepoBranchName, versions, failedProjects, _i, consumingProjects_1, project, _b, branch, branchName, updatedPackages, error_2;
|
|
97
|
+
return __generator(this, function (_c) {
|
|
98
|
+
switch (_c.label) {
|
|
91
99
|
case 0:
|
|
92
100
|
utils_1.Logger.logTask('Installing npm packages');
|
|
93
101
|
if (!options.monorepoBranchName && !options.milestone) {
|
|
94
102
|
utils_1.Logger.logError('Please provide either a milestone or branch name argument.');
|
|
95
103
|
return [2 /*return*/, false];
|
|
96
104
|
}
|
|
97
|
-
if (!(options.targetBranchName && options.monorepoBranchName && options.projectIds)) return [3 /*break*/,
|
|
105
|
+
if (!(options.targetBranchName && options.monorepoBranchName && options.projectIds)) return [3 /*break*/, 9];
|
|
98
106
|
targetBranch = options.targetBranchName;
|
|
99
107
|
if (targetBranch.startsWith('release') && !options.monorepoBranchName.startsWith('release')) {
|
|
100
108
|
utils_1.Logger.logError('Attempting to target release with non release branch.');
|
|
@@ -111,28 +119,39 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
111
119
|
projectId = options.projectIds[0];
|
|
112
120
|
return [4 /*yield*/, this.service.getProject(projectId)];
|
|
113
121
|
case 1:
|
|
114
|
-
project =
|
|
122
|
+
project = _c.sent();
|
|
115
123
|
return [4 /*yield*/, this.getPackageVersions(options.monorepoBranchName)];
|
|
116
124
|
case 2:
|
|
117
|
-
versions_1 =
|
|
125
|
+
versions_1 = _c.sent();
|
|
118
126
|
folderName = 'hotfix';
|
|
119
127
|
utils_1.Logger.logMessage("Versions identified for ".concat(options.monorepoBranchName));
|
|
120
128
|
Object.keys(versions_1).forEach(function (key) {
|
|
121
129
|
utils_1.Logger.logMessage("- [".concat(key, "]: ").concat(versions_1[key]));
|
|
122
130
|
});
|
|
123
|
-
|
|
131
|
+
_c.label = 3;
|
|
124
132
|
case 3:
|
|
125
|
-
|
|
133
|
+
_c.trys.push([3, 7, , 8]);
|
|
126
134
|
return [4 /*yield*/, this.updateAndSavePackageFiles(project, folderName, targetBranch, versions_1)];
|
|
127
135
|
case 4:
|
|
128
|
-
|
|
136
|
+
updatedPackages = _c.sent();
|
|
129
137
|
/**
|
|
130
138
|
* If there are no changes to the versions, we're done here
|
|
131
139
|
*/
|
|
132
|
-
if (!
|
|
140
|
+
if (!updatedPackages.length) {
|
|
133
141
|
utils_1.Logger.logWarning("[".concat(project.title, "]: [").concat(targetBranch, "] does not require any updates"));
|
|
134
142
|
return [2 /*return*/, true];
|
|
135
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* The versions come from git, so they can be ahead of the registry. Wait for them to become
|
|
146
|
+
* installable before npm tries to resolve them
|
|
147
|
+
*/
|
|
148
|
+
return [4 /*yield*/, this.waitForPublishedVersions(project, updatedPackages)];
|
|
149
|
+
case 5:
|
|
150
|
+
/**
|
|
151
|
+
* The versions come from git, so they can be ahead of the registry. Wait for them to become
|
|
152
|
+
* installable before npm tries to resolve them
|
|
153
|
+
*/
|
|
154
|
+
_c.sent();
|
|
136
155
|
/**
|
|
137
156
|
* Run npm i to update our package log file
|
|
138
157
|
*/
|
|
@@ -143,33 +162,34 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
143
162
|
* Commit our updated package.json and package-lock.json
|
|
144
163
|
*/
|
|
145
164
|
return [4 /*yield*/, this.commitUpdatedFiles(project, folderName, targetBranch)];
|
|
146
|
-
case
|
|
165
|
+
case 6:
|
|
147
166
|
/**
|
|
148
167
|
* Commit our updated package.json and package-lock.json
|
|
149
168
|
*/
|
|
150
|
-
|
|
169
|
+
_c.sent();
|
|
151
170
|
utils_1.Logger.logMessage("[".concat(project.title, "]: File changes committed"));
|
|
152
|
-
return [3 /*break*/,
|
|
153
|
-
case
|
|
154
|
-
error_1 =
|
|
171
|
+
return [3 /*break*/, 8];
|
|
172
|
+
case 7:
|
|
173
|
+
error_1 = _c.sent();
|
|
155
174
|
utils_1.Logger.logError("[".concat(project.title, "]: Something went wrong while attempting to install packages. Please manually check if this project should have any monorepo packages installed."));
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
case 8:
|
|
175
|
+
utils_1.Logger.logError(this.getErrorMessage(error_1));
|
|
176
|
+
return [2 /*return*/, false];
|
|
177
|
+
case 8: return [2 /*return*/, true];
|
|
178
|
+
case 9:
|
|
159
179
|
milestone = options.milestone;
|
|
160
|
-
if (!!milestone) return [3 /*break*/,
|
|
180
|
+
if (!!milestone) return [3 /*break*/, 11];
|
|
161
181
|
utils_1.Logger.logInfo("Searching for a merge request in project \"monorepo\" with branch name \"".concat(options.monorepoBranchName, "\"..."));
|
|
162
182
|
return [4 /*yield*/, this.service.getMilestoneByBranchName(utils_1.ProjectIds.MONOREPO_PROJECT_ID, options.monorepoBranchName)];
|
|
163
|
-
case 9:
|
|
164
|
-
milestone = _d.sent();
|
|
165
|
-
_d.label = 10;
|
|
166
183
|
case 10:
|
|
184
|
+
milestone = _c.sent();
|
|
185
|
+
_c.label = 11;
|
|
186
|
+
case 11:
|
|
167
187
|
if (!milestone)
|
|
168
188
|
return [2 /*return*/, false];
|
|
169
189
|
utils_1.Logger.logInfo("Found milestone \"".concat(milestone, "\". Proceeding to install packages in consuming projects..."));
|
|
170
190
|
return [4 /*yield*/, this.service.getReleaseProjects(milestone, options.projectIds, options.omittedProjectIds, options.sourceBranch)];
|
|
171
|
-
case
|
|
172
|
-
projects =
|
|
191
|
+
case 12:
|
|
192
|
+
projects = _c.sent();
|
|
173
193
|
monorepo = projects.find(function (p) { return p.id.toString() === utils_1.ProjectIds.MONOREPO_PROJECT_ID; });
|
|
174
194
|
consumingProjects = projects.filter(function (p) { return p.id.toString() !== utils_1.ProjectIds.MONOREPO_PROJECT_ID; });
|
|
175
195
|
if (!monorepo) {
|
|
@@ -181,45 +201,57 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
181
201
|
return [2 /*return*/, false];
|
|
182
202
|
}
|
|
183
203
|
return [4 /*yield*/, this.service.getNextBranchInfo(monorepo.id, options.version)];
|
|
184
|
-
case
|
|
185
|
-
_a =
|
|
204
|
+
case 13:
|
|
205
|
+
_a = _c.sent(), monorepoBranch = _a.branch, monorepoBranchName = _a.branchName;
|
|
186
206
|
if (!monorepoBranch) {
|
|
187
207
|
utils_1.Logger.logError("[".concat(monorepo.title, "]: [").concat(monorepoBranchName, "] branch does not exist"));
|
|
188
208
|
return [2 /*return*/, false];
|
|
189
209
|
}
|
|
190
210
|
return [4 /*yield*/, this.getPackageVersions(monorepoBranchName)];
|
|
191
|
-
case
|
|
192
|
-
versions =
|
|
211
|
+
case 14:
|
|
212
|
+
versions = _c.sent();
|
|
193
213
|
utils_1.Logger.logMessage("Versions identified for ".concat(monorepoBranchName));
|
|
194
214
|
Object.keys(versions).forEach(function (key) {
|
|
195
215
|
utils_1.Logger.logMessage("- [".concat(key, "]: ").concat(versions[key]));
|
|
196
216
|
});
|
|
197
217
|
utils_1.Logger.logMessage('\nInstalling packages:\n');
|
|
218
|
+
failedProjects = [];
|
|
198
219
|
_i = 0, consumingProjects_1 = consumingProjects;
|
|
199
|
-
|
|
200
|
-
case 14:
|
|
201
|
-
if (!(_i < consumingProjects_1.length)) return [3 /*break*/, 21];
|
|
202
|
-
project = consumingProjects_1[_i];
|
|
203
|
-
_d.label = 15;
|
|
220
|
+
_c.label = 15;
|
|
204
221
|
case 15:
|
|
205
|
-
|
|
206
|
-
|
|
222
|
+
if (!(_i < consumingProjects_1.length)) return [3 /*break*/, 23];
|
|
223
|
+
project = consumingProjects_1[_i];
|
|
224
|
+
_c.label = 16;
|
|
207
225
|
case 16:
|
|
208
|
-
|
|
226
|
+
_c.trys.push([16, 21, , 22]);
|
|
227
|
+
return [4 /*yield*/, this.service.getNextBranchInfo(project.id, options.version)];
|
|
228
|
+
case 17:
|
|
229
|
+
_b = _c.sent(), branch = _b.branch, branchName = _b.branchName;
|
|
209
230
|
if (!branch) {
|
|
210
231
|
utils_1.Logger.logError("[".concat(project.title, "]: [").concat(branchName, "] does not exist"));
|
|
211
|
-
return [3 /*break*/,
|
|
232
|
+
return [3 /*break*/, 22];
|
|
212
233
|
}
|
|
213
234
|
return [4 /*yield*/, this.updateAndSavePackageFiles(project, milestone, branchName, versions)];
|
|
214
|
-
case
|
|
215
|
-
|
|
235
|
+
case 18:
|
|
236
|
+
updatedPackages = _c.sent();
|
|
216
237
|
/**
|
|
217
238
|
* If there are no changes to the versions, we're done here
|
|
218
239
|
*/
|
|
219
|
-
if (!
|
|
240
|
+
if (!updatedPackages.length) {
|
|
220
241
|
utils_1.Logger.logWarning("[".concat(project.title, "]: [").concat(branchName, "] does not require any updates"));
|
|
221
|
-
return [3 /*break*/,
|
|
242
|
+
return [3 /*break*/, 22];
|
|
222
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* The versions come from git, so they can be ahead of the registry. Wait for them to become
|
|
246
|
+
* installable before npm tries to resolve them
|
|
247
|
+
*/
|
|
248
|
+
return [4 /*yield*/, this.waitForPublishedVersions(project, updatedPackages)];
|
|
249
|
+
case 19:
|
|
250
|
+
/**
|
|
251
|
+
* The versions come from git, so they can be ahead of the registry. Wait for them to become
|
|
252
|
+
* installable before npm tries to resolve them
|
|
253
|
+
*/
|
|
254
|
+
_c.sent();
|
|
223
255
|
/**
|
|
224
256
|
* Run npm i to update our package log file
|
|
225
257
|
*/
|
|
@@ -230,25 +262,40 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
230
262
|
* Commit our updated package.json and package-lock.json
|
|
231
263
|
*/
|
|
232
264
|
return [4 /*yield*/, this.commitUpdatedFiles(project, milestone, branchName)];
|
|
233
|
-
case
|
|
265
|
+
case 20:
|
|
234
266
|
/**
|
|
235
267
|
* Commit our updated package.json and package-lock.json
|
|
236
268
|
*/
|
|
237
|
-
|
|
269
|
+
_c.sent();
|
|
238
270
|
utils_1.Logger.logMessage("[".concat(project.title, "]: File changes committed"));
|
|
239
|
-
return [3 /*break*/,
|
|
240
|
-
case
|
|
241
|
-
|
|
271
|
+
return [3 /*break*/, 22];
|
|
272
|
+
case 21:
|
|
273
|
+
error_2 = _c.sent();
|
|
242
274
|
utils_1.Logger.logError("[".concat(project.title, "]: Something went wrong while attempting to install packages. Please manually check if this project should have any monorepo packages installed."));
|
|
243
|
-
|
|
244
|
-
|
|
275
|
+
utils_1.Logger.logError(this.getErrorMessage(error_2));
|
|
276
|
+
failedProjects.push(project.title);
|
|
277
|
+
return [3 /*break*/, 22];
|
|
278
|
+
case 22:
|
|
245
279
|
_i++;
|
|
246
|
-
return [3 /*break*/,
|
|
247
|
-
case
|
|
280
|
+
return [3 /*break*/, 15];
|
|
281
|
+
case 23:
|
|
282
|
+
/**
|
|
283
|
+
* One project failing shouldn't stop the others, but the command still needs to fail so the
|
|
284
|
+
* pipeline goes red rather than leaving a project silently behind
|
|
285
|
+
*/
|
|
286
|
+
if (failedProjects.length) {
|
|
287
|
+
utils_1.Logger.logError("\nFailed to install packages in ".concat(failedProjects.length, " of ") +
|
|
288
|
+
"".concat(consumingProjects.length, " projects: ").concat(failedProjects.join(', ')));
|
|
289
|
+
return [2 /*return*/, false];
|
|
290
|
+
}
|
|
291
|
+
return [2 /*return*/, true];
|
|
248
292
|
}
|
|
249
293
|
});
|
|
250
294
|
});
|
|
251
295
|
};
|
|
296
|
+
InstallPackagesTask.prototype.getErrorMessage = function (error) {
|
|
297
|
+
return error instanceof Error ? error.message : String(error);
|
|
298
|
+
};
|
|
252
299
|
InstallPackagesTask.prototype.commitUpdatedFiles = function (project, folderName, branchName) {
|
|
253
300
|
return __awaiter(this, void 0, void 0, function () {
|
|
254
301
|
var rootDir, outputPath, commitFiles, _a;
|
|
@@ -280,6 +327,81 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
280
327
|
});
|
|
281
328
|
});
|
|
282
329
|
};
|
|
330
|
+
/**
|
|
331
|
+
* We read versions out of the monorepo package.json files in git, so a version can be bumped and
|
|
332
|
+
* published while npm is still processing it in the background. Installing during that window
|
|
333
|
+
* fails with ETARGET, so wait for each version to become resolvable first.
|
|
334
|
+
*/
|
|
335
|
+
InstallPackagesTask.prototype.waitForPublishedVersions = function (project, packages) {
|
|
336
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
337
|
+
var _i, packages_1, pkg;
|
|
338
|
+
return __generator(this, function (_a) {
|
|
339
|
+
switch (_a.label) {
|
|
340
|
+
case 0:
|
|
341
|
+
_i = 0, packages_1 = packages;
|
|
342
|
+
_a.label = 1;
|
|
343
|
+
case 1:
|
|
344
|
+
if (!(_i < packages_1.length)) return [3 /*break*/, 4];
|
|
345
|
+
pkg = packages_1[_i];
|
|
346
|
+
return [4 /*yield*/, this.waitForPublishedVersion(project, pkg)];
|
|
347
|
+
case 2:
|
|
348
|
+
_a.sent();
|
|
349
|
+
_a.label = 3;
|
|
350
|
+
case 3:
|
|
351
|
+
_i++;
|
|
352
|
+
return [3 /*break*/, 1];
|
|
353
|
+
case 4: return [2 /*return*/];
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
});
|
|
357
|
+
};
|
|
358
|
+
InstallPackagesTask.prototype.waitForPublishedVersion = function (project, pkg) {
|
|
359
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
360
|
+
var attempt;
|
|
361
|
+
return __generator(this, function (_a) {
|
|
362
|
+
switch (_a.label) {
|
|
363
|
+
case 0:
|
|
364
|
+
attempt = 1;
|
|
365
|
+
_a.label = 1;
|
|
366
|
+
case 1:
|
|
367
|
+
if (!(attempt <= PUBLISH_POLL_ATTEMPTS)) return [3 /*break*/, 4];
|
|
368
|
+
if (this.isVersionPublished(pkg)) {
|
|
369
|
+
utils_1.Logger.logInfo("[".concat(project.title, "]: ").concat(pkg, " is available on npm"));
|
|
370
|
+
return [2 /*return*/];
|
|
371
|
+
}
|
|
372
|
+
if (!(attempt < PUBLISH_POLL_ATTEMPTS)) return [3 /*break*/, 3];
|
|
373
|
+
utils_1.Logger.logWarning("[".concat(project.title, "]: ").concat(pkg, " is not available on npm yet, waiting ") +
|
|
374
|
+
"".concat(PUBLISH_POLL_INTERVAL_MS / 1000, "s (attempt ").concat(attempt, "/").concat(PUBLISH_POLL_ATTEMPTS, ")"));
|
|
375
|
+
return [4 /*yield*/, this.delay(PUBLISH_POLL_INTERVAL_MS)];
|
|
376
|
+
case 2:
|
|
377
|
+
_a.sent();
|
|
378
|
+
_a.label = 3;
|
|
379
|
+
case 3:
|
|
380
|
+
attempt++;
|
|
381
|
+
return [3 /*break*/, 1];
|
|
382
|
+
case 4: throw new errors_1.ShipItError("[".concat(project.title, "]: ").concat(pkg, " did not become available on npm after ") +
|
|
383
|
+
"".concat((PUBLISH_POLL_ATTEMPTS * PUBLISH_POLL_INTERVAL_MS) / 1000, "s. Check that it published successfully."));
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
|
+
};
|
|
388
|
+
InstallPackagesTask.prototype.isVersionPublished = function (pkg) {
|
|
389
|
+
try {
|
|
390
|
+
/**
|
|
391
|
+
* --prefer-online revalidates the cached metadata. The CI npm cache is restored between jobs,
|
|
392
|
+
* so without it npm can serve back a copy from before the version was published
|
|
393
|
+
*/
|
|
394
|
+
var output = child_process_1.default.execSync("npm view ".concat(pkg, " version --prefer-online"), { stdio: 'pipe' });
|
|
395
|
+
return output.toString().trim() !== '';
|
|
396
|
+
}
|
|
397
|
+
catch (_a) {
|
|
398
|
+
// npm exits non-zero when the version does not exist yet
|
|
399
|
+
return false;
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
InstallPackagesTask.prototype.delay = function (ms) {
|
|
403
|
+
return new Promise(function (resolve) { return setTimeout(resolve, ms); });
|
|
404
|
+
};
|
|
283
405
|
InstallPackagesTask.prototype.npmInstall = function (project, folderName) {
|
|
284
406
|
var outputPath = this.getOutputPath(project, folderName);
|
|
285
407
|
child_process_1.default.execSync('npm i --package-lock-only --verbose', {
|
|
@@ -288,15 +410,18 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
288
410
|
// stdio: 'pipe'
|
|
289
411
|
});
|
|
290
412
|
};
|
|
413
|
+
/**
|
|
414
|
+
* Returns the packages whose versions changed, as "name@version" strings
|
|
415
|
+
*/
|
|
291
416
|
InstallPackagesTask.prototype.updateAndSavePackageFiles = function (project, folderName, branchName, versions) {
|
|
292
417
|
return __awaiter(this, void 0, void 0, function () {
|
|
293
|
-
var rootDir, packageJson, packageLock, packageJsonObj,
|
|
418
|
+
var rootDir, packageJson, packageLock, packageJsonObj, updatedPackages, outputPath;
|
|
294
419
|
return __generator(this, function (_a) {
|
|
295
420
|
switch (_a.label) {
|
|
296
421
|
case 0:
|
|
297
422
|
rootDir = ROOT_DIRECTORIES[project.id];
|
|
298
423
|
if (!rootDir)
|
|
299
|
-
return [2 /*return*/,
|
|
424
|
+
return [2 /*return*/, []];
|
|
300
425
|
return [4 /*yield*/, this.getFileText(project.id, branchName, "".concat(rootDir, "/package.json"))];
|
|
301
426
|
case 1:
|
|
302
427
|
packageJson = _a.sent();
|
|
@@ -304,16 +429,16 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
304
429
|
case 2:
|
|
305
430
|
packageLock = _a.sent();
|
|
306
431
|
packageJsonObj = JSON.parse(packageJson);
|
|
307
|
-
|
|
432
|
+
updatedPackages = [];
|
|
308
433
|
utils_1.Logger.logMessage(project.title);
|
|
309
434
|
/**
|
|
310
435
|
* Annoyingly some projects have clickview packages sitting in dependencies
|
|
311
436
|
* and others have it in devDependencies
|
|
312
437
|
*/
|
|
313
438
|
if (packageJsonObj.dependencies)
|
|
314
|
-
packageJson = this.replaceVersions(packageJson, versions, packageJsonObj.dependencies);
|
|
439
|
+
packageJson = this.replaceVersions(packageJson, versions, packageJsonObj.dependencies, updatedPackages);
|
|
315
440
|
if (packageJsonObj.devDependencies)
|
|
316
|
-
packageJson = this.replaceVersions(packageJson, versions, packageJsonObj.devDependencies);
|
|
441
|
+
packageJson = this.replaceVersions(packageJson, versions, packageJsonObj.devDependencies, updatedPackages);
|
|
317
442
|
outputPath = this.getOutputPath(project, folderName);
|
|
318
443
|
return [4 /*yield*/, fs_extra_1.default.outputFile("".concat(outputPath, "/package.json"), packageJson, { encoding: 'utf8' })];
|
|
319
444
|
case 3:
|
|
@@ -321,12 +446,12 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
321
446
|
return [4 /*yield*/, fs_extra_1.default.outputFile("".concat(outputPath, "/package-lock.json"), packageLock, { encoding: 'utf8' })];
|
|
322
447
|
case 4:
|
|
323
448
|
_a.sent();
|
|
324
|
-
return [2 /*return*/,
|
|
449
|
+
return [2 /*return*/, updatedPackages];
|
|
325
450
|
}
|
|
326
451
|
});
|
|
327
452
|
});
|
|
328
453
|
};
|
|
329
|
-
InstallPackagesTask.prototype.replaceVersions = function (packageJson, versions, deps) {
|
|
454
|
+
InstallPackagesTask.prototype.replaceVersions = function (packageJson, versions, deps, updatedPackages) {
|
|
330
455
|
Object.keys(deps).forEach(function (key) {
|
|
331
456
|
if (!key.startsWith('@clickview'))
|
|
332
457
|
return;
|
|
@@ -343,6 +468,7 @@ var InstallPackagesTask = /** @class */ (function () {
|
|
|
343
468
|
return;
|
|
344
469
|
}
|
|
345
470
|
packageJson = packageJson.replace("\"".concat(key, "\": \"").concat(deps[key], "\""), "\"".concat(key, "\": \"").concat(versions[key], "\""));
|
|
471
|
+
updatedPackages.push("".concat(key, "@").concat(newVersion));
|
|
346
472
|
utils_1.Logger.logMessage("- [".concat(key, "]: ").concat(deps[key], " -> ").concat(versions[key]));
|
|
347
473
|
});
|
|
348
474
|
return packageJson;
|
package/package.json
CHANGED