@teambit/multi-tester 1.0.107 → 1.0.108

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,2 +1,2 @@
1
- import React from 'react';
2
- export declare const Logo: () => React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const Logo: () => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { Tester, TesterContext, Tests } from '@teambit/tester';
2
- export declare type MultiCompilerOptions = {
2
+ export type MultiCompilerOptions = {
3
3
  targetExtension?: string;
4
4
  };
5
5
  export declare class MultiTester implements Tester {
@@ -88,23 +88,19 @@ class MultiTester {
88
88
  return new (_tester().Tests)(Array.from(componentResultsMap.values()));
89
89
  }
90
90
  mergeComponentResults(results1, results2) {
91
- var _results1$results, _results2$results2, _results1$results5, _results2$results5, _results1$results6, _results2$results6;
92
91
  const merged = {
93
92
  componentId: results1.componentId
94
93
  };
95
94
  let start;
96
- if (!((_results1$results = results1.results) !== null && _results1$results !== void 0 && _results1$results.start)) {
97
- var _results2$results;
98
- start = (_results2$results = results2.results) === null || _results2$results === void 0 ? void 0 : _results2$results.start;
99
- } else if (!((_results2$results2 = results2.results) !== null && _results2$results2 !== void 0 && _results2$results2.start)) {
100
- var _results1$results2;
101
- start = (_results1$results2 = results1.results) === null || _results1$results2 === void 0 ? void 0 : _results1$results2.start;
95
+ if (!results1.results?.start) {
96
+ start = results2.results?.start;
97
+ } else if (!results2.results?.start) {
98
+ start = results1.results?.start;
102
99
  } else {
103
- var _results1$results3, _results2$results3, _results1$results4, _results2$results4;
104
100
  // Take sooner start
105
- 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;
101
+ start = results1.results?.start < results2.results?.start ? results1.results?.start : results2.results?.start;
106
102
  }
107
- 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);
103
+ const mergedTestsResults = new (_testsResults().TestsResult)([...(results1.results?.testFiles || []), ...(results2.results?.testFiles || [])], results1.results?.success && results2.results?.success, start);
108
104
  merged.results = mergedTestsResults;
109
105
  merged.errors = [...(results1.errors || []), ...(results2.errors || [])];
110
106
  merged.loading = results1.loading || results2.loading;
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_tester","_testsResults","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","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","_results1$results","_results2$results2","_results1$results5","_results2$results5","_results1$results6","_results2$results6","start","results","_results2$results","_results1$results2","_results1$results3","_results2$results3","_results1$results4","_results2$results4","mergedTestsResults","TestsResult","testFiles","success","errors","loading","exports"],"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":["_pMapSeries","data","_interopRequireDefault","require","_tester","_testsResults","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","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","exports"],"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,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@1.0.107/dist/multi-tester.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@1.0.107/dist/multi-tester.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@1.0.108/dist/multi-tester.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_multi-tester@1.0.108/dist/multi-tester.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/index.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { MultiTesterAspect } from './multi-tester.aspect';
2
+
3
+ export { MultiTesterAspect };
4
+ export type { MultiTesterMain } from './multi-tester.main.runtime';
5
+ export type { MultiTester } from './multi-tester.tester';
6
+ export default MultiTesterAspect;
@@ -0,0 +1,5 @@
1
+ import { Aspect } from '@teambit/harmony';
2
+
3
+ export const MultiTesterAspect = Aspect.create({
4
+ id: 'teambit.defender/multi-tester',
5
+ });
@@ -0,0 +1,22 @@
1
+ import { MainRuntime } from '@teambit/cli';
2
+ import { Tester } from '@teambit/tester';
3
+ import { MultiTesterAspect } from './multi-tester.aspect';
4
+ import { MultiTester } from './multi-tester.tester';
5
+
6
+ export class MultiTesterMain {
7
+ /**
8
+ * create a multi-tester `Tester` instance.
9
+ * @param testers list of testers to include.
10
+ */
11
+ createTester(testers: Tester[]) {
12
+ return new MultiTester(MultiTesterAspect.id, testers);
13
+ }
14
+
15
+ static runtime = MainRuntime;
16
+
17
+ static async provider() {
18
+ return new MultiTesterMain();
19
+ }
20
+ }
21
+
22
+ MultiTesterAspect.addRuntime(MultiTesterMain);
@@ -0,0 +1,92 @@
1
+ import pMapSeries from 'p-map-series';
2
+ import { Tester, TesterContext, Tests, ComponentsResults } from '@teambit/tester';
3
+ import { TestsResult } from '@teambit/tests-results';
4
+ import { compact } from 'lodash';
5
+
6
+ export type MultiCompilerOptions = {
7
+ targetExtension?: string;
8
+ };
9
+
10
+ export class MultiTester implements Tester {
11
+ displayName = 'Multi tester';
12
+
13
+ constructor(readonly id: string, readonly testers: Tester[]) {}
14
+
15
+ displayConfig() {
16
+ return this.testers
17
+ .map((tester) => {
18
+ return `${tester.displayName}\n${tester.displayConfig}\n`;
19
+ })
20
+ .join('\n');
21
+ }
22
+
23
+ async test(context: TesterContext): Promise<Tests> {
24
+ const allResults = await pMapSeries(this.testers, (tester) => {
25
+ return tester.test(context);
26
+ });
27
+ const merged = this.mergeTests(allResults);
28
+ return merged;
29
+ }
30
+
31
+ // TODO: not working properly yet
32
+ async watch(context: TesterContext): Promise<Tests> {
33
+ const allResults = await pMapSeries(this.testers, (tester) => {
34
+ return tester.watch ? tester.watch(context) : tester.test(context);
35
+ });
36
+ const merged = this.mergeTests(allResults);
37
+ return merged;
38
+ }
39
+
40
+ /**
41
+ * returns the version of all testers instance (e.g. '4.0.1').
42
+ */
43
+ version(): string {
44
+ return this.testers
45
+ .map((tester) => {
46
+ return `${tester.displayName}@${tester.version()}`;
47
+ })
48
+ .join('\n');
49
+ }
50
+
51
+ private mergeTests(tests: Tests[]): Tests {
52
+ const componentResultsMap = new Map<string, ComponentsResults>();
53
+
54
+ compact(tests).forEach((currentTests) => {
55
+ currentTests.components.forEach((currentComponentResults) => {
56
+ const currIdStr = currentComponentResults.componentId.toString();
57
+ const foundComponent = componentResultsMap.get(currIdStr);
58
+ if (foundComponent) {
59
+ componentResultsMap.set(currIdStr, this.mergeComponentResults(foundComponent, currentComponentResults));
60
+ } else {
61
+ componentResultsMap.set(currIdStr, currentComponentResults);
62
+ }
63
+ });
64
+ });
65
+
66
+ return new Tests(Array.from(componentResultsMap.values()));
67
+ }
68
+
69
+ private mergeComponentResults(results1: ComponentsResults, results2: ComponentsResults): ComponentsResults {
70
+ const merged: ComponentsResults = {
71
+ componentId: results1.componentId,
72
+ };
73
+ let start;
74
+ if (!results1.results?.start) {
75
+ start = results2.results?.start;
76
+ } else if (!results2.results?.start) {
77
+ start = results1.results?.start;
78
+ } else {
79
+ // Take sooner start
80
+ start = results1.results?.start < results2.results?.start ? results1.results?.start : results2.results?.start;
81
+ }
82
+ const mergedTestsResults: TestsResult = new TestsResult(
83
+ [...(results1.results?.testFiles || []), ...(results2.results?.testFiles || [])],
84
+ results1.results?.success && results2.results?.success,
85
+ start
86
+ );
87
+ merged.results = mergedTestsResults;
88
+ merged.errors = [...(results1.errors || []), ...(results2.errors || [])];
89
+ merged.loading = results1.loading || results2.loading;
90
+ return merged;
91
+ }
92
+ }
package/package.json CHANGED
@@ -1,37 +1,33 @@
1
1
  {
2
2
  "name": "@teambit/multi-tester",
3
- "version": "1.0.107",
3
+ "version": "1.0.108",
4
4
  "homepage": "https://bit.cloud/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": "1.0.107"
9
+ "version": "1.0.108"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
13
13
  "p-map-series": "2.1.0",
14
- "core-js": "^3.0.0",
15
- "@babel/runtime": "7.20.0",
16
14
  "@teambit/harmony": "0.4.6",
17
- "@teambit/cli": "0.0.839",
18
- "@teambit/tester": "1.0.107",
19
- "@teambit/tests-results": "1.0.4"
15
+ "@teambit/tests-results": "1.0.4",
16
+ "@teambit/cli": "0.0.840",
17
+ "@teambit/tester": "1.0.108"
20
18
  },
21
19
  "devDependencies": {
22
- "@types/react": "^17.0.8",
23
20
  "@types/lodash": "4.14.165",
24
21
  "@types/mocha": "9.1.0",
25
- "@types/node": "12.20.4",
26
- "@types/react-dom": "^17.0.5",
27
- "@types/jest": "^26.0.0",
28
- "@types/testing-library__jest-dom": "5.9.5",
29
- "@teambit/defender.content.tester-overview": "1.95.0"
22
+ "@types/jest": "^29.2.2",
23
+ "@types/testing-library__jest-dom": "^5.9.5",
24
+ "@teambit/defender.content.tester-overview": "1.95.0",
25
+ "@teambit/harmony.envs.core-aspect-env": "0.0.13"
30
26
  },
31
27
  "peerDependencies": {
32
- "@teambit/legacy": "1.0.624",
33
- "react": "^16.8.0 || ^17.0.0",
34
- "react-dom": "^16.8.0 || ^17.0.0"
28
+ "react": "^17.0.0 || ^18.0.0",
29
+ "@types/react": "^18.2.12",
30
+ "@teambit/legacy": "1.0.624"
35
31
  },
36
32
  "license": "Apache-2.0",
37
33
  "optionalDependencies": {},
@@ -45,7 +41,7 @@
45
41
  },
46
42
  "private": false,
47
43
  "engines": {
48
- "node": ">=12.22.0"
44
+ "node": ">=16.0.0"
49
45
  },
50
46
  "repository": {
51
47
  "type": "git",
@@ -54,12 +50,9 @@
54
50
  "keywords": [
55
51
  "bit",
56
52
  "bit-aspect",
53
+ "bit-core-aspect",
57
54
  "components",
58
55
  "collaboration",
59
- "web",
60
- "react",
61
- "react-components",
62
- "angular",
63
- "angular-components"
56
+ "web"
64
57
  ]
65
58
  }
package/tsconfig.json CHANGED
@@ -1,38 +1,33 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "lib": [
4
- "es2019",
5
- "DOM",
6
- "ES6",
7
- "DOM.Iterable",
8
- "ScriptHost"
4
+ "esnext",
5
+ "dom",
6
+ "dom.Iterable"
9
7
  ],
10
- "target": "es2015",
11
- "module": "CommonJS",
12
- "jsx": "react",
13
- "allowJs": true,
14
- "composite": true,
8
+ "target": "es2020",
9
+ "module": "es2020",
10
+ "jsx": "react-jsx",
15
11
  "declaration": true,
16
12
  "sourceMap": true,
17
- "skipLibCheck": true,
18
13
  "experimentalDecorators": true,
19
- "outDir": "dist",
14
+ "skipLibCheck": true,
20
15
  "moduleResolution": "node",
21
16
  "esModuleInterop": true,
22
- "rootDir": ".",
23
17
  "resolveJsonModule": true,
24
- "emitDeclarationOnly": true,
25
- "emitDecoratorMetadata": true,
26
- "allowSyntheticDefaultImports": true,
27
- "strictPropertyInitialization": false,
28
- "strict": true,
29
- "noImplicitAny": false,
30
- "preserveConstEnums": true
18
+ "allowJs": true,
19
+ "outDir": "dist",
20
+ "emitDeclarationOnly": true
31
21
  },
32
22
  "exclude": [
23
+ "artifacts",
24
+ "public",
33
25
  "dist",
26
+ "node_modules",
27
+ "package.json",
34
28
  "esm.mjs",
35
- "package.json"
29
+ "**/*.cjs",
30
+ "./dist"
36
31
  ],
37
32
  "include": [
38
33
  "**/*",
package/types/asset.d.ts CHANGED
@@ -5,12 +5,12 @@ declare module '*.png' {
5
5
  declare module '*.svg' {
6
6
  import type { FunctionComponent, SVGProps } from 'react';
7
7
 
8
- export const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement> & { title?: string }>;
8
+ export const ReactComponent: FunctionComponent<
9
+ SVGProps<SVGSVGElement> & { title?: string }
10
+ >;
9
11
  const src: string;
10
12
  export default src;
11
13
  }
12
-
13
- // @TODO Gilad
14
14
  declare module '*.jpg' {
15
15
  const value: any;
16
16
  export = value;
@@ -27,3 +27,15 @@ declare module '*.bmp' {
27
27
  const value: any;
28
28
  export = value;
29
29
  }
30
+ declare module '*.otf' {
31
+ const value: any;
32
+ export = value;
33
+ }
34
+ declare module '*.woff' {
35
+ const value: any;
36
+ export = value;
37
+ }
38
+ declare module '*.woff2' {
39
+ const value: any;
40
+ export = value;
41
+ }