@eui/tools 6.14.20 → 6.15.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/.version.properties +1 -1
- package/CHANGELOG.md +18 -0
- package/package.json +1 -1
- package/sandbox.js +15 -25
- package/scripts/csdr/audit/styles.js +1 -1
- package/scripts/csdr/config/remotes.js +1 -1
- package/scripts/csdr/install/build-app.js +2 -2
- package/scripts/csdr/install/build-package.js +2 -2
- package/scripts/csdr/install/common.js +1 -1
- package/scripts/csdr/install/composite-core.js +49 -87
- package/scripts/csdr/install/projects.js +5 -7
- package/scripts/csdr/install/remotes.js +11 -11
- package/scripts/csdr/metadata/app.js +2 -2
- package/scripts/csdr/metadata/backend.js +148 -0
- package/scripts/csdr/metadata/metadata-utils.js +3 -4
- package/scripts/csdr/metadata/{package.js → package-utils.js} +0 -164
- package/scripts/csdr/metadata/remote-history.js +353 -0
- package/scripts/csdr/metadata/remote-package.js +188 -1
- package/scripts/csdr/metadata/stats.js +79 -79
- package/scripts/csdr/release/app/release-app-group.js +0 -9
- package/scripts/csdr/release/app/release-app.js +9 -18
- package/scripts/csdr/release/package/common.js +19 -119
- package/scripts/csdr/release/package/release-backend.js +7 -6
- package/scripts/csdr/release/package/release-old-remote.js +4 -23
- package/scripts/csdr/release/package/release-package.js +1 -1
- package/scripts/csdr/release/package/release-ui.js +30 -47
- package/scripts/csdr/release/package/release-virtual-remote.js +45 -19
- package/scripts/csdr/version/common.js +0 -2
- package/scripts/csdr/version/package-remote.js +2 -4
- package/scripts/index.js +4 -4
- package/scripts/utils/notification/slack-utils.js +1 -1
- package/scripts/utils/remotes/remotes-utils.js +6 -0
- package/scripts/csdr/metadata/package-envs.js +0 -70
- package/scripts/csdr/metadata/package-history.js +0 -368
- package/scripts/csdr/metadata/package-versions.js +0 -91
- package/scripts/csdr/metadata/v2/app/_app.js +0 -21
- package/scripts/csdr/metadata/v2/app/app.js +0 -25
- package/scripts/csdr/metadata/v2/app/index.js +0 -3
- package/scripts/csdr/metadata/v2/global/_global.js +0 -21
- package/scripts/csdr/metadata/v2/global/global.js +0 -25
- package/scripts/csdr/metadata/v2/global/index.js +0 -3
- package/scripts/csdr/metadata/v2/index.js +0 -5
- package/scripts/csdr/metadata/v2/migrate-devops-metadata.js +0 -207
- package/scripts/csdr/metadata/v2/package/_package.js +0 -21
- package/scripts/csdr/metadata/v2/package/index.js +0 -3
- package/scripts/csdr/metadata/v2/package/package.js +0 -25
package/scripts/index.js
CHANGED
|
@@ -134,13 +134,13 @@ module.exports.metadataAppEnvs = require('./csdr/metadata/app-envs');
|
|
|
134
134
|
module.exports.metadataAppHistory = require('./csdr/metadata/app-history');
|
|
135
135
|
module.exports.metadataAppVersions = require('./csdr/metadata/app-versions');
|
|
136
136
|
module.exports.metadataApp = require('./csdr/metadata/app');
|
|
137
|
+
module.exports.metadataBackend = require('./csdr/metadata/backend');
|
|
137
138
|
module.exports.mMetadataCommit = require('./csdr/metadata/commit');
|
|
138
139
|
module.exports.mMetadataCommon = require('./csdr/metadata/common');
|
|
139
140
|
module.exports.mMetadataUtils = require('./csdr/metadata/metadata-utils');
|
|
140
|
-
module.exports.
|
|
141
|
-
module.exports.
|
|
142
|
-
module.exports.
|
|
143
|
-
module.exports.metadataPackage = require('./csdr/metadata/package');
|
|
141
|
+
module.exports.metadataPackageUtils = require('./csdr/metadata/package-utils');
|
|
142
|
+
module.exports.metadataRemoteHistory = require('./csdr/metadata/remote-history');
|
|
143
|
+
module.exports.metadataRemotePackage = require('./csdr/metadata/remote-package');
|
|
144
144
|
module.exports.metadataStats = require('./csdr/metadata/stats');
|
|
145
145
|
|
|
146
146
|
// csdr - release
|
|
@@ -236,7 +236,7 @@ const sendPackageDiffReportMessage = (diffMetadata, slackHook, slackChannel) =>
|
|
|
236
236
|
|
|
237
237
|
if (diffMetadata.length !== 0) {
|
|
238
238
|
metadataText = diffMetadata.map((pkg) => {
|
|
239
|
-
return `${pkg.package} ---> from [${pkg.
|
|
239
|
+
return `${pkg.package} ---> from [${pkg.old}] to [${pkg.new}]`
|
|
240
240
|
}).join('\n ');
|
|
241
241
|
}
|
|
242
242
|
|
|
@@ -107,9 +107,15 @@ module.exports.cleanupUnusedAssets = (assetsPath, euiVersionNumber = 10) => {
|
|
|
107
107
|
.then(() => {
|
|
108
108
|
return tools.rimraf(path.join(assetsPath, 'icons', 'svg-src'));
|
|
109
109
|
})
|
|
110
|
+
.then(() => {
|
|
111
|
+
return tools.rimraf(path.join(assetsPath, 'icons', 'flags'));
|
|
112
|
+
})
|
|
110
113
|
.then(() => {
|
|
111
114
|
return tools.rimraf(path.join(assetsPath, 'fonts'));
|
|
112
115
|
})
|
|
116
|
+
.then(() => {
|
|
117
|
+
return tools.rimraf(path.join(assetsPath, 'i18n-eui'));
|
|
118
|
+
})
|
|
113
119
|
|
|
114
120
|
.catch((e) => {
|
|
115
121
|
throw e;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// GLOBAL
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const moment = require('moment');
|
|
6
|
-
|
|
7
|
-
// LOCAL
|
|
8
|
-
const tools = require('../../utils/tools');
|
|
9
|
-
const configUtils = require('../config/config-utils');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// FETCH ARGS
|
|
13
|
-
const { dryRun } = tools.getArgs();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
module.exports.getMetadata = (pkg) => {
|
|
17
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
18
|
-
|
|
19
|
-
return Promise.resolve()
|
|
20
|
-
.then(() => {
|
|
21
|
-
if (DEVOPS_METADATA_PATH) {
|
|
22
|
-
return tools.getJsonFileContent(path.join(DEVOPS_METADATA_PATH, pkg.devopsEnvsMetadataFile));
|
|
23
|
-
} else {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
})
|
|
27
|
-
.catch((e) => {
|
|
28
|
-
throw e;
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
module.exports.storeMetadata = (pkg, newVersion, metadata, envTarget) => {
|
|
35
|
-
const releaseDate = moment(new Date()).format("DD/MM/YYYY HH:mm");
|
|
36
|
-
const infos = `${newVersion} - ${releaseDate}`;
|
|
37
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
38
|
-
|
|
39
|
-
return Promise.resolve()
|
|
40
|
-
.then(() => {
|
|
41
|
-
tools.logInfo('Storing package environment metadata...');
|
|
42
|
-
|
|
43
|
-
const metadataFile = path.join(DEVOPS_METADATA_PATH, pkg.devopsEnvsMetadataFile);
|
|
44
|
-
|
|
45
|
-
var generatedMetadata;
|
|
46
|
-
if (tools.isFileExists(metadataFile)) {
|
|
47
|
-
generatedMetadata = require(metadataFile);
|
|
48
|
-
} else {
|
|
49
|
-
generatedMetadata = {};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
generatedMetadata[envTarget] = {
|
|
53
|
-
version: newVersion,
|
|
54
|
-
releaseDate: releaseDate,
|
|
55
|
-
infos: infos,
|
|
56
|
-
dependencies: metadata
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
tools.logInfo(`Writing envs metadata to ${metadataFile}`);
|
|
60
|
-
tools.writeJsonFileSync(metadataFile, generatedMetadata);
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
.then(() => {
|
|
64
|
-
tools.logSuccess();
|
|
65
|
-
})
|
|
66
|
-
|
|
67
|
-
.catch((e) => {
|
|
68
|
-
throw e;
|
|
69
|
-
})
|
|
70
|
-
}
|
|
@@ -1,368 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// GLOBAL
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const execa = require('execa');
|
|
6
|
-
const moment = require('moment');
|
|
7
|
-
const semver = require('semver');
|
|
8
|
-
|
|
9
|
-
// LOCAL
|
|
10
|
-
const tools = require('../../utils/tools');
|
|
11
|
-
const pipelineUtils = require('../../utils/pipeline-utils');
|
|
12
|
-
const configUtils = require('../config/config-utils');
|
|
13
|
-
|
|
14
|
-
// INNER MODULES
|
|
15
|
-
const innerPackage = require('./package');
|
|
16
|
-
const innerRemotePackage = require('./remote-package');
|
|
17
|
-
|
|
18
|
-
// FETCH ARGS
|
|
19
|
-
const { dryRun } = tools.getArgs();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const getMetadata = (pkg) => {
|
|
24
|
-
tools.logInfo('Getting app history metadata');
|
|
25
|
-
|
|
26
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
27
|
-
|
|
28
|
-
return Promise.resolve()
|
|
29
|
-
.then(() => {
|
|
30
|
-
if (!DEVOPS_METADATA_PATH) {
|
|
31
|
-
throw new Error(`Devops metadata folder ${DEVOPS_METADATA_PATH} NOT FOUND`);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return tools.getJsonFileContent(
|
|
35
|
-
path.join(DEVOPS_METADATA_PATH, pkg.devopsHistoryMetadataFile)
|
|
36
|
-
);
|
|
37
|
-
})
|
|
38
|
-
.catch((e) => {
|
|
39
|
-
throw e;
|
|
40
|
-
})
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const storeMetadata = (pkg, diffMetadata, newVersion) => {
|
|
45
|
-
tools.logTitle('Storing pkg history metadata');
|
|
46
|
-
|
|
47
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
48
|
-
|
|
49
|
-
let flatJiraList = [], filteredFlatJiraList = [];
|
|
50
|
-
let historyMetadata = {};
|
|
51
|
-
|
|
52
|
-
return Promise.resolve()
|
|
53
|
-
|
|
54
|
-
// flatten jira key list from diffMetadata extracted
|
|
55
|
-
.then(() => {
|
|
56
|
-
|
|
57
|
-
// full jira issues list
|
|
58
|
-
diffMetadata.forEach((pkg) => {
|
|
59
|
-
pkg.gitMetadata.forEach((gitMetadata) => {
|
|
60
|
-
gitMetadata.forEach((v) => {
|
|
61
|
-
if (v.issue) flatJiraList.push(v.issue);
|
|
62
|
-
})
|
|
63
|
-
})
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
flatJiraList = tools.removeArrayDuplicates(flatJiraList);
|
|
67
|
-
|
|
68
|
-
// filtered only issues where package is considered "linkedPackage" defined in the configuration, to not push all the issues list
|
|
69
|
-
// coming from dependencies of a particular remote to the release note generated after CI
|
|
70
|
-
diffMetadata.forEach((pkg) => {
|
|
71
|
-
if (pkg.packageLinked) {
|
|
72
|
-
pkg.gitMetadata.forEach((gitMetadata) => {
|
|
73
|
-
gitMetadata.forEach((v) => {
|
|
74
|
-
if (v.issue) filteredFlatJiraList.push(v.issue);
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
}
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
filteredFlatJiraList = tools.removeArrayDuplicates(filteredFlatJiraList);
|
|
81
|
-
})
|
|
82
|
-
|
|
83
|
-
// store the history file
|
|
84
|
-
.then(() => {
|
|
85
|
-
const historyFile = path.join(DEVOPS_METADATA_PATH, pkg.devopsHistoryMetadataFile);
|
|
86
|
-
|
|
87
|
-
var versions = [];
|
|
88
|
-
|
|
89
|
-
if (tools.isFileExists(historyFile)) {
|
|
90
|
-
historyMetadata = require(historyFile);
|
|
91
|
-
versions = historyMetadata.versions;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
versions.push({
|
|
95
|
-
name: newVersion,
|
|
96
|
-
diffs: diffMetadata,
|
|
97
|
-
issues: flatJiraList,
|
|
98
|
-
filteredIssues: filteredFlatJiraList
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
historyMetadata.versions = versions;
|
|
102
|
-
|
|
103
|
-
tools.writeJsonFileSync(historyFile, historyMetadata);
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
// storing issuesList gathered into gitlab variables for post CI processing
|
|
107
|
-
.then(() => {
|
|
108
|
-
tools.logInfo('Extracting Jira issues list to gitlab variables');
|
|
109
|
-
|
|
110
|
-
if (!flatJiraList) {
|
|
111
|
-
tools.logWarning('No issues found for this release');
|
|
112
|
-
|
|
113
|
-
} else {
|
|
114
|
-
let issuesList;
|
|
115
|
-
if (filteredFlatJiraList.length > 0) {
|
|
116
|
-
tools.logInfo('Taking into account filter issues list from allowed packages in configuration');
|
|
117
|
-
issuesList = filteredFlatJiraList.join(',');
|
|
118
|
-
} else {
|
|
119
|
-
tools.logInfo('Taking into account full Jira issues list extracted');
|
|
120
|
-
issuesList = flatJiraList.join(',');
|
|
121
|
-
}
|
|
122
|
-
tools.logInfo(`Unique issues found for this version : ${issuesList}`);
|
|
123
|
-
|
|
124
|
-
if (!dryRun) {
|
|
125
|
-
return pipelineUtils.setVariables(process.cwd(), `export ISSUES_LIST=${issuesList}\n`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
})
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
.then(() => {
|
|
132
|
-
return historyMetadata;
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
.catch((e) => {
|
|
136
|
-
throw e;
|
|
137
|
-
})
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const getDiffBetweenBuildVersions = (pkg, fromBuildMetadata, toBuildMetadata) => {
|
|
144
|
-
tools.logInfo('Get differences between versions metadata');
|
|
145
|
-
tools.logInfo('FROM : ');
|
|
146
|
-
console.log(fromBuildMetadata);
|
|
147
|
-
|
|
148
|
-
tools.logInfo('TO : ');
|
|
149
|
-
console.log(toBuildMetadata);
|
|
150
|
-
|
|
151
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
152
|
-
|
|
153
|
-
if (!fromBuildMetadata) {
|
|
154
|
-
tools.logWarning('No previous metadata found for package...skipping');
|
|
155
|
-
return null;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return Promise.resolve()
|
|
159
|
-
.then(() => {
|
|
160
|
-
// get differences from old in previous major release to new currently generated
|
|
161
|
-
const diffs = [];
|
|
162
|
-
Object.keys(fromBuildMetadata.dependencies).forEach((k) => {
|
|
163
|
-
if ({}.hasOwnProperty.call(toBuildMetadata.dependencies, k) && toBuildMetadata.dependencies[k] !== fromBuildMetadata.dependencies[k]) {
|
|
164
|
-
diffs.push({ package: k, old: fromBuildMetadata.dependencies[k], new: toBuildMetadata.dependencies[k] });
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
// remove snapshots as they are not stored in the package metadata
|
|
169
|
-
const cleanDiffs = diffs.filter((item) => {
|
|
170
|
-
return item.old.indexOf('-snapshot') === -1 &&
|
|
171
|
-
item.new.indexOf('-snapshot') === -1 &&
|
|
172
|
-
item.package.indexOf('@eui') === -1;
|
|
173
|
-
})
|
|
174
|
-
|
|
175
|
-
tools.logInfo(JSON.stringify(cleanDiffs, null, 2));
|
|
176
|
-
|
|
177
|
-
// Iterate over the
|
|
178
|
-
const mappedPkg = cleanDiffs.map((item) => {
|
|
179
|
-
|
|
180
|
-
tools.logInfo(`parsing item : ${item.package}`);
|
|
181
|
-
|
|
182
|
-
const pkgItem = configUtils.packages.getPackageByNpmPkg(item.package, true);
|
|
183
|
-
let pkgName;
|
|
184
|
-
if (pkgItem) {
|
|
185
|
-
pkgName = pkgItem.name;
|
|
186
|
-
|
|
187
|
-
if (pkgItem.child) {
|
|
188
|
-
pkgName = pkgItem.parentPkg;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
tools.logInfo('checking package : ' + pkgName);
|
|
193
|
-
|
|
194
|
-
let isPackageLinked = true;
|
|
195
|
-
|
|
196
|
-
// checking if package is part of the known linkedPackage of the remote to parse
|
|
197
|
-
if (pkg.linkedPackages && pkg.linkedPackages.filter(p => p === item.package).length === 0) {
|
|
198
|
-
tools.logInfo(`package ${pkgName} is not part of "linkedPackages" defined for ${pkg.name}`)
|
|
199
|
-
tools.logInfo('It will be excluded from Jira issues list generation for release note');
|
|
200
|
-
isPackageLinked = false;
|
|
201
|
-
|
|
202
|
-
} else {
|
|
203
|
-
tools.logInfo(`${pkg.name} has no linkedPackages defined OR linkedPackage is present in the allowed package list`);
|
|
204
|
-
tools.logInfo('Gathering package metadata history information');
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
// getting package file metadata
|
|
208
|
-
const packageMetadataFile = path.join(DEVOPS_METADATA_PATH, pkgName + '-build-metadata.json');
|
|
209
|
-
|
|
210
|
-
if (tools.isFileExists(packageMetadataFile)) {
|
|
211
|
-
|
|
212
|
-
const packageMetadata = require(packageMetadataFile);
|
|
213
|
-
|
|
214
|
-
// extracting versions history arry
|
|
215
|
-
const fromVersionIdx = packageMetadata.versions.findIndex(v => v.name === item.old);
|
|
216
|
-
const toVersionIdx = packageMetadata.versions.findIndex(v => v.name === item.new);
|
|
217
|
-
|
|
218
|
-
// slice the array with only the versions changed
|
|
219
|
-
const diffVersions = packageMetadata.versions.slice(fromVersionIdx + 1, toVersionIdx + 1);
|
|
220
|
-
|
|
221
|
-
// accumulate git metadata for the versions found for the release
|
|
222
|
-
var accGitMetadata = diffVersions.reduce((acc, k) => {
|
|
223
|
-
const gitCommits = k.gitMetadata.commits.map((item) => {
|
|
224
|
-
return { issue: item.issue, subject: item.subject }
|
|
225
|
-
})
|
|
226
|
-
acc.push(gitCommits);
|
|
227
|
-
return acc;
|
|
228
|
-
}, []);
|
|
229
|
-
|
|
230
|
-
return { name: pkgName, old: item.old, new: item.new, gitMetadata: accGitMetadata, packageLinked: isPackageLinked };
|
|
231
|
-
}
|
|
232
|
-
})
|
|
233
|
-
|
|
234
|
-
return mappedPkg;
|
|
235
|
-
|
|
236
|
-
})
|
|
237
|
-
|
|
238
|
-
.catch((e) => {
|
|
239
|
-
throw e;
|
|
240
|
-
})
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
const getDiffByEnvTarget = (pkg, envTarget) => {
|
|
246
|
-
tools.logInfo(`Getting differences for ${pkg.name} - ${envTarget}`);
|
|
247
|
-
|
|
248
|
-
return Promise.resolve()
|
|
249
|
-
.then(() => {
|
|
250
|
-
return innerRemotePackage.getPackageVersionsLatest(pkg);
|
|
251
|
-
})
|
|
252
|
-
|
|
253
|
-
.then((pkgVersions) => {
|
|
254
|
-
const envVersions = pkgVersions.filter((v) => {
|
|
255
|
-
return v.envTarget === envTarget
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
const fromVersion = envVersions[envVersions.length - 2];
|
|
259
|
-
const toVersion = envVersions[envVersions.length - 1];
|
|
260
|
-
const hasHistory = fromVersion && toVersion;
|
|
261
|
-
|
|
262
|
-
if (!fromVersion || !toVersion) {
|
|
263
|
-
tools.logWarning('WARNING: could not find versions matching for generating diff report');
|
|
264
|
-
return;
|
|
265
|
-
} else {
|
|
266
|
-
return getDiffBetweenBuildVersions(pkg, fromVersion, toVersion, hasHistory);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
})
|
|
270
|
-
|
|
271
|
-
.catch((e) => {
|
|
272
|
-
throw e;
|
|
273
|
-
})
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
// get differences of package versions between last(current) and previous major
|
|
280
|
-
|
|
281
|
-
const generateDiffReport = (pkg, envTarget, fromVersion, toVersion) => {
|
|
282
|
-
tools.logTitle('Generate packages differences report from previous major version...');
|
|
283
|
-
|
|
284
|
-
if (envTarget && pkg.build && pkg.build.envTargetActive) {
|
|
285
|
-
|
|
286
|
-
return Promise.resolve()
|
|
287
|
-
.then(() => {
|
|
288
|
-
return getDiffByEnvTarget(pkg, envTarget);
|
|
289
|
-
})
|
|
290
|
-
|
|
291
|
-
.catch((e) => {
|
|
292
|
-
throw e;
|
|
293
|
-
})
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
} else {
|
|
297
|
-
return Promise.resolve()
|
|
298
|
-
.then(() => {
|
|
299
|
-
return innerRemotePackage.getPackageVersionsLatest(pkg);
|
|
300
|
-
})
|
|
301
|
-
|
|
302
|
-
.then((pkgVersions) => {
|
|
303
|
-
if (fromVersion && toVersion) {
|
|
304
|
-
const fromVersionMetadata = pkgVersions.filter((v) => {
|
|
305
|
-
return v.version === fromVersion;
|
|
306
|
-
})[0];
|
|
307
|
-
|
|
308
|
-
const toVersionMetadata = pkgVersions.filter((v) => {
|
|
309
|
-
return v.version === toVersion;
|
|
310
|
-
})[0];
|
|
311
|
-
|
|
312
|
-
return getDiffBetweenBuildVersions(pkg, fromVersionMetadata, toVersionMetadata);
|
|
313
|
-
|
|
314
|
-
} else {
|
|
315
|
-
return getDiffBetweenBuildVersions(pkg, pkgVersions[pkgVersions.length - 2], pkgVersions[pkgVersions.length - 1]);
|
|
316
|
-
}
|
|
317
|
-
})
|
|
318
|
-
|
|
319
|
-
.catch((e) => {
|
|
320
|
-
throw e;
|
|
321
|
-
})
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
const flattenDiffMetadata = (metadata) => {
|
|
331
|
-
return Promise.resolve()
|
|
332
|
-
.then(() => {
|
|
333
|
-
return metadata.map((item) => {
|
|
334
|
-
return { package: item.name, fromVersion: item.old, toVersion: item.new };
|
|
335
|
-
});
|
|
336
|
-
})
|
|
337
|
-
|
|
338
|
-
.then((flatMetadata) => {
|
|
339
|
-
return flatMetadata;
|
|
340
|
-
})
|
|
341
|
-
|
|
342
|
-
.catch((e) => {
|
|
343
|
-
throw e;
|
|
344
|
-
})
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
const flatDiffMetadataToMessage = () => {
|
|
349
|
-
let message = 'No differences detected';
|
|
350
|
-
|
|
351
|
-
if (diffMetadata.length !== 0) {
|
|
352
|
-
message = diffMetadata.map((pkg) => {
|
|
353
|
-
return `${pkg.package} ---> from [${pkg.fromVersion}] to [${pkg.toVersion}]`
|
|
354
|
-
}).join('\n ');
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
return message;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
module.exports.getMetadata = getMetadata;
|
|
363
|
-
module.exports.storeMetadata = storeMetadata;
|
|
364
|
-
module.exports.getDiffBetweenBuildVersions = getDiffBetweenBuildVersions;
|
|
365
|
-
module.exports.generateDiffReport = generateDiffReport;
|
|
366
|
-
module.exports.flattenDiffMetadata = flattenDiffMetadata;
|
|
367
|
-
module.exports.flatDiffMetadataToMessage = flatDiffMetadataToMessage;
|
|
368
|
-
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// GLOBAL
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const moment = require('moment');
|
|
6
|
-
|
|
7
|
-
// LOCAL
|
|
8
|
-
const tools = require('../../utils/tools');
|
|
9
|
-
const configUtils = require('../config/config-utils');
|
|
10
|
-
|
|
11
|
-
const { dryRun } = tools.getArgs();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
module.exports.getMetadata = (pkg) => {
|
|
15
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
16
|
-
|
|
17
|
-
return Promise.resolve()
|
|
18
|
-
.then(() => {
|
|
19
|
-
if (!DEVOPS_METADATA_PATH) {
|
|
20
|
-
throw new Error(`Devops metadata folder ${DEVOPS_METADATA_PATH} NOT FOUND`) ;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return tools.getJsonFileContent(path.join(DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile));
|
|
24
|
-
})
|
|
25
|
-
.catch((e) => {
|
|
26
|
-
throw e;
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports.getMetadataSync = (pkg) => {
|
|
31
|
-
const DEVOPS_METADATA_PATH = configUtils.global.getConfigOptions().DEVOPS_METADATA_PATH;
|
|
32
|
-
|
|
33
|
-
if (!DEVOPS_METADATA_PATH) {
|
|
34
|
-
throw new Error(`Devops metadata folder ${DEVOPS_METADATA_PATH} NOT FOUND`) ;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return tools.getJsonFileContent(path.join(DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
module.exports.storeMetadata = (pkg, pkgVersion, pkgCompositeDeps, duration, envTarget) => {
|
|
41
|
-
return Promise.resolve()
|
|
42
|
-
.then(() => {
|
|
43
|
-
tools.logInfo('Storing package version history metadata...');
|
|
44
|
-
|
|
45
|
-
const configOptions = configUtils.global.getConfigOptions();
|
|
46
|
-
|
|
47
|
-
let generatedMetadata = {};
|
|
48
|
-
let versions = [];
|
|
49
|
-
|
|
50
|
-
let pkgMetadataFile = path.join(configOptions.DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile);
|
|
51
|
-
if (pkg.backend) {
|
|
52
|
-
pkgMetadataFile = path.join(pkg.paths.root, 'package-versions-metadata.json');
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (tools.isFileExists(pkgMetadataFile)) {
|
|
56
|
-
generatedMetadata = require(pkgMetadataFile);
|
|
57
|
-
versions = generatedMetadata.versions;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const newVersionMetadata = {
|
|
61
|
-
name: pkg.name,
|
|
62
|
-
version: pkgVersion,
|
|
63
|
-
date: moment(new Date()).format("YYYYMMDD-HH:mm"),
|
|
64
|
-
npmPkg: pkg.npmPkg,
|
|
65
|
-
duration: duration,
|
|
66
|
-
envTarget: envTarget,
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
if (pkg.remote) {
|
|
70
|
-
tools.logInfo('Writing remote composite dependencies');
|
|
71
|
-
newVersionMetadata.dependencies = pkgCompositeDeps;
|
|
72
|
-
}
|
|
73
|
-
console.log(newVersionMetadata);
|
|
74
|
-
versions.push(newVersionMetadata);
|
|
75
|
-
generatedMetadata.versions = versions;
|
|
76
|
-
|
|
77
|
-
tools.logInfo(`Write metadata on ${pkgMetadataFile}`);
|
|
78
|
-
|
|
79
|
-
if (dryRun) {
|
|
80
|
-
tools.logInfo('DRY RUN...outputing newVersionMetadata');
|
|
81
|
-
console.log(newVersionMetadata);
|
|
82
|
-
|
|
83
|
-
} else {
|
|
84
|
-
tools.writeJsonFileSync(pkgMetadataFile, generatedMetadata);
|
|
85
|
-
}
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
.catch((e) => {
|
|
89
|
-
throw e;
|
|
90
|
-
})
|
|
91
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// LOCALS
|
|
4
|
-
const utils = require('../../../../utils');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// PUBLIC METHODS
|
|
8
|
-
module.exports.getMetadata = (app) => {
|
|
9
|
-
return Promise.resolve()
|
|
10
|
-
.then(() => {
|
|
11
|
-
const urlPath = `/app/${app.name}`;
|
|
12
|
-
return utils.api.get(urlPath);
|
|
13
|
-
})
|
|
14
|
-
.then((data) => {
|
|
15
|
-
return data;
|
|
16
|
-
})
|
|
17
|
-
.catch((e) => {
|
|
18
|
-
utils.tools.logDebugTrace(__filename, 'getMetadata', e);
|
|
19
|
-
throw e;
|
|
20
|
-
})
|
|
21
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// LOCALS
|
|
4
|
-
const utils = require('../../../../utils');
|
|
5
|
-
|
|
6
|
-
// PRIVATES
|
|
7
|
-
const _app = require('./_app');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// PUBLIC METHODS
|
|
11
|
-
module.exports.getMetadata = (app) => {
|
|
12
|
-
utils.tools.logTitle('Get app metadata');
|
|
13
|
-
|
|
14
|
-
return Promise.resolve()
|
|
15
|
-
.then(() => {
|
|
16
|
-
return _app.getMetadata(app);
|
|
17
|
-
})
|
|
18
|
-
.then((metadata) => {
|
|
19
|
-
return metadata;
|
|
20
|
-
})
|
|
21
|
-
.catch((e) => {
|
|
22
|
-
utils.tools.logErrorTrace(__filename, 'getMetadata', e);
|
|
23
|
-
throw e;
|
|
24
|
-
})
|
|
25
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// LOCALS
|
|
4
|
-
const utils = require('../../../../utils');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// PUBLIC METHODS
|
|
8
|
-
module.exports.getMetadata = () => {
|
|
9
|
-
return Promise.resolve()
|
|
10
|
-
.then(() => {
|
|
11
|
-
const urlPath = `/metadata/globals`;
|
|
12
|
-
return utils.api.get(urlPath);
|
|
13
|
-
})
|
|
14
|
-
.then((data) => {
|
|
15
|
-
return data;
|
|
16
|
-
})
|
|
17
|
-
.catch((e) => {
|
|
18
|
-
utils.tools.logDebugTrace(__filename, 'getMetadata', e);
|
|
19
|
-
throw e;
|
|
20
|
-
})
|
|
21
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// LOCALS
|
|
4
|
-
const utils = require('../../../../utils');
|
|
5
|
-
|
|
6
|
-
// PRIVATES
|
|
7
|
-
const _global = require('./_global');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// PUBLIC METHODS
|
|
11
|
-
module.exports.getMetadata = () => {
|
|
12
|
-
utils.tools.logTitle('Get global metadata');
|
|
13
|
-
|
|
14
|
-
return Promise.resolve()
|
|
15
|
-
.then(() => {
|
|
16
|
-
return _global.getMetadata();
|
|
17
|
-
})
|
|
18
|
-
.then((metadata) => {
|
|
19
|
-
return metadata;
|
|
20
|
-
})
|
|
21
|
-
.catch((e) => {
|
|
22
|
-
utils.tools.logErrorTrace(__filename, 'getMetadata', e);
|
|
23
|
-
throw e;
|
|
24
|
-
})
|
|
25
|
-
}
|