@teambit/tester 0.0.750 → 0.0.753

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 CHANGED
@@ -3,5 +3,9 @@ export { Tests } from './tester';
3
3
  export type { Tester, TesterContext, CallbackFn, SpecFiles, ComponentPatternsMap, ComponentsResults } from './tester';
4
4
  export type { TesterMain } from './tester.main.runtime';
5
5
  export type { TesterUI } from './tester.ui.runtime';
6
+ export declare const styles: {
7
+ testsPage: string;
8
+ testBlock: string;
9
+ };
6
10
  export { TesterAspect };
7
11
  export default TesterAspect;
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -15,7 +17,7 @@ Object.defineProperty(exports, "Tests", {
15
17
  return _tester2().Tests;
16
18
  }
17
19
  });
18
- exports.default = void 0;
20
+ exports.styles = exports.default = void 0;
19
21
 
20
22
  function _tester() {
21
23
  const data = require("./tester.aspect");
@@ -27,6 +29,16 @@ function _tester() {
27
29
  return data;
28
30
  }
29
31
 
32
+ function _testsPageModule() {
33
+ const data = _interopRequireDefault(require("./ui/tests-page.module.scss"));
34
+
35
+ _testsPageModule = function () {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
30
42
  function _tester2() {
31
43
  const data = require("./tester");
32
44
 
@@ -37,6 +49,17 @@ function _tester2() {
37
49
  return data;
38
50
  }
39
51
 
52
+ const {
53
+ testsPage,
54
+ testBlock
55
+ } = _testsPageModule().default;
56
+
57
+ const styles = {
58
+ testsPage,
59
+ testBlock
60
+ };
61
+ exports.styles = styles;
62
+
40
63
  var _default = _tester().TesterAspect;
41
64
 
42
65
  exports.default = _default;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["TesterAspect"],"sources":["index.ts"],"sourcesContent":["import { TesterAspect } from './tester.aspect';\n\nexport { Tests } from './tester';\nexport type { Tester, TesterContext, CallbackFn, SpecFiles, ComponentPatternsMap, ComponentsResults } from './tester';\nexport type { TesterMain } from './tester.main.runtime';\nexport type { TesterUI } from './tester.ui.runtime';\n\nexport { TesterAspect };\nexport default TesterAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAMeA,sB"}
1
+ {"version":3,"names":["testsPage","testBlock","pageStyles","styles","TesterAspect"],"sources":["index.ts"],"sourcesContent":["import { TesterAspect } from './tester.aspect';\nimport pageStyles from './ui/tests-page.module.scss';\n\nexport { Tests } from './tester';\nexport type { Tester, TesterContext, CallbackFn, SpecFiles, ComponentPatternsMap, ComponentsResults } from './tester';\nexport type { TesterMain } from './tester.main.runtime';\nexport type { TesterUI } from './tester.ui.runtime';\nconst { testsPage, testBlock } = pageStyles;\nexport const styles = { testsPage, testBlock };\n\nexport { TesterAspect };\nexport default TesterAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIA,MAAM;EAAEA,SAAF;EAAaC;AAAb,IAA2BC,0BAAjC;;AACO,MAAMC,MAAM,GAAG;EAAEH,SAAF;EAAaC;AAAb,CAAf;;;eAGQG,sB"}
@@ -20,7 +20,6 @@ export declare class TestCmd implements Command {
20
20
  description: string;
21
21
  alias: string;
22
22
  group: string;
23
- shortDescription: string;
24
23
  options: CommandOptions;
25
24
  constructor(tester: TesterMain, workspace: Workspace, logger: Logger);
26
25
  render([userPattern]: [string], { watch, debug, all, env, scope, junit, coverage }: TestFlags): Promise<JSX.Element | {
package/dist/test.cmd.js CHANGED
@@ -90,7 +90,6 @@ class TestCmd {
90
90
  (0, _defineProperty2().default)(this, "description", 'test set of components in your workspace');
91
91
  (0, _defineProperty2().default)(this, "alias", 'at');
92
92
  (0, _defineProperty2().default)(this, "group", 'development');
93
- (0, _defineProperty2().default)(this, "shortDescription", '');
94
93
  (0, _defineProperty2().default)(this, "options", [['w', 'watch', 'start the tester in watch mode.'], ['d', 'debug', 'start the tester in debug mode.'], ['a', 'all', 'test all components, not only new and modified'], ['', 'junit <filepath>', 'write tests results as JUnit XML format into the specified file path'], ['', 'coverage', 'show code coverage data'], ['e', 'env <id>', 'test only the given env'], ['s', 'scope <scope>', 'name of the scope to test'] // TODO: we need to reduce this redundant casting every time.
95
94
  ]);
96
95
  }
@@ -1 +1 @@
1
- {"version":3,"names":["TestCmd","constructor","tester","workspace","logger","render","userPattern","watch","debug","all","env","scope","junit","coverage","timer","Timer","create","scopeName","undefined","start","ConsumerNotFound","getPatternWithScope","pattern","patternWithScope","components","getComponentsByUserInput","length","NoMatchingComponents","code","data","console","chalk","cyan","name","off","tests","test","hasErrors","seconds","stop"],"sources":["test.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Timer } from '@teambit/legacy/dist/toolbox/timer';\nimport { Box, Text } from 'ink';\nimport React from 'react';\nimport { NoMatchingComponents } from './exceptions';\n\nimport type { TesterMain } from './tester.main.runtime';\n\ntype TestFlags = {\n watch: boolean;\n debug: boolean;\n all: boolean;\n env?: string;\n scope?: string;\n junit?: string;\n coverage?: boolean;\n};\n\nexport class TestCmd implements Command {\n name = 'test [pattern]';\n description = 'test set of components in your workspace';\n alias = 'at';\n group = 'development';\n shortDescription = '';\n options = [\n ['w', 'watch', 'start the tester in watch mode.'],\n ['d', 'debug', 'start the tester in debug mode.'],\n ['a', 'all', 'test all components, not only new and modified'],\n ['', 'junit <filepath>', 'write tests results as JUnit XML format into the specified file path'],\n ['', 'coverage', 'show code coverage data'],\n ['e', 'env <id>', 'test only the given env'],\n ['s', 'scope <scope>', 'name of the scope to test'],\n // TODO: we need to reduce this redundant casting every time.\n ] as CommandOptions;\n\n constructor(private tester: TesterMain, private workspace: Workspace, private logger: Logger) {}\n\n async render(\n [userPattern]: [string],\n { watch = false, debug = false, all = false, env, scope, junit, coverage = false }: TestFlags\n ) {\n const timer = Timer.create();\n const scopeName = typeof scope === 'string' ? scope : undefined;\n timer.start();\n if (!this.workspace) throw new ConsumerNotFound();\n\n const getPatternWithScope = () => {\n if (!userPattern && !scope) return undefined;\n const pattern = userPattern || '**';\n return scopeName ? `${scopeName}/${pattern}` : pattern;\n };\n const patternWithScope = getPatternWithScope();\n const components = await this.workspace.getComponentsByUserInput(all, patternWithScope, true);\n if (!components.length) {\n if (userPattern) throw new NoMatchingComponents(userPattern);\n return {\n code: 0,\n data: (\n <Box>\n <Text bold>\n no components found to test. use \"--all\" flag to test all components or specify the ids to test,\n otherwise, only new and modified components will be tested{' '}\n </Text>\n </Box>\n ),\n };\n }\n\n this.logger.console(\n `testing total of ${components.length} components in workspace '${chalk.cyan(this.workspace.name)}'`\n );\n\n let code = 0;\n if (watch && !debug) {\n // avoid turning off the logger for non-watch scenario. otherwise, when this aspect throws errors, they'll be\n // swallowed. (Jest errors are shown regardless via Jest, but if the tester is unable to run Jest in the first\n // place, these errors won't be shown)\n this.logger.off();\n await this.tester.watch(components, {\n watch,\n debug,\n env,\n coverage,\n });\n } else {\n const tests = await this.tester.test(components, {\n watch,\n debug,\n env,\n junit,\n coverage,\n });\n if (tests.hasErrors()) code = 1;\n }\n const { seconds } = timer.stop();\n\n if (watch) return <Box></Box>;\n return {\n code,\n data: (\n <Box>\n <Text>test has been completed in </Text>\n <Text color=\"cyan\">{seconds} </Text>\n <Text>seconds.</Text>\n </Box>\n ),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["TestCmd","constructor","tester","workspace","logger","render","userPattern","watch","debug","all","env","scope","junit","coverage","timer","Timer","create","scopeName","undefined","start","ConsumerNotFound","getPatternWithScope","pattern","patternWithScope","components","getComponentsByUserInput","length","NoMatchingComponents","code","data","console","chalk","cyan","name","off","tests","test","hasErrors","seconds","stop"],"sources":["test.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Timer } from '@teambit/legacy/dist/toolbox/timer';\nimport { Box, Text } from 'ink';\nimport React from 'react';\nimport { NoMatchingComponents } from './exceptions';\n\nimport type { TesterMain } from './tester.main.runtime';\n\ntype TestFlags = {\n watch: boolean;\n debug: boolean;\n all: boolean;\n env?: string;\n scope?: string;\n junit?: string;\n coverage?: boolean;\n};\n\nexport class TestCmd implements Command {\n name = 'test [pattern]';\n description = 'test set of components in your workspace';\n alias = 'at';\n group = 'development';\n options = [\n ['w', 'watch', 'start the tester in watch mode.'],\n ['d', 'debug', 'start the tester in debug mode.'],\n ['a', 'all', 'test all components, not only new and modified'],\n ['', 'junit <filepath>', 'write tests results as JUnit XML format into the specified file path'],\n ['', 'coverage', 'show code coverage data'],\n ['e', 'env <id>', 'test only the given env'],\n ['s', 'scope <scope>', 'name of the scope to test'],\n // TODO: we need to reduce this redundant casting every time.\n ] as CommandOptions;\n\n constructor(private tester: TesterMain, private workspace: Workspace, private logger: Logger) {}\n\n async render(\n [userPattern]: [string],\n { watch = false, debug = false, all = false, env, scope, junit, coverage = false }: TestFlags\n ) {\n const timer = Timer.create();\n const scopeName = typeof scope === 'string' ? scope : undefined;\n timer.start();\n if (!this.workspace) throw new ConsumerNotFound();\n\n const getPatternWithScope = () => {\n if (!userPattern && !scope) return undefined;\n const pattern = userPattern || '**';\n return scopeName ? `${scopeName}/${pattern}` : pattern;\n };\n const patternWithScope = getPatternWithScope();\n const components = await this.workspace.getComponentsByUserInput(all, patternWithScope, true);\n if (!components.length) {\n if (userPattern) throw new NoMatchingComponents(userPattern);\n return {\n code: 0,\n data: (\n <Box>\n <Text bold>\n no components found to test. use \"--all\" flag to test all components or specify the ids to test,\n otherwise, only new and modified components will be tested{' '}\n </Text>\n </Box>\n ),\n };\n }\n\n this.logger.console(\n `testing total of ${components.length} components in workspace '${chalk.cyan(this.workspace.name)}'`\n );\n\n let code = 0;\n if (watch && !debug) {\n // avoid turning off the logger for non-watch scenario. otherwise, when this aspect throws errors, they'll be\n // swallowed. (Jest errors are shown regardless via Jest, but if the tester is unable to run Jest in the first\n // place, these errors won't be shown)\n this.logger.off();\n await this.tester.watch(components, {\n watch,\n debug,\n env,\n coverage,\n });\n } else {\n const tests = await this.tester.test(components, {\n watch,\n debug,\n env,\n junit,\n coverage,\n });\n if (tests.hasErrors()) code = 1;\n }\n const { seconds } = timer.stop();\n\n if (watch) return <Box></Box>;\n return {\n code,\n data: (\n <Box>\n <Text>test has been completed in </Text>\n <Text color=\"cyan\">{seconds} </Text>\n <Text>seconds.</Text>\n </Box>\n ),\n };\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { Section } from '@teambit/component';
3
+ import { EmptyStateSlot } from './tester.ui.runtime';
4
+ export declare class TesterCompareSection implements Section {
5
+ private emptyStateSlot;
6
+ constructor(emptyStateSlot: EmptyStateSlot);
7
+ navigationLink: {
8
+ href: string;
9
+ children: string;
10
+ order: number;
11
+ };
12
+ route: {
13
+ path: string;
14
+ element: JSX.Element;
15
+ };
16
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TesterCompareSection = void 0;
9
+
10
+ function _defineProperty2() {
11
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+
13
+ _defineProperty2 = function () {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
19
+
20
+ function _react() {
21
+ const data = _interopRequireDefault(require("react"));
22
+
23
+ _react = function () {
24
+ return data;
25
+ };
26
+
27
+ return data;
28
+ }
29
+
30
+ function _defenderUi() {
31
+ const data = require("@teambit/defender.ui.test-compare");
32
+
33
+ _defenderUi = function () {
34
+ return data;
35
+ };
36
+
37
+ return data;
38
+ }
39
+
40
+ class TesterCompareSection {
41
+ constructor(emptyStateSlot) {
42
+ this.emptyStateSlot = emptyStateSlot;
43
+ (0, _defineProperty2().default)(this, "navigationLink", {
44
+ href: 'tests',
45
+ children: 'Tests',
46
+ order: 4
47
+ });
48
+ (0, _defineProperty2().default)(this, "route", {
49
+ path: 'tests/*',
50
+ element: /*#__PURE__*/_react().default.createElement(_defenderUi().CompareTests, {
51
+ emptyState: this.emptyStateSlot
52
+ })
53
+ });
54
+ }
55
+
56
+ }
57
+
58
+ exports.TesterCompareSection = TesterCompareSection;
59
+
60
+ //# sourceMappingURL=tester.compare.section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TesterCompareSection","constructor","emptyStateSlot","href","children","order","path","element"],"sources":["tester.compare.section.tsx"],"sourcesContent":["import React from 'react';\nimport { Section } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport { EmptyStateSlot } from './tester.ui.runtime';\n\nexport class TesterCompareSection implements Section {\n constructor(private emptyStateSlot: EmptyStateSlot) {}\n\n navigationLink = {\n href: 'tests',\n children: 'Tests',\n order: 4,\n };\n\n route = {\n path: 'tests/*',\n element: <CompareTests emptyState={this.emptyStateSlot} />,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,oBAAN,CAA8C;EACnDC,WAAW,CAASC,cAAT,EAAyC;IAAA,KAAhCA,cAAgC,GAAhCA,cAAgC;IAAA,wDAEnC;MACfC,IAAI,EAAE,OADS;MAEfC,QAAQ,EAAE,OAFK;MAGfC,KAAK,EAAE;IAHQ,CAFmC;IAAA,+CAQ5C;MACNC,IAAI,EAAE,SADA;MAENC,OAAO,eAAE,+BAAC,0BAAD;QAAc,UAAU,EAAE,KAAKL;MAA/B;IAFH,CAR4C;EAAE;;AADH"}
@@ -1,6 +1,7 @@
1
1
  import { ComponentType } from 'react';
2
2
  import { SlotRegistry } from '@teambit/harmony';
3
3
  import { ComponentUI } from '@teambit/component';
4
+ import { ComponentCompareUI } from '@teambit/component-compare';
4
5
  export declare type EmptyStateSlot = SlotRegistry<ComponentType>;
5
6
  export declare class TesterUI {
6
7
  private component;
@@ -14,6 +15,6 @@ export declare class TesterUI {
14
15
  */
15
16
  registerEmptyState(emptyStateComponent: ComponentType): this;
16
17
  static slots: ((registerFn: () => string) => SlotRegistry<ComponentType<{}>>)[];
17
- static provider([component]: [ComponentUI], config: any, [emptyStateSlot]: [EmptyStateSlot]): Promise<TesterUI>;
18
+ static provider([component, componentCompare]: [ComponentUI, ComponentCompareUI], config: any, [emptyStateSlot]: [EmptyStateSlot]): Promise<TesterUI>;
18
19
  }
19
20
  export default TesterUI;
@@ -51,6 +51,16 @@ function _component() {
51
51
  return data;
52
52
  }
53
53
 
54
+ function _componentCompare() {
55
+ const data = require("@teambit/component-compare");
56
+
57
+ _componentCompare = function () {
58
+ return data;
59
+ };
60
+
61
+ return data;
62
+ }
63
+
54
64
  function _tests() {
55
65
  const data = require("./tests.section");
56
66
 
@@ -71,6 +81,16 @@ function _tester() {
71
81
  return data;
72
82
  }
73
83
 
84
+ function _testerCompare() {
85
+ const data = require("./tester.compare.section");
86
+
87
+ _testerCompare = function () {
88
+ return data;
89
+ };
90
+
91
+ return data;
92
+ }
93
+
74
94
  class TesterUI {
75
95
  constructor(component, emptyStateSlot) {
76
96
  this.component = component;
@@ -87,18 +107,24 @@ class TesterUI {
87
107
  return this;
88
108
  }
89
109
 
90
- static async provider([component], config, [emptyStateSlot]) {
110
+ static async provider([component, componentCompare], config, [emptyStateSlot]) {
91
111
  const testerUi = new TesterUI(component, emptyStateSlot);
92
112
  const section = new (_tests().TestsSection)(emptyStateSlot);
113
+ const testerCompareSection = new (_testerCompare().TesterCompareSection)(emptyStateSlot);
93
114
  component.registerRoute(section.route);
94
115
  component.registerNavigation(section.navigationLink, section.order);
116
+ componentCompare.registerNavigation({
117
+ props: testerCompareSection.navigationLink,
118
+ order: testerCompareSection.navigationLink.order
119
+ });
120
+ componentCompare.registerRoutes([testerCompareSection.route]);
95
121
  return testerUi;
96
122
  }
97
123
 
98
124
  }
99
125
 
100
126
  exports.TesterUI = TesterUI;
101
- (0, _defineProperty2().default)(TesterUI, "dependencies", [_component().ComponentAspect]);
127
+ (0, _defineProperty2().default)(TesterUI, "dependencies", [_component().ComponentAspect, _componentCompare().ComponentCompareAspect]);
102
128
  (0, _defineProperty2().default)(TesterUI, "runtime", _ui().UIRuntime);
103
129
  (0, _defineProperty2().default)(TesterUI, "slots", [_harmony().Slot.withType()]);
104
130
  var _default = TesterUI;
@@ -1 +1 @@
1
- {"version":3,"names":["TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","provider","config","testerUi","section","TestsSection","registerRoute","route","registerNavigation","navigationLink","order","ComponentAspect","UIRuntime","Slot","withType","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { ComponentAspect, ComponentUI } from '@teambit/component';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\n\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport class TesterUI {\n static dependencies = [ComponentAspect];\n\n static runtime = UIRuntime;\n\n stageKey?: string;\n\n constructor(private component: ComponentUI, private emptyStateSlot: EmptyStateSlot) {}\n\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n static slots = [Slot.withType<ComponentType>()];\n\n static async provider([component]: [ComponentUI], config, [emptyStateSlot]: [EmptyStateSlot]) {\n const testerUi = new TesterUI(component, emptyStateSlot);\n\n const section = new TestsSection(emptyStateSlot);\n\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,QAAN,CAAe;EAOpBC,WAAW,CAASC,SAAT,EAAyCC,cAAzC,EAAyE;IAAA,KAAhED,SAAgE,GAAhEA,SAAgE;IAAA,KAAhCC,cAAgC,GAAhCA,cAAgC;IAAA;EAAE;EAEtF;AACF;AACA;;;EACEC,kBAAkB,CAACC,mBAAD,EAAqC;IACrD,KAAKF,cAAL,CAAoBG,QAApB,CAA6BD,mBAA7B;IACA,OAAO,IAAP;EACD;;EAIoB,aAARE,QAAQ,CAAC,CAACL,SAAD,CAAD,EAA6BM,MAA7B,EAAqC,CAACL,cAAD,CAArC,EAAyE;IAC5F,MAAMM,QAAQ,GAAG,IAAIT,QAAJ,CAAaE,SAAb,EAAwBC,cAAxB,CAAjB;IAEA,MAAMO,OAAO,GAAG,KAAIC,qBAAJ,EAAiBR,cAAjB,CAAhB;IAEAD,SAAS,CAACU,aAAV,CAAwBF,OAAO,CAACG,KAAhC;IACAX,SAAS,CAACY,kBAAV,CAA6BJ,OAAO,CAACK,cAArC,EAAqDL,OAAO,CAACM,KAA7D;IAEA,OAAOP,QAAP;EACD;;AA5BmB;;;gCAATT,Q,kBACW,CAACiB,4BAAD,C;gCADXjB,Q,aAGMkB,e;gCAHNlB,Q,WAiBI,CAACmB,eAAA,CAAKC,QAAL,EAAD,C;eAcFpB,Q;;;AAEfqB,sBAAA,CAAaC,UAAb,CAAwBtB,QAAxB"}
1
+ {"version":3,"names":["TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","provider","componentCompare","config","testerUi","section","TestsSection","testerCompareSection","TesterCompareSection","registerRoute","route","registerNavigation","navigationLink","order","props","registerRoutes","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { ComponentAspect, ComponentUI } from '@teambit/component';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterCompareSection } from './tester.compare.section';\n\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport class TesterUI {\n static dependencies = [ComponentAspect, ComponentCompareAspect];\n\n static runtime = UIRuntime;\n\n stageKey?: string;\n\n constructor(private component: ComponentUI, private emptyStateSlot: EmptyStateSlot) {}\n\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n static slots = [Slot.withType<ComponentType>()];\n\n static async provider(\n [component, componentCompare]: [ComponentUI, ComponentCompareUI],\n config,\n [emptyStateSlot]: [EmptyStateSlot]\n ) {\n const testerUi = new TesterUI(component, emptyStateSlot);\n const section = new TestsSection(emptyStateSlot);\n const testerCompareSection = new TesterCompareSection(emptyStateSlot);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation({\n props: testerCompareSection.navigationLink,\n order: testerCompareSection.navigationLink.order,\n });\n componentCompare.registerRoutes([testerCompareSection.route]);\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,QAAN,CAAe;EAOpBC,WAAW,CAASC,SAAT,EAAyCC,cAAzC,EAAyE;IAAA,KAAhED,SAAgE,GAAhEA,SAAgE;IAAA,KAAhCC,cAAgC,GAAhCA,cAAgC;IAAA;EAAE;EAEtF;AACF;AACA;;;EACEC,kBAAkB,CAACC,mBAAD,EAAqC;IACrD,KAAKF,cAAL,CAAoBG,QAApB,CAA6BD,mBAA7B;IACA,OAAO,IAAP;EACD;;EAIoB,aAARE,QAAQ,CACnB,CAACL,SAAD,EAAYM,gBAAZ,CADmB,EAEnBC,MAFmB,EAGnB,CAACN,cAAD,CAHmB,EAInB;IACA,MAAMO,QAAQ,GAAG,IAAIV,QAAJ,CAAaE,SAAb,EAAwBC,cAAxB,CAAjB;IACA,MAAMQ,OAAO,GAAG,KAAIC,qBAAJ,EAAiBT,cAAjB,CAAhB;IACA,MAAMU,oBAAoB,GAAG,KAAIC,qCAAJ,EAAyBX,cAAzB,CAA7B;IACAD,SAAS,CAACa,aAAV,CAAwBJ,OAAO,CAACK,KAAhC;IACAd,SAAS,CAACe,kBAAV,CAA6BN,OAAO,CAACO,cAArC,EAAqDP,OAAO,CAACQ,KAA7D;IACAX,gBAAgB,CAACS,kBAAjB,CAAoC;MAClCG,KAAK,EAAEP,oBAAoB,CAACK,cADM;MAElCC,KAAK,EAAEN,oBAAoB,CAACK,cAArB,CAAoCC;IAFT,CAApC;IAIAX,gBAAgB,CAACa,cAAjB,CAAgC,CAACR,oBAAoB,CAACG,KAAtB,CAAhC;IACA,OAAON,QAAP;EACD;;AAnCmB;;;gCAATV,Q,kBACW,CAACsB,4BAAD,EAAkBC,0CAAlB,C;gCADXvB,Q,aAGMwB,e;gCAHNxB,Q,WAiBI,CAACyB,eAAA,CAAKC,QAAL,EAAD,C;eAqBF1B,Q;;;AAEf2B,sBAAA,CAAaC,UAAb,CAAwB5B,QAAxB"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/tester",
3
- "version": "0.0.750",
3
+ "version": "0.0.753",
4
4
  "homepage": "https://bit.dev/teambit/defender/tester",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.defender",
8
8
  "name": "tester",
9
- "version": "0.0.750"
9
+ "version": "0.0.753"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -17,25 +17,27 @@
17
17
  "lodash.compact": "3.0.1",
18
18
  "lodash": "4.17.21",
19
19
  "cli-highlight": "2.1.9",
20
+ "classnames": "2.2.6",
20
21
  "junit-report-builder": "3.0.0",
21
22
  "strip-ansi": "6.0.0",
22
- "classnames": "2.2.6",
23
23
  "@babel/runtime": "7.12.18",
24
24
  "core-js": "^3.0.0",
25
25
  "@teambit/harmony": "0.3.3",
26
26
  "@teambit/design.ui.separator": "0.0.354",
27
27
  "@teambit/documenter.ui.heading": "4.1.1",
28
- "@teambit/cli": "0.0.495",
29
- "@teambit/logger": "0.0.588",
30
- "@teambit/workspace": "0.0.750",
31
- "@teambit/component": "0.0.750",
32
- "@teambit/graphql": "0.0.750",
33
- "@teambit/builder": "0.0.750",
34
- "@teambit/dev-files": "0.0.750",
35
- "@teambit/envs": "0.0.750",
28
+ "@teambit/cli": "0.0.497",
29
+ "@teambit/logger": "0.0.590",
30
+ "@teambit/workspace": "0.0.753",
31
+ "@teambit/component": "0.0.753",
32
+ "@teambit/defender.ui.test-compare": "0.0.1",
33
+ "@teambit/graphql": "0.0.753",
34
+ "@teambit/builder": "0.0.753",
35
+ "@teambit/dev-files": "0.0.753",
36
+ "@teambit/envs": "0.0.753",
36
37
  "@teambit/tests-results": "0.0.97",
37
- "@teambit/ui": "0.0.750",
38
- "@teambit/compiler": "0.0.750",
38
+ "@teambit/ui": "0.0.753",
39
+ "@teambit/compiler": "0.0.753",
40
+ "@teambit/component-compare": "0.0.1",
39
41
  "@teambit/bit-error": "0.0.394",
40
42
  "@teambit/defender.ui.test-loader": "0.0.490",
41
43
  "@teambit/defender.ui.test-table": "0.0.495",
@@ -59,7 +61,7 @@
59
61
  },
60
62
  "peerDependencies": {
61
63
  "@apollo/client": "^3.0.0",
62
- "@teambit/legacy": "1.0.275",
64
+ "@teambit/legacy": "1.0.277",
63
65
  "react-dom": "^16.8.0 || ^17.0.0",
64
66
  "react": "^16.8.0 || ^17.0.0"
65
67
  },
@@ -87,7 +89,7 @@
87
89
  "react": "-"
88
90
  },
89
91
  "peerDependencies": {
90
- "@teambit/legacy": "1.0.275",
92
+ "@teambit/legacy": "1.0.277",
91
93
  "react-dom": "^16.8.0 || ^17.0.0",
92
94
  "react": "^16.8.0 || ^17.0.0"
93
95
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.750/dist/tester.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.750/dist/tester.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.753/dist/tester.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.753/dist/tester.docs.mdx')]
package/test.cmd.tsx CHANGED
@@ -25,7 +25,6 @@ export class TestCmd implements Command {
25
25
  description = 'test set of components in your workspace';
26
26
  alias = 'at';
27
27
  group = 'development';
28
- shortDescription = '';
29
28
  options = [
30
29
  ['w', 'watch', 'start the tester in watch mode.'],
31
30
  ['d', 'debug', 'start the tester in debug mode.'],
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { Section } from '@teambit/component';
3
+ import { CompareTests } from '@teambit/defender.ui.test-compare';
4
+ import { EmptyStateSlot } from './tester.ui.runtime';
5
+
6
+ export class TesterCompareSection implements Section {
7
+ constructor(private emptyStateSlot: EmptyStateSlot) {}
8
+
9
+ navigationLink = {
10
+ href: 'tests',
11
+ children: 'Tests',
12
+ order: 4,
13
+ };
14
+
15
+ route = {
16
+ path: 'tests/*',
17
+ element: <CompareTests emptyState={this.emptyStateSlot} />,
18
+ };
19
+ }
@@ -2,12 +2,14 @@ import { ComponentType } from 'react';
2
2
  import { UIRuntime } from '@teambit/ui';
3
3
  import { SlotRegistry, Slot } from '@teambit/harmony';
4
4
  import { ComponentAspect, ComponentUI } from '@teambit/component';
5
+ import { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';
5
6
  import { TestsSection } from './tests.section';
6
7
  import { TesterAspect } from './tester.aspect';
8
+ import { TesterCompareSection } from './tester.compare.section';
7
9
 
8
10
  export type EmptyStateSlot = SlotRegistry<ComponentType>;
9
11
  export class TesterUI {
10
- static dependencies = [ComponentAspect];
12
+ static dependencies = [ComponentAspect, ComponentCompareAspect];
11
13
 
12
14
  static runtime = UIRuntime;
13
15
 
@@ -25,14 +27,21 @@ export class TesterUI {
25
27
 
26
28
  static slots = [Slot.withType<ComponentType>()];
27
29
 
28
- static async provider([component]: [ComponentUI], config, [emptyStateSlot]: [EmptyStateSlot]) {
30
+ static async provider(
31
+ [component, componentCompare]: [ComponentUI, ComponentCompareUI],
32
+ config,
33
+ [emptyStateSlot]: [EmptyStateSlot]
34
+ ) {
29
35
  const testerUi = new TesterUI(component, emptyStateSlot);
30
-
31
36
  const section = new TestsSection(emptyStateSlot);
32
-
37
+ const testerCompareSection = new TesterCompareSection(emptyStateSlot);
33
38
  component.registerRoute(section.route);
34
39
  component.registerNavigation(section.navigationLink, section.order);
35
-
40
+ componentCompare.registerNavigation({
41
+ props: testerCompareSection.navigationLink,
42
+ order: testerCompareSection.navigationLink.order,
43
+ });
44
+ componentCompare.registerRoutes([testerCompareSection.route]);
36
45
  return testerUi;
37
46
  }
38
47
  }