@eui/tools 6.1.0 → 6.1.2
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/.version.properties +1 -1
- package/CHANGELOG.md +25 -0
- package/bin/eui-scripts.js +2 -0
- package/bin/scripts/audit-package.js +10 -0
- package/bin/scripts/csdr-upgrade-deps.js +1 -4
- package/package.json +1 -1
- package/sandbox.js +137 -18
- package/scripts/csdr/audit/audit-utils.js +3 -98
- package/scripts/csdr/audit/deps.js +89 -0
- package/scripts/csdr/audit/styles.js +469 -0
- package/scripts/csdr/audit/yarn.js +105 -0
- package/scripts/csdr/config/global.js +17 -17
- package/scripts/csdr/config/packages.js +67 -5
- package/scripts/csdr/config/projects.js +14 -4
- package/scripts/csdr/config/sync.js +0 -1
- package/scripts/csdr/init/global.js +122 -0
- package/scripts/csdr/init/init-utils.js +8 -358
- package/scripts/csdr/init/init.js +19 -12
- package/scripts/csdr/init/packages.js +142 -0
- package/scripts/csdr/init/projects.js +112 -0
- package/scripts/csdr/init/remotes.js +21 -0
- package/scripts/csdr/install/common.js +26 -391
- package/scripts/csdr/install/local-dev.js +54 -50
- package/scripts/csdr/install/packages.js +183 -3
- package/scripts/csdr/install/projects.js +198 -9
- package/scripts/csdr/release/package/ui.js +6 -85
- package/scripts/csdr/sync/sync-utils.js +8 -8
|
@@ -10,20 +10,34 @@ const configUtils = require('../config/config-utils');
|
|
|
10
10
|
const metadataUtils = require('../metadata/metadata-utils');
|
|
11
11
|
|
|
12
12
|
// FETCH ARGS
|
|
13
|
-
const { dryRun, skipInstall, registry,
|
|
13
|
+
const { dryRun, skipInstall, registry, skipLocalPackagesDeps } = tools.getArgs();
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
const getInstallRegistry = () => {
|
|
17
|
+
const NPM_REGISTRY_INSTALL = configUtils.global.getConfigOptions().NPM_REGISTRY_INSTALL;
|
|
18
|
+
|
|
19
|
+
// check if registry has been passed as argument
|
|
20
|
+
var installRegistry;
|
|
21
|
+
if (registry) {
|
|
22
|
+
installRegistry = registry;
|
|
23
|
+
} else {
|
|
24
|
+
installRegistry = NPM_REGISTRY_INSTALL;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return installRegistry;
|
|
28
|
+
}
|
|
29
|
+
|
|
16
30
|
|
|
17
|
-
|
|
31
|
+
module.exports.installDeps = (deps) => {
|
|
18
32
|
|
|
19
33
|
return Promise.resolve()
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
34
|
+
// Install dependencies
|
|
35
|
+
.then(() => {
|
|
36
|
+
tools.logTitle('Package dependencies to install : ');
|
|
23
37
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
38
|
+
const rootFolder = process.cwd();
|
|
39
|
+
const pkgJsonFile = path.resolve(rootFolder, 'package.json');
|
|
40
|
+
const pkgJson = require(pkgJsonFile);
|
|
27
41
|
|
|
28
42
|
pkgJson.dependencies = deps;
|
|
29
43
|
|
|
@@ -43,21 +57,7 @@ const installDeps = (deps) => {
|
|
|
43
57
|
}
|
|
44
58
|
|
|
45
59
|
|
|
46
|
-
const
|
|
47
|
-
const NPM_REGISTRY_INSTALL = configUtils.global.getConfigOptions().NPM_REGISTRY_INSTALL;
|
|
48
|
-
|
|
49
|
-
// check if registry has been passed as argument
|
|
50
|
-
var installRegistry;
|
|
51
|
-
if (registry) {
|
|
52
|
-
installRegistry = registry;
|
|
53
|
-
} else {
|
|
54
|
-
installRegistry = NPM_REGISTRY_INSTALL;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return installRegistry;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const executeInstall = (cwdPath) => {
|
|
60
|
+
const executeInstall = module.exports.executeInstall = (cwdPath) => {
|
|
61
61
|
return Promise.resolve()
|
|
62
62
|
.then(() => {
|
|
63
63
|
const installRegistry = getInstallRegistry();
|
|
@@ -74,7 +74,7 @@ const executeInstall = (cwdPath) => {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
module.exports.executeInstallPackage = (cwdPath, npmPkg) => {
|
|
78
78
|
return Promise.resolve()
|
|
79
79
|
.then(() => {
|
|
80
80
|
const installRegistry = getInstallRegistry();
|
|
@@ -91,7 +91,7 @@ const executeInstallPackage = (cwdPath, npmPkg) => {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
module.exports.getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
|
|
95
95
|
tools.logTitle('Remapping major version carret declared dependencies');
|
|
96
96
|
|
|
97
97
|
return Promise.resolve()
|
|
@@ -150,7 +150,7 @@ const getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
|
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
|
|
153
|
-
const getResolvedCarretDeps = (deps, isMaster) => {
|
|
153
|
+
const getResolvedCarretDeps = module.exports.getResolvedCarretDeps = (deps, isMaster) => {
|
|
154
154
|
tools.logTitle('Resolving carret versions for prev or next version packages');
|
|
155
155
|
|
|
156
156
|
tools.logInfo('processing dependencies : ');
|
|
@@ -195,368 +195,3 @@ const getResolvedCarretDeps = (deps, isMaster) => {
|
|
|
195
195
|
})
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const getLocalPackageDeps = (pkg) => {
|
|
202
|
-
let pkgJsonFile;
|
|
203
|
-
|
|
204
|
-
if (pkg.parent) {
|
|
205
|
-
return {};
|
|
206
|
-
} else {
|
|
207
|
-
if (pkg.child) {
|
|
208
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.parentPkg, 'packages', pkg.folder || pkg.name, 'package.json');
|
|
209
|
-
} else {
|
|
210
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.name, 'package.json');
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return tools.getJsonFileContent(pkgJsonFile).dependencies || {};
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const getLocalPackagesDeps = () => {
|
|
219
|
-
const packages = configUtils.packages.getPackages();
|
|
220
|
-
let deps = {};
|
|
221
|
-
|
|
222
|
-
packages.forEach(p => {
|
|
223
|
-
const pkgDeps = getLocalPackageDeps(p);
|
|
224
|
-
|
|
225
|
-
tools.logInfo(`Getting local dependencies for ${p.name}`);
|
|
226
|
-
console.log(JSON.stringify(pkgDeps, null, 2));
|
|
227
|
-
|
|
228
|
-
const pdeps = Object.keys(pkgDeps)
|
|
229
|
-
.reduce((acc, k) => {
|
|
230
|
-
if (k.indexOf('@eui') !== -1 ) {
|
|
231
|
-
if (k.indexOf('@eui/ecl') !== -1 ||
|
|
232
|
-
k.indexOf('@eui/styles-base') !== -1
|
|
233
|
-
) {
|
|
234
|
-
acc[k] = pkgDeps[k];
|
|
235
|
-
}
|
|
236
|
-
} else {
|
|
237
|
-
acc[k] = pkgDeps[k];
|
|
238
|
-
}
|
|
239
|
-
return acc;
|
|
240
|
-
}, {});
|
|
241
|
-
|
|
242
|
-
deps = { ...deps, ...pdeps };
|
|
243
|
-
})
|
|
244
|
-
|
|
245
|
-
return deps;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
const getLocalPackageCompositeDeps = (pkg) => {
|
|
250
|
-
let pkgJsonFile;
|
|
251
|
-
|
|
252
|
-
if (!skipLocalPackagesDeps) {
|
|
253
|
-
if (pkg.child) {
|
|
254
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.parentPkg, 'packages', pkg.folder || pkg.name, 'dependencies-composite.json');
|
|
255
|
-
} else {
|
|
256
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.name, 'dependencies-composite.json');
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
if (tools.isFileExists(pkgJsonFile)) {
|
|
260
|
-
tools.logInfo(`found ${pkgJsonFile}, parsing...`);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
return tools.getJsonFileContent(pkgJsonFile) || {};
|
|
264
|
-
|
|
265
|
-
} else {
|
|
266
|
-
tools.logInfo('Skipping gathering local packages composite deps');
|
|
267
|
-
|
|
268
|
-
return {};
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
const getLocalPackagesCompositeDeps = () => {
|
|
274
|
-
tools.logTitle('Parsing composite deps for local packages');
|
|
275
|
-
|
|
276
|
-
let deps = {};
|
|
277
|
-
|
|
278
|
-
// getting locally mounted packages, don't take into account remotely installed packages (elements remote)
|
|
279
|
-
const packages = configUtils.packages.getPackages().filter((p) => {
|
|
280
|
-
return !p.paths.remoteNodeModules;
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
packages.forEach(p => {
|
|
284
|
-
tools.logInfo(`Parsing package : ${p.name}`);
|
|
285
|
-
|
|
286
|
-
// getting the package composite if any
|
|
287
|
-
const compositeDeps = getLocalPackageCompositeDeps(p);
|
|
288
|
-
|
|
289
|
-
deps = { ...deps, ...compositeDeps };
|
|
290
|
-
|
|
291
|
-
tools.logInfo('Deps found : ');
|
|
292
|
-
console.log(deps);
|
|
293
|
-
})
|
|
294
|
-
|
|
295
|
-
return deps;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
const getLocalPackageBaseDeps = (pkg) => {
|
|
300
|
-
let pkgJsonFile;
|
|
301
|
-
|
|
302
|
-
if (!skipLocalPackagesDeps) {
|
|
303
|
-
if (pkg.child) {
|
|
304
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.parentPkg, 'packages', pkg.folder || pkg.name, 'dependencies-base.json');
|
|
305
|
-
} else {
|
|
306
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.name, 'dependencies-base.json');
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
if (tools.isFileExists(pkgJsonFile)) {
|
|
310
|
-
tools.logInfo(`found ${pkgJsonFile}, parsing...`);
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
return tools.getJsonFileContent(pkgJsonFile) || {};
|
|
314
|
-
|
|
315
|
-
} else {
|
|
316
|
-
tools.logInfo('Skipping gathering local packages base deps');
|
|
317
|
-
|
|
318
|
-
return {};
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
const getLocalPackagesBaseDeps = () => {
|
|
325
|
-
tools.logTitle('Parsing base deps for local packages');
|
|
326
|
-
|
|
327
|
-
let deps = {};
|
|
328
|
-
|
|
329
|
-
// getting locally mounted packages, don't take into account remotely installed packages (elements remote)
|
|
330
|
-
const packages = configUtils.packages.getPackages().filter((p) => {
|
|
331
|
-
return !p.paths.remoteNodeModules;
|
|
332
|
-
});
|
|
333
|
-
|
|
334
|
-
packages.forEach(p => {
|
|
335
|
-
tools.logInfo(`Parsing package : ${p.name}`);
|
|
336
|
-
|
|
337
|
-
// getting the package base if any
|
|
338
|
-
const baseDeps = getLocalPackageBaseDeps(p);
|
|
339
|
-
|
|
340
|
-
deps = { ...deps, ...baseDeps };
|
|
341
|
-
|
|
342
|
-
tools.logInfo('Deps found : ');
|
|
343
|
-
console.log(deps);
|
|
344
|
-
})
|
|
345
|
-
|
|
346
|
-
return deps;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
const getLocalPackagesCompositeDepsRemapped = () => {
|
|
351
|
-
return Promise.resolve()
|
|
352
|
-
.then(() => {
|
|
353
|
-
return metadataUtils.package.getPackagesDeps('packages');
|
|
354
|
-
})
|
|
355
|
-
|
|
356
|
-
.then((depsMetadata) => {
|
|
357
|
-
const compositeDeps = getLocalPackagesCompositeDeps();
|
|
358
|
-
|
|
359
|
-
return getRemappedDeps(depsMetadata, compositeDeps, false);
|
|
360
|
-
})
|
|
361
|
-
|
|
362
|
-
.then((remappedDeps) => {
|
|
363
|
-
tools.logInfo('Remapped deps : ');
|
|
364
|
-
|
|
365
|
-
console.log(remappedDeps);
|
|
366
|
-
|
|
367
|
-
return remappedDeps;
|
|
368
|
-
})
|
|
369
|
-
|
|
370
|
-
.catch((e) => {
|
|
371
|
-
throw e;
|
|
372
|
-
})
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
const getLocalProjectDeps = (prj, snapshotsMetadata) => {
|
|
377
|
-
tools.logInfo(`Getting deps for ${prj.name}`);
|
|
378
|
-
|
|
379
|
-
// check dependencies file - default
|
|
380
|
-
const prjJsonFile = path.join(process.cwd(), prj.folder, 'dependencies-base.json');
|
|
381
|
-
const prjDeps = tools.getJsonFileContent(prjJsonFile) || {};
|
|
382
|
-
|
|
383
|
-
// check dependencies composite file - default
|
|
384
|
-
const prjCompJsonFile = path.join(process.cwd(), prj.folder, 'dependencies-composite.json');
|
|
385
|
-
|
|
386
|
-
const depsJson = tools.getJsonFileContent(prjCompJsonFile);
|
|
387
|
-
let prjCompDeps;
|
|
388
|
-
if (depsJson.dependencies) {
|
|
389
|
-
prjCompDeps = depsJson.dependencies || {};
|
|
390
|
-
} else {
|
|
391
|
-
prjCompDeps = depsJson || {}
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
let remoteDeps = {};
|
|
395
|
-
if (prj.initRemoteDependencies && remotesImport && snapshotsMetadata) {
|
|
396
|
-
|
|
397
|
-
tools.logInfo('Importing remotes deps... this might take a while');
|
|
398
|
-
|
|
399
|
-
const remotes = configUtils.packages.getCsdrRemotePackages()
|
|
400
|
-
.filter((p) => {
|
|
401
|
-
return p.active === true
|
|
402
|
-
})
|
|
403
|
-
.map((p) => {
|
|
404
|
-
return { npmgPkg: p.npmPkg, version: snapshotsMetadata[p.npmPkg] }
|
|
405
|
-
})
|
|
406
|
-
.filter((dep) => {
|
|
407
|
-
return dep.version !== undefined
|
|
408
|
-
})
|
|
409
|
-
|
|
410
|
-
remotes.forEach((r) => {
|
|
411
|
-
remoteDeps[r.npmgPkg] = r.version;
|
|
412
|
-
});
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
return { ...prjDeps, ...prjCompDeps, ...remoteDeps };
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
const getLocalProjectsDeps = (snapshotsMetadata) => {
|
|
420
|
-
tools.logTitle('Getting project dependencies');
|
|
421
|
-
|
|
422
|
-
const projects = configUtils.projects.getProjects();
|
|
423
|
-
let deps = {};
|
|
424
|
-
|
|
425
|
-
projects.forEach(p => {
|
|
426
|
-
if (p) {
|
|
427
|
-
const prjDeps = getLocalProjectDeps(p, snapshotsMetadata);
|
|
428
|
-
deps = { ...deps, ...prjDeps };
|
|
429
|
-
}
|
|
430
|
-
})
|
|
431
|
-
|
|
432
|
-
return deps;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
const getLocalProjectFixedDeps = (prj) => {
|
|
437
|
-
tools.logTitle('Getting project fixed dependencies - not part of the composite');
|
|
438
|
-
|
|
439
|
-
return Promise.resolve()
|
|
440
|
-
.then(() => {
|
|
441
|
-
return metadataUtils.package.getPackagesDeps('packages');
|
|
442
|
-
})
|
|
443
|
-
|
|
444
|
-
// extracting the fixed deps versions from metadata
|
|
445
|
-
.then((pkgDeps) => {
|
|
446
|
-
let deps = {};
|
|
447
|
-
|
|
448
|
-
if (prj.fixedDependencies) {
|
|
449
|
-
tools.logInfo('Project fixed dependencies found...processing');
|
|
450
|
-
console.log(prj.fixedDependencies);
|
|
451
|
-
|
|
452
|
-
prj.fixedDependencies.forEach((dep) => {
|
|
453
|
-
const newDep = { [dep]: pkgDeps[dep] };
|
|
454
|
-
deps = { ...deps, ...newDep }
|
|
455
|
-
})
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
tools.logInfo('Project fixed dependencies remapped : ');
|
|
459
|
-
console.log(deps);
|
|
460
|
-
|
|
461
|
-
return deps;
|
|
462
|
-
})
|
|
463
|
-
|
|
464
|
-
.catch((e) => {
|
|
465
|
-
throw e;
|
|
466
|
-
})
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
const getLocalProjectsFixedDeps = async _ => {
|
|
471
|
-
const projects = configUtils.projects.getProjects();
|
|
472
|
-
let deps = {};
|
|
473
|
-
|
|
474
|
-
const promises = projects.map(async prj => {
|
|
475
|
-
const prjDeps = await getLocalProjectFixedDeps(prj)
|
|
476
|
-
deps = { ...deps, ...prjDeps};
|
|
477
|
-
return deps;
|
|
478
|
-
})
|
|
479
|
-
|
|
480
|
-
await Promise.all(promises);
|
|
481
|
-
return deps;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
const importLocalProjectRemotes = (prj, deps) => {
|
|
486
|
-
if (prj.initRemoteDependencies) {
|
|
487
|
-
tools.logInfo(`Import remotes for project : ${prj.name}`);
|
|
488
|
-
|
|
489
|
-
const remoteDeps = Object.keys(deps).filter((dep) => {
|
|
490
|
-
return dep.indexOf('remote-el') !== -1;
|
|
491
|
-
})
|
|
492
|
-
|
|
493
|
-
if (remoteDeps.length === 0) {
|
|
494
|
-
tools.logWarning('Remotes not found...skipping');
|
|
495
|
-
|
|
496
|
-
} else {
|
|
497
|
-
tools.logInfo(`Initializing ${remoteDeps.length} remotes`);
|
|
498
|
-
|
|
499
|
-
remoteDeps.forEach((remoteNpmPkg) => {
|
|
500
|
-
tools.logInfo(`Checking import for : ${remoteNpmPkg}`);
|
|
501
|
-
|
|
502
|
-
// check if package has been installed locally
|
|
503
|
-
const localPackage = configUtils.packages.getPackages().filter((p) => {
|
|
504
|
-
return p.npmPkg === remoteNpmPkg
|
|
505
|
-
})[0];
|
|
506
|
-
|
|
507
|
-
if (localPackage) {
|
|
508
|
-
tools.logInfo('remote is installed locally...skipping import');
|
|
509
|
-
|
|
510
|
-
} else {
|
|
511
|
-
const pkg = configUtils.packages.getPackageByNpmPkg(remoteNpmPkg, true);
|
|
512
|
-
const projectElementsPath = path.join(process.cwd(), prj.folder, 'src', 'assets', 'elements', pkg.name, 'bundles');
|
|
513
|
-
|
|
514
|
-
const npmPkgScope = remoteNpmPkg.substr(0, remoteNpmPkg.indexOf('/'));
|
|
515
|
-
const npmPkgName = remoteNpmPkg.substr(remoteNpmPkg.indexOf('/') + 1);
|
|
516
|
-
const remoteNmPath = path.join(process.cwd(), 'node_modules', npmPkgScope, npmPkgName, 'bundles');
|
|
517
|
-
|
|
518
|
-
tools.logInfo(`${remoteNpmPkg} - injecting in ${projectElementsPath}`);
|
|
519
|
-
tools.copydir(remoteNmPath, projectElementsPath);
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
});
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
const importLocalProjectsRemotes = (deps) => {
|
|
529
|
-
const projects = configUtils.projects.getProjects();
|
|
530
|
-
|
|
531
|
-
tools.logTitle('Importing local projects remotes');
|
|
532
|
-
|
|
533
|
-
if (remotesImport) {
|
|
534
|
-
projects.forEach(p => {
|
|
535
|
-
if (p) {
|
|
536
|
-
importLocalProjectRemotes(p, deps);
|
|
537
|
-
}
|
|
538
|
-
})
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
module.exports = {
|
|
545
|
-
installDeps,
|
|
546
|
-
executeInstall,
|
|
547
|
-
executeInstallPackage,
|
|
548
|
-
getRemappedDeps,
|
|
549
|
-
getLocalPackageDeps,
|
|
550
|
-
getLocalPackagesDeps,
|
|
551
|
-
getLocalPackageCompositeDeps,
|
|
552
|
-
getLocalPackagesCompositeDeps,
|
|
553
|
-
getLocalPackagesCompositeDepsRemapped,
|
|
554
|
-
getLocalPackageBaseDeps,
|
|
555
|
-
getLocalPackagesBaseDeps,
|
|
556
|
-
getLocalProjectDeps,
|
|
557
|
-
getLocalProjectsDeps,
|
|
558
|
-
getLocalProjectFixedDeps,
|
|
559
|
-
getLocalProjectsFixedDeps,
|
|
560
|
-
importLocalProjectRemotes,
|
|
561
|
-
importLocalProjectsRemotes
|
|
562
|
-
}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
// GLOBAL
|
|
4
|
-
const execa = require('execa');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
|
|
7
3
|
// LOCAL
|
|
8
4
|
const tools = require('../../utils/tools');
|
|
9
5
|
const configUtils = require('../config/config-utils');
|
|
@@ -12,72 +8,85 @@ const metadataUtils = require('../metadata/metadata-utils');
|
|
|
12
8
|
// INNER MODULES
|
|
13
9
|
const innerCommon = require('./common');
|
|
14
10
|
const innerRemotes = require('./remotes');
|
|
11
|
+
const innerProjects = require('./projects');
|
|
12
|
+
const innerPackages = require('./packages');
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
const { dryRun, skipInstall } = tools.getArgs();
|
|
14
|
+
module.exports.installPackage = (pkgName) => {
|
|
18
15
|
|
|
16
|
+
const pkg = configUtils.packages.getPackage(pkgName, false, true);
|
|
19
17
|
|
|
18
|
+
return Promise.resolve()
|
|
19
|
+
.then(() => {
|
|
20
|
+
return metadataUtils.common.cloneMetadataRepo(true);
|
|
21
|
+
})
|
|
20
22
|
|
|
23
|
+
.then(() => {
|
|
24
|
+
if (pkg.remote) {
|
|
25
|
+
return innerRemotes.installDeps(pkg);
|
|
26
|
+
} else {
|
|
27
|
+
return innerPackages.installDeps(null, pkg);
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
.catch((e) => {
|
|
32
|
+
throw e;
|
|
33
|
+
})
|
|
34
|
+
}
|
|
21
35
|
|
|
22
|
-
module.exports.install = (pkg) => {
|
|
23
|
-
let packagesDeps, packagesCompositeDeps, projectsDeps, projectsFixedDeps, finalDeps, snapshotsMetadata;
|
|
24
36
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
37
|
+
|
|
38
|
+
module.exports.install = () => {
|
|
39
|
+
let finalDeps = {}, resolvedDeps = {}, remoteDeps = {};
|
|
29
40
|
|
|
30
41
|
return Promise.resolve()
|
|
31
42
|
|
|
32
|
-
// cloning devops metadata repo
|
|
33
43
|
.then(() => {
|
|
34
44
|
return metadataUtils.common.cloneMetadataRepo(true);
|
|
35
45
|
})
|
|
36
46
|
|
|
37
|
-
// getting packages
|
|
47
|
+
// getting internal packages deps - cloned locally
|
|
38
48
|
.then(() => {
|
|
39
|
-
return
|
|
49
|
+
return innerPackages.getLocalPackagesDeps();
|
|
40
50
|
})
|
|
41
|
-
.then((
|
|
42
|
-
|
|
51
|
+
.then((deps) => {
|
|
52
|
+
resolvedDeps = {...resolvedDeps, ...deps};
|
|
43
53
|
})
|
|
44
54
|
|
|
45
|
-
//
|
|
55
|
+
// Getting internal packages deps - project cloned locally
|
|
46
56
|
.then(() => {
|
|
47
|
-
return
|
|
57
|
+
return innerPackages.getLocalPackagesCompositeDeps();
|
|
48
58
|
})
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
// Getting internal packages deps - project cloned locally
|
|
53
|
-
.then((pkgDeps) => {
|
|
54
|
-
// storing
|
|
55
|
-
packagesDeps = pkgDeps;
|
|
56
|
-
|
|
57
|
-
return innerCommon.getLocalPackagesCompositeDeps();
|
|
59
|
+
.then((deps) => {
|
|
60
|
+
resolvedDeps = {...resolvedDeps, ...deps};
|
|
58
61
|
})
|
|
59
62
|
|
|
60
63
|
// Getting internal packages deps - project cloned locally
|
|
61
|
-
.then((
|
|
62
|
-
|
|
63
|
-
packagesCompositeDeps = pkgCompositeDeps;
|
|
64
|
-
|
|
65
|
-
return innerCommon.getLocalProjectsDeps(snapshotsMetadata);
|
|
64
|
+
.then(() => {
|
|
65
|
+
return innerProjects.getLocalProjectsDeps();
|
|
66
66
|
})
|
|
67
|
-
.then((
|
|
68
|
-
|
|
67
|
+
.then((deps) => {
|
|
68
|
+
resolvedDeps = {...resolvedDeps, ...deps};
|
|
69
69
|
})
|
|
70
70
|
|
|
71
|
-
|
|
72
71
|
// getting internal projects fixed deps if any
|
|
73
72
|
.then(() => {
|
|
74
|
-
return
|
|
73
|
+
return innerProjects.getLocalProjectsFixedDeps();
|
|
74
|
+
})
|
|
75
|
+
.then((deps) => {
|
|
76
|
+
resolvedDeps = {...resolvedDeps, ...deps};
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
// getting internal projects remotes deps if any
|
|
80
|
+
.then(() => {
|
|
81
|
+
return innerProjects.getLocalProjectsRemoteDeps();
|
|
75
82
|
})
|
|
76
|
-
.then((
|
|
77
|
-
|
|
83
|
+
.then((deps) => {
|
|
84
|
+
remoteDeps = deps; // storing for remote import usage
|
|
85
|
+
resolvedDeps = {...resolvedDeps, ...deps};
|
|
78
86
|
})
|
|
79
87
|
|
|
80
88
|
|
|
89
|
+
|
|
81
90
|
// Get last known working build dependencies from DEVOPS metadata, including snapshot releases
|
|
82
91
|
.then(() => {
|
|
83
92
|
return metadataUtils.package.getPackagesDeps('packages');
|
|
@@ -89,13 +98,10 @@ module.exports.install = (pkg) => {
|
|
|
89
98
|
|
|
90
99
|
const fixedDeps = configUtils.global.getConfig().npm.fixedDependencies;
|
|
91
100
|
|
|
92
|
-
const configDeps = { ...
|
|
101
|
+
const configDeps = { ...resolvedDeps, ...fixedDeps };
|
|
93
102
|
|
|
94
|
-
tools.logInfo('
|
|
95
|
-
console.log(
|
|
96
|
-
|
|
97
|
-
tools.logInfo('Packages composite deps found : ');
|
|
98
|
-
console.log(packagesCompositeDeps);
|
|
103
|
+
tools.logInfo('Accumulated dependencies found : ');
|
|
104
|
+
console.log(configDeps);
|
|
99
105
|
|
|
100
106
|
return innerCommon.getRemappedDeps(depsMetadata, configDeps, false);
|
|
101
107
|
})
|
|
@@ -105,19 +111,17 @@ module.exports.install = (pkg) => {
|
|
|
105
111
|
.then((updatedDeps) => {
|
|
106
112
|
finalDeps = updatedDeps;
|
|
107
113
|
|
|
108
|
-
|
|
109
|
-
return innerCommon.installDeps(updatedDeps);
|
|
110
|
-
}
|
|
114
|
+
return innerCommon.installDeps(updatedDeps);
|
|
111
115
|
})
|
|
112
116
|
|
|
113
117
|
// Import remotes into local projects
|
|
114
118
|
.then(() => {
|
|
115
|
-
return
|
|
119
|
+
return innerProjects.importLocalProjectsRemotes(remoteDeps);
|
|
116
120
|
})
|
|
117
121
|
|
|
118
122
|
// checking remotes
|
|
119
123
|
.then(() => {
|
|
120
|
-
return innerRemotes.installDeps(
|
|
124
|
+
return innerRemotes.installDeps();
|
|
121
125
|
})
|
|
122
126
|
|
|
123
127
|
.then(() => {
|