@eui/tools 5.3.90 → 6.1.1
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 +40 -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 +176 -108
- package/scripts/csdr/audit/audit-utils.js +3 -98
- package/scripts/csdr/audit/deps.js +89 -0
- package/scripts/csdr/audit/styles.js +457 -0
- package/scripts/csdr/audit/yarn.js +105 -0
- package/scripts/csdr/config/angular.js +26 -23
- package/scripts/csdr/config/global.js +18 -18
- package/scripts/csdr/config/packages.js +86 -14
- package/scripts/csdr/config/projects.js +54 -6
- package/scripts/csdr/config/sync.js +15 -1
- package/scripts/csdr/init/global.js +122 -0
- package/scripts/csdr/init/init-utils.js +8 -296
- package/scripts/csdr/init/init.js +44 -14
- package/scripts/csdr/init/meta.js +3 -2
- 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/init/repos.js +5 -31
- package/scripts/csdr/install/common.js +43 -385
- package/scripts/csdr/install/local-dev.js +55 -46
- package/scripts/csdr/install/packages.js +183 -3
- package/scripts/csdr/install/projects.js +202 -2
- package/scripts/csdr/release/package/release-package.js +26 -56
- package/scripts/csdr/release/package/ui.js +6 -85
- package/scripts/csdr/sync/sync-utils.js +8 -8
- package/scripts/csdr/version/app-default.js +0 -3
- package/scripts/csdr/version/package-common.js +2 -4
- package/scripts/csdr/version/package-remote.js +0 -4
- package/scripts/index.js +0 -2
- package/scripts/utils/build/package/build-package-utils.js +5 -13
- package/scripts/utils/build/package/maven.js +6 -12
- package/scripts/utils/build/package/nodeJs.js +0 -1
- package/scripts/utils/build/package/postcss.config.js +0 -2
- package/scripts/utils/build/package/styles.js +1 -0
- package/scripts/utils/changelog-utils.js +4 -2
- package/scripts/utils/git-utils.js +46 -0
- package/scripts/utils/pre-build/elements.js +1 -1
- package/scripts/utils/pre-build/injection/config.js +21 -134
- package/scripts/utils/pre-build/injection/externals.js +135 -90
- package/scripts/utils/pre-build/injection/routes-replacement.js +67 -15
- package/scripts/utils/pre-build/injection/skeletons.js +3 -2
- package/scripts/utils/pre-build/projects.js +1 -3
- package/scripts/utils/publish/npm.js +1 -2
- package/scripts/utils/serve/element.js +17 -2
- package/scripts/utils/svg-utils.js +2 -3
- package/scripts/utils/test/test-utils.js +5 -49
- package/scripts/utils/tools.js +4 -1
- package/scripts/utils/build/package/nestJs.js +0 -45
- package/scripts/utils/build/package/stencil.js +0 -13
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// GLOBAL
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
// LOCAL
|
|
7
|
+
const tools = require('../../utils/tools');
|
|
8
|
+
const injectionUtils = require('../../utils/pre-build/injection/injection-utils');
|
|
9
|
+
const configUtils = require('../config/config-utils');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module.exports.importScripts = () => {
|
|
14
|
+
return Promise.resolve()
|
|
15
|
+
.then(() => {
|
|
16
|
+
tools.logTitle("Init scripts for local projects");
|
|
17
|
+
const projects = configUtils.projects.getProjects();
|
|
18
|
+
|
|
19
|
+
const rootPackageJsonFile = path.join(process.cwd(), 'package.json')
|
|
20
|
+
const rootPackageJson = require(rootPackageJsonFile);
|
|
21
|
+
|
|
22
|
+
projects.forEach((p) => {
|
|
23
|
+
tools.logInfo(`Project : ${p.name}`);
|
|
24
|
+
|
|
25
|
+
const scriptsFile = path.join(process.cwd(), p.folder, 'scripts.json');
|
|
26
|
+
if (!tools.isFileExists(scriptsFile)) {
|
|
27
|
+
tools.logInfo('no scripts.json file found - skipping');
|
|
28
|
+
} else {
|
|
29
|
+
tools.logInfo('Processing scripts.json file');
|
|
30
|
+
const scriptsJson = require(scriptsFile);
|
|
31
|
+
rootPackageJson.scripts = { ...rootPackageJson.scripts, ...scriptsJson };
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
tools.logInfo('Updating root package.json');
|
|
36
|
+
tools.writeJsonFileSync(rootPackageJsonFile, rootPackageJson);
|
|
37
|
+
})
|
|
38
|
+
.catch((e) => {
|
|
39
|
+
throw e;
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
module.exports.importExternalFeatures = () => {
|
|
45
|
+
return Promise.resolve()
|
|
46
|
+
.then(() => {
|
|
47
|
+
tools.logTitle("Import external features for local projects");
|
|
48
|
+
|
|
49
|
+
return configUtils.projects.getProjects().reduce((promise, prj) => {
|
|
50
|
+
return promise.then(() => (
|
|
51
|
+
injectionUtils.externals.injectExternalFeatures(prj)
|
|
52
|
+
));
|
|
53
|
+
}, Promise.resolve());
|
|
54
|
+
})
|
|
55
|
+
.catch((e) => {
|
|
56
|
+
throw e;
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
module.exports.importExternalSources = () => {
|
|
62
|
+
return Promise.resolve()
|
|
63
|
+
.then(() => {
|
|
64
|
+
tools.logTitle("Import external sources for local projects");
|
|
65
|
+
|
|
66
|
+
return configUtils.projects.getProjects().reduce((promise, prj) => {
|
|
67
|
+
return promise.then(() => (
|
|
68
|
+
injectionUtils.externals.injectExternalAppSources(prj)
|
|
69
|
+
));
|
|
70
|
+
}, Promise.resolve());
|
|
71
|
+
})
|
|
72
|
+
.catch((e) => {
|
|
73
|
+
throw e;
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
module.exports.importExternalMock = () => {
|
|
80
|
+
return Promise.resolve()
|
|
81
|
+
.then(() => {
|
|
82
|
+
tools.logTitle("Import external mock for local projects");
|
|
83
|
+
|
|
84
|
+
return configUtils.projects.getProjects().reduce((promise, prj) => {
|
|
85
|
+
return promise.then(() => (
|
|
86
|
+
injectionUtils.externals.injectExternalMock(prj)
|
|
87
|
+
));
|
|
88
|
+
}, Promise.resolve());
|
|
89
|
+
|
|
90
|
+
})
|
|
91
|
+
.catch((e) => {
|
|
92
|
+
throw e;
|
|
93
|
+
})
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
module.exports.importExtraTsConfig = () => {
|
|
99
|
+
tools.logTitle("Init extra ts config for local projects");
|
|
100
|
+
|
|
101
|
+
return Promise.resolve()
|
|
102
|
+
.then(() => {
|
|
103
|
+
|
|
104
|
+
configUtils.projects.getProjects().forEach((p) => {
|
|
105
|
+
tools.logInfo(`Check extra tsconfig for project : ${p.name}`);
|
|
106
|
+
configUtils.angular.registerProjectExtraPaths(p);
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
.catch((e) => {
|
|
110
|
+
throw e;
|
|
111
|
+
})
|
|
112
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// GLOBAL
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
// LOCAL
|
|
7
|
+
const tools = require('../../utils/tools');
|
|
8
|
+
const configUtils = require('../config/config-utils');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports.generateVirtualRemote = (pkgName) => {
|
|
12
|
+
const pkg = configUtils.packages.getPackage(pkgName, true);
|
|
13
|
+
|
|
14
|
+
if (!pkg.remote && !pkg.virtual) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
tools.logTitle('Generate virtual remote');
|
|
19
|
+
|
|
20
|
+
// TODO
|
|
21
|
+
}
|
|
@@ -5,6 +5,8 @@ const gitUtils = require('../../utils/git-utils');
|
|
|
5
5
|
|
|
6
6
|
const innerMeta = require('./meta');
|
|
7
7
|
|
|
8
|
+
const { skipEuiToolsClone } = tools.getArgs();
|
|
9
|
+
|
|
8
10
|
|
|
9
11
|
const getRepos = (project, pkg, prjOnly, pkgOnly) => {
|
|
10
12
|
const projects = innerMeta.getMetaProjects();
|
|
@@ -21,6 +23,8 @@ const getRepos = (project, pkg, prjOnly, pkgOnly) => {
|
|
|
21
23
|
} else {
|
|
22
24
|
if (prjOnly) {
|
|
23
25
|
return repos.filter((i) => i.folder.indexOf(project) > -1);
|
|
26
|
+
} else if (skipEuiToolsClone) {
|
|
27
|
+
return repos.filter((i) => i.folder.indexOf('eui-tools') === -1);
|
|
24
28
|
} else {
|
|
25
29
|
return repos;
|
|
26
30
|
}
|
|
@@ -67,37 +71,7 @@ const cloneAndCheckout = (repo, args) => {
|
|
|
67
71
|
|
|
68
72
|
return Promise.resolve()
|
|
69
73
|
.then(() => {
|
|
70
|
-
return gitUtils.
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
.then(() => {
|
|
74
|
-
if (!tools.isDirExists(repo.folder)) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return Promise.resolve()
|
|
79
|
-
.then(() => {
|
|
80
|
-
return gitUtils.checkout(args.branch, repo.folder);
|
|
81
|
-
})
|
|
82
|
-
.catch((e) => {
|
|
83
|
-
tools.logError(`Branch ${args.branch} NOT FOUND, retrying on develop`);
|
|
84
|
-
|
|
85
|
-
return Promise.resolve()
|
|
86
|
-
.then(() => {
|
|
87
|
-
return gitUtils.checkout('develop', repo.folder);
|
|
88
|
-
})
|
|
89
|
-
.catch((e2) => {
|
|
90
|
-
tools.logError(`Branch develop NOT FOUND, retrying on master`);
|
|
91
|
-
|
|
92
|
-
return Promise.resolve()
|
|
93
|
-
.then(() => {
|
|
94
|
-
return gitUtils.checkout('master', repo.folder);
|
|
95
|
-
})
|
|
96
|
-
.catch((e3) => {
|
|
97
|
-
throw e3;
|
|
98
|
-
})
|
|
99
|
-
})
|
|
100
|
-
})
|
|
74
|
+
return gitUtils.cloneAndCheckout(repo.uri, repo.folder, args.branch);
|
|
101
75
|
})
|
|
102
76
|
|
|
103
77
|
.catch((e) => {
|
|
@@ -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;
|
|
16
18
|
|
|
17
|
-
|
|
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
|
+
|
|
30
|
+
|
|
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,19 +57,10 @@ const installDeps = (deps) => {
|
|
|
43
57
|
}
|
|
44
58
|
|
|
45
59
|
|
|
46
|
-
const executeInstall = (cwdPath) => {
|
|
60
|
+
const executeInstall = module.exports.executeInstall = (cwdPath) => {
|
|
47
61
|
return Promise.resolve()
|
|
48
62
|
.then(() => {
|
|
49
|
-
|
|
50
|
-
const NPM_REGISTRY_INSTALL = configUtils.global.getConfigOptions().NPM_REGISTRY_INSTALL;
|
|
51
|
-
|
|
52
|
-
// check if registry has been passed as argument
|
|
53
|
-
var installRegistry;
|
|
54
|
-
if (registry) {
|
|
55
|
-
installRegistry = registry;
|
|
56
|
-
} else {
|
|
57
|
-
installRegistry = NPM_REGISTRY_INSTALL;
|
|
58
|
-
}
|
|
63
|
+
const installRegistry = getInstallRegistry();
|
|
59
64
|
|
|
60
65
|
tools.logInfo(`Install from : ${installRegistry}`);
|
|
61
66
|
if (!dryRun && !skipInstall) {
|
|
@@ -69,7 +74,24 @@ const executeInstall = (cwdPath) => {
|
|
|
69
74
|
}
|
|
70
75
|
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
module.exports.executeInstallPackage = (cwdPath, npmPkg) => {
|
|
78
|
+
return Promise.resolve()
|
|
79
|
+
.then(() => {
|
|
80
|
+
const installRegistry = getInstallRegistry();
|
|
81
|
+
|
|
82
|
+
tools.logInfo(`Install ${npmPkg} from : ${installRegistry}`);
|
|
83
|
+
if (!dryRun && !skipInstall) {
|
|
84
|
+
return execa.shellSync(`yarn add ${npmPkg} --no-lockfile --registry ${installRegistry}`, { cwd: cwdPath, stdio: 'inherit' });
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
.catch((e) => {
|
|
89
|
+
throw e;
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
module.exports.getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
|
|
73
95
|
tools.logTitle('Remapping major version carret declared dependencies');
|
|
74
96
|
|
|
75
97
|
return Promise.resolve()
|
|
@@ -128,7 +150,7 @@ const getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
|
|
|
128
150
|
|
|
129
151
|
|
|
130
152
|
|
|
131
|
-
const getResolvedCarretDeps = (deps, isMaster) => {
|
|
153
|
+
const getResolvedCarretDeps = module.exports.getResolvedCarretDeps = (deps, isMaster) => {
|
|
132
154
|
tools.logTitle('Resolving carret versions for prev or next version packages');
|
|
133
155
|
|
|
134
156
|
tools.logInfo('processing dependencies : ');
|
|
@@ -173,367 +195,3 @@ const getResolvedCarretDeps = (deps, isMaster) => {
|
|
|
173
195
|
})
|
|
174
196
|
}
|
|
175
197
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const getLocalPackageDeps = (pkg) => {
|
|
180
|
-
let pkgJsonFile;
|
|
181
|
-
|
|
182
|
-
if (pkg.parent) {
|
|
183
|
-
return {};
|
|
184
|
-
} else {
|
|
185
|
-
if (pkg.child) {
|
|
186
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.parentPkg, 'packages', pkg.folder || pkg.name, 'package.json');
|
|
187
|
-
} else {
|
|
188
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.name, 'package.json');
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
return tools.getJsonFileContent(pkgJsonFile).dependencies || {};
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
const getLocalPackagesDeps = () => {
|
|
197
|
-
const packages = configUtils.packages.getPackages();
|
|
198
|
-
let deps = {};
|
|
199
|
-
|
|
200
|
-
packages.forEach(p => {
|
|
201
|
-
const pkgDeps = getLocalPackageDeps(p);
|
|
202
|
-
|
|
203
|
-
tools.logInfo(`Getting local dependencies for ${p.name}`);
|
|
204
|
-
console.log(JSON.stringify(pkgDeps, null, 2));
|
|
205
|
-
|
|
206
|
-
const pdeps = Object.keys(pkgDeps)
|
|
207
|
-
.reduce((acc, k) => {
|
|
208
|
-
if (k.indexOf('@eui') !== -1 ) {
|
|
209
|
-
if (k.indexOf('@eui/ecl') !== -1 ||
|
|
210
|
-
k.indexOf('@eui/styles-base') !== -1
|
|
211
|
-
) {
|
|
212
|
-
acc[k] = pkgDeps[k];
|
|
213
|
-
}
|
|
214
|
-
} else {
|
|
215
|
-
acc[k] = pkgDeps[k];
|
|
216
|
-
}
|
|
217
|
-
return acc;
|
|
218
|
-
}, {});
|
|
219
|
-
|
|
220
|
-
deps = { ...deps, ...pdeps };
|
|
221
|
-
})
|
|
222
|
-
|
|
223
|
-
return deps;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const getLocalPackageCompositeDeps = (pkg) => {
|
|
228
|
-
let pkgJsonFile;
|
|
229
|
-
|
|
230
|
-
if (!skipLocalPackagesDeps) {
|
|
231
|
-
if (pkg.child) {
|
|
232
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.parentPkg, 'packages', pkg.folder || pkg.name, 'dependencies-composite.json');
|
|
233
|
-
} else {
|
|
234
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.name, 'dependencies-composite.json');
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
if (tools.isFileExists(pkgJsonFile)) {
|
|
238
|
-
tools.logInfo(`found ${pkgJsonFile}, parsing...`);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
return tools.getJsonFileContent(pkgJsonFile) || {};
|
|
242
|
-
|
|
243
|
-
} else {
|
|
244
|
-
tools.logInfo('Skipping gathering local packages composite deps');
|
|
245
|
-
|
|
246
|
-
return {};
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
const getLocalPackagesCompositeDeps = () => {
|
|
252
|
-
tools.logTitle('Parsing composite deps for local packages');
|
|
253
|
-
|
|
254
|
-
let deps = {};
|
|
255
|
-
|
|
256
|
-
// getting locally mounted packages, don't take into account remotely installed packages (elements remote)
|
|
257
|
-
const packages = configUtils.packages.getPackages().filter((p) => {
|
|
258
|
-
return !p.paths.remoteNodeModules;
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
packages.forEach(p => {
|
|
262
|
-
tools.logInfo(`Parsing package : ${p.name}`);
|
|
263
|
-
|
|
264
|
-
// getting the package composite if any
|
|
265
|
-
const compositeDeps = getLocalPackageCompositeDeps(p);
|
|
266
|
-
|
|
267
|
-
deps = { ...deps, ...compositeDeps };
|
|
268
|
-
|
|
269
|
-
tools.logInfo('Deps found : ');
|
|
270
|
-
console.log(deps);
|
|
271
|
-
})
|
|
272
|
-
|
|
273
|
-
return deps;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
const getLocalPackageBaseDeps = (pkg) => {
|
|
278
|
-
let pkgJsonFile;
|
|
279
|
-
|
|
280
|
-
if (!skipLocalPackagesDeps) {
|
|
281
|
-
if (pkg.child) {
|
|
282
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.parentPkg, 'packages', pkg.folder || pkg.name, 'dependencies-base.json');
|
|
283
|
-
} else {
|
|
284
|
-
pkgJsonFile = path.join(process.cwd(), 'packages', pkg.name, 'dependencies-base.json');
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
if (tools.isFileExists(pkgJsonFile)) {
|
|
288
|
-
tools.logInfo(`found ${pkgJsonFile}, parsing...`);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
return tools.getJsonFileContent(pkgJsonFile) || {};
|
|
292
|
-
|
|
293
|
-
} else {
|
|
294
|
-
tools.logInfo('Skipping gathering local packages base deps');
|
|
295
|
-
|
|
296
|
-
return {};
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const getLocalPackagesBaseDeps = () => {
|
|
303
|
-
tools.logTitle('Parsing base deps for local packages');
|
|
304
|
-
|
|
305
|
-
let deps = {};
|
|
306
|
-
|
|
307
|
-
// getting locally mounted packages, don't take into account remotely installed packages (elements remote)
|
|
308
|
-
const packages = configUtils.packages.getPackages().filter((p) => {
|
|
309
|
-
return !p.paths.remoteNodeModules;
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
packages.forEach(p => {
|
|
313
|
-
tools.logInfo(`Parsing package : ${p.name}`);
|
|
314
|
-
|
|
315
|
-
// getting the package base if any
|
|
316
|
-
const baseDeps = getLocalPackageBaseDeps(p);
|
|
317
|
-
|
|
318
|
-
deps = { ...deps, ...baseDeps };
|
|
319
|
-
|
|
320
|
-
tools.logInfo('Deps found : ');
|
|
321
|
-
console.log(deps);
|
|
322
|
-
})
|
|
323
|
-
|
|
324
|
-
return deps;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
const getLocalPackagesCompositeDepsRemapped = () => {
|
|
329
|
-
return Promise.resolve()
|
|
330
|
-
.then(() => {
|
|
331
|
-
return metadataUtils.package.getPackagesDeps('packages');
|
|
332
|
-
})
|
|
333
|
-
|
|
334
|
-
.then((depsMetadata) => {
|
|
335
|
-
const compositeDeps = getLocalPackagesCompositeDeps();
|
|
336
|
-
|
|
337
|
-
return getRemappedDeps(depsMetadata, compositeDeps, false);
|
|
338
|
-
})
|
|
339
|
-
|
|
340
|
-
.then((remappedDeps) => {
|
|
341
|
-
tools.logInfo('Remapped deps : ');
|
|
342
|
-
|
|
343
|
-
console.log(remappedDeps);
|
|
344
|
-
|
|
345
|
-
return remappedDeps;
|
|
346
|
-
})
|
|
347
|
-
|
|
348
|
-
.catch((e) => {
|
|
349
|
-
throw e;
|
|
350
|
-
})
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
const getLocalProjectDeps = (prj, snapshotsMetadata) => {
|
|
355
|
-
tools.logInfo(`Getting deps for ${prj.name}`);
|
|
356
|
-
|
|
357
|
-
// check dependencies file - default
|
|
358
|
-
const prjJsonFile = path.join(process.cwd(), prj.folder, 'dependencies-base.json');
|
|
359
|
-
const prjDeps = tools.getJsonFileContent(prjJsonFile) || {};
|
|
360
|
-
|
|
361
|
-
// check dependencies composite file - default
|
|
362
|
-
const prjCompJsonFile = path.join(process.cwd(), prj.folder, 'dependencies-composite.json');
|
|
363
|
-
|
|
364
|
-
const depsJson = tools.getJsonFileContent(prjCompJsonFile);
|
|
365
|
-
let prjCompDeps;
|
|
366
|
-
if (depsJson.dependencies) {
|
|
367
|
-
prjCompDeps = depsJson.dependencies || {};
|
|
368
|
-
} else {
|
|
369
|
-
prjCompDeps = depsJson || {}
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
let remoteDeps = {};
|
|
373
|
-
if (prj.initRemoteDependencies && remotesImport && snapshotsMetadata) {
|
|
374
|
-
|
|
375
|
-
tools.logInfo('Importing remotes deps... this might take a while');
|
|
376
|
-
|
|
377
|
-
const remotes = configUtils.packages.getCsdrRemotePackages()
|
|
378
|
-
.filter((p) => {
|
|
379
|
-
return p.active === true
|
|
380
|
-
})
|
|
381
|
-
.map((p) => {
|
|
382
|
-
return { npmgPkg: p.npmPkg, version: snapshotsMetadata[p.npmPkg] }
|
|
383
|
-
})
|
|
384
|
-
.filter((dep) => {
|
|
385
|
-
return dep.version !== undefined
|
|
386
|
-
})
|
|
387
|
-
|
|
388
|
-
remotes.forEach((r) => {
|
|
389
|
-
remoteDeps[r.npmgPkg] = r.version;
|
|
390
|
-
});
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
return { ...prjDeps, ...prjCompDeps, ...remoteDeps };
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
const getLocalProjectsDeps = (snapshotsMetadata) => {
|
|
398
|
-
tools.logTitle('Getting project dependencies');
|
|
399
|
-
|
|
400
|
-
const projects = configUtils.projects.getProjects();
|
|
401
|
-
let deps = {};
|
|
402
|
-
|
|
403
|
-
projects.forEach(p => {
|
|
404
|
-
if (p) {
|
|
405
|
-
const prjDeps = getLocalProjectDeps(p, snapshotsMetadata);
|
|
406
|
-
deps = { ...deps, ...prjDeps };
|
|
407
|
-
}
|
|
408
|
-
})
|
|
409
|
-
|
|
410
|
-
return deps;
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
const getLocalProjectFixedDeps = (prj) => {
|
|
415
|
-
tools.logTitle('Getting project fixed dependencies - not part of the composite');
|
|
416
|
-
|
|
417
|
-
return Promise.resolve()
|
|
418
|
-
.then(() => {
|
|
419
|
-
return metadataUtils.package.getPackagesDeps('packages');
|
|
420
|
-
})
|
|
421
|
-
|
|
422
|
-
// extracting the fixed deps versions from metadata
|
|
423
|
-
.then((pkgDeps) => {
|
|
424
|
-
let deps = {};
|
|
425
|
-
|
|
426
|
-
if (prj.fixedDependencies) {
|
|
427
|
-
tools.logInfo('Project fixed dependencies found...processing');
|
|
428
|
-
console.log(prj.fixedDependencies);
|
|
429
|
-
|
|
430
|
-
prj.fixedDependencies.forEach((dep) => {
|
|
431
|
-
const newDep = { [dep]: pkgDeps[dep] };
|
|
432
|
-
deps = { ...deps, ...newDep }
|
|
433
|
-
})
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
tools.logInfo('Project fixed dependencies remapped : ');
|
|
437
|
-
console.log(deps);
|
|
438
|
-
|
|
439
|
-
return deps;
|
|
440
|
-
})
|
|
441
|
-
|
|
442
|
-
.catch((e) => {
|
|
443
|
-
throw e;
|
|
444
|
-
})
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
const getLocalProjectsFixedDeps = async _ => {
|
|
449
|
-
const projects = configUtils.projects.getProjects();
|
|
450
|
-
let deps = {};
|
|
451
|
-
|
|
452
|
-
const promises = projects.map(async prj => {
|
|
453
|
-
const prjDeps = await getLocalProjectFixedDeps(prj)
|
|
454
|
-
deps = { ...deps, ...prjDeps};
|
|
455
|
-
return deps;
|
|
456
|
-
})
|
|
457
|
-
|
|
458
|
-
await Promise.all(promises);
|
|
459
|
-
return deps;
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
const importLocalProjectRemotes = (prj, deps) => {
|
|
464
|
-
if (prj.initRemoteDependencies) {
|
|
465
|
-
tools.logInfo(`Import remotes for project : ${prj.name}`);
|
|
466
|
-
|
|
467
|
-
const remoteDeps = Object.keys(deps).filter((dep) => {
|
|
468
|
-
return dep.indexOf('remote-el') !== -1;
|
|
469
|
-
})
|
|
470
|
-
|
|
471
|
-
if (remoteDeps.length === 0) {
|
|
472
|
-
tools.logWarning('Remotes not found...skipping');
|
|
473
|
-
|
|
474
|
-
} else {
|
|
475
|
-
tools.logInfo(`Initializing ${remoteDeps.length} remotes`);
|
|
476
|
-
|
|
477
|
-
remoteDeps.forEach((remoteNpmPkg) => {
|
|
478
|
-
tools.logInfo(`Checking import for : ${remoteNpmPkg}`);
|
|
479
|
-
|
|
480
|
-
// check if package has been installed locally
|
|
481
|
-
const localPackage = configUtils.packages.getPackages().filter((p) => {
|
|
482
|
-
return p.npmPkg === remoteNpmPkg
|
|
483
|
-
})[0];
|
|
484
|
-
|
|
485
|
-
if (localPackage) {
|
|
486
|
-
tools.logInfo('remote is installed locally...skipping import');
|
|
487
|
-
|
|
488
|
-
} else {
|
|
489
|
-
const pkg = configUtils.packages.getPackageByNpmPkg(remoteNpmPkg, true);
|
|
490
|
-
const projectElementsPath = path.join(process.cwd(), prj.folder, 'src', 'assets', 'elements', pkg.name, 'bundles');
|
|
491
|
-
|
|
492
|
-
const npmPkgScope = remoteNpmPkg.substr(0, remoteNpmPkg.indexOf('/'));
|
|
493
|
-
const npmPkgName = remoteNpmPkg.substr(remoteNpmPkg.indexOf('/') + 1);
|
|
494
|
-
const remoteNmPath = path.join(process.cwd(), 'node_modules', npmPkgScope, npmPkgName, 'bundles');
|
|
495
|
-
|
|
496
|
-
tools.logInfo(`${remoteNpmPkg} - injecting in ${projectElementsPath}`);
|
|
497
|
-
tools.copydir(remoteNmPath, projectElementsPath);
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
});
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
const importLocalProjectsRemotes = (deps) => {
|
|
507
|
-
const projects = configUtils.projects.getProjects();
|
|
508
|
-
|
|
509
|
-
tools.logTitle('Importing local projects remotes');
|
|
510
|
-
|
|
511
|
-
if (remotesImport) {
|
|
512
|
-
projects.forEach(p => {
|
|
513
|
-
if (p) {
|
|
514
|
-
importLocalProjectRemotes(p, deps);
|
|
515
|
-
}
|
|
516
|
-
})
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
module.exports = {
|
|
523
|
-
installDeps,
|
|
524
|
-
executeInstall,
|
|
525
|
-
getRemappedDeps,
|
|
526
|
-
getLocalPackageDeps,
|
|
527
|
-
getLocalPackagesDeps,
|
|
528
|
-
getLocalPackageCompositeDeps,
|
|
529
|
-
getLocalPackagesCompositeDeps,
|
|
530
|
-
getLocalPackagesCompositeDepsRemapped,
|
|
531
|
-
getLocalPackageBaseDeps,
|
|
532
|
-
getLocalPackagesBaseDeps,
|
|
533
|
-
getLocalProjectDeps,
|
|
534
|
-
getLocalProjectsDeps,
|
|
535
|
-
getLocalProjectFixedDeps,
|
|
536
|
-
getLocalProjectsFixedDeps,
|
|
537
|
-
importLocalProjectRemotes,
|
|
538
|
-
importLocalProjectsRemotes
|
|
539
|
-
}
|