@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
|
@@ -1,299 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
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
|
-
// INNER MODULES
|
|
12
|
-
const innerPrompt = require('./prompt');
|
|
13
|
-
const innerMeta = require('./meta');
|
|
14
|
-
const innerRepos = require('./repos');
|
|
15
|
-
|
|
16
3
|
// INNER MODULES - RE-EXPORTS
|
|
17
|
-
module.exports.
|
|
18
|
-
module.exports.
|
|
19
|
-
module.exports.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (pkg.parent) {
|
|
26
|
-
tools.logInfo('Parent package ... skipping import');
|
|
27
|
-
return Promise.resolve();
|
|
28
|
-
|
|
29
|
-
} else {
|
|
30
|
-
if (pkg.tsPackage !== false) {
|
|
31
|
-
return Promise.resolve()
|
|
32
|
-
.then(() => {
|
|
33
|
-
if (!pkg.element) {
|
|
34
|
-
return configUtils.angular.registerAngularPackage(pkg, args.reset);
|
|
35
|
-
} else {
|
|
36
|
-
return configUtils.angular.registerAngularProjectDef(pkg, args.reset);
|
|
37
|
-
}
|
|
38
|
-
})
|
|
39
|
-
.then(() => {
|
|
40
|
-
if (pkg.pathInclude !== false && !pkg.element) {
|
|
41
|
-
return configUtils.angular.registerModulePaths(pkg, args.reset);
|
|
42
|
-
}
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
.then(() => {
|
|
46
|
-
tools.logSuccess('OK => package imported');
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
.catch((e) => {
|
|
50
|
-
throw e;
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
} else {
|
|
54
|
-
tools.logInfo('Non TS package... skipping registration');
|
|
55
|
-
return Promise.resolve();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
module.exports.importPackages = (args = {}) => {
|
|
65
|
-
|
|
66
|
-
tools.logTitle('Importing configuration of packages');
|
|
67
|
-
|
|
68
|
-
const packages = configUtils.packages.getPackages();
|
|
69
|
-
|
|
70
|
-
return Promise.resolve()
|
|
71
|
-
.then(() => {
|
|
72
|
-
configUtils.angular.checkConfigFiles(args.reset);
|
|
73
|
-
})
|
|
74
|
-
.then(() => Promise.resolve().then(() => {
|
|
75
|
-
return packages.reduce((promise, pkg) => {
|
|
76
|
-
return promise.then(() => (
|
|
77
|
-
importPackage(pkg, args)
|
|
78
|
-
));
|
|
79
|
-
}, Promise.resolve());
|
|
80
|
-
}))
|
|
81
|
-
|
|
82
|
-
.then(() => {
|
|
83
|
-
tools.logSuccess('OK => all packages successfully imported');
|
|
84
|
-
})
|
|
85
|
-
|
|
86
|
-
.catch((e) => {
|
|
87
|
-
throw e;
|
|
88
|
-
})
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
module.exports.importScripts = () => {
|
|
93
|
-
return Promise.resolve()
|
|
94
|
-
.then(() => {
|
|
95
|
-
tools.logTitle("Init scripts for local projects");
|
|
96
|
-
const projects = configUtils.projects.getProjects();
|
|
97
|
-
|
|
98
|
-
const rootPackageJsonFile = path.join(process.cwd(), 'package.json')
|
|
99
|
-
const rootPackageJson = require(rootPackageJsonFile);
|
|
100
|
-
|
|
101
|
-
projects.forEach((p) => {
|
|
102
|
-
tools.logInfo(`Project : ${p.name}`);
|
|
103
|
-
|
|
104
|
-
const scriptsFile = path.join(process.cwd(), p.folder, 'scripts.json');
|
|
105
|
-
if (!tools.isFileExists(scriptsFile)) {
|
|
106
|
-
tools.logInfo('no scripts.json file found - skipping');
|
|
107
|
-
} else {
|
|
108
|
-
tools.logInfo('Processing scripts.json file');
|
|
109
|
-
const scriptsJson = require(scriptsFile);
|
|
110
|
-
rootPackageJson.scripts = { ...rootPackageJson.scripts, ...scriptsJson };
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
tools.logInfo('Updating root package.json');
|
|
115
|
-
tools.writeJsonFileSync(rootPackageJsonFile, rootPackageJson);
|
|
116
|
-
})
|
|
117
|
-
.catch((e) => {
|
|
118
|
-
throw e;
|
|
119
|
-
})
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
module.exports.importExternalFeatures = () => {
|
|
124
|
-
return Promise.resolve()
|
|
125
|
-
.then(() => {
|
|
126
|
-
tools.logTitle("Import external features for local projects");
|
|
127
|
-
|
|
128
|
-
return configUtils.projects.getProjects().reduce((promise, prj) => {
|
|
129
|
-
return promise.then(() => (
|
|
130
|
-
injectionUtils.externals.injectExternalFeatures(prj)
|
|
131
|
-
));
|
|
132
|
-
}, Promise.resolve());
|
|
133
|
-
})
|
|
134
|
-
.catch((e) => {
|
|
135
|
-
throw e;
|
|
136
|
-
})
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
module.exports.importExternalSources = () => {
|
|
141
|
-
return Promise.resolve()
|
|
142
|
-
.then(() => {
|
|
143
|
-
tools.logTitle("Import external sources for local projects");
|
|
144
|
-
|
|
145
|
-
return configUtils.projects.getProjects().reduce((promise, prj) => {
|
|
146
|
-
return promise.then(() => (
|
|
147
|
-
injectionUtils.externals.injectExternalAppSources(prj)
|
|
148
|
-
));
|
|
149
|
-
}, Promise.resolve());
|
|
150
|
-
})
|
|
151
|
-
.catch((e) => {
|
|
152
|
-
throw e;
|
|
153
|
-
})
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
module.exports.importExternalMock = () => {
|
|
159
|
-
return Promise.resolve()
|
|
160
|
-
.then(() => {
|
|
161
|
-
tools.logTitle("Import external mock for local projects");
|
|
162
|
-
|
|
163
|
-
return configUtils.projects.getProjects().reduce((promise, prj) => {
|
|
164
|
-
return promise.then(() => (
|
|
165
|
-
injectionUtils.externals.injectExternalMock(prj)
|
|
166
|
-
));
|
|
167
|
-
}, Promise.resolve());
|
|
168
|
-
|
|
169
|
-
})
|
|
170
|
-
.catch((e) => {
|
|
171
|
-
throw e;
|
|
172
|
-
})
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
module.exports.importExtraTsConfig = () => {
|
|
178
|
-
tools.logTitle("Init extra ts config for local projects");
|
|
179
|
-
|
|
180
|
-
return Promise.resolve()
|
|
181
|
-
.then(() => {
|
|
182
|
-
|
|
183
|
-
configUtils.projects.getProjects().forEach((p) => {
|
|
184
|
-
tools.logInfo(`Check extra tsconfig for project : ${p.name}`);
|
|
185
|
-
configUtils.angular.registerProjectExtraPaths(p);
|
|
186
|
-
})
|
|
187
|
-
})
|
|
188
|
-
.catch((e) => {
|
|
189
|
-
throw e;
|
|
190
|
-
})
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
module.exports.processLocalEuiVersions = () => {
|
|
195
|
-
tools.logTitle('Processing injections for local installed eUI versions if needed');
|
|
196
|
-
|
|
197
|
-
return Promise.resolve()
|
|
198
|
-
.then(() => {
|
|
199
|
-
let euiVersionsLocal = [
|
|
200
|
-
...configUtils.packages.getLocalPackagesEuiVersion(),
|
|
201
|
-
...configUtils.projects.getLocalProjectsEuiVersion(),
|
|
202
|
-
];
|
|
203
|
-
euiVersionsLocal = tools.removeArrayDuplicates(euiVersionsLocal);
|
|
204
|
-
|
|
205
|
-
if (euiVersionsLocal.length > 1) {
|
|
206
|
-
tools.logError('Multiple versions of eUI found in local CSDR...aborting');
|
|
207
|
-
console.log(euiVersionsLocal);
|
|
208
|
-
throw new Error('MULTIPLE_LOCAL_EUI_VERSIONS_FOUND');
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
const euiVersion = euiVersionsLocal[0];
|
|
212
|
-
|
|
213
|
-
if (!euiVersion || euiVersion === 'DEFAULT') {
|
|
214
|
-
tools.logInfo('Default eUI version found or empty...skipping');
|
|
215
|
-
|
|
216
|
-
} else {
|
|
217
|
-
tools.logInfo(`Processing resolutions replacement for eUI version found : ${euiVersion}`);
|
|
218
|
-
|
|
219
|
-
const rootPackageJsonFile = path.join(process.cwd(), 'package.json');
|
|
220
|
-
const rootPackageJson = require(rootPackageJsonFile);
|
|
221
|
-
|
|
222
|
-
const resolutionsJsonFile = path.join(__dirname, 'resources', euiVersion, 'resolutions.json');
|
|
223
|
-
|
|
224
|
-
if (tools.isFileExists(resolutionsJsonFile)) {
|
|
225
|
-
const resolutionsJson = require(resolutionsJsonFile);
|
|
226
|
-
|
|
227
|
-
tools.logInfo('Injecting resolutions content');
|
|
228
|
-
console.log(resolutionsJson);
|
|
229
|
-
rootPackageJson.resolutions = resolutionsJson;
|
|
230
|
-
|
|
231
|
-
tools.logInfo('Updating root package.json');
|
|
232
|
-
tools.writeJsonFileSync(rootPackageJsonFile, rootPackageJson);
|
|
233
|
-
} else {
|
|
234
|
-
tools.logWarning('Not found...skipping');
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
tools.logInfo(`Processing .browserlistrc replacement for eUI version found : ${euiVersion}`);
|
|
238
|
-
|
|
239
|
-
const blResourcesFile = path.join(__dirname, 'resources', euiVersion, 'browserslistrc');
|
|
240
|
-
const blDestFile = path.join(process.cwd(), '.browserslistrc');
|
|
241
|
-
|
|
242
|
-
if (tools.isFileExists(blResourcesFile)) {
|
|
243
|
-
tools.copy(blResourcesFile, blDestFile);
|
|
244
|
-
} else {
|
|
245
|
-
tools.logWarning('Not found...skipping');
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
tools.logInfo(`Processing yarn.lock replacement for eUI version found : ${euiVersion}`);
|
|
249
|
-
|
|
250
|
-
const yResourcesFile = path.join(__dirname, 'resources', euiVersion, 'yarn.lock');
|
|
251
|
-
const yDestFile = path.join(process.cwd(), 'yarn.lock');
|
|
252
|
-
|
|
253
|
-
if (tools.isFileExists(yResourcesFile)) {
|
|
254
|
-
tools.copy(yResourcesFile, yDestFile);
|
|
255
|
-
} else {
|
|
256
|
-
tools.logWarning('Not found...skipping');
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
})
|
|
260
|
-
.catch((e) => {
|
|
261
|
-
throw e;
|
|
262
|
-
})
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
module.exports.processResolutionsForNodeVersion = () => {
|
|
267
|
-
return Promise.resolve()
|
|
268
|
-
.then(() => {
|
|
269
|
-
tools.logTitle('Processing injections for detected nodeJS version');
|
|
270
|
-
|
|
271
|
-
let nodeVersion = process.versions.node;
|
|
272
|
-
nodeVersion = `${nodeVersion.split('.')[0]}.x`;
|
|
273
|
-
|
|
274
|
-
const rootPackageJsonFile = path.join(process.cwd(), 'package.json');
|
|
275
|
-
const rootPackageJson = require(rootPackageJsonFile);
|
|
276
|
-
|
|
277
|
-
const nodeVersionResource = `nodejs-${nodeVersion}`;
|
|
278
|
-
|
|
279
|
-
const resolutionsJsonFile = path.join(__dirname, 'resources', nodeVersionResource, 'resolutions.json');
|
|
280
|
-
|
|
281
|
-
tools.logInfo(`Checking nodejsResolution resource for path: ${resolutionsJsonFile}`);
|
|
282
|
-
|
|
283
|
-
if (tools.isFileExists(resolutionsJsonFile)) {
|
|
284
|
-
const resolutionsJson = require(resolutionsJsonFile);
|
|
285
|
-
|
|
286
|
-
tools.logInfo('Injecting resolutions content');
|
|
287
|
-
console.log(resolutionsJson);
|
|
288
|
-
rootPackageJson.resolutions = resolutionsJson;
|
|
289
|
-
|
|
290
|
-
tools.logInfo('Updating root package.json');
|
|
291
|
-
tools.writeJsonFileSync(rootPackageJsonFile, rootPackageJson);
|
|
292
|
-
} else {
|
|
293
|
-
tools.logWarning('Not found...skipping');
|
|
294
|
-
}
|
|
295
|
-
})
|
|
296
|
-
.catch((e) => {
|
|
297
|
-
throw e;
|
|
298
|
-
})
|
|
299
|
-
}
|
|
4
|
+
module.exports.global = require('./global');
|
|
5
|
+
module.exports.init = require('./init');
|
|
6
|
+
module.exports.meta = require('./meta');
|
|
7
|
+
module.exports.packages = require('./packages');
|
|
8
|
+
module.exports.projects = require('./projects');
|
|
9
|
+
module.exports.prompt = require('./prompt');
|
|
10
|
+
module.exports.remotes = require('./remotes');
|
|
11
|
+
module.exports.repos = require('./repos');
|
|
@@ -7,7 +7,7 @@ const configUtils = require('../config/config-utils');
|
|
|
7
7
|
|
|
8
8
|
// Getting arguments if they are provided for the CI/CD pipeline
|
|
9
9
|
const {
|
|
10
|
-
project, team, pkg, branch, configOnly, skipClone, reset, pkgOnly, prjOnly,
|
|
10
|
+
project, team, pkg, branch, configOnly, skipClone, skipInstall, reset, pkgOnly, prjOnly,
|
|
11
11
|
build, containerOnly, skipAppContainers
|
|
12
12
|
} = tools.getArgs();
|
|
13
13
|
|
|
@@ -29,7 +29,7 @@ module.exports.init = () => {
|
|
|
29
29
|
skipAppContainers: skipAppContainers || false
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
// checking branch
|
|
32
|
+
// checking branch
|
|
33
33
|
if (initialResponse.branch && typeof (initialResponse.branch) === 'boolean') {
|
|
34
34
|
initialResponse.branch = 'develop';
|
|
35
35
|
}
|
|
@@ -51,15 +51,27 @@ module.exports.init = () => {
|
|
|
51
51
|
}
|
|
52
52
|
})
|
|
53
53
|
|
|
54
|
-
//
|
|
54
|
+
// merge with response found from prompts
|
|
55
55
|
.then((response) => {
|
|
56
|
-
// merge with response found from prompts
|
|
57
56
|
finalResponse = { ...initialResponse, ...response };
|
|
57
|
+
})
|
|
58
58
|
|
|
59
|
+
// Initializing .euirc.json local file - the core of CSDR operations
|
|
60
|
+
.then(() => {
|
|
59
61
|
// Initialize config
|
|
60
62
|
return configUtils.init.run(finalResponse);
|
|
61
63
|
})
|
|
62
64
|
|
|
65
|
+
// clone or install linked host package to project if any
|
|
66
|
+
.then(() => {
|
|
67
|
+
if (finalResponse.project && !build) {
|
|
68
|
+
return initUtils.packages.cloneHostPackage(finalResponse.project);
|
|
69
|
+
|
|
70
|
+
} else if (finalResponse.project && build) {
|
|
71
|
+
return initUtils.packages.installHostPackage(finalResponse.project);
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
|
|
63
75
|
// Initializing .meta based on .euirc.json for local respoisitories cloning
|
|
64
76
|
.then(() => {
|
|
65
77
|
return initUtils.meta.init();
|
|
@@ -74,26 +86,44 @@ module.exports.init = () => {
|
|
|
74
86
|
|
|
75
87
|
// Importing packages and generating definitions
|
|
76
88
|
.then(() => {
|
|
77
|
-
return initUtils.importPackages(finalResponse);
|
|
89
|
+
return initUtils.packages.importPackages(finalResponse);
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
// Importing external sources
|
|
93
|
+
.then(() => {
|
|
94
|
+
if (finalResponse.project) {
|
|
95
|
+
return initUtils.projects.importExternalSources();
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
// Generating virtual remote - experimental
|
|
100
|
+
.then(() => {
|
|
101
|
+
if (finalResponse.pkg && finalResponse.pkgOnly) {
|
|
102
|
+
return initUtils.remotes.generateVirtualRemote(pkg);
|
|
103
|
+
}
|
|
78
104
|
})
|
|
79
105
|
|
|
80
106
|
// adapt and inject particular root data/config for eUI version detected on project
|
|
81
107
|
// if multiple versions of eUI are detected on the same project, an exception is thrown
|
|
82
108
|
.then(() => {
|
|
83
|
-
return initUtils.processLocalEuiVersions();
|
|
109
|
+
return initUtils.global.processLocalEuiVersions();
|
|
84
110
|
})
|
|
85
111
|
|
|
86
112
|
// specific resolution injection based on NodeJS (recent failure of nodejs10.x for MWP v7)
|
|
87
113
|
.then(() => {
|
|
88
|
-
return initUtils.processResolutionsForNodeVersion();
|
|
114
|
+
return initUtils.global.processResolutionsForNodeVersion();
|
|
89
115
|
})
|
|
90
116
|
|
|
91
117
|
// Install deps based on current config generated => take last know snapshots
|
|
92
118
|
.then(() => {
|
|
93
119
|
// this is only executed for local dev installation,
|
|
94
120
|
// in case of release the initialisation is managed by the application / package themselves
|
|
95
|
-
if (!build) {
|
|
96
|
-
|
|
121
|
+
if (!build && !skipInstall) {
|
|
122
|
+
if (finalResponse.pkgOnly) {
|
|
123
|
+
return installUtils.localDev.installPackage(pkg);
|
|
124
|
+
} else {
|
|
125
|
+
return installUtils.localDev.install();
|
|
126
|
+
}
|
|
97
127
|
}
|
|
98
128
|
})
|
|
99
129
|
|
|
@@ -101,7 +131,7 @@ module.exports.init = () => {
|
|
|
101
131
|
// Attaching app scripts to root package.json
|
|
102
132
|
.then(() => {
|
|
103
133
|
if (finalResponse.project) {
|
|
104
|
-
return initUtils.importScripts();
|
|
134
|
+
return initUtils.projects.importScripts();
|
|
105
135
|
}
|
|
106
136
|
})
|
|
107
137
|
|
|
@@ -109,7 +139,7 @@ module.exports.init = () => {
|
|
|
109
139
|
// Attaching extra tsconfig from project
|
|
110
140
|
.then(() => {
|
|
111
141
|
if (finalResponse.project) {
|
|
112
|
-
return initUtils.importExtraTsConfig();
|
|
142
|
+
return initUtils.projects.importExtraTsConfig();
|
|
113
143
|
}
|
|
114
144
|
})
|
|
115
145
|
|
|
@@ -117,15 +147,15 @@ module.exports.init = () => {
|
|
|
117
147
|
// Attaching external features from project
|
|
118
148
|
.then(() => {
|
|
119
149
|
if (finalResponse.project && !build) {
|
|
120
|
-
return initUtils.importExternalFeatures();
|
|
150
|
+
return initUtils.projects.importExternalFeatures();
|
|
121
151
|
}
|
|
122
152
|
})
|
|
123
153
|
|
|
124
154
|
|
|
125
155
|
// Attaching external mock repo for project
|
|
126
156
|
.then(() => {
|
|
127
|
-
if (finalResponse.project && !build) {
|
|
128
|
-
return initUtils.importExternalMock();
|
|
157
|
+
if (finalResponse.project && !build && !prjOnly) {
|
|
158
|
+
return initUtils.projects.importExternalMock();
|
|
129
159
|
}
|
|
130
160
|
})
|
|
131
161
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
// GLOBAL
|
|
4
4
|
const path = require('path');
|
|
5
|
-
const fs = require('fs');
|
|
6
5
|
|
|
7
6
|
// LOCAL
|
|
8
7
|
const tools = require('../../utils/tools');
|
|
@@ -57,8 +56,10 @@ module.exports.init = () => {
|
|
|
57
56
|
|
|
58
57
|
|
|
59
58
|
module.exports.getMetaProjects = () => {
|
|
60
|
-
const meta =
|
|
59
|
+
const meta = tools.getFileContent(path.join(process.cwd(), '.meta'));
|
|
60
|
+
|
|
61
61
|
const { projects } = JSON.parse(meta);
|
|
62
|
+
|
|
62
63
|
return projects;
|
|
63
64
|
}
|
|
64
65
|
|
|
@@ -0,0 +1,142 @@
|
|
|
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
|
+
const gitUtils = require('../../utils/git-utils');
|
|
10
|
+
const installUtils = require('../install/install-utils');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
const importPackage = (pkg, args) => {
|
|
16
|
+
tools.logTitle(`importing package ${pkg.name}`);
|
|
17
|
+
|
|
18
|
+
if (pkg.parent) {
|
|
19
|
+
tools.logInfo('Parent package ... skipping import');
|
|
20
|
+
return Promise.resolve();
|
|
21
|
+
|
|
22
|
+
} else {
|
|
23
|
+
if (pkg.tsPackage !== false) {
|
|
24
|
+
return Promise.resolve()
|
|
25
|
+
.then(() => {
|
|
26
|
+
if (!pkg.element) {
|
|
27
|
+
return configUtils.angular.registerAngularPackage(pkg, args.reset);
|
|
28
|
+
} else if (pkg.element) {
|
|
29
|
+
return configUtils.angular.registerAngularProjectDef(pkg, args.reset, true);
|
|
30
|
+
} else {
|
|
31
|
+
return configUtils.angular.registerAngularProjectDef(pkg, args.reset);
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
.then(() => {
|
|
35
|
+
if (pkg.pathInclude !== false && !pkg.element) {
|
|
36
|
+
return configUtils.angular.registerModulePaths(pkg, args.reset);
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
.then(() => {
|
|
41
|
+
tools.logSuccess('OK => package imported');
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
.catch((e) => {
|
|
45
|
+
throw e;
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
} else {
|
|
49
|
+
tools.logInfo('Non TS package... skipping registration');
|
|
50
|
+
return Promise.resolve();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
module.exports.importPackages = (args = {}) => {
|
|
60
|
+
|
|
61
|
+
tools.logTitle('Importing configuration of packages');
|
|
62
|
+
|
|
63
|
+
const packages = configUtils.packages.getPackages();
|
|
64
|
+
|
|
65
|
+
return Promise.resolve()
|
|
66
|
+
.then(() => {
|
|
67
|
+
configUtils.angular.checkConfigFiles(args.reset);
|
|
68
|
+
})
|
|
69
|
+
.then(() => Promise.resolve().then(() => {
|
|
70
|
+
return packages.reduce((promise, pkg) => {
|
|
71
|
+
return promise.then(() => (
|
|
72
|
+
importPackage(pkg, args)
|
|
73
|
+
));
|
|
74
|
+
}, Promise.resolve());
|
|
75
|
+
}))
|
|
76
|
+
|
|
77
|
+
.then(() => {
|
|
78
|
+
tools.logSuccess('OK => all packages successfully imported');
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
.catch((e) => {
|
|
82
|
+
throw e;
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
module.exports.cloneHostPackage = (projectName) => {
|
|
88
|
+
|
|
89
|
+
const project = configUtils.projects.getProject(projectName);
|
|
90
|
+
|
|
91
|
+
if (!project.hostPackage) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
tools.logTitle('Installing host package');
|
|
96
|
+
|
|
97
|
+
let pkg;
|
|
98
|
+
|
|
99
|
+
return Promise.resolve()
|
|
100
|
+
.then(() => {
|
|
101
|
+
pkg = configUtils.packages.getPackageByNpmPkg(project.hostPackage, true);
|
|
102
|
+
if (!pkg) {
|
|
103
|
+
throw new Error('Invalid host package provided / unknown to CSDR config');
|
|
104
|
+
}
|
|
105
|
+
return gitUtils.cloneAndCheckout(pkg.repository, path.join(process.cwd(), 'packages', pkg.name), 'develop');
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
.then(() => {
|
|
109
|
+
const newPackages = [];
|
|
110
|
+
newPackages.push(pkg.name);
|
|
111
|
+
return configUtils.global.updateConfig(null, newPackages);
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
.catch((e) => {
|
|
115
|
+
throw e;
|
|
116
|
+
})
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
module.exports.installHostPackage = (projectName) => {
|
|
121
|
+
tools.logTitle('Installing host package');
|
|
122
|
+
|
|
123
|
+
return Promise.resolve()
|
|
124
|
+
.then(() => {
|
|
125
|
+
const project = configUtils.projects.getProject(projectName);
|
|
126
|
+
|
|
127
|
+
if (!project.hostPackage) {
|
|
128
|
+
tools.logInfo('project hostPackage not defined...skipping');
|
|
129
|
+
|
|
130
|
+
} else {
|
|
131
|
+
const pkg = configUtils.packages.getPackageByNpmPkg(project.hostPackage, true);
|
|
132
|
+
if (!pkg) {
|
|
133
|
+
throw new Error('Invalid host package provided / unknown to CSDR config');
|
|
134
|
+
}
|
|
135
|
+
return installUtils.projects.installHostPackage(project, pkg.npmPkg);
|
|
136
|
+
}
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
.catch((e) => {
|
|
140
|
+
throw e;
|
|
141
|
+
})
|
|
142
|
+
}
|