@teambit/multi-tester 0.0.49 → 0.0.51

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/dist/index.js CHANGED
@@ -10,19 +10,14 @@ Object.defineProperty(exports, "MultiTesterAspect", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
-
14
13
  function _multiTester() {
15
14
  const data = require("./multi-tester.aspect");
16
-
17
15
  _multiTester = function () {
18
16
  return data;
19
17
  };
20
-
21
18
  return data;
22
19
  }
23
-
24
20
  var _default = _multiTester().MultiTesterAspect;
25
-
26
21
  exports.default = _default;
27
22
 
28
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["MultiTesterAspect"],"sources":["index.ts"],"sourcesContent":["import { MultiTesterAspect } from './multi-tester.aspect';\n\nexport { MultiTesterAspect };\nexport type { MultiTesterMain } from './multi-tester.main.runtime';\nexport type { MultiTester } from './multi-tester.tester';\nexport default MultiTesterAspect;\n"],"mappings":";;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAKeA,gC"}
1
+ {"version":3,"names":["MultiTesterAspect"],"sources":["index.ts"],"sourcesContent":["import { MultiTesterAspect } from './multi-tester.aspect';\n\nexport { MultiTesterAspect };\nexport type { MultiTesterMain } from './multi-tester.main.runtime';\nexport type { MultiTester } from './multi-tester.tester';\nexport default MultiTesterAspect;\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA0D,eAK3CA,gCAAiB;AAAA"}
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MultiTesterAspect = void 0;
7
-
8
7
  function _harmony() {
9
8
  const data = require("@teambit/harmony");
10
-
11
9
  _harmony = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  const MultiTesterAspect = _harmony().Aspect.create({
19
15
  id: 'teambit.defender/multi-tester'
20
16
  });
21
-
22
17
  exports.MultiTesterAspect = MultiTesterAspect;
23
18
 
24
19
  //# sourceMappingURL=multi-tester.aspect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MultiTesterAspect","Aspect","create","id"],"sources":["multi-tester.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const MultiTesterAspect = Aspect.create({\n id: 'teambit.defender/multi-tester',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,iBAAiB,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EAC7CC,EAAE,EAAE;AADyC,CAAd,CAA1B"}
1
+ {"version":3,"names":["MultiTesterAspect","Aspect","create","id"],"sources":["multi-tester.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const MultiTesterAspect = Aspect.create({\n id: 'teambit.defender/multi-tester',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,iBAAiB,GAAGC,iBAAM,CAACC,MAAM,CAAC;EAC7CC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
@@ -1,22 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Logo = void 0;
9
-
10
8
  function _react() {
11
9
  const data = _interopRequireDefault(require("react"));
12
-
13
10
  _react = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
21
16
  style: {
22
17
  height: '100%',
@@ -29,7 +24,6 @@ const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
29
24
  },
30
25
  src: "https://static.bit.dev/extensions-icons/tester.svg"
31
26
  }));
32
-
33
27
  exports.Logo = Logo;
34
28
 
35
29
  //# sourceMappingURL=multi-tester.composition.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["multi-tester.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/tester.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAV;IAAkBC,OAAO,EAAE,MAA3B;IAAmCC,cAAc,EAAE;EAAnD;AAAZ,gBACE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAT,CAAZ;EAA2B,GAAG,EAAC;AAA/B,EADF,CADK"}
1
+ {"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["multi-tester.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/tester.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAE;EAAC,GAAG,EAAC;AAAoD,EAAG,CAEzF;AAAC"}
@@ -1,54 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.promise.js");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.MultiTesterMain = void 0;
11
-
12
9
  function _defineProperty2() {
13
10
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
-
15
11
  _defineProperty2 = function () {
16
12
  return data;
17
13
  };
18
-
19
14
  return data;
20
15
  }
21
-
22
16
  function _cli() {
23
17
  const data = require("@teambit/cli");
24
-
25
18
  _cli = function () {
26
19
  return data;
27
20
  };
28
-
29
21
  return data;
30
22
  }
31
-
32
23
  function _multiTester() {
33
24
  const data = require("./multi-tester.aspect");
34
-
35
25
  _multiTester = function () {
36
26
  return data;
37
27
  };
38
-
39
28
  return data;
40
29
  }
41
-
42
30
  function _multiTester2() {
43
31
  const data = require("./multi-tester.tester");
44
-
45
32
  _multiTester2 = function () {
46
33
  return data;
47
34
  };
48
-
49
35
  return data;
50
36
  }
51
-
52
37
  class MultiTesterMain {
53
38
  /**
54
39
  * create a multi-tester `Tester` instance.
@@ -57,16 +42,12 @@ class MultiTesterMain {
57
42
  createTester(testers) {
58
43
  return new (_multiTester2().MultiTester)(_multiTester().MultiTesterAspect.id, testers);
59
44
  }
60
-
61
45
  static async provider() {
62
46
  return new MultiTesterMain();
63
47
  }
64
-
65
48
  }
66
-
67
49
  exports.MultiTesterMain = MultiTesterMain;
68
50
  (0, _defineProperty2().default)(MultiTesterMain, "runtime", _cli().MainRuntime);
69
-
70
51
  _multiTester().MultiTesterAspect.addRuntime(MultiTesterMain);
71
52
 
72
53
  //# sourceMappingURL=multi-tester.main.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MultiTesterMain","createTester","testers","MultiTester","MultiTesterAspect","id","provider","MainRuntime","addRuntime"],"sources":["multi-tester.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { Tester } from '@teambit/tester';\nimport { MultiTesterAspect } from './multi-tester.aspect';\nimport { MultiTester } from './multi-tester.tester';\n\nexport class MultiTesterMain {\n /**\n * create a multi-tester `Tester` instance.\n * @param testers list of testers to include.\n */\n createTester(testers: Tester[]) {\n return new MultiTester(MultiTesterAspect.id, testers);\n }\n\n static runtime = MainRuntime;\n\n static async provider() {\n return new MultiTesterMain();\n }\n}\n\nMultiTesterAspect.addRuntime(MultiTesterMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,eAAN,CAAsB;EAC3B;AACF;AACA;AACA;EACEC,YAAY,CAACC,OAAD,EAAoB;IAC9B,OAAO,KAAIC,2BAAJ,EAAgBC,gCAAA,CAAkBC,EAAlC,EAAsCH,OAAtC,CAAP;EACD;;EAIoB,aAARI,QAAQ,GAAG;IACtB,OAAO,IAAIN,eAAJ,EAAP;EACD;;AAb0B;;;gCAAhBA,e,aASMO,kB;;AAOnBH,gCAAA,CAAkBI,UAAlB,CAA6BR,eAA7B"}
1
+ {"version":3,"names":["MultiTesterMain","createTester","testers","MultiTester","MultiTesterAspect","id","provider","MainRuntime","addRuntime"],"sources":["multi-tester.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { Tester } from '@teambit/tester';\nimport { MultiTesterAspect } from './multi-tester.aspect';\nimport { MultiTester } from './multi-tester.tester';\n\nexport class MultiTesterMain {\n /**\n * create a multi-tester `Tester` instance.\n * @param testers list of testers to include.\n */\n createTester(testers: Tester[]) {\n return new MultiTester(MultiTesterAspect.id, testers);\n }\n\n static runtime = MainRuntime;\n\n static async provider() {\n return new MultiTesterMain();\n }\n}\n\nMultiTesterAspect.addRuntime(MultiTesterMain);\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,eAAe,CAAC;EAC3B;AACF;AACA;AACA;EACEC,YAAY,CAACC,OAAiB,EAAE;IAC9B,OAAO,KAAIC,2BAAW,EAACC,gCAAiB,CAACC,EAAE,EAAEH,OAAO,CAAC;EACvD;EAIA,aAAaI,QAAQ,GAAG;IACtB,OAAO,IAAIN,eAAe,EAAE;EAC9B;AACF;AAAC;AAAA,gCAdYA,eAAe,aASTO,kBAAW;AAO9BH,gCAAiB,CAACI,UAAU,CAACR,eAAe,CAAC"}
@@ -1,88 +1,67 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.MultiTester = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _pMapSeries() {
25
18
  const data = _interopRequireDefault(require("p-map-series"));
26
-
27
19
  _pMapSeries = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _tester() {
35
25
  const data = require("@teambit/tester");
36
-
37
26
  _tester = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  function _testsResults() {
45
32
  const data = require("@teambit/tests-results");
46
-
47
33
  _testsResults = function () {
48
34
  return data;
49
35
  };
50
-
51
36
  return data;
52
37
  }
53
-
54
38
  function _lodash() {
55
39
  const data = require("lodash");
56
-
57
40
  _lodash = function () {
58
41
  return data;
59
42
  };
60
-
61
43
  return data;
62
44
  }
63
-
64
45
  class MultiTester {
65
46
  constructor(id, testers) {
66
47
  this.id = id;
67
48
  this.testers = testers;
68
49
  (0, _defineProperty2().default)(this, "displayName", 'Multi tester');
69
50
  }
70
-
71
51
  displayConfig() {
72
52
  return this.testers.map(tester => {
73
53
  return `${tester.displayName}\n${tester.displayConfig}\n`;
74
54
  }).join('\n');
75
55
  }
76
-
77
56
  async test(context) {
78
57
  const allResults = await (0, _pMapSeries().default)(this.testers, tester => {
79
58
  return tester.test(context);
80
59
  });
81
60
  const merged = this.mergeTests(allResults);
82
61
  return merged;
83
- } // TODO: not working properly yet
84
-
62
+ }
85
63
 
64
+ // TODO: not working properly yet
86
65
  async watch(context) {
87
66
  const allResults = await (0, _pMapSeries().default)(this.testers, tester => {
88
67
  return tester.watch ? tester.watch(context) : tester.test(context);
@@ -90,24 +69,21 @@ class MultiTester {
90
69
  const merged = this.mergeTests(allResults);
91
70
  return merged;
92
71
  }
72
+
93
73
  /**
94
74
  * returns the version of all testers instance (e.g. '4.0.1').
95
75
  */
96
-
97
-
98
76
  version() {
99
77
  return this.testers.map(tester => {
100
78
  return `${tester.displayName}@${tester.version()}`;
101
79
  }).join('\n');
102
80
  }
103
-
104
81
  mergeTests(tests) {
105
82
  const componentResultsMap = new Map();
106
83
  (0, _lodash().compact)(tests).forEach(currentTests => {
107
84
  currentTests.components.forEach(currentComponentResults => {
108
85
  const currIdStr = currentComponentResults.componentId.toString();
109
86
  const foundComponent = componentResultsMap.get(currIdStr);
110
-
111
87
  if (foundComponent) {
112
88
  componentResultsMap.set(currIdStr, this.mergeComponentResults(foundComponent, currentComponentResults));
113
89
  } else {
@@ -117,39 +93,30 @@ class MultiTester {
117
93
  });
118
94
  return new (_tester().Tests)(Array.from(componentResultsMap.values()));
119
95
  }
120
-
121
96
  mergeComponentResults(results1, results2) {
122
97
  var _results1$results, _results2$results2, _results1$results5, _results2$results5, _results1$results6, _results2$results6;
123
-
124
98
  const merged = {
125
99
  componentId: results1.componentId
126
100
  };
127
101
  let start;
128
-
129
102
  if (!((_results1$results = results1.results) !== null && _results1$results !== void 0 && _results1$results.start)) {
130
103
  var _results2$results;
131
-
132
104
  start = (_results2$results = results2.results) === null || _results2$results === void 0 ? void 0 : _results2$results.start;
133
105
  } else if (!((_results2$results2 = results2.results) !== null && _results2$results2 !== void 0 && _results2$results2.start)) {
134
106
  var _results1$results2;
135
-
136
107
  start = (_results1$results2 = results1.results) === null || _results1$results2 === void 0 ? void 0 : _results1$results2.start;
137
108
  } else {
138
109
  var _results1$results3, _results2$results3, _results1$results4, _results2$results4;
139
-
140
110
  // Take sooner start
141
111
  start = ((_results1$results3 = results1.results) === null || _results1$results3 === void 0 ? void 0 : _results1$results3.start) < ((_results2$results3 = results2.results) === null || _results2$results3 === void 0 ? void 0 : _results2$results3.start) ? (_results1$results4 = results1.results) === null || _results1$results4 === void 0 ? void 0 : _results1$results4.start : (_results2$results4 = results2.results) === null || _results2$results4 === void 0 ? void 0 : _results2$results4.start;
142
112
  }
143
-
144
113
  const mergedTestsResults = new (_testsResults().TestsResult)([...(((_results1$results5 = results1.results) === null || _results1$results5 === void 0 ? void 0 : _results1$results5.testFiles) || []), ...(((_results2$results5 = results2.results) === null || _results2$results5 === void 0 ? void 0 : _results2$results5.testFiles) || [])], ((_results1$results6 = results1.results) === null || _results1$results6 === void 0 ? void 0 : _results1$results6.success) && ((_results2$results6 = results2.results) === null || _results2$results6 === void 0 ? void 0 : _results2$results6.success), start);
145
114
  merged.results = mergedTestsResults;
146
115
  merged.errors = [...(results1.errors || []), ...(results2.errors || [])];
147
116
  merged.loading = results1.loading || results2.loading;
148
117
  return merged;
149
118
  }
150
-
151
119
  }
152
-
153
120
  exports.MultiTester = MultiTester;
154
121
 
155
122
  //# sourceMappingURL=multi-tester.tester.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MultiTester","constructor","id","testers","displayConfig","map","tester","displayName","join","test","context","allResults","pMapSeries","merged","mergeTests","watch","version","tests","componentResultsMap","Map","compact","forEach","currentTests","components","currentComponentResults","currIdStr","componentId","toString","foundComponent","get","set","mergeComponentResults","Tests","Array","from","values","results1","results2","start","results","mergedTestsResults","TestsResult","testFiles","success","errors","loading"],"sources":["multi-tester.tester.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { Tester, TesterContext, Tests, ComponentsResults } from '@teambit/tester';\nimport { TestsResult } from '@teambit/tests-results';\nimport { compact } from 'lodash';\n\nexport type MultiCompilerOptions = {\n targetExtension?: string;\n};\n\nexport class MultiTester implements Tester {\n displayName = 'Multi tester';\n\n constructor(readonly id: string, readonly testers: Tester[]) {}\n\n displayConfig() {\n return this.testers\n .map((tester) => {\n return `${tester.displayName}\\n${tester.displayConfig}\\n`;\n })\n .join('\\n');\n }\n\n async test(context: TesterContext): Promise<Tests> {\n const allResults = await pMapSeries(this.testers, (tester) => {\n return tester.test(context);\n });\n const merged = this.mergeTests(allResults);\n return merged;\n }\n\n // TODO: not working properly yet\n async watch(context: TesterContext): Promise<Tests> {\n const allResults = await pMapSeries(this.testers, (tester) => {\n return tester.watch ? tester.watch(context) : tester.test(context);\n });\n const merged = this.mergeTests(allResults);\n return merged;\n }\n\n /**\n * returns the version of all testers instance (e.g. '4.0.1').\n */\n version(): string {\n return this.testers\n .map((tester) => {\n return `${tester.displayName}@${tester.version()}`;\n })\n .join('\\n');\n }\n\n private mergeTests(tests: Tests[]): Tests {\n const componentResultsMap = new Map<string, ComponentsResults>();\n\n compact(tests).forEach((currentTests) => {\n currentTests.components.forEach((currentComponentResults) => {\n const currIdStr = currentComponentResults.componentId.toString();\n const foundComponent = componentResultsMap.get(currIdStr);\n if (foundComponent) {\n componentResultsMap.set(currIdStr, this.mergeComponentResults(foundComponent, currentComponentResults));\n } else {\n componentResultsMap.set(currIdStr, currentComponentResults);\n }\n });\n });\n\n return new Tests(Array.from(componentResultsMap.values()));\n }\n\n private mergeComponentResults(results1: ComponentsResults, results2: ComponentsResults): ComponentsResults {\n const merged: ComponentsResults = {\n componentId: results1.componentId,\n };\n let start;\n if (!results1.results?.start) {\n start = results2.results?.start;\n } else if (!results2.results?.start) {\n start = results1.results?.start;\n } else {\n // Take sooner start\n start = results1.results?.start < results2.results?.start ? results1.results?.start : results2.results?.start;\n }\n const mergedTestsResults: TestsResult = new TestsResult(\n [...(results1.results?.testFiles || []), ...(results2.results?.testFiles || [])],\n results1.results?.success && results2.results?.success,\n start\n );\n merged.results = mergedTestsResults;\n merged.errors = [...(results1.errors || []), ...(results2.errors || [])];\n merged.loading = results1.loading || results2.loading;\n return merged;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MultiTester","constructor","id","testers","displayConfig","map","tester","displayName","join","test","context","allResults","pMapSeries","merged","mergeTests","watch","version","tests","componentResultsMap","Map","compact","forEach","currentTests","components","currentComponentResults","currIdStr","componentId","toString","foundComponent","get","set","mergeComponentResults","Tests","Array","from","values","results1","results2","start","results","mergedTestsResults","TestsResult","testFiles","success","errors","loading"],"sources":["multi-tester.tester.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { Tester, TesterContext, Tests, ComponentsResults } from '@teambit/tester';\nimport { TestsResult } from '@teambit/tests-results';\nimport { compact } from 'lodash';\n\nexport type MultiCompilerOptions = {\n targetExtension?: string;\n};\n\nexport class MultiTester implements Tester {\n displayName = 'Multi tester';\n\n constructor(readonly id: string, readonly testers: Tester[]) {}\n\n displayConfig() {\n return this.testers\n .map((tester) => {\n return `${tester.displayName}\\n${tester.displayConfig}\\n`;\n })\n .join('\\n');\n }\n\n async test(context: TesterContext): Promise<Tests> {\n const allResults = await pMapSeries(this.testers, (tester) => {\n return tester.test(context);\n });\n const merged = this.mergeTests(allResults);\n return merged;\n }\n\n // TODO: not working properly yet\n async watch(context: TesterContext): Promise<Tests> {\n const allResults = await pMapSeries(this.testers, (tester) => {\n return tester.watch ? tester.watch(context) : tester.test(context);\n });\n const merged = this.mergeTests(allResults);\n return merged;\n }\n\n /**\n * returns the version of all testers instance (e.g. '4.0.1').\n */\n version(): string {\n return this.testers\n .map((tester) => {\n return `${tester.displayName}@${tester.version()}`;\n })\n .join('\\n');\n }\n\n private mergeTests(tests: Tests[]): Tests {\n const componentResultsMap = new Map<string, ComponentsResults>();\n\n compact(tests).forEach((currentTests) => {\n currentTests.components.forEach((currentComponentResults) => {\n const currIdStr = currentComponentResults.componentId.toString();\n const foundComponent = componentResultsMap.get(currIdStr);\n if (foundComponent) {\n componentResultsMap.set(currIdStr, this.mergeComponentResults(foundComponent, currentComponentResults));\n } else {\n componentResultsMap.set(currIdStr, currentComponentResults);\n }\n });\n });\n\n return new Tests(Array.from(componentResultsMap.values()));\n }\n\n private mergeComponentResults(results1: ComponentsResults, results2: ComponentsResults): ComponentsResults {\n const merged: ComponentsResults = {\n componentId: results1.componentId,\n };\n let start;\n if (!results1.results?.start) {\n start = results2.results?.start;\n } else if (!results2.results?.start) {\n start = results1.results?.start;\n } else {\n // Take sooner start\n start = results1.results?.start < results2.results?.start ? results1.results?.start : results2.results?.start;\n }\n const mergedTestsResults: TestsResult = new TestsResult(\n [...(results1.results?.testFiles || []), ...(results2.results?.testFiles || [])],\n results1.results?.success && results2.results?.success,\n start\n );\n merged.results = mergedTestsResults;\n merged.errors = [...(results1.errors || []), ...(results2.errors || [])];\n merged.loading = results1.loading || results2.loading;\n return merged;\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/multi-tester",
3
- "version": "0.0.49",
3
+ "version": "0.0.51",
4
4
  "homepage": "https://bit.dev/teambit/defender/multi-tester",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.defender",
8
8
  "name": "multi-tester",
9
- "version": "0.0.49"
9
+ "version": "0.0.51"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -14,8 +14,8 @@
14
14
  "@babel/runtime": "7.12.18",
15
15
  "core-js": "^3.0.0",
16
16
  "@teambit/harmony": "0.3.3",
17
- "@teambit/cli": "0.0.590",
18
- "@teambit/tester": "0.0.880",
17
+ "@teambit/cli": "0.0.591",
18
+ "@teambit/tester": "0.0.882",
19
19
  "@teambit/tests-results": "0.0.103"
20
20
  },
21
21
  "devDependencies": {
@@ -29,7 +29,7 @@
29
29
  "@teambit/defender.content.tester-overview": "1.95.0"
30
30
  },
31
31
  "peerDependencies": {
32
- "@teambit/legacy": "1.0.373",
32
+ "@teambit/legacy": "1.0.374",
33
33
  "react-dom": "^16.8.0 || ^17.0.0",
34
34
  "react": "^16.8.0 || ^17.0.0"
35
35
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@0.0.49/dist/multi-tester.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@0.0.49/dist/multi-tester.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@0.0.51/dist/multi-tester.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@0.0.51/dist/multi-tester.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];