@teambit/multi-tester 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/multi-tester.aspect.d.ts +2 -0
- package/dist/multi-tester.aspect.js +24 -0
- package/dist/multi-tester.aspect.js.map +1 -0
- package/dist/multi-tester.composition.d.ts +2 -0
- package/dist/multi-tester.composition.js +35 -0
- package/dist/multi-tester.composition.js.map +1 -0
- package/dist/multi-tester.docs.mdx +8 -0
- package/dist/multi-tester.main.runtime.d.ts +11 -0
- package/dist/multi-tester.main.runtime.js +72 -0
- package/dist/multi-tester.main.runtime.js.map +1 -0
- package/dist/multi-tester.tester.d.ts +19 -0
- package/dist/multi-tester.tester.js +155 -0
- package/dist/multi-tester.tester.js.map +1 -0
- package/multi-tester.composition.tsx +7 -0
- package/multi-tester.docs.mdx +8 -0
- package/package-tar/teambit-multi-tester-0.0.1.tgz +0 -0
- package/package.json +55 -0
- package/preview-1661916601653.js +5 -0
- package/tsconfig.json +40 -0
- package/types/asset.d.ts +29 -0
- package/types/style.d.ts +42 -0
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MultiTesterAspect", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _multiTester().MultiTesterAspect;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.default = void 0;
|
|
13
|
+
|
|
14
|
+
function _multiTester() {
|
|
15
|
+
const data = require("./multi-tester.aspect");
|
|
16
|
+
|
|
17
|
+
_multiTester = function () {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var _default = _multiTester().MultiTesterAspect;
|
|
25
|
+
|
|
26
|
+
exports.default = _default;
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MultiTesterAspect = void 0;
|
|
7
|
+
|
|
8
|
+
function _harmony() {
|
|
9
|
+
const data = require("@teambit/harmony");
|
|
10
|
+
|
|
11
|
+
_harmony = function () {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const MultiTesterAspect = _harmony().Aspect.create({
|
|
19
|
+
id: 'teambit.defender/multi-tester'
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports.MultiTesterAspect = MultiTesterAspect;
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=multi-tester.aspect.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Logo = void 0;
|
|
9
|
+
|
|
10
|
+
function _react() {
|
|
11
|
+
const data = _interopRequireDefault(require("react"));
|
|
12
|
+
|
|
13
|
+
_react = function () {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return data;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
21
|
+
style: {
|
|
22
|
+
height: '100%',
|
|
23
|
+
display: 'flex',
|
|
24
|
+
justifyContent: 'center'
|
|
25
|
+
}
|
|
26
|
+
}, /*#__PURE__*/_react().default.createElement("img", {
|
|
27
|
+
style: {
|
|
28
|
+
width: 70
|
|
29
|
+
},
|
|
30
|
+
src: "https://static.bit.dev/extensions-icons/tester.svg"
|
|
31
|
+
}));
|
|
32
|
+
|
|
33
|
+
exports.Logo = Logo;
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=multi-tester.composition.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Tester } from '@teambit/tester';
|
|
2
|
+
import { MultiTester } from './multi-tester.tester';
|
|
3
|
+
export declare class MultiTesterMain {
|
|
4
|
+
/**
|
|
5
|
+
* create a multi-tester `Tester` instance.
|
|
6
|
+
* @param testers list of testers to include.
|
|
7
|
+
*/
|
|
8
|
+
createTester(testers: Tester[]): MultiTester;
|
|
9
|
+
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
10
|
+
static provider(): Promise<MultiTesterMain>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.promise.js");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.MultiTesterMain = void 0;
|
|
11
|
+
|
|
12
|
+
function _defineProperty2() {
|
|
13
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
|
|
15
|
+
_defineProperty2 = function () {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function _cli() {
|
|
23
|
+
const data = require("@teambit/cli");
|
|
24
|
+
|
|
25
|
+
_cli = function () {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return data;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function _multiTester() {
|
|
33
|
+
const data = require("./multi-tester.aspect");
|
|
34
|
+
|
|
35
|
+
_multiTester = function () {
|
|
36
|
+
return data;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _multiTester2() {
|
|
43
|
+
const data = require("./multi-tester.tester");
|
|
44
|
+
|
|
45
|
+
_multiTester2 = function () {
|
|
46
|
+
return data;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
class MultiTesterMain {
|
|
53
|
+
/**
|
|
54
|
+
* create a multi-tester `Tester` instance.
|
|
55
|
+
* @param testers list of testers to include.
|
|
56
|
+
*/
|
|
57
|
+
createTester(testers) {
|
|
58
|
+
return new (_multiTester2().MultiTester)(_multiTester().MultiTesterAspect.id, testers);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static async provider() {
|
|
62
|
+
return new MultiTesterMain();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.MultiTesterMain = MultiTesterMain;
|
|
68
|
+
(0, _defineProperty2().default)(MultiTesterMain, "runtime", _cli().MainRuntime);
|
|
69
|
+
|
|
70
|
+
_multiTester().MultiTesterAspect.addRuntime(MultiTesterMain);
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=multi-tester.main.runtime.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Tester, TesterContext, Tests } from '@teambit/tester';
|
|
2
|
+
export declare type MultiCompilerOptions = {
|
|
3
|
+
targetExtension?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare class MultiTester implements Tester {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly testers: Tester[];
|
|
8
|
+
displayName: string;
|
|
9
|
+
constructor(id: string, testers: Tester[]);
|
|
10
|
+
displayConfig(): string;
|
|
11
|
+
test(context: TesterContext): Promise<Tests>;
|
|
12
|
+
watch(context: TesterContext): Promise<Tests>;
|
|
13
|
+
/**
|
|
14
|
+
* returns the version of all testers instance (e.g. '4.0.1').
|
|
15
|
+
*/
|
|
16
|
+
version(): string;
|
|
17
|
+
private mergeTests;
|
|
18
|
+
private mergeComponentResults;
|
|
19
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.iterator.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.promise.js");
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "__esModule", {
|
|
10
|
+
value: true
|
|
11
|
+
});
|
|
12
|
+
exports.MultiTester = void 0;
|
|
13
|
+
|
|
14
|
+
function _defineProperty2() {
|
|
15
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
|
|
17
|
+
_defineProperty2 = function () {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function _pMapSeries() {
|
|
25
|
+
const data = _interopRequireDefault(require("p-map-series"));
|
|
26
|
+
|
|
27
|
+
_pMapSeries = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function _tester() {
|
|
35
|
+
const data = require("@teambit/tester");
|
|
36
|
+
|
|
37
|
+
_tester = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function _testsResults() {
|
|
45
|
+
const data = require("@teambit/tests-results");
|
|
46
|
+
|
|
47
|
+
_testsResults = function () {
|
|
48
|
+
return data;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function _lodash() {
|
|
55
|
+
const data = require("lodash");
|
|
56
|
+
|
|
57
|
+
_lodash = function () {
|
|
58
|
+
return data;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
class MultiTester {
|
|
65
|
+
constructor(id, testers) {
|
|
66
|
+
this.id = id;
|
|
67
|
+
this.testers = testers;
|
|
68
|
+
(0, _defineProperty2().default)(this, "displayName", 'Multi tester');
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
displayConfig() {
|
|
72
|
+
return this.testers.map(tester => {
|
|
73
|
+
return `${tester.displayName}\n${tester.displayConfig}\n`;
|
|
74
|
+
}).join('\n');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async test(context) {
|
|
78
|
+
const allResults = await (0, _pMapSeries().default)(this.testers, tester => {
|
|
79
|
+
return tester.test(context);
|
|
80
|
+
});
|
|
81
|
+
const merged = this.mergeTests(allResults);
|
|
82
|
+
return merged;
|
|
83
|
+
} // TODO: not working properly yet
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
async watch(context) {
|
|
87
|
+
const allResults = await (0, _pMapSeries().default)(this.testers, tester => {
|
|
88
|
+
return tester.watch ? tester.watch(context) : tester.test(context);
|
|
89
|
+
});
|
|
90
|
+
const merged = this.mergeTests(allResults);
|
|
91
|
+
return merged;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* returns the version of all testers instance (e.g. '4.0.1').
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
version() {
|
|
99
|
+
return this.testers.map(tester => {
|
|
100
|
+
return `${tester.displayName}@${tester.version()}`;
|
|
101
|
+
}).join('\n');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
mergeTests(tests) {
|
|
105
|
+
const componentResultsMap = new Map();
|
|
106
|
+
(0, _lodash().compact)(tests).forEach(currentTests => {
|
|
107
|
+
currentTests.components.forEach(currentComponentResults => {
|
|
108
|
+
const currIdStr = currentComponentResults.componentId.toString();
|
|
109
|
+
const foundComponent = componentResultsMap.get(currIdStr);
|
|
110
|
+
|
|
111
|
+
if (foundComponent) {
|
|
112
|
+
componentResultsMap.set(currIdStr, this.mergeComponentResults(foundComponent, currentComponentResults));
|
|
113
|
+
} else {
|
|
114
|
+
componentResultsMap.set(currIdStr, currentComponentResults);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
return new (_tester().Tests)(Array.from(componentResultsMap.values()));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
mergeComponentResults(results1, results2) {
|
|
122
|
+
var _results1$results, _results2$results2, _results1$results5, _results2$results5, _results1$results6, _results2$results6;
|
|
123
|
+
|
|
124
|
+
const merged = {
|
|
125
|
+
componentId: results1.componentId
|
|
126
|
+
};
|
|
127
|
+
let start;
|
|
128
|
+
|
|
129
|
+
if (!((_results1$results = results1.results) !== null && _results1$results !== void 0 && _results1$results.start)) {
|
|
130
|
+
var _results2$results;
|
|
131
|
+
|
|
132
|
+
start = (_results2$results = results2.results) === null || _results2$results === void 0 ? void 0 : _results2$results.start;
|
|
133
|
+
} else if (!((_results2$results2 = results2.results) !== null && _results2$results2 !== void 0 && _results2$results2.start)) {
|
|
134
|
+
var _results1$results2;
|
|
135
|
+
|
|
136
|
+
start = (_results1$results2 = results1.results) === null || _results1$results2 === void 0 ? void 0 : _results1$results2.start;
|
|
137
|
+
} else {
|
|
138
|
+
var _results1$results3, _results2$results3, _results1$results4, _results2$results4;
|
|
139
|
+
|
|
140
|
+
// Take sooner start
|
|
141
|
+
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
|
+
}
|
|
143
|
+
|
|
144
|
+
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
|
+
merged.results = mergedTestsResults;
|
|
146
|
+
merged.errors = [...(results1.errors || []), ...(results2.errors || [])];
|
|
147
|
+
merged.loading = results1.loading || results2.loading;
|
|
148
|
+
return merged;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
exports.MultiTester = MultiTester;
|
|
154
|
+
|
|
155
|
+
//# sourceMappingURL=multi-tester.tester.js.map
|
|
@@ -0,0 +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 {\n Tester,\n TesterContext,\n Tests,\n ComponentsResults,\n} 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(\n readonly id: string,\n readonly testers: Tester[],\n ) {}\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,\n (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,\n (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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"}
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@teambit/multi-tester",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"componentId": {
|
|
6
|
+
"scope": "teambit.defender",
|
|
7
|
+
"name": "multi-tester",
|
|
8
|
+
"version": "0.0.1"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"lodash": "4.17.21",
|
|
12
|
+
"p-map-series": "2.1.0",
|
|
13
|
+
"@babel/runtime": "7.12.18",
|
|
14
|
+
"core-js": "^3.0.0",
|
|
15
|
+
"@teambit/harmony": "0.3.3",
|
|
16
|
+
"@teambit/cli": "0.0.557",
|
|
17
|
+
"@teambit/tester": "0.0.832",
|
|
18
|
+
"@teambit/tests-results": "0.0.98"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/react": "^17.0.8",
|
|
22
|
+
"@types/lodash": "4.14.165",
|
|
23
|
+
"@types/mocha": "9.1.0",
|
|
24
|
+
"@types/testing-library__jest-dom": "5.9.5",
|
|
25
|
+
"@types/jest": "^26.0.0",
|
|
26
|
+
"@types/react-dom": "^17.0.5",
|
|
27
|
+
"@types/node": "12.20.4",
|
|
28
|
+
"@teambit/defender.content.tester-overview": "1.95.0"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"@teambit/legacy": "1.0.340",
|
|
32
|
+
"react-dom": "^16.8.0 || ^17.0.0",
|
|
33
|
+
"react": "^16.8.0 || ^17.0.0"
|
|
34
|
+
},
|
|
35
|
+
"license": "Apache-2.0",
|
|
36
|
+
"private": false,
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=12.22.0"
|
|
39
|
+
},
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "https://github.com/teambit/bit"
|
|
43
|
+
},
|
|
44
|
+
"keywords": [
|
|
45
|
+
"bit",
|
|
46
|
+
"bit-aspect",
|
|
47
|
+
"components",
|
|
48
|
+
"collaboration",
|
|
49
|
+
"web",
|
|
50
|
+
"react",
|
|
51
|
+
"react-components",
|
|
52
|
+
"angular",
|
|
53
|
+
"angular-components"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@0.0.1/dist/multi-tester.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@0.0.1/dist/multi-tester.docs.mdx';
|
|
3
|
+
|
|
4
|
+
export const compositions = [compositions_0];
|
|
5
|
+
export const overview = [overview_0];
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"lib": [
|
|
4
|
+
"es2019",
|
|
5
|
+
"DOM",
|
|
6
|
+
"ES6",
|
|
7
|
+
"DOM.Iterable",
|
|
8
|
+
"ScriptHost"
|
|
9
|
+
],
|
|
10
|
+
"target": "es2015",
|
|
11
|
+
"module": "commonjs",
|
|
12
|
+
"jsx": "react",
|
|
13
|
+
"allowJs": true,
|
|
14
|
+
"composite": true,
|
|
15
|
+
"declaration": true,
|
|
16
|
+
"sourceMap": true,
|
|
17
|
+
"skipLibCheck": true,
|
|
18
|
+
"experimentalDecorators": true,
|
|
19
|
+
"outDir": "dist",
|
|
20
|
+
"moduleResolution": "node",
|
|
21
|
+
"esModuleInterop": true,
|
|
22
|
+
"rootDir": ".",
|
|
23
|
+
"resolveJsonModule": true,
|
|
24
|
+
"emitDeclarationOnly": true,
|
|
25
|
+
"emitDecoratorMetadata": true,
|
|
26
|
+
"allowSyntheticDefaultImports": true,
|
|
27
|
+
"strictPropertyInitialization": false,
|
|
28
|
+
"strict": true,
|
|
29
|
+
"noImplicitAny": false,
|
|
30
|
+
"preserveConstEnums": true
|
|
31
|
+
},
|
|
32
|
+
"exclude": [
|
|
33
|
+
"dist",
|
|
34
|
+
"package.json"
|
|
35
|
+
],
|
|
36
|
+
"include": [
|
|
37
|
+
"**/*",
|
|
38
|
+
"**/*.json"
|
|
39
|
+
]
|
|
40
|
+
}
|
package/types/asset.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
declare module '*.png' {
|
|
2
|
+
const value: any;
|
|
3
|
+
export = value;
|
|
4
|
+
}
|
|
5
|
+
declare module '*.svg' {
|
|
6
|
+
import type { FunctionComponent, SVGProps } from 'react';
|
|
7
|
+
|
|
8
|
+
export const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement> & { title?: string }>;
|
|
9
|
+
const src: string;
|
|
10
|
+
export default src;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// @TODO Gilad
|
|
14
|
+
declare module '*.jpg' {
|
|
15
|
+
const value: any;
|
|
16
|
+
export = value;
|
|
17
|
+
}
|
|
18
|
+
declare module '*.jpeg' {
|
|
19
|
+
const value: any;
|
|
20
|
+
export = value;
|
|
21
|
+
}
|
|
22
|
+
declare module '*.gif' {
|
|
23
|
+
const value: any;
|
|
24
|
+
export = value;
|
|
25
|
+
}
|
|
26
|
+
declare module '*.bmp' {
|
|
27
|
+
const value: any;
|
|
28
|
+
export = value;
|
|
29
|
+
}
|
package/types/style.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare module '*.module.css' {
|
|
2
|
+
const classes: { readonly [key: string]: string };
|
|
3
|
+
export default classes;
|
|
4
|
+
}
|
|
5
|
+
declare module '*.module.scss' {
|
|
6
|
+
const classes: { readonly [key: string]: string };
|
|
7
|
+
export default classes;
|
|
8
|
+
}
|
|
9
|
+
declare module '*.module.sass' {
|
|
10
|
+
const classes: { readonly [key: string]: string };
|
|
11
|
+
export default classes;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare module '*.module.less' {
|
|
15
|
+
const classes: { readonly [key: string]: string };
|
|
16
|
+
export default classes;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare module '*.less' {
|
|
20
|
+
const classes: { readonly [key: string]: string };
|
|
21
|
+
export default classes;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare module '*.css' {
|
|
25
|
+
const classes: { readonly [key: string]: string };
|
|
26
|
+
export default classes;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare module '*.sass' {
|
|
30
|
+
const classes: { readonly [key: string]: string };
|
|
31
|
+
export default classes;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare module '*.scss' {
|
|
35
|
+
const classes: { readonly [key: string]: string };
|
|
36
|
+
export default classes;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare module '*.mdx' {
|
|
40
|
+
const component: any;
|
|
41
|
+
export default component;
|
|
42
|
+
}
|