@eui/tools 5.0.0-rc.21 → 5.0.0-rc.22

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.
@@ -1 +1 @@
1
- 5.0.0-rc.21
1
+ 5.0.0-rc.22
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 5.0.0-rc.22 (2022-04-04)
2
+
3
+ ##### Chores
4
+
5
+ * **other:**
6
+ * adapted version fetching for prev or next deps - finalized test for CSDR API - EUI-5632 [EUI-5632](https://webgate.ec.europa.eu/CITnet/jira/browse/EUI-5632) ([9069d987](https://webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-tools.git/commits/9069d98718d503532ca31e79cd75f47a960d448a))
7
+
8
+ * * *
9
+ * * *
1
10
  ## 5.0.0-rc.21 (2022-04-01)
2
11
 
3
12
  ##### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/tools",
3
- "version": "5.0.0-rc.21",
3
+ "version": "5.0.0-rc.22",
4
4
  "tag": "next",
5
5
  "license": "EUPL-1.1",
6
6
  "description": "eUI common tools and scripts",
package/sandbox.js CHANGED
@@ -754,12 +754,177 @@ const versionUtils = require('./scripts/csdr/version/version-utils');
754
754
  // console.log(e);
755
755
  // })
756
756
 
757
+
758
+ // A LA CARTE REMOTE TESTING
759
+
757
760
  const pkg = configUtils.packages.getPackage('mywp-dummy-eui10-remote-el-ui');
758
761
 
762
+ // Promise.resolve()
763
+ // .then(() => {
764
+ // return versionUtils.packageRemote.getNewVersion(pkg, 'DEV');
765
+ // })
766
+ // .then((version) => {
767
+ // console.log(version);
768
+ // })
769
+
770
+ // Promise.resolve()
771
+ // .then(() => {
772
+ // return metadataUtils.packageEnvs.getMetadata(pkg);
773
+ // })
774
+ // .then((envsMetadata) => {
775
+ // return installUtils.compositeCore.getCompositeDeps(
776
+ // pkg.paths.pkgFromRoot,
777
+ // 'DEV',
778
+ // 'DEFAULT',
779
+ // false,
780
+ // envsMetadata
781
+ // )
782
+ // })
783
+ // .then((deps) => {
784
+ // console.log(deps);
785
+ // })
786
+
787
+
788
+ // MIGRATE metadata to API - lowdb
789
+
759
790
  Promise.resolve()
760
791
  .then(() => {
761
- return versionUtils.packageRemote.getNewVersion(pkg, 'DEV');
762
- })
763
- .then((version) => {
764
- console.log(version);
792
+ var db = {};
793
+
794
+ // process devops-metadata global
795
+ var globalsJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', '.devops-metadata.json'));
796
+
797
+ db["globals"] = {
798
+ packages: globalsJson.packages.map((p) => {
799
+ return {
800
+ name: p.name,
801
+ version: p.version,
802
+ npmPkg: p.npmPkg
803
+ }
804
+ }),
805
+ latest: globalsJson.packagesLatestTag.map((p) => {
806
+ return {
807
+ name: p.name,
808
+ version: p.version,
809
+ npmPkg: p.npmPkg
810
+ }
811
+ }),
812
+ next: globalsJson.packagesNextTag.map((p) => {
813
+ return {
814
+ name: p.name,
815
+ version: p.version,
816
+ npmPkg: p.npmPkg
817
+ }
818
+ }),
819
+ prev: globalsJson.packagesPrevTag.map((p) => {
820
+ return {
821
+ name: p.name,
822
+ version: p.version,
823
+ npmPkg: p.npmPkg
824
+ }
825
+ }),
826
+ prevSnapshots: globalsJson.packagesPrevSnapshotsTag.map((p) => {
827
+ return {
828
+ name: p.name,
829
+ version: p.version,
830
+ npmPkg: p.npmPkg
831
+ }
832
+ }),
833
+ };
834
+
835
+ // process apps and packages files
836
+ var from = path.join(process.cwd(), 'packages', 'devops-metadata');
837
+ var globPattern = '**/*.json';
838
+ var files = glob.sync(globPattern, { cwd: from, nodir: true, follow: true, dot: true });
839
+
840
+ // extract apps content
841
+ var apps = files
842
+ .filter(f => f.startsWith('app-'))
843
+ .map((f) => {
844
+ return f.replace('-build-metadata.json', '')
845
+ .replace('-envs-metadata.json', '')
846
+ .replace('-history-metadata.json', '')
847
+ .replace('-versions-metadata.json', '');
848
+ });
849
+ apps = tools.removeArrayDuplicates(apps);
850
+ console.log(apps);
851
+
852
+ db["apps"] = [];
853
+
854
+ apps.forEach((app) => {
855
+ const buildFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${app}-build-metadata.json`));
856
+ const envsFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${app}-envs-metadata.json`));
857
+ const historyFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${app}-history-metadata.json`));
858
+ const versionsFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${app}-versions-metadata.json`));
859
+
860
+ db["apps"].push({
861
+ name: app,
862
+ buildVersions: buildFileJson.versions,
863
+ envs: envsFileJson,
864
+ history: historyFileJson.versions,
865
+ versions: versionsFileJson.versions
866
+ });
867
+ })
868
+
869
+
870
+ // extract pkg content
871
+ var pkgs = files
872
+ .filter(f => !f.startsWith('app-'))
873
+ .map((f) => {
874
+ return f.replace('-build-metadata.json', '')
875
+ .replace('-envs-metadata.json', '')
876
+ .replace('-history-metadata.json', '')
877
+ .replace('-versions-metadata.json', '');
878
+ });
879
+ pkgs = tools.removeArrayDuplicates(pkgs);
880
+ console.log(pkgs);
881
+
882
+ db["packages"] = [];
883
+
884
+ pkgs.forEach((pkg) => {
885
+ const buildFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${pkg}-build-metadata.json`));
886
+ const envsFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${pkg}-envs-metadata.json`));
887
+ const historyFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${pkg}-history-metadata.json`));
888
+ const versionsFileJson = tools.getJsonFileContent(path.join(process.cwd(), 'packages', 'devops-metadata', `${pkg}-versions-metadata.json`));
889
+
890
+ db["packages"].push({
891
+ name: pkg,
892
+ buildVersions: buildFileJson.versions,
893
+ envs: envsFileJson,
894
+ history: historyFileJson.versions,
895
+ versions: versionsFileJson.versions
896
+ });
897
+ })
898
+
899
+ tools.writeJsonFileSync(path.join(process.cwd(), 'db.json'), db);
765
900
  })
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+ // METADATA API TESTING
910
+ // --------------------
911
+ // const metadataModule = require('./scripts/csdr/metadata/v2');
912
+
913
+ // Promise.resolve()
914
+ // .then(() => {
915
+ // return metadataModule.package.getMetadata(pkg);
916
+ // })
917
+ // .then((metadata) => {
918
+ // console.log(metadata);
919
+ // })
920
+ // .then(() => {
921
+ // return metadataModule.global.getMetadata();
922
+ // })
923
+ // .then((metadata) => {
924
+ // console.log(metadata);
925
+ // })
926
+ // .catch((e) => {
927
+ // console.log(e);
928
+ // })
929
+
930
+
@@ -73,6 +73,7 @@ const executeInstall = (cwdPath) => {
73
73
 
74
74
 
75
75
  const getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
76
+ tools.logTitle('Remapping major version carret declared dependencies');
76
77
 
77
78
  return Promise.resolve()
78
79
  .then(() => {
@@ -81,6 +82,7 @@ const getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
81
82
 
82
83
  // if the package is being part of CSDR
83
84
  if (pkgDeps[k]) {
85
+
84
86
  const latestTagMajor = pkgDeps[k].split('.')[0];
85
87
 
86
88
  var currentMajor;
@@ -110,6 +112,8 @@ const getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
110
112
  return acc;
111
113
  }, {});
112
114
 
115
+ tools.logSuccess();
116
+
113
117
  return dependencies;
114
118
  })
115
119
 
@@ -128,7 +132,7 @@ const getRemappedDeps = (pkgDeps, pkgDefaultDeps, isMaster) => {
128
132
 
129
133
 
130
134
  const getResolvedCarretDeps = (deps, isMaster) => {
131
- tools.logTitle('Resolving carret for next version packages');
135
+ tools.logTitle('Resolving carret versions for prev or next version packages');
132
136
 
133
137
  tools.logInfo('processing dependencies : ');
134
138
  console.log(deps);
@@ -426,12 +426,22 @@ module.exports.getPackageVersionsByMajor = (pkg, major, isMaster) => {
426
426
  const pkgVersions = this.getPackageVersions(pkg);
427
427
 
428
428
  if (pkgVersions) {
429
- return pkgVersions.filter((v) => {
430
- return (v.version.split('.')[0] === major && v.version.indexOf('snapshot') === -1) ||
431
- (v.version.split('.')[0] === major && pkg.build && pkg.build.isNextMajorSnapshotAllowed) ||
432
- (v.version.split('.')[0] === major && pkg.build && pkg.build.supportSnapshotBranch) ||
433
- (v.version.split('.')[0] === major && v.version.indexOf('snapshot') === -1 && isMaster);
434
- })
429
+ tools.logInfo(`----> ${pkgVersions.length} metadata versions found for package`);
430
+ let versions = [];
431
+ versions = pkgVersions.filter(v => v.version.split('.')[0] === major);
432
+
433
+ tools.logInfo(`----> ${versions.length} metadata versions found for major version : ${major}`);
434
+
435
+ if (isMaster) {
436
+ versions = versions.filter(v => v.version.indexOf('snapshot') === -1);
437
+ tools.logInfo(`----> ${versions.length} metadata versions found excluding snapshots`);
438
+
439
+ } else {
440
+ versions = versions.filter(v => v.version.indexOf('snapshot') !== -1);
441
+ tools.logInfo(`----> ${versions.length} metadata versions found including snapshots`);
442
+ }
443
+
444
+ return versions;
435
445
  }
436
446
  }
437
447
 
@@ -0,0 +1,21 @@
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
+ }
@@ -0,0 +1,25 @@
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
+ }
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ const app = require('./app');
@@ -0,0 +1,21 @@
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`;
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
+ }
@@ -0,0 +1,25 @@
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
+ }
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ module.exports = require('./global');
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports.global = require('./global');
4
+ module.exports.package = require('./package');
5
+ module.exports.app = require('./app');
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ // LOCALS
4
+ const utils = require('../../../../utils');
5
+
6
+
7
+ // PUBLIC METHODS
8
+ module.exports.getMetadata = (pkg) => {
9
+ return Promise.resolve()
10
+ .then(() => {
11
+ const urlPath = `/metadata/packages/${pkg.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
+ }
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ module.exports = require('./package');
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ // LOCALS
4
+ const utils = require('../../../../utils');
5
+
6
+ // PRIVATES
7
+ const _package = require('./_package');
8
+
9
+
10
+ // PUBLIC METHODS
11
+ module.exports.getMetadata = (pkg) => {
12
+ utils.tools.logTitle('Get package metadata');
13
+
14
+ return Promise.resolve()
15
+ .then(() => {
16
+ return _package.getMetadata(pkg);
17
+ })
18
+ .then((metadata) => {
19
+ return metadata;
20
+ })
21
+ .catch((e) => {
22
+ utils.tools.logErrorTrace(__filename, 'getMetadata', e);
23
+ throw e;
24
+ })
25
+ }
@@ -1,9 +1,6 @@
1
1
  'use strict';
2
2
 
3
- // GLOBALS
4
- const fetch = require('node-fetch');
5
-
6
- // LOCAL
3
+ // LOCALS
7
4
  const tools = require('./tools');
8
5
  const configUtils = require('../csdr/config/config-utils');
9
6
 
@@ -13,10 +10,25 @@ const { API_HOST } = configUtils.global.getConfigOptions();
13
10
  // FETCH ARGS
14
11
  const { apiUserId, apiPassword } = tools.getArgs();
15
12
 
16
- // GLOBALS
13
+ // PRIVATES
17
14
  let authToken;
18
15
 
16
+
17
+ const handleResponse = (response) => {
18
+ tools.logDebug(JSON.stringify(response));
19
+
20
+ if (response.ok) {
21
+ return response.data;
22
+ } else {
23
+ throw new Error(response.message);
24
+ }
25
+ }
26
+
19
27
  module.exports.login = () => {
28
+ const fetch = require('node-fetch');
29
+
30
+ tools.logInfo(`API Login - userId:${apiUserId}`);
31
+
20
32
  return Promise.resolve()
21
33
  .then(() => {
22
34
  return fetch(`${API_HOST}/auth`, {
@@ -29,22 +41,33 @@ module.exports.login = () => {
29
41
  })
30
42
  })
31
43
  .then((res) => {
44
+ tools.logDebugResponse(res);
32
45
  return res.json();
33
46
  })
34
47
  .then((response) => {
35
48
  authToken = response.token;
36
- return response;
49
+ return handleResponse(response);
37
50
  })
38
51
  .catch(e => {
52
+ tools.logDebugTrace(__filename, 'login', e);
39
53
  throw e;
40
54
  });
41
55
  }
42
56
 
43
57
 
44
- module.exports.get = (scope) => {
58
+ module.exports.get = (pathName) => {
59
+ const fetch = require('node-fetch');
60
+
61
+ tools.logInfo(`API get - pathName: ${pathName}`);
62
+
45
63
  return Promise.resolve()
46
64
  .then(() => {
47
- return fetch(`${API_HOST}/${scope}`, {
65
+ if (!authToken) {
66
+ return this.login();
67
+ }
68
+ })
69
+ .then(() => {
70
+ return fetch(`${API_HOST}${pathName}`, {
48
71
  method: 'get',
49
72
  headers: {
50
73
  'content-type': 'application/json',
@@ -53,20 +76,32 @@ module.exports.get = (scope) => {
53
76
  })
54
77
  })
55
78
  .then((res) => {
79
+ tools.logDebugResponse(res);
56
80
  return res.json();
57
81
  })
58
82
  .then((response) => {
59
- return response;
83
+ return handleResponse(response);
60
84
  })
61
85
  .catch(e => {
86
+ tools.logDebugTrace(__filename, 'get', e);
62
87
  throw e;
63
88
  });
64
89
  }
65
90
 
66
- module.exports.post = (scope, body) => {
91
+
92
+ module.exports.post = (pathName, body) => {
93
+ const fetch = require('node-fetch');
94
+
95
+ tools.logInfo(`API post - pathName: ${pathName} - body: ${JSON.stringify(body)}`);
96
+
67
97
  return Promise.resolve()
68
98
  .then(() => {
69
- return fetch(`${API_HOST}/${scope}`, {
99
+ if (!authToken) {
100
+ return this.login();
101
+ }
102
+ })
103
+ .then(() => {
104
+ return fetch(`${API_HOST}${pathName}`, {
70
105
  method: 'post',
71
106
  headers: {
72
107
  'content-type': 'application/json',
@@ -76,15 +111,16 @@ module.exports.post = (scope, body) => {
76
111
  })
77
112
  })
78
113
  .then((res) => {
114
+ tools.logDebugResponse(res);
79
115
  return res.json();
80
116
  })
81
117
  .then((response) => {
82
- return response;
118
+ return handleResponse(response);
83
119
  })
84
120
  .catch(e => {
121
+ tools.logDebugTrace(__filename, 'post', e);
85
122
  throw e;
86
123
  });
87
124
  }
88
125
 
89
126
 
90
-
@@ -14,7 +14,7 @@ const notificationUtils = require('./notification/notification-utils');
14
14
  const preBuildUtils = require('./pre-build/pre-build-utils');
15
15
  const publishUtils = require('./publish/publish-utils');
16
16
  const sonarUtils = require('./sonar/sonar-utils');
17
-
17
+ const apiUtils = require('./api-utils');
18
18
 
19
19
  module.exports = {
20
20
  changelog: changelogUtils,
@@ -29,5 +29,6 @@ module.exports = {
29
29
  notification: notificationUtils,
30
30
  preBuild: preBuildUtils,
31
31
  publish: publishUtils,
32
- sonar: sonarUtils
32
+ sonar: sonarUtils,
33
+ api: apiUtils,
33
34
  }
@@ -625,6 +625,11 @@ const logSuccess = (msg) => {
625
625
  const logError = (msg) => {
626
626
  log(msg, 3);
627
627
  }
628
+ const logErrorTrace = (filename, method, e) => {
629
+ log(`ERROR in ${filename}`, 3);
630
+ log(`...method : ${method}`, 3);
631
+ log(`...message : ${e.message}`, 3);
632
+ }
628
633
 
629
634
  const logWarning = (msg) => {
630
635
  log(msg, 4);
@@ -638,6 +643,24 @@ const logBanner = (msg) => {
638
643
  log(msg, 6);
639
644
  }
640
645
 
646
+ const logDebug = (msg) => {
647
+ if (getArgs().debug) {
648
+ log(msg, 7);
649
+ }
650
+ }
651
+ const logDebugTrace = (filename, method, e) => {
652
+ if (getArgs().debug) {
653
+ log(`ERROR in ${filename}`, 7);
654
+ log(`...method : ${method}`, 7);
655
+ log(`...message : ${e.message}`, 7);
656
+ }
657
+ }
658
+ const logDebugResponse = (response) => {
659
+ if (getArgs().debug) {
660
+ console.log(response);
661
+ }
662
+ }
663
+
641
664
  const log = (msg, type) => {
642
665
  var prefix, msgContent, currentDateTime = moment(new Date()).format("HH:mm:ss");
643
666
 
@@ -658,7 +681,7 @@ const log = (msg, type) => {
658
681
  }
659
682
  if (type === 3) {
660
683
  prefix = figures.pointer.repeat(6);
661
- msgContent = `\n${currentDateTime} - ${prefix} ${msg}\n`;
684
+ msgContent = `${currentDateTime} - ${prefix} ${msg}`;
662
685
  console.info(chalk.red(msgContent));
663
686
  }
664
687
  if (type === 4) {
@@ -680,6 +703,11 @@ const log = (msg, type) => {
680
703
  console.info(chalk.keyword('yellow')(figures.star.repeat(msgContent.length)));
681
704
  console.info('\n');
682
705
  }
706
+ if (type === 7) {
707
+ prefix = figures.pointer.repeat(10);
708
+ msgContent = `${currentDateTime} - ${prefix} ${msg}`;
709
+ console.info(chalk.keyword('yellow')(msgContent));
710
+ }
683
711
  }
684
712
 
685
713
  function logVersion() {
@@ -701,12 +729,6 @@ function logVersion() {
701
729
 
702
730
 
703
731
 
704
-
705
-
706
-
707
-
708
-
709
-
710
732
  module.exports.relativeCopy = relativeCopy;
711
733
  module.exports.relativeCopyEol = relativeCopyEol;
712
734
  module.exports.link = link;
@@ -743,9 +765,14 @@ module.exports.logTitle = logTitle;
743
765
  module.exports.logInfo = logInfo;
744
766
  module.exports.logSuccess = logSuccess;
745
767
  module.exports.logError = logError;
768
+ module.exports.logErrorTrace = logErrorTrace;
746
769
  module.exports.logWarning = logWarning;
747
770
  module.exports.logAccent = logAccent;
748
771
  module.exports.logBanner = logBanner;
772
+ module.exports.logDebug = logDebug;
773
+ module.exports.logDebugTrace = logDebugTrace;
774
+ module.exports.logDebugResponse = logDebugResponse;
775
+
749
776
  module.exports.replaceInFile = replaceInFile;
750
777
  module.exports.replaceInPath = replaceInPath;
751
778
  module.exports.sortArray = sortArray;