@eui/tools 6.14.11 → 6.14.13
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 +19 -0
- package/package.json +1 -1
- package/sandbox.js +70 -10
- package/scripts/csdr/install/common.js +20 -15
- package/scripts/csdr/install/local-dev.js +3 -3
- package/scripts/csdr/metadata/app.js +0 -1
- package/scripts/csdr/metadata/package-versions.js +4 -22
- package/scripts/csdr/metadata/package.js +143 -150
- package/scripts/csdr/release/package/common.js +18 -21
- package/scripts/csdr/release/package/release-backend.js +0 -6
- package/scripts/csdr/release/package/release-ui.js +9 -3
- package/scripts/csdr/release/package/release-virtual-remote.js +3 -1
package/.version.properties
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.14.
|
|
1
|
+
6.14.13
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## 6.14.13 (2023-12-09)
|
|
2
|
+
|
|
3
|
+
##### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **other:**
|
|
6
|
+
* package versionFirst retrieval typo in declaration - EUI-7121 [EUI-7121](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-7121) ([67e6cbb1](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/67e6cbb1e3e7f4c88592992ccb08b1f1c225281a))
|
|
7
|
+
|
|
8
|
+
* * *
|
|
9
|
+
* * *
|
|
10
|
+
## 6.14.12 (2023-12-09)
|
|
11
|
+
|
|
12
|
+
##### Chores
|
|
13
|
+
|
|
14
|
+
* **other:**
|
|
15
|
+
* fix hotfix flag for npm package version fetch - EUI-7121 [EUI-7121](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-7121) ([a4b99eb0](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/a4b99eb0842675d5cffd3b4d4adaccb3d92e1f54))
|
|
16
|
+
* refactor metadata of UI pkg fetch and store using npm direct call - EUI-7121 [EUI-7121](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-7121) ([942ba35e](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/942ba35e7f22e309feca6a69f9a7d6599c0c81b1))
|
|
17
|
+
|
|
18
|
+
* * *
|
|
19
|
+
* * *
|
|
1
20
|
## 6.14.11 (2023-12-08)
|
|
2
21
|
|
|
3
22
|
##### Chores
|
package/package.json
CHANGED
package/sandbox.js
CHANGED
|
@@ -1366,18 +1366,78 @@ const publishUtils = require('./scripts/utils/publish/publish-utils');
|
|
|
1366
1366
|
// console.log(compositeDeps);
|
|
1367
1367
|
// })
|
|
1368
1368
|
|
|
1369
|
-
const prj = configUtils.projects.getCsdrProject('eui-showcase-ux-components');
|
|
1369
|
+
// const prj = configUtils.projects.getCsdrProject('eui-showcase-ux-components');
|
|
1370
1370
|
|
|
1371
|
-
Promise.resolve()
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1371
|
+
// Promise.resolve()
|
|
1372
|
+
// .then(() => {
|
|
1373
|
+
// return utils.buildApp.generateProjectDistributionList(prj, true);
|
|
1374
|
+
// })
|
|
1375
|
+
|
|
1376
|
+
// .then((output) => {
|
|
1377
|
+
// console.log(output);
|
|
1378
|
+
|
|
1379
|
+
// const { baseHrefIn } = tools.getArgs();
|
|
1380
|
+
// const baseHref = configUtils.projects.getBaseHref(prj, '17.0.2-snapshot-1701859601406', baseHrefIn);
|
|
1381
|
+
|
|
1382
|
+
// console.log(baseHref);
|
|
1383
|
+
// })
|
|
1384
|
+
|
|
1385
|
+
|
|
1386
|
+
// Promise.resolve()
|
|
1387
|
+
// .then(() => {
|
|
1388
|
+
// const pkgsIn = configUtils.packages.getCsdrPackages();
|
|
1389
|
+
// let pkgs = Object.keys(pkgsIn).map(p => {
|
|
1390
|
+
// return {
|
|
1391
|
+
// name: p,
|
|
1392
|
+
// npmPkg: pkgsIn[p].npmPkg,
|
|
1393
|
+
// remote: pkgsIn[p].remote
|
|
1394
|
+
// }
|
|
1395
|
+
// });
|
|
1396
|
+
// pkgs = pkgs.filter(p => p.npmPkg !== undefined && !p.remote && p.name.indexOf('backend') === -1);
|
|
1397
|
+
// pkgs = tools.sortArray(pkgs, 'name');
|
|
1398
|
+
|
|
1399
|
+
// pkgs.forEach(p => {
|
|
1400
|
+
// const pkg = configUtils.packages.getPackage(p.name, true);
|
|
1401
|
+
|
|
1402
|
+
// const lastMetadataLatest = metadataUtils.package.getPackageVersionsLastLatest(pkg);
|
|
1403
|
+
// const lastMetadataSnapshot = metadataUtils.package.getPackageVersionsLastSnapshot(pkg);
|
|
1404
|
+
// const lastMetadataRc = metadataUtils.package.getPackageVersionsLastRc(pkg);
|
|
1405
|
+
|
|
1406
|
+
// console.log(`Checking ${pkg.name}...`);
|
|
1407
|
+
|
|
1408
|
+
// // TODO check multi-version of LATEST f.e. : csdr-integration-ui 2.x 3.x 4.x
|
|
1409
|
+
|
|
1410
|
+
// try {
|
|
1411
|
+
// const output = execa.sync('npm', ['view', '--latest', pkg.npmPkg, '--json']).stdout;
|
|
1412
|
+
// const json = JSON.parse(output);
|
|
1413
|
+
// const npmSnapshot = json['dist-tags'].snapshot;
|
|
1414
|
+
// const npmLatest = json['dist-tags'].latest;
|
|
1415
|
+
// const npmNext = json['dist-tags'].next;
|
|
1416
|
+
|
|
1417
|
+
// if (
|
|
1418
|
+
// lastMetadataSnapshot !== npmSnapshot ||
|
|
1419
|
+
// lastMetadataLatest !== npmLatest
|
|
1420
|
+
// ) {
|
|
1421
|
+
// console.log(pkg.name);
|
|
1422
|
+
// console.log(lastMetadataSnapshot, lastMetadataLatest, lastMetadataRc);
|
|
1423
|
+
// console.log(npmSnapshot, npmLatest, npmNext);
|
|
1424
|
+
// console.log ('');
|
|
1425
|
+
// }
|
|
1426
|
+
// } catch(e) {
|
|
1427
|
+
// console.log('---Error getting npm info for pkg');
|
|
1428
|
+
// }
|
|
1375
1429
|
|
|
1376
|
-
|
|
1377
|
-
|
|
1430
|
+
// });
|
|
1431
|
+
// })
|
|
1378
1432
|
|
|
1379
|
-
const { baseHrefIn } = tools.getArgs();
|
|
1380
|
-
const baseHref = configUtils.projects.getBaseHref(prj, '17.0.2-snapshot-1701859601406', baseHrefIn);
|
|
1381
1433
|
|
|
1382
|
-
|
|
1434
|
+
Promise.resolve()
|
|
1435
|
+
.then(() => {
|
|
1436
|
+
const pkg = configUtils.packages.getPackage('cc-decidepoc-ui', true);
|
|
1437
|
+
console.log(pkg);
|
|
1438
|
+
const versions = metadataUtils.package.getPackageVersions(pkg);
|
|
1439
|
+
console.log(JSON.stringify(versions, null, 2));
|
|
1440
|
+
})
|
|
1441
|
+
.catch((e) => {
|
|
1442
|
+
console.log(e);
|
|
1383
1443
|
})
|
|
@@ -16,7 +16,7 @@ const getInstallRegistry = () => {
|
|
|
16
16
|
const NPM_REGISTRY_INSTALL = configUtils.global.getConfigOptions().NPM_REGISTRY_INSTALL;
|
|
17
17
|
|
|
18
18
|
// check if registry has been passed as argument
|
|
19
|
-
|
|
19
|
+
let installRegistry;
|
|
20
20
|
if (registry) {
|
|
21
21
|
installRegistry = registry;
|
|
22
22
|
} else {
|
|
@@ -88,7 +88,7 @@ module.exports.executeInstallPackage = (cwdPath, npmPkg) => {
|
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
module.exports.getResolvedCarretDeps = (deps, isMaster, isDevEnvTarget) => {
|
|
91
|
-
tools.logTitle('Resolving carret versions
|
|
91
|
+
tools.logTitle('Resolving carret versions of detected packages');
|
|
92
92
|
|
|
93
93
|
tools.logInfo('processing dependencies : ');
|
|
94
94
|
console.log(deps);
|
|
@@ -101,24 +101,29 @@ module.exports.getResolvedCarretDeps = (deps, isMaster, isDevEnvTarget) => {
|
|
|
101
101
|
const npmPkg = k;
|
|
102
102
|
const version = deps[k];
|
|
103
103
|
|
|
104
|
-
tools.logInfo(
|
|
104
|
+
tools.logInfo(`\nProcessing ${npmPkg}:${version}`);
|
|
105
105
|
|
|
106
106
|
// getting package from npmPkg
|
|
107
107
|
const pkg = configUtils.packages.getPackageByNpmPkg(npmPkg, true);
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
version.substr(1).split('.')[0],
|
|
113
|
-
isMaster,
|
|
114
|
-
isDevEnvTarget
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
if (lastMajorVersion) {
|
|
118
|
-
tools.logInfo(`--version found : ${lastMajorVersion}`);
|
|
119
|
-
acc[k] = lastMajorVersion;
|
|
109
|
+
if (!pkg) {
|
|
110
|
+
tools.logWarning(`npmPkg: ${npmPkg} is not a CSDR package`);
|
|
111
|
+
|
|
120
112
|
} else {
|
|
121
|
-
|
|
113
|
+
// getting last major version from metadata history for pkg found
|
|
114
|
+
const lastMajorVersion = metadataUtils.package.getLastMajorVersion(
|
|
115
|
+
pkg,
|
|
116
|
+
version.substr(1).split('.')[0],
|
|
117
|
+
isMaster,
|
|
118
|
+
isDevEnvTarget
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
if (lastMajorVersion) {
|
|
122
|
+
tools.logInfo(`--version found : ${lastMajorVersion}`);
|
|
123
|
+
acc[k] = lastMajorVersion;
|
|
124
|
+
} else {
|
|
125
|
+
tools.logWarning(`WARNING : Can't resolve carret version from history for pkg: ${npmPkg} for version ${version}`);
|
|
126
|
+
}
|
|
122
127
|
}
|
|
123
128
|
}
|
|
124
129
|
return acc;
|
|
@@ -61,9 +61,9 @@ module.exports.install = (providedDeps) => {
|
|
|
61
61
|
|
|
62
62
|
return Promise.resolve()
|
|
63
63
|
|
|
64
|
-
.then(() => {
|
|
65
|
-
|
|
66
|
-
})
|
|
64
|
+
// .then(() => {
|
|
65
|
+
// return metadataUtils.common.cloneMetadataRepo(true);
|
|
66
|
+
// })
|
|
67
67
|
|
|
68
68
|
// getting internal packages deps - cloned locally
|
|
69
69
|
.then(() => {
|
|
@@ -37,22 +37,19 @@ module.exports.getMetadataSync = (pkg) => {
|
|
|
37
37
|
return tools.getJsonFileContent(path.join(DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
module.exports.storeMetadata = (pkg, pkgVersion, pkgCompositeDeps, duration, envTarget
|
|
40
|
+
module.exports.storeMetadata = (pkg, pkgVersion, pkgCompositeDeps, duration, envTarget) => {
|
|
41
41
|
return Promise.resolve()
|
|
42
42
|
.then(() => {
|
|
43
43
|
tools.logInfo('Storing package version history metadata...');
|
|
44
44
|
|
|
45
45
|
const configOptions = configUtils.global.getConfigOptions();
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
let pkgMetadataFile;
|
|
47
|
+
let generatedMetadata = {};
|
|
48
|
+
let versions = [];
|
|
51
49
|
|
|
50
|
+
let pkgMetadataFile = path.join(configOptions.DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile);
|
|
52
51
|
if (pkg.backend) {
|
|
53
52
|
pkgMetadataFile = path.join(pkg.paths.root, 'package-versions-metadata.json');
|
|
54
|
-
} else {
|
|
55
|
-
pkgMetadataFile = path.join(configOptions.DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile);
|
|
56
53
|
}
|
|
57
54
|
|
|
58
55
|
if (tools.isFileExists(pkgMetadataFile)) {
|
|
@@ -60,11 +57,6 @@ module.exports.storeMetadata = (pkg, pkgVersion, pkgCompositeDeps, duration, env
|
|
|
60
57
|
versions = generatedMetadata.versions;
|
|
61
58
|
}
|
|
62
59
|
|
|
63
|
-
let isHotfixVersion = false;
|
|
64
|
-
if (branches) {
|
|
65
|
-
isHotfixVersion = branches.isHotfix;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
60
|
const newVersionMetadata = {
|
|
69
61
|
name: pkg.name,
|
|
70
62
|
version: pkgVersion,
|
|
@@ -72,23 +64,14 @@ module.exports.storeMetadata = (pkg, pkgVersion, pkgCompositeDeps, duration, env
|
|
|
72
64
|
npmPkg: pkg.npmPkg,
|
|
73
65
|
duration: duration,
|
|
74
66
|
envTarget: envTarget,
|
|
75
|
-
hotfix: isHotfixVersion,
|
|
76
67
|
};
|
|
77
68
|
|
|
78
|
-
if (auditStylesReport) {
|
|
79
|
-
if (!pkg.backend && !pkg.remote) {
|
|
80
|
-
newVersionMetadata.auditStylesReport = auditStylesReport;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
69
|
if (pkg.remote) {
|
|
85
70
|
tools.logInfo('Writing remote composite dependencies');
|
|
86
71
|
newVersionMetadata.dependencies = pkgCompositeDeps;
|
|
87
72
|
}
|
|
88
73
|
console.log(newVersionMetadata);
|
|
89
|
-
|
|
90
74
|
versions.push(newVersionMetadata);
|
|
91
|
-
|
|
92
75
|
generatedMetadata.versions = versions;
|
|
93
76
|
|
|
94
77
|
tools.logInfo(`Write metadata on ${pkgMetadataFile}`);
|
|
@@ -100,7 +83,6 @@ module.exports.storeMetadata = (pkg, pkgVersion, pkgCompositeDeps, duration, env
|
|
|
100
83
|
} else {
|
|
101
84
|
tools.writeJsonFileSync(pkgMetadataFile, generatedMetadata);
|
|
102
85
|
}
|
|
103
|
-
|
|
104
86
|
})
|
|
105
87
|
|
|
106
88
|
.catch((e) => {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// GLOBAL
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const moment = require('moment');
|
|
6
|
+
const execa = require('execa');
|
|
6
7
|
|
|
7
8
|
// LOCAL
|
|
8
9
|
const tools = require('../../utils/tools');
|
|
@@ -14,16 +15,16 @@ const innerPackageEnvs = require('./package-envs');
|
|
|
14
15
|
const innerPackageVersions = require('./package-versions');
|
|
15
16
|
|
|
16
17
|
// FETCH ARGS
|
|
17
|
-
const { dryRun } = tools.getArgs();
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
module.exports.storeMetadata = (pkg, pkgVersion, pkgMetadata, branches, pkgCompositeDeps, duration, envTarget, auditStylesReport) => {
|
|
18
|
+
const { dryRun, debug } = tools.getArgs();
|
|
21
19
|
|
|
20
|
+
module.exports.storeMetadata = (pkg, pkgVersion, pkgMetadata, branches, pkgCompositeDeps, duration, envTarget) => {
|
|
22
21
|
tools.logTitle('Storing central and package metadata...');
|
|
23
22
|
|
|
24
23
|
return Promise.resolve()
|
|
25
24
|
.then(() => {
|
|
26
|
-
|
|
25
|
+
if (pkg.remote) {
|
|
26
|
+
return innerPackageVersions.storeMetadata(pkg, pkgVersion, pkgCompositeDeps, duration, envTarget);
|
|
27
|
+
}
|
|
27
28
|
})
|
|
28
29
|
|
|
29
30
|
.then(() => {
|
|
@@ -50,11 +51,8 @@ module.exports.storeMetadata = (pkg, pkgVersion, pkgMetadata, branches, pkgCompo
|
|
|
50
51
|
|
|
51
52
|
.catch((e) => {
|
|
52
53
|
throw e;
|
|
53
|
-
})
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
});
|
|
55
|
+
};
|
|
58
56
|
|
|
59
57
|
const storeBuildMetadata = (pkg, pkgVersion, pkgMetadata, envTarget) => {
|
|
60
58
|
return Promise.resolve()
|
|
@@ -63,8 +61,8 @@ const storeBuildMetadata = (pkg, pkgVersion, pkgMetadata, envTarget) => {
|
|
|
63
61
|
|
|
64
62
|
const configOptions = configUtils.global.getConfigOptions();
|
|
65
63
|
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
let generatedMetadata = {};
|
|
65
|
+
let versions = [];
|
|
68
66
|
|
|
69
67
|
let pkgMetadataFile;
|
|
70
68
|
|
|
@@ -93,47 +91,38 @@ const storeBuildMetadata = (pkg, pkgVersion, pkgMetadata, envTarget) => {
|
|
|
93
91
|
|
|
94
92
|
.catch((e) => {
|
|
95
93
|
throw e;
|
|
96
|
-
})
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
module.exports.storeMetadataBackend = (
|
|
102
|
-
pkg, pkgVersion, pkgMetadata, isMaster, duration, envTarget
|
|
103
|
-
) => {
|
|
104
|
-
|
|
105
|
-
tools.logTitle('Storing Backend metadata...');
|
|
106
|
-
|
|
107
|
-
return Promise.resolve()
|
|
108
|
-
|
|
109
|
-
.then(() => {
|
|
110
|
-
return innerPackageVersions.storeMetadata(pkg, pkgVersion, {}, duration, envTarget);
|
|
111
|
-
})
|
|
112
|
-
|
|
113
|
-
.then(() => {
|
|
114
|
-
if (isMaster) {
|
|
115
|
-
return storeBuildMetadata(pkg, pkgVersion, pkgMetadata, envTarget);
|
|
116
|
-
}
|
|
117
|
-
})
|
|
94
|
+
});
|
|
95
|
+
};
|
|
118
96
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return storePipelineMetadata(pkgMetadata);
|
|
122
|
-
}
|
|
123
|
-
})
|
|
97
|
+
module.exports.storeMetadataBackend = (pkg, pkgVersion, pkgMetadata, isMaster, duration, envTarget) => {
|
|
98
|
+
tools.logTitle('Storing Backend metadata...');
|
|
124
99
|
|
|
125
|
-
.
|
|
126
|
-
tools.logSuccess();
|
|
127
|
-
})
|
|
100
|
+
return Promise.resolve()
|
|
128
101
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
102
|
+
.then(() => {
|
|
103
|
+
return innerPackageVersions.storeMetadata(pkg, pkgVersion, {}, duration, envTarget);
|
|
104
|
+
})
|
|
133
105
|
|
|
106
|
+
.then(() => {
|
|
107
|
+
if (isMaster) {
|
|
108
|
+
return storeBuildMetadata(pkg, pkgVersion, pkgMetadata, envTarget);
|
|
109
|
+
}
|
|
110
|
+
})
|
|
134
111
|
|
|
112
|
+
.then(() => {
|
|
113
|
+
if (isMaster) {
|
|
114
|
+
return storePipelineMetadata(pkgMetadata);
|
|
115
|
+
}
|
|
116
|
+
})
|
|
135
117
|
|
|
118
|
+
.then(() => {
|
|
119
|
+
tools.logSuccess();
|
|
120
|
+
})
|
|
136
121
|
|
|
122
|
+
.catch((e) => {
|
|
123
|
+
throw e;
|
|
124
|
+
});
|
|
125
|
+
};
|
|
137
126
|
|
|
138
127
|
const storePipelineMetadata = (pkgMetadata) => {
|
|
139
128
|
return Promise.resolve()
|
|
@@ -142,7 +131,7 @@ const storePipelineMetadata = (pkgMetadata) => {
|
|
|
142
131
|
|
|
143
132
|
const variablesFile = path.join(process.cwd(), 'variables');
|
|
144
133
|
|
|
145
|
-
|
|
134
|
+
let fileContent;
|
|
146
135
|
if (tools.isFileExists(variablesFile)) {
|
|
147
136
|
fileContent = tools.getFileContent(variablesFile);
|
|
148
137
|
}
|
|
@@ -156,18 +145,15 @@ const storePipelineMetadata = (pkgMetadata) => {
|
|
|
156
145
|
fileContent += `export ISSUES_LIST=${issuesList}\n`;
|
|
157
146
|
tools.writeFileContent(variablesFile, fileContent);
|
|
158
147
|
}
|
|
159
|
-
|
|
160
148
|
} else {
|
|
161
149
|
tools.logInfo('No issues found for this release');
|
|
162
150
|
}
|
|
163
|
-
|
|
164
151
|
})
|
|
165
152
|
|
|
166
153
|
.catch((e) => {
|
|
167
154
|
console.log(e);
|
|
168
|
-
})
|
|
169
|
-
}
|
|
170
|
-
|
|
155
|
+
});
|
|
156
|
+
};
|
|
171
157
|
|
|
172
158
|
module.exports.storeMetadataAssets = (pkg, pkgCompositeDeps) => {
|
|
173
159
|
return Promise.resolve()
|
|
@@ -176,7 +162,7 @@ module.exports.storeMetadataAssets = (pkg, pkgCompositeDeps) => {
|
|
|
176
162
|
const pkgMetadataRootFile = path.join(pkg.paths.root, 'package-metadata.json');
|
|
177
163
|
|
|
178
164
|
const pkgMetadata = {
|
|
179
|
-
dependencies: pkgCompositeDeps
|
|
165
|
+
dependencies: pkgCompositeDeps,
|
|
180
166
|
};
|
|
181
167
|
|
|
182
168
|
tools.logInfo(`Creating ${pkgMetadataFile}`);
|
|
@@ -190,80 +176,100 @@ module.exports.storeMetadataAssets = (pkg, pkgCompositeDeps) => {
|
|
|
190
176
|
|
|
191
177
|
.catch((e) => {
|
|
192
178
|
throw e;
|
|
193
|
-
})
|
|
194
|
-
}
|
|
179
|
+
});
|
|
180
|
+
};
|
|
195
181
|
|
|
182
|
+
const getPackageVersions = (module.exports.getPackageVersions = (pkg) => {
|
|
183
|
+
try {
|
|
184
|
+
let npmOutput = execa.sync('npm', ['view', pkg.npmPkg, '--json']).stdout;
|
|
185
|
+
if (npmOutput.trim() === '') {
|
|
186
|
+
npmOutput = execa.sync('npm', ['view', `${pkg.npmPkg}@snapshot`, '--json']).stdout;
|
|
187
|
+
}
|
|
188
|
+
const json = JSON.parse(npmOutput);
|
|
189
|
+
let versions = [];
|
|
190
|
+
versions = json.versions.map((v) => {
|
|
191
|
+
return {
|
|
192
|
+
name: pkg.name,
|
|
193
|
+
version: v,
|
|
194
|
+
major: v.split('.')[0],
|
|
195
|
+
snapshot: v.indexOf('snapshot') > -1,
|
|
196
|
+
hotfix: v.indexOf('snapshot') === -1 && v.indexOf('-rc.') === -1 && v.indexOf('-') > -1,
|
|
197
|
+
rc: v.indexOf('-rc.') > -1,
|
|
198
|
+
date: json.time[v],
|
|
199
|
+
};
|
|
200
|
+
});
|
|
196
201
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
tools.logWarning('
|
|
200
|
-
|
|
202
|
+
return versions;
|
|
203
|
+
} catch (e) {
|
|
204
|
+
tools.logWarning(`Pkg versions can't be fetched for ${pkg.name} - ${pkg.npmPkg}`);
|
|
205
|
+
console.log(e);
|
|
201
206
|
}
|
|
207
|
+
});
|
|
202
208
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const pkgMetadataFile = path.join(configOptions.DEVOPS_METADATA_PATH, pkg.devopsVersionsMetadataFile);
|
|
208
|
-
|
|
209
|
-
tools.logInfo(`from ${pkgMetadataFile}`);
|
|
210
|
-
|
|
211
|
-
return tools.getJsonFileContent(pkgMetadataFile);
|
|
212
|
-
}
|
|
209
|
+
module.exports.getPackageVersionsLatest = (pkg) => {
|
|
210
|
+
const versions = getPackageVersions(pkg);
|
|
211
|
+
return versions.filter((v) => !v.snapshot);
|
|
212
|
+
};
|
|
213
213
|
|
|
214
|
+
module.exports.getPackageVersionLast = (pkg) => {
|
|
215
|
+
const versions = getPackageVersions(pkg);
|
|
216
|
+
if (versions && versions.length !== 0) {
|
|
217
|
+
return versions.splice(-1)[0].version;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
214
220
|
|
|
215
|
-
module.exports.
|
|
216
|
-
const
|
|
221
|
+
module.exports.getPackageVersionsLastLatest = (pkg) => {
|
|
222
|
+
const versions = getPackageVersions(pkg);
|
|
217
223
|
|
|
218
|
-
if (
|
|
219
|
-
|
|
224
|
+
if (versions && versions.length !== 0) {
|
|
225
|
+
const versionsLatest = versions.filter((v) => !v.snapshot && !v.hotfix && !v.rc);
|
|
226
|
+
if (versionsLatest && versionsLatest.length !== 0) {
|
|
227
|
+
return versionsLatest.splice(-1)[0].version;
|
|
228
|
+
}
|
|
220
229
|
}
|
|
221
|
-
}
|
|
230
|
+
};
|
|
222
231
|
|
|
223
|
-
module.exports.
|
|
224
|
-
const
|
|
232
|
+
module.exports.getPackageVersionsLastRc = (pkg) => {
|
|
233
|
+
const versions = this.getPackageVersions(pkg);
|
|
225
234
|
|
|
226
|
-
if (
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
235
|
+
if (versions && versions.length !== 0) {
|
|
236
|
+
const versionsRc = versions.filter((v) => v.rc);
|
|
237
|
+
if (versionsRc && versionsRc.length !== 0) {
|
|
238
|
+
return versionsRc.splice(-1)[0].version;
|
|
239
|
+
}
|
|
230
240
|
}
|
|
241
|
+
};
|
|
231
242
|
|
|
232
|
-
|
|
233
|
-
|
|
243
|
+
const getPackageVersionsSnapshot = (pkg) => {
|
|
244
|
+
const versions = getPackageVersions(pkg);
|
|
245
|
+
return versions.filter((v) => v.snapshot);
|
|
246
|
+
};
|
|
234
247
|
|
|
235
|
-
module.exports.
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
return pkgVersionsJson.versions.splice(-1)[0].version;
|
|
248
|
+
module.exports.getPackageVersionsLastSnapshot = (pkg) => {
|
|
249
|
+
const versions = getPackageVersionsSnapshot(pkg);
|
|
250
|
+
if (versions && versions.length !== 0) {
|
|
251
|
+
return versions.splice(-1)[0].version;
|
|
240
252
|
}
|
|
253
|
+
};
|
|
241
254
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
module.exports.getPackageVersionFirst = (pkg) => {
|
|
246
|
-
const pkgVersionsJson = this.getPackageVersionsJson(pkg);
|
|
255
|
+
const getPackageVersionFirst = (pkg) => {
|
|
256
|
+
const versions = getPackageVersions(pkg);
|
|
247
257
|
|
|
248
|
-
if (
|
|
249
|
-
return
|
|
258
|
+
if (versions && versions.length !== 0) {
|
|
259
|
+
return versions[0];
|
|
250
260
|
}
|
|
251
|
-
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
261
|
+
};
|
|
254
262
|
|
|
255
263
|
module.exports.isNewPackageBuild = (pkg) => {
|
|
256
264
|
tools.logInfo('Checking if package is a newly created one : first build date after 2023/06/01 or never built for MASTER');
|
|
257
265
|
|
|
258
|
-
const firstPackageVersion =
|
|
266
|
+
const firstPackageVersion = getPackageVersionFirst(pkg);
|
|
259
267
|
const versionsLatest = this.getPackageVersionsLatest(pkg);
|
|
260
268
|
|
|
261
269
|
if (firstPackageVersion) {
|
|
262
|
-
|
|
263
270
|
if (versionsLatest && versionsLatest.length === 0) {
|
|
264
271
|
tools.logInfo(`==> package has never been built for MASTER / latest version, package is considered new`);
|
|
265
272
|
return true;
|
|
266
|
-
|
|
267
273
|
} else {
|
|
268
274
|
const pkgDate = firstPackageVersion.date;
|
|
269
275
|
|
|
@@ -273,104 +279,100 @@ module.exports.isNewPackageBuild = (pkg) => {
|
|
|
273
279
|
tools.logInfo(`==> NEW package : ${pkgDateM > pivotDate}`);
|
|
274
280
|
return pkgDateM > pivotDate;
|
|
275
281
|
}
|
|
276
|
-
|
|
277
282
|
} else {
|
|
278
283
|
tools.logInfo(`==> no versions metadata found : first build, package is new`);
|
|
279
284
|
return true;
|
|
280
285
|
}
|
|
281
|
-
}
|
|
286
|
+
};
|
|
282
287
|
|
|
283
|
-
|
|
284
|
-
const pkgVersions =
|
|
288
|
+
const getPackageVersionsByMajor = (pkg, major, isMaster, isDevEnvTarget) => {
|
|
289
|
+
const pkgVersions = getPackageVersions(pkg);
|
|
285
290
|
|
|
286
291
|
if (pkgVersions) {
|
|
287
|
-
tools.logInfo(`----> ${pkgVersions.length} metadata versions found for package`);
|
|
292
|
+
if (debug) tools.logInfo(`----> ${pkgVersions.length} metadata versions found for package`);
|
|
288
293
|
let versions = [];
|
|
289
|
-
versions = pkgVersions.filter(v => v.
|
|
294
|
+
versions = pkgVersions.filter((v) => v.major === major);
|
|
290
295
|
|
|
291
|
-
tools.logInfo(`----> ${versions.length} metadata versions found for major version : ${major}`);
|
|
296
|
+
if (debug) tools.logInfo(`----> ${versions.length} metadata versions found for major version : ${major}`);
|
|
292
297
|
|
|
293
298
|
if (isMaster) {
|
|
294
|
-
versions = versions.filter(v => v.
|
|
295
|
-
tools.logInfo(`----> ${versions.length} metadata versions found excluding snapshots`);
|
|
296
|
-
|
|
299
|
+
versions = versions.filter((v) => !v.snapshot);
|
|
300
|
+
if (debug) tools.logInfo(`----> ${versions.length} metadata versions found excluding snapshots`);
|
|
297
301
|
} else {
|
|
298
|
-
versions = pkgVersions.filter(v => v.
|
|
299
|
-
tools.logInfo(`----> ${versions.length} metadata versions non-master release for major`);
|
|
302
|
+
versions = pkgVersions.filter((v) => v.major === major);
|
|
303
|
+
if (debug) tools.logInfo(`----> ${versions.length} metadata versions non-master release for major`);
|
|
300
304
|
}
|
|
301
305
|
|
|
302
|
-
tools.logInfo('----> exluding hotfix package versions type');
|
|
303
|
-
versions = versions.filter(v => !v.hotfix);
|
|
304
|
-
tools.logInfo(`----> ${versions.length} metadata versions excluding hotfix version type`);
|
|
306
|
+
if (debug) tools.logInfo('----> exluding hotfix package versions type');
|
|
307
|
+
versions = versions.filter((v) => !v.hotfix);
|
|
308
|
+
if (debug) tools.logInfo(`----> ${versions.length} metadata versions excluding hotfix version type`);
|
|
305
309
|
|
|
306
310
|
if (!isDevEnvTarget) {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
311
|
+
if (debug) {
|
|
312
|
+
tools.logInfo(
|
|
313
|
+
'----=> excludingi RC release of versions found for non-DEV build (preventing RC releases to go to another env than DEV'
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
versions = versions.filter((v) => !v.rc);
|
|
317
|
+
if (debug) tools.logInfo(`----> ${versions.length} metadata versions excluding hotfix version type`);
|
|
310
318
|
}
|
|
311
319
|
|
|
312
320
|
return versions;
|
|
313
321
|
}
|
|
314
|
-
}
|
|
322
|
+
};
|
|
315
323
|
|
|
316
324
|
module.exports.getLastMajorVersion = (pkg, major, isMaster, isDevEnvTarget) => {
|
|
317
|
-
|
|
325
|
+
tools.logInfo(`--Getting registry pkg version for ${pkg.name} - major: ${major}`);
|
|
326
|
+
|
|
327
|
+
const pkgVersionsMajor = getPackageVersionsByMajor(pkg, major, isMaster, isDevEnvTarget);
|
|
318
328
|
|
|
319
329
|
if (pkgVersionsMajor && pkgVersionsMajor.length !== 0) {
|
|
320
330
|
return pkgVersionsMajor.splice(-1)[0].version;
|
|
321
331
|
}
|
|
322
|
-
}
|
|
332
|
+
};
|
|
323
333
|
|
|
324
334
|
module.exports.getVersionMetadata = (pkg, version) => {
|
|
325
|
-
const pkgVersions =
|
|
335
|
+
const pkgVersions = getPackageVersions(pkg);
|
|
326
336
|
if (pkgVersions) {
|
|
327
337
|
return pkgVersions.filter((v) => {
|
|
328
|
-
return v.version === version
|
|
338
|
+
return v.version === version;
|
|
329
339
|
})[0];
|
|
330
|
-
|
|
331
340
|
} else {
|
|
332
341
|
tools.logWarning('no package metadata found for ' + pkg.name);
|
|
333
342
|
}
|
|
334
|
-
}
|
|
343
|
+
};
|
|
335
344
|
|
|
336
345
|
module.exports.lockPackage = (pkg) => {
|
|
337
346
|
tools.logTitle('Locking package');
|
|
338
347
|
|
|
339
348
|
return Promise.resolve()
|
|
340
349
|
.then(() => {
|
|
341
|
-
|
|
342
350
|
const configOptions = configUtils.global.getConfigOptions();
|
|
343
351
|
const pkgLockFile = path.join(configOptions.DEVOPS_METADATA_LOCKS_PATH, `${pkg.name}-lock.json`);
|
|
344
352
|
|
|
345
353
|
const lockContent = {
|
|
346
354
|
locked: true,
|
|
347
355
|
lockedDate: moment().format(),
|
|
348
|
-
}
|
|
356
|
+
};
|
|
349
357
|
|
|
350
358
|
tools.writeJsonFileSync(pkgLockFile, lockContent);
|
|
351
359
|
|
|
352
360
|
if (!dryRun) {
|
|
353
361
|
tools.logTitle('Commiting metadata info');
|
|
354
|
-
return gitUtils.commitAndPush(
|
|
355
|
-
'master',
|
|
356
|
-
`chore: locking ${pkg.name}`,
|
|
357
|
-
configOptions.DEVOPS_METADATA_LOCKS_PATH
|
|
358
|
-
);
|
|
362
|
+
return gitUtils.commitAndPush('master', `chore: locking ${pkg.name}`, configOptions.DEVOPS_METADATA_LOCKS_PATH);
|
|
359
363
|
}
|
|
360
364
|
})
|
|
361
365
|
|
|
362
366
|
.catch((e) => {
|
|
363
367
|
throw e;
|
|
364
|
-
})
|
|
365
|
-
}
|
|
366
|
-
|
|
368
|
+
});
|
|
369
|
+
};
|
|
367
370
|
|
|
368
371
|
module.exports.unlockPackage = (pkg) => {
|
|
369
372
|
tools.logTitle('Unlocking package');
|
|
370
373
|
|
|
371
374
|
return Promise.resolve()
|
|
372
375
|
.then(() => {
|
|
373
|
-
|
|
374
376
|
const configOptions = configUtils.global.getConfigOptions();
|
|
375
377
|
const pkgLockFile = path.join(configOptions.DEVOPS_METADATA_LOCKS_PATH, `${pkg.name}-lock.json`);
|
|
376
378
|
|
|
@@ -378,19 +380,14 @@ module.exports.unlockPackage = (pkg) => {
|
|
|
378
380
|
|
|
379
381
|
if (!dryRun) {
|
|
380
382
|
tools.logTitle('Commiting metadata info');
|
|
381
|
-
return gitUtils.commitAndPush(
|
|
382
|
-
'master',
|
|
383
|
-
`chore: unlocking ${pkg.name}`,
|
|
384
|
-
configOptions.DEVOPS_METADATA_LOCKS_PATH
|
|
385
|
-
);
|
|
383
|
+
return gitUtils.commitAndPush('master', `chore: unlocking ${pkg.name}`, configOptions.DEVOPS_METADATA_LOCKS_PATH);
|
|
386
384
|
}
|
|
387
385
|
})
|
|
388
386
|
|
|
389
387
|
.catch((e) => {
|
|
390
388
|
tools.logError('Unable to unlock package => package will be auto-unlock at next build 10m after the current one');
|
|
391
|
-
})
|
|
392
|
-
}
|
|
393
|
-
|
|
389
|
+
});
|
|
390
|
+
};
|
|
394
391
|
|
|
395
392
|
module.exports.isPackageLocked = (pkg) => {
|
|
396
393
|
const configOptions = configUtils.global.getConfigOptions();
|
|
@@ -416,17 +413,13 @@ module.exports.isPackageLocked = (pkg) => {
|
|
|
416
413
|
tools.logInfo(`< 10m => keep lock`);
|
|
417
414
|
return true;
|
|
418
415
|
}
|
|
419
|
-
|
|
420
416
|
} else {
|
|
421
417
|
return false;
|
|
422
418
|
}
|
|
423
|
-
|
|
424
|
-
} catch(e) {
|
|
419
|
+
} catch (e) {
|
|
425
420
|
return false;
|
|
426
421
|
}
|
|
427
422
|
}
|
|
428
423
|
|
|
429
424
|
return false;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
|
|
425
|
+
};
|
|
@@ -516,7 +516,7 @@ module.exports.runGitOperations = (pkg, version) => {
|
|
|
516
516
|
|
|
517
517
|
|
|
518
518
|
|
|
519
|
-
module.exports.storeMetadata = (pkg, version, pkgMetadata, pkgCompositeDeps, duration, envTarget
|
|
519
|
+
module.exports.storeMetadata = (pkg, version, pkgMetadata, pkgCompositeDeps, duration, envTarget) => {
|
|
520
520
|
utils.tools.logBanner('STORE METADATA');
|
|
521
521
|
|
|
522
522
|
const branches = this.getBranches();
|
|
@@ -529,7 +529,6 @@ module.exports.storeMetadata = (pkg, version, pkgMetadata, pkgCompositeDeps, dur
|
|
|
529
529
|
pkgCompositeDeps,
|
|
530
530
|
duration,
|
|
531
531
|
envTarget,
|
|
532
|
-
auditStylesReport,
|
|
533
532
|
);
|
|
534
533
|
})
|
|
535
534
|
|
|
@@ -630,32 +629,30 @@ module.exports.exportPipelineVariables = (pkg, compositeType) => {
|
|
|
630
629
|
|
|
631
630
|
return Promise.resolve()
|
|
632
631
|
.then(() => {
|
|
633
|
-
|
|
634
|
-
utils.tools.logTitle('Exporting pkg remote variables');
|
|
632
|
+
utils.tools.logTitle('Exporting pkg remote variables');
|
|
635
633
|
|
|
636
|
-
|
|
634
|
+
utils.tools.logInfo('Exporting APP_TARGET');
|
|
637
635
|
|
|
638
|
-
|
|
636
|
+
let appTarget = 'MWP_ONLY';
|
|
639
637
|
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
638
|
+
if (pkg.build && pkg.build.appTarget) {
|
|
639
|
+
appTarget = pkg.build.appTarget;
|
|
640
|
+
}
|
|
643
641
|
|
|
644
|
-
|
|
642
|
+
utils.tools.logInfo(`appTarget generated : ${appTarget}`);
|
|
645
643
|
|
|
646
|
-
|
|
644
|
+
variablesContent += `export APP_TARGET=${appTarget}\n`;
|
|
647
645
|
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
646
|
+
if (compositeType) {
|
|
647
|
+
utils.tools.logInfo(`Exporting COMPOSITE_TYPE : ${compositeType}`);
|
|
648
|
+
variablesContent += `export COMPOSITE_TYPE=${compositeType}\n`;
|
|
649
|
+
}
|
|
652
650
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
}
|
|
651
|
+
if (dryRun) {
|
|
652
|
+
utils.tools.logWarning('dryRun...skipping export');
|
|
653
|
+
} else {
|
|
654
|
+
utils.tools.logInfo('Exporting appTarget variable');
|
|
655
|
+
return utils.pipeline.setVariables(process.cwd(), variablesContent);
|
|
659
656
|
}
|
|
660
657
|
})
|
|
661
658
|
|
|
@@ -132,12 +132,6 @@ module.exports.run = () => {
|
|
|
132
132
|
return innerCommon.runGitOperations(pkg, newVersion);
|
|
133
133
|
})
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
// EXPORT ADDITIONAL PIPELINE VARIABLES
|
|
137
|
-
.then(() => {
|
|
138
|
-
return innerCommon.exportPipelineVariables(pkg, compositeType);
|
|
139
|
-
})
|
|
140
|
-
|
|
141
135
|
// SEND SUCCESS NOTIFICATION
|
|
142
136
|
.then(() => {
|
|
143
137
|
return innerCommon.sendSuccessNotification(pkg, newVersion, pkgMetadata)
|
|
@@ -183,7 +183,9 @@ module.exports.run = () => {
|
|
|
183
183
|
.then(() => {
|
|
184
184
|
// get run duration
|
|
185
185
|
const duration = utils.pipeline.getTimerDuration();
|
|
186
|
-
|
|
186
|
+
if (branches.isMaster || pkg.remote ) {
|
|
187
|
+
return innerCommon.storeMetadata(pkg, newVersion, pkgMetadata, pkgCompositeDeps, duration, envTarget);
|
|
188
|
+
}
|
|
187
189
|
})
|
|
188
190
|
|
|
189
191
|
// STORING PACKAGE HISTORY
|
|
@@ -195,12 +197,16 @@ module.exports.run = () => {
|
|
|
195
197
|
|
|
196
198
|
// COMMITING METADATA
|
|
197
199
|
.then(() => {
|
|
198
|
-
|
|
200
|
+
if (branches.isMaster || pkg.remote ) {
|
|
201
|
+
return innerCommon.commitMetadata(pkg, newVersion);
|
|
202
|
+
}
|
|
199
203
|
})
|
|
200
204
|
|
|
201
205
|
// EXPORT ADDITIONAL PIPELINE VARIABLES
|
|
202
206
|
.then(() => {
|
|
203
|
-
|
|
207
|
+
if (pkg.remote) {
|
|
208
|
+
return innerCommon.exportPipelineVariables(pkg, compositeType);
|
|
209
|
+
}
|
|
204
210
|
})
|
|
205
211
|
|
|
206
212
|
// SEND SUCCESS NOTIFICATION
|
|
@@ -133,7 +133,9 @@ module.exports.run = () => {
|
|
|
133
133
|
|
|
134
134
|
// EXPORT ADDITIONAL PIPELINE VARIABLES
|
|
135
135
|
.then(() => {
|
|
136
|
-
|
|
136
|
+
if (pkg.remote) {
|
|
137
|
+
return innerCommon.exportPipelineVariables(pkg, compositeType);
|
|
138
|
+
}
|
|
137
139
|
})
|
|
138
140
|
|
|
139
141
|
// SEND SUCCESS NOTIFICATION
|