@teambit/tester 1.0.424 → 1.0.426

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,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.defender/tester@1.0.424" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.defender/tester@1.0.426" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.defender/tester-preview"]=t():e["teambit.defender/tester-preview"]=t()}(self,(()=>(()=>{"use strict";var e={98875:(e,t,n)=>{Object.defineProperty(t,"Ay",{enumerable:!0,get:function(){return r.default}});var r=o(n(62251));function o(e){return e&&e.__esModule?e:{default:e}}o.__bit_component={id:"teambit.defender/content/tester-overview@1.95.0",homepage:"https://bit.dev/teambit/defender/content/tester-overview",exported:!0}},62251:(e,t,n)=>{var r={id:"teambit.defender/content/tester-overview@1.95.0",homepage:"https://bit.dev/teambit/defender/content/tester-overview",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=u,s(n(41594));var o=n(5016),i=n(65682),a=["components"];function s(e){return e&&e.__esModule?e:{default:e}}function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function d(e,t){if(null==e)return{};var n,r,o=l(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}s.__bit_component=r,p.__bit_component=r,d.__bit_component=r,l.__bit_component=r;var m={},c="wrapper";function u(e){var t=e.components,n=d(e,a);return(0,o.mdx)(c,p({},m,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,o.mdx)("h1",null,"Tester Overview"),(0,o.mdx)("p",null,"The ",(0,o.mdx)("em",{parentName:"p"},"Tester")," provides a unified interface for testing components regardless of the specific tester they use."),(0,o.mdx)("p",null,"Software testing is a way to validate that an application or a module of it, behaves as expected."),(0,o.mdx)("p",null,"Web applications and services are often tested using a set of testing tools, where each tool plays a different role. For example, ",(0,o.mdx)("a",{parentName:"p",href:"https://jestjs.io/"},"Jest")," can be used as a test runner and as an assertion library, while ",(0,o.mdx)("a",{parentName:"p",href:"https://testing-library.com/"},"React Testing Library")," can be used for testing utilities."),(0,o.mdx)("p",null,"The Tester aspect is responsible for standardizing test execution for components; That is, it standardizes the way test runners are used. Other testing libraries used for utils, mocks, etc., are irrelevant, in that sense."),(0,o.mdx)("p",null,"Standardization is done for component testing during development (in the workspace) as well as for distribution (in a capsule ",", as part of the component ",(0,o.mdx)("a",{parentName:"p",href:"/builder/build-pipelines"},"build pipeline"),")."),(0,o.mdx)("h2",null,"Testing in development"),(0,o.mdx)("p",null,"Bit tests all components in the ",(0,o.mdx)("a",{parentName:"p",href:"/workspace/overview"},"Workspace")," using just a single command. That is true for components of all types, regardless of their specific ",(0,o.mdx)("a",{parentName:"p",href:"/envs/overview"},"Env"),", and as a consequence of that, their specific ",(0,o.mdx)("a",{parentName:"p",href:"/tester/overview"},"Tester implementation")," and configuration."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"bit test\n")),(0,o.mdx)("p",null,"Components can be watched for changes and retested with a single command, as well."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"bit test -w\n")),(0,o.mdx)("p",null,"To learn more on testing during development, please refer to ",(0,o.mdx)("a",{parentName:"p",href:"/tester/workspace-testing"},"Workspace Testing"),"."),(0,o.mdx)("h2",null,"Testing during build"),(0,o.mdx)("p",null,"Testing components for distribution is done during ",(0,o.mdx)("inlineCode",{parentName:"p"},"build")," by the Bit ",(0,o.mdx)("a",{parentName:"p",href:"/builder/overview"},"Builder"),"."),(0,o.mdx)("p",null,"Component build can be simulated with ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit build")," and done through ",(0,o.mdx)("a",{parentName:"p",href:"/components/tags"},"Tag")," or ",(0,o.mdx)("a",{parentName:"p",href:"/components/snaps"},"Snap")),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"bit build\n")),(0,o.mdx)("p",null,"By default, Bit's pre-configured Envs includes a ",(0,o.mdx)("a",{parentName:"p",href:"/builder/overview#build-task"},"Build Task")," for testing components in the ",(0,o.mdx)("a",{parentName:"p",href:"/builder/build-pipelines"},"Build Pipeline"),", each using the Env's specific test configs."),(0,o.mdx)("p",null,"Testing during build provides the highest \"external validity\" by running tests on the distributable code that was generated by the Env's compiler and not by the tester's.\nThat way, the exact same code that will be consumed by other components, is tested before it is released. Moreover, since each component is tested in a capsule ",", isolated from the rest of the workspace, tests are guaranteed to provide results that are context-agnostic and free of false-positives."),(0,o.mdx)("h2",null,"Configuring and implementing Testers"),(0,o.mdx)("p",null,"Testers are configured in the ",(0,o.mdx)("a",{parentName:"p",href:"/envs/overview"},"Env")," which is configured on your ",(0,o.mdx)("a",{parentName:"p",href:"/components/overview"},"Component"),". Customizing the Tester can be done by ",(0,o.mdx)("a",{parentName:"p",href:"/envs/services/testing"},"customizing an existing env with your tester")," or by ",(0,o.mdx)("a",{parentName:"p",href:"/envs/customizing-env"},"implementing your own Env"),"."),(0,o.mdx)("p",null,"Tester can also be implemented into Bit through few interfaces. \x3c!--TODO For more information on implementing your own compiler please refer to ",(0,o.mdx)("a",{parentName:"p",href:"/"},"Implement a Compiler"),".")))}u.__bit_component=r,u.isMDXComponent=!0},88032:(e,t,n)=>{var r={id:"teambit.defender/tester@1.0.424",homepage:"https://bit.cloud/teambit/defender/tester",exported:!0};function o(){const e=i(n(41594));return o=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,o.__bit_component=r,i.__bit_component=r;const a=()=>o().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},o().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/tester.svg"}));a.__bit_component=r,t.Logo=a},5016:e=>{e.exports=MdxJsReact},41594:e=>{e.exports=React},65682:e=>{e.exports=TeambitMdxUiMdxScopeContext}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};n.r(r),n.d(r,{compositions:()=>f,compositions_metadata:()=>v,overview:()=>b});var o={};n.r(o),n.d(o,{default:()=>u});var i=n(88032),a=(n(41594),n(5016)),s=n(65682),p=n(98875),d=["components"];function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}var m={},c="wrapper";function u(e){var t=e.components,n=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,d);return(0,a.mdx)(c,l({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)(s.MDXScopeProvider,{components:{TesterOverview:p.Ay},mdxType:"MDXScopeProvider"},(0,a.mdx)(p.Ay,{mdxType:"TesterOverview"})))}u.isMDXComponent=!0;const f=[i],b=[o],v={compositions:[{displayName:"Logo",identifier:"Logo"}]};return r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.defender/tester-preview"]=t():e["teambit.defender/tester-preview"]=t()}(self,(()=>(()=>{"use strict";var e={875:(e,t,n)=>{Object.defineProperty(t,"Ay",{enumerable:!0,get:function(){return r.default}});var r=o(n(251));function o(e){return e&&e.__esModule?e:{default:e}}o.__bit_component={id:"teambit.defender/content/tester-overview@1.95.0",homepage:"https://bit.dev/teambit/defender/content/tester-overview",exported:!0}},251:(e,t,n)=>{var r={id:"teambit.defender/content/tester-overview@1.95.0",homepage:"https://bit.dev/teambit/defender/content/tester-overview",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=u,s(n(594));var o=n(16),i=n(682),a=["components"];function s(e){return e&&e.__esModule?e:{default:e}}function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function d(e,t){if(null==e)return{};var n,r,o=l(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}s.__bit_component=r,p.__bit_component=r,d.__bit_component=r,l.__bit_component=r;var m={},c="wrapper";function u(e){var t=e.components,n=d(e,a);return(0,o.mdx)(c,p({},m,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,o.mdx)("h1",null,"Tester Overview"),(0,o.mdx)("p",null,"The ",(0,o.mdx)("em",{parentName:"p"},"Tester")," provides a unified interface for testing components regardless of the specific tester they use."),(0,o.mdx)("p",null,"Software testing is a way to validate that an application or a module of it, behaves as expected."),(0,o.mdx)("p",null,"Web applications and services are often tested using a set of testing tools, where each tool plays a different role. For example, ",(0,o.mdx)("a",{parentName:"p",href:"https://jestjs.io/"},"Jest")," can be used as a test runner and as an assertion library, while ",(0,o.mdx)("a",{parentName:"p",href:"https://testing-library.com/"},"React Testing Library")," can be used for testing utilities."),(0,o.mdx)("p",null,"The Tester aspect is responsible for standardizing test execution for components; That is, it standardizes the way test runners are used. Other testing libraries used for utils, mocks, etc., are irrelevant, in that sense."),(0,o.mdx)("p",null,"Standardization is done for component testing during development (in the workspace) as well as for distribution (in a capsule ",", as part of the component ",(0,o.mdx)("a",{parentName:"p",href:"/builder/build-pipelines"},"build pipeline"),")."),(0,o.mdx)("h2",null,"Testing in development"),(0,o.mdx)("p",null,"Bit tests all components in the ",(0,o.mdx)("a",{parentName:"p",href:"/workspace/overview"},"Workspace")," using just a single command. That is true for components of all types, regardless of their specific ",(0,o.mdx)("a",{parentName:"p",href:"/envs/overview"},"Env"),", and as a consequence of that, their specific ",(0,o.mdx)("a",{parentName:"p",href:"/tester/overview"},"Tester implementation")," and configuration."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"bit test\n")),(0,o.mdx)("p",null,"Components can be watched for changes and retested with a single command, as well."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"bit test -w\n")),(0,o.mdx)("p",null,"To learn more on testing during development, please refer to ",(0,o.mdx)("a",{parentName:"p",href:"/tester/workspace-testing"},"Workspace Testing"),"."),(0,o.mdx)("h2",null,"Testing during build"),(0,o.mdx)("p",null,"Testing components for distribution is done during ",(0,o.mdx)("inlineCode",{parentName:"p"},"build")," by the Bit ",(0,o.mdx)("a",{parentName:"p",href:"/builder/overview"},"Builder"),"."),(0,o.mdx)("p",null,"Component build can be simulated with ",(0,o.mdx)("inlineCode",{parentName:"p"},"bit build")," and done through ",(0,o.mdx)("a",{parentName:"p",href:"/components/tags"},"Tag")," or ",(0,o.mdx)("a",{parentName:"p",href:"/components/snaps"},"Snap")),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"bit build\n")),(0,o.mdx)("p",null,"By default, Bit's pre-configured Envs includes a ",(0,o.mdx)("a",{parentName:"p",href:"/builder/overview#build-task"},"Build Task")," for testing components in the ",(0,o.mdx)("a",{parentName:"p",href:"/builder/build-pipelines"},"Build Pipeline"),", each using the Env's specific test configs."),(0,o.mdx)("p",null,"Testing during build provides the highest \"external validity\" by running tests on the distributable code that was generated by the Env's compiler and not by the tester's.\nThat way, the exact same code that will be consumed by other components, is tested before it is released. Moreover, since each component is tested in a capsule ",", isolated from the rest of the workspace, tests are guaranteed to provide results that are context-agnostic and free of false-positives."),(0,o.mdx)("h2",null,"Configuring and implementing Testers"),(0,o.mdx)("p",null,"Testers are configured in the ",(0,o.mdx)("a",{parentName:"p",href:"/envs/overview"},"Env")," which is configured on your ",(0,o.mdx)("a",{parentName:"p",href:"/components/overview"},"Component"),". Customizing the Tester can be done by ",(0,o.mdx)("a",{parentName:"p",href:"/envs/services/testing"},"customizing an existing env with your tester")," or by ",(0,o.mdx)("a",{parentName:"p",href:"/envs/customizing-env"},"implementing your own Env"),"."),(0,o.mdx)("p",null,"Tester can also be implemented into Bit through few interfaces. \x3c!--TODO For more information on implementing your own compiler please refer to ",(0,o.mdx)("a",{parentName:"p",href:"/"},"Implement a Compiler"),".")))}u.__bit_component=r,u.isMDXComponent=!0},526:(e,t,n)=>{var r={id:"teambit.defender/tester@1.0.426",homepage:"https://bit.cloud/teambit/defender/tester",exported:!0};function o(){const e=i(n(594));return o=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,o.__bit_component=r,i.__bit_component=r;const a=()=>o().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},o().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/tester.svg"}));a.__bit_component=r,t.Logo=a},16:e=>{e.exports=MdxJsReact},594:e=>{e.exports=React},682:e=>{e.exports=TeambitMdxUiMdxScopeContext}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};n.r(r),n.d(r,{compositions:()=>f,compositions_metadata:()=>v,overview:()=>b});var o={};n.r(o),n.d(o,{default:()=>u});var i=n(526),a=(n(594),n(16)),s=n(682),p=n(875),d=["components"];function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}var m={},c="wrapper";function u(e){var t=e.components,n=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,d);return(0,a.mdx)(c,l({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)(s.MDXScopeProvider,{components:{TesterOverview:p.Ay},mdxType:"MDXScopeProvider"},(0,a.mdx)(p.Ay,{mdxType:"TesterOverview"})))}u.isMDXComponent=!0;const f=[i],b=[o],v={compositions:[{displayName:"Logo",identifier:"Logo"}]};return r})()));
@@ -1105,7 +1105,7 @@
1105
1105
  "_legacy": {
1106
1106
  "scope": "teambit.defender",
1107
1107
  "name": "tester",
1108
- "version": "1.0.424"
1108
+ "version": "1.0.426"
1109
1109
  },
1110
1110
  "_scope": "teambit.defender"
1111
1111
  }
@@ -1225,7 +1225,7 @@
1225
1225
  "componentId": {
1226
1226
  "scope": "teambit.component",
1227
1227
  "name": "sources",
1228
- "version": "0.0.33"
1228
+ "version": "0.0.34"
1229
1229
  }
1230
1230
  }
1231
1231
  }
@@ -2796,16 +2796,16 @@
2796
2796
  "__schema": "ParameterSchema",
2797
2797
  "location": {
2798
2798
  "filePath": "tester.ui.runtime.tsx",
2799
- "line": 19,
2800
- "character": 15
2799
+ "line": 20,
2800
+ "character": 5
2801
2801
  },
2802
2802
  "name": "component",
2803
2803
  "type": {
2804
2804
  "__schema": "TypeRefSchema",
2805
2805
  "location": {
2806
2806
  "filePath": "tester.ui.runtime.tsx",
2807
- "line": 19,
2808
- "character": 34
2807
+ "line": 20,
2808
+ "character": 24
2809
2809
  },
2810
2810
  "name": "ComponentUI",
2811
2811
  "componentId": {
@@ -2820,16 +2820,16 @@
2820
2820
  "__schema": "ParameterSchema",
2821
2821
  "location": {
2822
2822
  "filePath": "tester.ui.runtime.tsx",
2823
- "line": 19,
2824
- "character": 47
2823
+ "line": 21,
2824
+ "character": 5
2825
2825
  },
2826
2826
  "name": "emptyStateSlot",
2827
2827
  "type": {
2828
2828
  "__schema": "TypeRefSchema",
2829
2829
  "location": {
2830
2830
  "filePath": "tester.ui.runtime.tsx",
2831
- "line": 19,
2832
- "character": 71
2831
+ "line": 21,
2832
+ "character": 29
2833
2833
  },
2834
2834
  "name": "EmptyStateSlot"
2835
2835
  },
@@ -2852,14 +2852,14 @@
2852
2852
  "__schema": "FunctionLikeSchema",
2853
2853
  "location": {
2854
2854
  "filePath": "tester.ui.runtime.tsx",
2855
- "line": 24,
2855
+ "line": 27,
2856
2856
  "character": 3
2857
2857
  },
2858
2858
  "doc": {
2859
2859
  "__schema": "DocSchema",
2860
2860
  "location": {
2861
2861
  "filePath": "tester.ui.runtime.tsx",
2862
- "line": 21,
2862
+ "line": 24,
2863
2863
  "character": 3
2864
2864
  },
2865
2865
  "raw": "/**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */",
@@ -2873,7 +2873,7 @@
2873
2873
  "__schema": "ParameterSchema",
2874
2874
  "location": {
2875
2875
  "filePath": "tester.ui.runtime.tsx",
2876
- "line": 24,
2876
+ "line": 27,
2877
2877
  "character": 22
2878
2878
  },
2879
2879
  "name": "emptyStateComponent",
@@ -2881,7 +2881,7 @@
2881
2881
  "__schema": "TypeRefSchema",
2882
2882
  "location": {
2883
2883
  "filePath": "tester.ui.runtime.tsx",
2884
- "line": 24,
2884
+ "line": 27,
2885
2885
  "character": 43
2886
2886
  },
2887
2887
  "name": "ComponentType",
@@ -2895,7 +2895,7 @@
2895
2895
  "__schema": "TypeRefSchema",
2896
2896
  "location": {
2897
2897
  "filePath": "tester.ui.runtime.tsx",
2898
- "line": 24,
2898
+ "line": 27,
2899
2899
  "character": 3
2900
2900
  },
2901
2901
  "name": "TesterUI"
@@ -2906,7 +2906,7 @@
2906
2906
  "__schema": "ReactSchema",
2907
2907
  "location": {
2908
2908
  "filePath": "tester.ui.runtime.tsx",
2909
- "line": 29,
2909
+ "line": 32,
2910
2910
  "character": 3
2911
2911
  },
2912
2912
  "signature": "(method) TesterUI.getTesterCompare(): React.JSX.Element",
@@ -2915,7 +2915,7 @@
2915
2915
  "__schema": "TypeRefSchema",
2916
2916
  "location": {
2917
2917
  "filePath": "tester.ui.runtime.tsx",
2918
- "line": 29,
2918
+ "line": 32,
2919
2919
  "character": 3
2920
2920
  },
2921
2921
  "name": "React.JSX.Element",
@@ -2927,7 +2927,7 @@
2927
2927
  "__schema": "VariableLikeSchema",
2928
2928
  "location": {
2929
2929
  "filePath": "tester.ui.runtime.tsx",
2930
- "line": 33,
2930
+ "line": 36,
2931
2931
  "character": 3
2932
2932
  },
2933
2933
  "signature": "(property) TesterUI.slots: ((registerFn: () => string) => SlotRegistry<React.ComponentType>)[]",
@@ -2936,7 +2936,7 @@
2936
2936
  "__schema": "InferenceTypeSchema",
2937
2937
  "location": {
2938
2938
  "filePath": "tester.ui.runtime.tsx",
2939
- "line": 33,
2939
+ "line": 36,
2940
2940
  "character": 3
2941
2941
  },
2942
2942
  "type": "((registerFn: () => string) => SlotRegistry<React.ComponentType>)[]"
@@ -2948,7 +2948,7 @@
2948
2948
  "__schema": "FunctionLikeSchema",
2949
2949
  "location": {
2950
2950
  "filePath": "tester.ui.runtime.tsx",
2951
- "line": 35,
2951
+ "line": 38,
2952
2952
  "character": 3
2953
2953
  },
2954
2954
  "signature": "(method) TesterUI.provider([component, componentCompare]: [ComponentUI, ComponentCompareUI], config: any, [emptyStateSlot]: [EmptyStateSlot]): Promise<TesterUI>",
@@ -2958,7 +2958,7 @@
2958
2958
  "__schema": "ParameterSchema",
2959
2959
  "location": {
2960
2960
  "filePath": "tester.ui.runtime.tsx",
2961
- "line": 36,
2961
+ "line": 39,
2962
2962
  "character": 5
2963
2963
  },
2964
2964
  "name": "[ component, componentCompare ]",
@@ -2966,7 +2966,7 @@
2966
2966
  "__schema": "TupleTypeSchema",
2967
2967
  "location": {
2968
2968
  "filePath": "tester.ui.runtime.tsx",
2969
- "line": 36,
2969
+ "line": 39,
2970
2970
  "character": 36
2971
2971
  },
2972
2972
  "elements": [
@@ -2974,7 +2974,7 @@
2974
2974
  "__schema": "TypeRefSchema",
2975
2975
  "location": {
2976
2976
  "filePath": "tester.ui.runtime.tsx",
2977
- "line": 36,
2977
+ "line": 39,
2978
2978
  "character": 37
2979
2979
  },
2980
2980
  "name": "ComponentUI",
@@ -2987,7 +2987,7 @@
2987
2987
  "__schema": "TypeRefSchema",
2988
2988
  "location": {
2989
2989
  "filePath": "tester.ui.runtime.tsx",
2990
- "line": 36,
2990
+ "line": 39,
2991
2991
  "character": 50
2992
2992
  },
2993
2993
  "name": "ComponentCompareUI",
@@ -3005,7 +3005,7 @@
3005
3005
  "__schema": "ParameterSchema",
3006
3006
  "location": {
3007
3007
  "filePath": "tester.ui.runtime.tsx",
3008
- "line": 37,
3008
+ "line": 40,
3009
3009
  "character": 5
3010
3010
  },
3011
3011
  "name": "config",
@@ -3013,7 +3013,7 @@
3013
3013
  "__schema": "InferenceTypeSchema",
3014
3014
  "location": {
3015
3015
  "filePath": "tester.ui.runtime.tsx",
3016
- "line": 37,
3016
+ "line": 40,
3017
3017
  "character": 5
3018
3018
  },
3019
3019
  "type": "any"
@@ -3025,7 +3025,7 @@
3025
3025
  "__schema": "ParameterSchema",
3026
3026
  "location": {
3027
3027
  "filePath": "tester.ui.runtime.tsx",
3028
- "line": 38,
3028
+ "line": 41,
3029
3029
  "character": 5
3030
3030
  },
3031
3031
  "name": "[ emptyStateSlot ]",
@@ -3033,7 +3033,7 @@
3033
3033
  "__schema": "TupleTypeSchema",
3034
3034
  "location": {
3035
3035
  "filePath": "tester.ui.runtime.tsx",
3036
- "line": 38,
3036
+ "line": 41,
3037
3037
  "character": 23
3038
3038
  },
3039
3039
  "elements": [
@@ -3041,7 +3041,7 @@
3041
3041
  "__schema": "TypeRefSchema",
3042
3042
  "location": {
3043
3043
  "filePath": "tester.ui.runtime.tsx",
3044
- "line": 38,
3044
+ "line": 41,
3045
3045
  "character": 24
3046
3046
  },
3047
3047
  "name": "EmptyStateSlot"
@@ -3056,7 +3056,7 @@
3056
3056
  "__schema": "InferenceTypeSchema",
3057
3057
  "location": {
3058
3058
  "filePath": "tester.ui.runtime.tsx",
3059
- "line": 35,
3059
+ "line": 38,
3060
3060
  "character": 3
3061
3061
  },
3062
3062
  "type": "Promise<TesterUI>"
@@ -3527,7 +3527,7 @@
3527
3527
  "componentId": {
3528
3528
  "scope": "teambit.component",
3529
3529
  "name": "sources",
3530
- "version": "0.0.33"
3530
+ "version": "0.0.34"
3531
3531
  }
3532
3532
  }
3533
3533
  }
@@ -4228,7 +4228,7 @@
4228
4228
  "_legacy": {
4229
4229
  "scope": "teambit.defender",
4230
4230
  "name": "tester",
4231
- "version": "1.0.424"
4231
+ "version": "1.0.426"
4232
4232
  },
4233
4233
  "_scope": "teambit.defender"
4234
4234
  }
@@ -6296,16 +6296,16 @@
6296
6296
  "__schema": "ParameterSchema",
6297
6297
  "location": {
6298
6298
  "filePath": "tester.ui.runtime.tsx",
6299
- "line": 19,
6300
- "character": 15
6299
+ "line": 20,
6300
+ "character": 5
6301
6301
  },
6302
6302
  "name": "component",
6303
6303
  "type": {
6304
6304
  "__schema": "TypeRefSchema",
6305
6305
  "location": {
6306
6306
  "filePath": "tester.ui.runtime.tsx",
6307
- "line": 19,
6308
- "character": 34
6307
+ "line": 20,
6308
+ "character": 24
6309
6309
  },
6310
6310
  "name": "ComponentUI",
6311
6311
  "componentId": {
@@ -6320,16 +6320,16 @@
6320
6320
  "__schema": "ParameterSchema",
6321
6321
  "location": {
6322
6322
  "filePath": "tester.ui.runtime.tsx",
6323
- "line": 19,
6324
- "character": 47
6323
+ "line": 21,
6324
+ "character": 5
6325
6325
  },
6326
6326
  "name": "emptyStateSlot",
6327
6327
  "type": {
6328
6328
  "__schema": "TypeRefSchema",
6329
6329
  "location": {
6330
6330
  "filePath": "tester.ui.runtime.tsx",
6331
- "line": 19,
6332
- "character": 71
6331
+ "line": 21,
6332
+ "character": 29
6333
6333
  },
6334
6334
  "name": "EmptyStateSlot"
6335
6335
  },
@@ -6352,14 +6352,14 @@
6352
6352
  "__schema": "FunctionLikeSchema",
6353
6353
  "location": {
6354
6354
  "filePath": "tester.ui.runtime.tsx",
6355
- "line": 24,
6355
+ "line": 27,
6356
6356
  "character": 3
6357
6357
  },
6358
6358
  "doc": {
6359
6359
  "__schema": "DocSchema",
6360
6360
  "location": {
6361
6361
  "filePath": "tester.ui.runtime.tsx",
6362
- "line": 21,
6362
+ "line": 24,
6363
6363
  "character": 3
6364
6364
  },
6365
6365
  "raw": "/**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */",
@@ -6373,7 +6373,7 @@
6373
6373
  "__schema": "ParameterSchema",
6374
6374
  "location": {
6375
6375
  "filePath": "tester.ui.runtime.tsx",
6376
- "line": 24,
6376
+ "line": 27,
6377
6377
  "character": 22
6378
6378
  },
6379
6379
  "name": "emptyStateComponent",
@@ -6381,7 +6381,7 @@
6381
6381
  "__schema": "TypeRefSchema",
6382
6382
  "location": {
6383
6383
  "filePath": "tester.ui.runtime.tsx",
6384
- "line": 24,
6384
+ "line": 27,
6385
6385
  "character": 43
6386
6386
  },
6387
6387
  "name": "ComponentType",
@@ -6395,7 +6395,7 @@
6395
6395
  "__schema": "TypeRefSchema",
6396
6396
  "location": {
6397
6397
  "filePath": "tester.ui.runtime.tsx",
6398
- "line": 24,
6398
+ "line": 27,
6399
6399
  "character": 3
6400
6400
  },
6401
6401
  "name": "TesterUI"
@@ -6406,7 +6406,7 @@
6406
6406
  "__schema": "ReactSchema",
6407
6407
  "location": {
6408
6408
  "filePath": "tester.ui.runtime.tsx",
6409
- "line": 29,
6409
+ "line": 32,
6410
6410
  "character": 3
6411
6411
  },
6412
6412
  "signature": "(method) TesterUI.getTesterCompare(): React.JSX.Element",
@@ -6415,7 +6415,7 @@
6415
6415
  "__schema": "TypeRefSchema",
6416
6416
  "location": {
6417
6417
  "filePath": "tester.ui.runtime.tsx",
6418
- "line": 29,
6418
+ "line": 32,
6419
6419
  "character": 3
6420
6420
  },
6421
6421
  "name": "React.JSX.Element",
@@ -6427,7 +6427,7 @@
6427
6427
  "__schema": "VariableLikeSchema",
6428
6428
  "location": {
6429
6429
  "filePath": "tester.ui.runtime.tsx",
6430
- "line": 33,
6430
+ "line": 36,
6431
6431
  "character": 3
6432
6432
  },
6433
6433
  "signature": "(property) TesterUI.slots: ((registerFn: () => string) => SlotRegistry<React.ComponentType>)[]",
@@ -6436,7 +6436,7 @@
6436
6436
  "__schema": "InferenceTypeSchema",
6437
6437
  "location": {
6438
6438
  "filePath": "tester.ui.runtime.tsx",
6439
- "line": 33,
6439
+ "line": 36,
6440
6440
  "character": 3
6441
6441
  },
6442
6442
  "type": "((registerFn: () => string) => SlotRegistry<React.ComponentType>)[]"
@@ -6448,7 +6448,7 @@
6448
6448
  "__schema": "FunctionLikeSchema",
6449
6449
  "location": {
6450
6450
  "filePath": "tester.ui.runtime.tsx",
6451
- "line": 35,
6451
+ "line": 38,
6452
6452
  "character": 3
6453
6453
  },
6454
6454
  "signature": "(method) TesterUI.provider([component, componentCompare]: [ComponentUI, ComponentCompareUI], config: any, [emptyStateSlot]: [EmptyStateSlot]): Promise<TesterUI>",
@@ -6458,7 +6458,7 @@
6458
6458
  "__schema": "ParameterSchema",
6459
6459
  "location": {
6460
6460
  "filePath": "tester.ui.runtime.tsx",
6461
- "line": 36,
6461
+ "line": 39,
6462
6462
  "character": 5
6463
6463
  },
6464
6464
  "name": "[ component, componentCompare ]",
@@ -6466,7 +6466,7 @@
6466
6466
  "__schema": "TupleTypeSchema",
6467
6467
  "location": {
6468
6468
  "filePath": "tester.ui.runtime.tsx",
6469
- "line": 36,
6469
+ "line": 39,
6470
6470
  "character": 36
6471
6471
  },
6472
6472
  "elements": [
@@ -6474,7 +6474,7 @@
6474
6474
  "__schema": "TypeRefSchema",
6475
6475
  "location": {
6476
6476
  "filePath": "tester.ui.runtime.tsx",
6477
- "line": 36,
6477
+ "line": 39,
6478
6478
  "character": 37
6479
6479
  },
6480
6480
  "name": "ComponentUI",
@@ -6487,7 +6487,7 @@
6487
6487
  "__schema": "TypeRefSchema",
6488
6488
  "location": {
6489
6489
  "filePath": "tester.ui.runtime.tsx",
6490
- "line": 36,
6490
+ "line": 39,
6491
6491
  "character": 50
6492
6492
  },
6493
6493
  "name": "ComponentCompareUI",
@@ -6505,7 +6505,7 @@
6505
6505
  "__schema": "ParameterSchema",
6506
6506
  "location": {
6507
6507
  "filePath": "tester.ui.runtime.tsx",
6508
- "line": 37,
6508
+ "line": 40,
6509
6509
  "character": 5
6510
6510
  },
6511
6511
  "name": "config",
@@ -6513,7 +6513,7 @@
6513
6513
  "__schema": "InferenceTypeSchema",
6514
6514
  "location": {
6515
6515
  "filePath": "tester.ui.runtime.tsx",
6516
- "line": 37,
6516
+ "line": 40,
6517
6517
  "character": 5
6518
6518
  },
6519
6519
  "type": "any"
@@ -6525,7 +6525,7 @@
6525
6525
  "__schema": "ParameterSchema",
6526
6526
  "location": {
6527
6527
  "filePath": "tester.ui.runtime.tsx",
6528
- "line": 38,
6528
+ "line": 41,
6529
6529
  "character": 5
6530
6530
  },
6531
6531
  "name": "[ emptyStateSlot ]",
@@ -6533,7 +6533,7 @@
6533
6533
  "__schema": "TupleTypeSchema",
6534
6534
  "location": {
6535
6535
  "filePath": "tester.ui.runtime.tsx",
6536
- "line": 38,
6536
+ "line": 41,
6537
6537
  "character": 23
6538
6538
  },
6539
6539
  "elements": [
@@ -6541,7 +6541,7 @@
6541
6541
  "__schema": "TypeRefSchema",
6542
6542
  "location": {
6543
6543
  "filePath": "tester.ui.runtime.tsx",
6544
- "line": 38,
6544
+ "line": 41,
6545
6545
  "character": 24
6546
6546
  },
6547
6547
  "name": "EmptyStateSlot"
@@ -6556,7 +6556,7 @@
6556
6556
  "__schema": "InferenceTypeSchema",
6557
6557
  "location": {
6558
6558
  "filePath": "tester.ui.runtime.tsx",
6559
- "line": 35,
6559
+ "line": 38,
6560
6560
  "character": 3
6561
6561
  },
6562
6562
  "type": "Promise<TesterUI>"
@@ -6574,7 +6574,7 @@
6574
6574
  "__schema": "UnImplementedSchema",
6575
6575
  "location": {
6576
6576
  "filePath": "tester.ui.runtime.tsx",
6577
- "line": 51,
6577
+ "line": 54,
6578
6578
  "character": 16
6579
6579
  },
6580
6580
  "name": "TesterUI",
@@ -6586,7 +6586,7 @@
6586
6586
  "__schema": "UnImplementedSchema",
6587
6587
  "location": {
6588
6588
  "filePath": "tester.ui.runtime.tsx",
6589
- "line": 53,
6589
+ "line": 56,
6590
6590
  "character": 1
6591
6591
  },
6592
6592
  "name": "TesterAspect.addRuntime(TesterUI);",
@@ -6645,7 +6645,7 @@
6645
6645
  "componentId": {
6646
6646
  "scope": "teambit.defender",
6647
6647
  "name": "tester",
6648
- "version": "1.0.424"
6648
+ "version": "1.0.426"
6649
6649
  },
6650
6650
  "taggedModuleExports": []
6651
6651
  }
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.424/dist/tester.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.424/dist/tester.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.426/dist/tester.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.426/dist/tester.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_workspace","_toolboxTime","_constants","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TestCmd","constructor","tester","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","userPattern","watch","debug","all","env","scope","junit","coverage","unmodified","updateSnapshot","timer","Timer","create","scopeName","undefined","consoleWarning","start","OutsideWorkspaceError","getPatternWithScope","pattern","patternWithScope","components","getComponentsByUserInput","length","chalk","bold","code","console","cyan","off","tests","test","hasErrors","process","exitCode","seconds","stop","toString","exports"],"sources":["test.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Timer } from '@teambit/toolbox.time.timer';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport type { TesterMain } from './tester.main.runtime';\n\ntype TestFlags = {\n watch: boolean;\n debug: boolean;\n all: boolean;\n unmodified: boolean;\n env?: string;\n scope?: string;\n junit?: string;\n coverage?: boolean;\n updateSnapshot: boolean;\n};\n\nexport class TestCmd implements Command {\n name = 'test [component-pattern]';\n description = 'test components in the workspace. by default only runs tests for new and modified components';\n helpUrl = 'reference/testing/tester-overview';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\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', 'DEPRECATED. (use --unmodified)'],\n ['u', 'unmodified', '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 components assigned the given env'],\n ['', 'update-snapshot', 'if supported by the tester, re-record every snapshot that fails during the test run'],\n [\n 's',\n 'scope <scope-name>',\n 'DEPRECATED. (use the pattern instead, e.g. \"scopeName/**\"). name of the scope to test',\n ],\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 report(\n [userPattern]: [string],\n {\n watch = false,\n debug = false,\n all = false,\n env,\n scope,\n junit,\n coverage = false,\n unmodified = false,\n updateSnapshot = false,\n }: TestFlags\n ) {\n const timer = Timer.create();\n const scopeName = typeof scope === 'string' ? scope : undefined;\n if (scopeName) {\n this.logger.consoleWarning(\n `--scope is deprecated, use the pattern argument instead. e.g. \"scopeName/**\" for the entire scope`\n );\n }\n if (all) {\n unmodified = all;\n this.logger.consoleWarning(`--all is deprecated, use --unmodified instead`);\n }\n timer.start();\n if (!this.workspace) throw new OutsideWorkspaceError();\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(unmodified, patternWithScope, true);\n if (!components.length) {\n const data = chalk.bold(`no components found to test.\nuse \"--unmodified\" flag to test all components or specify the ids to test.\notherwise, only new and modified components will be tested`);\n return {\n code: 0,\n data,\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 updateSnapshot,\n });\n } else {\n const tests = await this.tester.test(components, {\n watch,\n debug,\n env,\n junit,\n coverage,\n updateSnapshot,\n });\n if (tests.hasErrors()) code = 1;\n if (process.exitCode && process.exitCode !== 0 && typeof process.exitCode === 'number') {\n // this is needed for testers such as \"vitest\", where it sets the exitCode to non zero when the coverage is not met.\n code = process.exitCode;\n }\n }\n const { seconds } = timer.stop();\n\n if (watch) return '';\n const data = `tests has been completed in ${chalk.cyan(seconds.toString())} seconds.`;\n return {\n code,\n data,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_workspace","_toolboxTime","_constants","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TestCmd","constructor","tester","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","userPattern","watch","debug","all","env","scope","junit","coverage","unmodified","updateSnapshot","timer","Timer","create","scopeName","undefined","consoleWarning","start","OutsideWorkspaceError","getPatternWithScope","pattern","patternWithScope","components","getComponentsByUserInput","length","chalk","bold","code","console","cyan","off","tests","test","hasErrors","process","exitCode","seconds","stop","toString","exports"],"sources":["test.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Timer } from '@teambit/toolbox.time.timer';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport type { TesterMain } from './tester.main.runtime';\n\ntype TestFlags = {\n watch: boolean;\n debug: boolean;\n all: boolean;\n unmodified: boolean;\n env?: string;\n scope?: string;\n junit?: string;\n coverage?: boolean;\n updateSnapshot: boolean;\n};\n\nexport class TestCmd implements Command {\n name = 'test [component-pattern]';\n description = 'test components in the workspace. by default only runs tests for new and modified components';\n helpUrl = 'reference/testing/tester-overview';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\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', 'DEPRECATED. (use --unmodified)'],\n ['u', 'unmodified', '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 components assigned the given env'],\n ['', 'update-snapshot', 'if supported by the tester, re-record every snapshot that fails during the test run'],\n [\n 's',\n 'scope <scope-name>',\n 'DEPRECATED. (use the pattern instead, e.g. \"scopeName/**\"). name of the scope to test',\n ],\n // TODO: we need to reduce this redundant casting every time.\n ] as CommandOptions;\n\n constructor(\n private tester: TesterMain,\n private workspace: Workspace,\n private logger: Logger\n ) {}\n\n async report(\n [userPattern]: [string],\n {\n watch = false,\n debug = false,\n all = false,\n env,\n scope,\n junit,\n coverage = false,\n unmodified = false,\n updateSnapshot = false,\n }: TestFlags\n ) {\n const timer = Timer.create();\n const scopeName = typeof scope === 'string' ? scope : undefined;\n if (scopeName) {\n this.logger.consoleWarning(\n `--scope is deprecated, use the pattern argument instead. e.g. \"scopeName/**\" for the entire scope`\n );\n }\n if (all) {\n unmodified = all;\n this.logger.consoleWarning(`--all is deprecated, use --unmodified instead`);\n }\n timer.start();\n if (!this.workspace) throw new OutsideWorkspaceError();\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(unmodified, patternWithScope, true);\n if (!components.length) {\n const data = chalk.bold(`no components found to test.\nuse \"--unmodified\" flag to test all components or specify the ids to test.\notherwise, only new and modified components will be tested`);\n return {\n code: 0,\n data,\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 updateSnapshot,\n });\n } else {\n const tests = await this.tester.test(components, {\n watch,\n debug,\n env,\n junit,\n coverage,\n updateSnapshot,\n });\n if (tests.hasErrors()) code = 1;\n if (process.exitCode && process.exitCode !== 0 && typeof process.exitCode === 'number') {\n // this is needed for testers such as \"vitest\", where it sets the exitCode to non zero when the coverage is not met.\n code = process.exitCode;\n }\n }\n const { seconds } = timer.stop();\n\n if (watch) return '';\n const data = `tests has been completed in ${chalk.cyan(seconds.toString())} seconds.`;\n return {\n code,\n data,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_lodash","_envs","_logger","_workspace","_graphql","_builder","_ui","_lodash2","_devFiles","_test","_tester","_tester2","_tester3","_utils","_tester4","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterMain","constructor","patterns","graphql","envs","workspace","service","task","devFiles","builder","test","components","opts","options","getOptions","envsRuntime","createEnvironment","env","runEnv","results","run","junit","generateJUnit","filePath","testsResults","map","envResult","flat","jUnit","testsResultsToJUnitFormat","compact","fs","outputFile","watch","onTestRunComplete","forEach","component","_testsResults","componentId","toString","uiWatch","list","debug","ui","getTestsResults","idHasVersion","entry","get","TesterAspect","id","isModified","getDataByAspect","tests","loading","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","skipWarnings","inInstallContext","componentPatterns","getTestsDevPatterns","name","pattern","getDevPatternToRegister","bind","getTestFiles","detectTestFiles","defaults","merge","provider","cli","loggerAspect","config","logger","createLogger","testerService","TesterService","pubsub","registerService","tester","TesterTask","registerDevPattern","registerOnStart","watchOnStart","undefined","register","TestCmd","testerSchema","exports","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","LoggerAspect","GraphqlAspect","UIAspect","DevFilesAspect","BuilderAspect","addRuntime"],"sources":["tester.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, IComponent } from '@teambit/component';\nimport compact from 'lodash.compact';\nimport { EnvsAspect, EnvsExecutionResult, EnvsMain } from '@teambit/envs';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { UiMain, UIAspect } from '@teambit/ui';\nimport { merge } from 'lodash';\nimport { DevFilesAspect, DevFilesMain } from '@teambit/dev-files';\nimport { TestsResult } from '@teambit/tests-results';\nimport { ComponentsResults, CallbackFn, Tests } from './tester';\nimport { TestCmd } from './test.cmd';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterService } from './tester.service';\nimport { TesterTask } from './tester.task';\nimport { detectTestFiles } from './utils';\nimport { testerSchema } from './tester.graphql';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\nexport type TesterExtensionConfig = {\n /**\n * regex of the text environment.\n */\n testRegex: string;\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: boolean;\n patterns: string[];\n};\n\nexport type TesterOptions = {\n /**\n * start the tester in watch mode.\n */\n watch: boolean;\n\n /**\n * start the tester in debug mode.\n */\n debug: boolean;\n\n /**\n * start the tester in debug mode.\n */\n ui?: boolean;\n\n /**\n * initiate the tester on given env.\n */\n env?: string;\n\n /**\n * generate JUnit files on the specified dir\n */\n junit?: string;\n\n /**\n * show code coverage\n */\n coverage?: boolean;\n\n /**\n * update snapshot if supported by the tester\n */\n updateSnapshot?: boolean;\n\n callback?: CallbackFn;\n};\n\nexport class TesterMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n DevFilesAspect,\n BuilderAspect,\n ];\n\n constructor(\n private patterns: string[],\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * tester service.\n */\n readonly service: TesterService,\n\n /**\n * build task.\n */\n readonly task: TesterTask,\n\n private devFiles: DevFilesMain,\n\n private builder: BuilderMain\n ) {}\n\n _testsResults: { [componentId: string]: ComponentsResults } | undefined[] = [];\n\n async test(components: Component[], opts?: TesterOptions): Promise<EnvsExecutionResult<Tests>> {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n const results = await envsRuntime.run(this.service, options);\n if (opts?.junit) {\n await this.generateJUnit(opts?.junit, results);\n }\n return results;\n }\n\n private async generateJUnit(filePath: string, testsResults: EnvsExecutionResult<Tests>) {\n const components = testsResults.results.map((envResult) => envResult.data?.components).flat();\n const jUnit = testsResultsToJUnitFormat(compact(components));\n await fs.outputFile(filePath, jUnit);\n }\n\n /**\n * watch all components for changes and test upon each.\n */\n async watch(components: Component[], opts?: TesterOptions) {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n\n this.service.onTestRunComplete((results) => {\n results.components.forEach((component) => {\n this._testsResults[component.componentId.toString()] = component;\n });\n });\n return envsRuntime.run(this.service, options);\n }\n\n async uiWatch() {\n const components = await this.workspace.list();\n return this.watch(components, { watch: true, debug: false, ui: true });\n }\n\n async getTestsResults(\n component: IComponent,\n idHasVersion = true\n ): Promise<{ testsResults?: TestsResult; loading: boolean } | undefined> {\n const entry = component.get(TesterAspect.id);\n const isModified = !idHasVersion && (await component.isModified());\n const data = this.builder.getDataByAspect(component, TesterAspect.id) as { tests: TestsResult };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false };\n }\n return this.getTestsResultsFromState(component);\n }\n\n private getTestsResultsFromState(component: IComponent) {\n const tests = this._testsResults[component.id.toString()];\n return { testsResults: tests?.results, loading: tests?.loading || false };\n }\n\n /**\n * Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)\n * @returns\n */\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return { name: 'tests', pattern: componentPatterns };\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n /**\n * get all test files of a component.\n */\n getTestFiles(component: Component) {\n return detectTestFiles(component, this.devFiles);\n }\n\n private getOptions(options?: TesterOptions): TesterOptions {\n const defaults = {\n watch: false,\n debug: false,\n };\n\n return merge(defaults, options);\n }\n\n static defaultConfig = {\n /**\n * default test regex for which files tester to apply on.\n */\n patterns: ['**/*.spec.+(js|ts|jsx|tsx)', '**/*.test.+(js|ts|jsx|tsx)'],\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: false,\n };\n\n static async provider(\n [cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder]: [\n CLIMain,\n EnvsMain,\n Workspace,\n LoggerMain,\n GraphqlMain,\n UiMain,\n DevFilesMain,\n BuilderMain\n ],\n config: TesterExtensionConfig\n ) {\n const logger = loggerAspect.createLogger(TesterAspect.id);\n const testerService = new TesterService(workspace, logger, graphql.pubsub, devFiles);\n envs.registerService(testerService);\n const tester = new TesterMain(\n config.patterns,\n graphql,\n envs,\n workspace,\n testerService,\n new TesterTask(TesterAspect.id, devFiles),\n devFiles,\n builder\n );\n devFiles.registerDevPattern(tester.getDevPatternToRegister());\n\n if (workspace) {\n ui.registerOnStart(async () => {\n if (!config.watchOnStart) return undefined;\n await tester.uiWatch();\n return undefined;\n });\n }\n cli.register(new TestCmd(tester, workspace, logger));\n\n graphql.register(testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,MAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,SAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,IAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,GAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,SAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,QAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,UAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,SAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAa,MAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,KAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,QAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,OAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,SAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,QAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,SAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,QAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,OAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,MAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,SAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,QAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,gBAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,eAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoE,SAAAC,uBAAAmB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAsD7D,MAAMgB,UAAU,CAAC;EAatBC,WAAWA,CACDC,QAAkB;EAC1B;AACJ;AACA;EACYC,OAAoB;EAE5B;AACJ;AACA;EACYC,IAAc;EAEtB;AACJ;AACA;EACYC,SAAoB;EAE5B;AACJ;AACA;EACaC,OAAsB;EAE/B;AACJ;AACA;EACaC,IAAgB,EAEjBC,QAAsB,EAEtBC,OAAoB,EAC5B;IAAA,KA7BQP,QAAkB,GAAlBA,QAAkB;IAAA,KAIlBC,OAAoB,GAApBA,OAAoB;IAAA,KAKpBC,IAAc,GAAdA,IAAc;IAAA,KAKdC,SAAoB,GAApBA,SAAoB;IAAA,KAKnBC,OAAsB,GAAtBA,OAAsB;IAAA,KAKtBC,IAAgB,GAAhBA,IAAgB;IAAA,KAEjBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,OAAoB,GAApBA,OAAoB;IAAA3B,eAAA,wBAG8C,EAAE;EAF3E;EAIH,MAAM4B,IAAIA,CAACC,UAAuB,EAAEC,IAAoB,EAAuC;IAC7F,MAAMC,OAAO,GAAG,IAAI,CAACC,UAAU,CAACF,IAAI,CAAC;IACrC,MAAMG,WAAW,GAAG,MAAM,IAAI,CAACX,IAAI,CAACY,iBAAiB,CAACL,UAAU,CAAC;IACjE,IAAIC,IAAI,EAAEK,GAAG,EAAE;MACb,OAAOF,WAAW,CAACG,MAAM,CAACN,IAAI,CAACK,GAAG,EAAE,IAAI,CAACX,OAAO,EAAEO,OAAO,CAAC;IAC5D;IACA,MAAMM,OAAO,GAAG,MAAMJ,WAAW,CAACK,GAAG,CAAC,IAAI,CAACd,OAAO,EAAEO,OAAO,CAAC;IAC5D,IAAID,IAAI,EAAES,KAAK,EAAE;MACf,MAAM,IAAI,CAACC,aAAa,CAACV,IAAI,EAAES,KAAK,EAAEF,OAAO,CAAC;IAChD;IACA,OAAOA,OAAO;EAChB;EAEA,MAAcG,aAAaA,CAACC,QAAgB,EAAEC,YAAwC,EAAE;IACtF,MAAMb,UAAU,GAAGa,YAAY,CAACL,OAAO,CAACM,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACnE,IAAI,EAAEoD,UAAU,CAAC,CAACgB,IAAI,CAAC,CAAC;IAC7F,MAAMC,KAAK,GAAG,IAAAC,2CAAyB,EAAC,IAAAC,iBAAO,EAACnB,UAAU,CAAC,CAAC;IAC5D,MAAMoB,kBAAE,CAACC,UAAU,CAACT,QAAQ,EAAEK,KAAK,CAAC;EACtC;;EAEA;AACF;AACA;EACE,MAAMK,KAAKA,CAACtB,UAAuB,EAAEC,IAAoB,EAAE;IACzD,MAAMC,OAAO,GAAG,IAAI,CAACC,UAAU,CAACF,IAAI,CAAC;IACrC,MAAMG,WAAW,GAAG,MAAM,IAAI,CAACX,IAAI,CAACY,iBAAiB,CAACL,UAAU,CAAC;IACjE,IAAIC,IAAI,EAAEK,GAAG,EAAE;MACb,OAAOF,WAAW,CAACG,MAAM,CAACN,IAAI,CAACK,GAAG,EAAE,IAAI,CAACX,OAAO,EAAEO,OAAO,CAAC;IAC5D;IAEA,IAAI,CAACP,OAAO,CAAC4B,iBAAiB,CAAEf,OAAO,IAAK;MAC1CA,OAAO,CAACR,UAAU,CAACwB,OAAO,CAAEC,SAAS,IAAK;QACxC,IAAI,CAACC,aAAa,CAACD,SAAS,CAACE,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC,GAAGH,SAAS;MAClE,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAOrB,WAAW,CAACK,GAAG,CAAC,IAAI,CAACd,OAAO,EAAEO,OAAO,CAAC;EAC/C;EAEA,MAAM2B,OAAOA,CAAA,EAAG;IACd,MAAM7B,UAAU,GAAG,MAAM,IAAI,CAACN,SAAS,CAACoC,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,CAACR,KAAK,CAACtB,UAAU,EAAE;MAAEsB,KAAK,EAAE,IAAI;MAAES,KAAK,EAAE,KAAK;MAAEC,EAAE,EAAE;IAAK,CAAC,CAAC;EACxE;EAEA,MAAMC,eAAeA,CACnBR,SAAqB,EACrBS,YAAY,GAAG,IAAI,EACoD;IACvE,MAAMC,KAAK,GAAGV,SAAS,CAACW,GAAG,CAACC,sBAAY,CAACC,EAAE,CAAC;IAC5C,MAAMC,UAAU,GAAG,CAACL,YAAY,KAAK,MAAMT,SAAS,CAACc,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM3F,IAAI,GAAG,IAAI,CAACkD,OAAO,CAAC0C,eAAe,CAACf,SAAS,EAAEY,sBAAY,CAACC,EAAE,CAA2B;IAC/F,IAAI,CAACH,KAAK,IAAIvF,IAAI,KAAK,CAAC2F,UAAU,EAAE;MAClC,OAAO;QAAE1B,YAAY,EAAEjE,IAAI,EAAE6F,KAAK,IAAIN,KAAK,EAAEvF,IAAI,CAAC6F,KAAK;QAAEC,OAAO,EAAE;MAAM,CAAC;IAC3E;IACA,OAAO,IAAI,CAACC,wBAAwB,CAAClB,SAAS,CAAC;EACjD;EAEQkB,wBAAwBA,CAAClB,SAAqB,EAAE;IACtD,MAAMgB,KAAK,GAAG,IAAI,CAACf,aAAa,CAACD,SAAS,CAACa,EAAE,CAACV,QAAQ,CAAC,CAAC,CAAC;IACzD,OAAO;MAAEf,YAAY,EAAE4B,KAAK,EAAEjC,OAAO;MAAEkC,OAAO,EAAED,KAAK,EAAEC,OAAO,IAAI;IAAM,CAAC;EAC3E;;EAEA;AACF;AACA;AACA;EACEE,WAAWA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACrD,QAAQ;EACtB;EAEAsD,uBAAuBA,CAACpB,SAAoB,EAAE;IAC5C,MAAMnB,GAAG,GAAG,IAAI,CAACb,IAAI,CAACqD,YAAY,CAACrB,SAAS,EAAE;MAAEsB,YAAY,EAAE,CAAC,CAAC,IAAI,CAACrD,SAAS,EAAEsD;IAAiB,CAAC,CAAC,CAAC1C,GAAG;IACvG,MAAM2C,iBAA2B,GAAG3C,GAAG,CAAC4C,mBAAmB,GACvD5C,GAAG,CAAC4C,mBAAmB,CAACzB,SAAS,CAAC,GAClC,IAAI,CAACmB,WAAW,CAAC,CAAC;IACtB,OAAO;MAAEO,IAAI,EAAE,OAAO;MAAEC,OAAO,EAAEH;IAAkB,CAAC;EACtD;EAEAI,uBAAuBA,CAAA,EAAG;IACxB,OAAO,IAAI,CAACR,uBAAuB,CAACS,IAAI,CAAC,IAAI,CAAC;EAChD;;EAEA;AACF;AACA;EACEC,YAAYA,CAAC9B,SAAoB,EAAE;IACjC,OAAO,IAAA+B,wBAAe,EAAC/B,SAAS,EAAE,IAAI,CAAC5B,QAAQ,CAAC;EAClD;EAEQM,UAAUA,CAACD,OAAuB,EAAiB;IACzD,MAAMuD,QAAQ,GAAG;MACfnC,KAAK,EAAE,KAAK;MACZS,KAAK,EAAE;IACT,CAAC;IAED,OAAO,IAAA2B,gBAAK,EAACD,QAAQ,EAAEvD,OAAO,CAAC;EACjC;EAcA,aAAayD,QAAQA,CACnB,CAACC,GAAG,EAAEnE,IAAI,EAAEC,SAAS,EAAEmE,YAAY,EAAErE,OAAO,EAAEwC,EAAE,EAAEnC,QAAQ,EAAEC,OAAO,CASlE,EACDgE,MAA6B,EAC7B;IACA,MAAMC,MAAM,GAAGF,YAAY,CAACG,YAAY,CAAC3B,sBAAY,CAACC,EAAE,CAAC;IACzD,MAAM2B,aAAa,GAAG,KAAIC,wBAAa,EAACxE,SAAS,EAAEqE,MAAM,EAAEvE,OAAO,CAAC2E,MAAM,EAAEtE,QAAQ,CAAC;IACpFJ,IAAI,CAAC2E,eAAe,CAACH,aAAa,CAAC;IACnC,MAAMI,MAAM,GAAG,IAAIhF,UAAU,CAC3ByE,MAAM,CAACvE,QAAQ,EACfC,OAAO,EACPC,IAAI,EACJC,SAAS,EACTuE,aAAa,EACb,KAAIK,qBAAU,EAACjC,sBAAY,CAACC,EAAE,EAAEzC,QAAQ,CAAC,EACzCA,QAAQ,EACRC,OACF,CAAC;IACDD,QAAQ,CAAC0E,kBAAkB,CAACF,MAAM,CAAChB,uBAAuB,CAAC,CAAC,CAAC;IAE7D,IAAI3D,SAAS,EAAE;MACbsC,EAAE,CAACwC,eAAe,CAAC,YAAY;QAC7B,IAAI,CAACV,MAAM,CAACW,YAAY,EAAE,OAAOC,SAAS;QAC1C,MAAML,MAAM,CAACxC,OAAO,CAAC,CAAC;QACtB,OAAO6C,SAAS;MAClB,CAAC,CAAC;IACJ;IACAd,GAAG,CAACe,QAAQ,CAAC,KAAIC,eAAO,EAACP,MAAM,EAAE3E,SAAS,EAAEqE,MAAM,CAAC,CAAC;IAEpDvE,OAAO,CAACmF,QAAQ,CAAC,IAAAE,uBAAY,EAACR,MAAM,EAAE7E,OAAO,CAAC,CAAC;IAE/C,OAAO6E,MAAM;EACf;AACF;AAACS,OAAA,CAAAzF,UAAA,GAAAA,UAAA;AAAAlB,eAAA,CApMYkB,UAAU,aACJ0F,kBAAW;AAAA5G,eAAA,CADjBkB,UAAU,kBAEC,CACpB2F,gBAAS,EACTC,kBAAU,EACVC,4BAAe,EACfC,sBAAY,EACZC,wBAAa,EACbC,cAAQ,EACRC,0BAAc,EACdC,wBAAa,CACd;AAAApH,eAAA,CAXUkB,UAAU,mBA+IE;EACrB;AACJ;AACA;EACIE,QAAQ,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;EAEtE;AACJ;AACA;EACIkF,YAAY,EAAE;AAChB,CAAC;AA6CHpC,sBAAY,CAACmD,UAAU,CAACnG,UAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_lodash","_envs","_logger","_workspace","_graphql","_builder","_ui","_lodash2","_devFiles","_test","_tester","_tester2","_tester3","_utils","_tester4","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterMain","constructor","patterns","graphql","envs","workspace","service","task","devFiles","builder","test","components","opts","options","getOptions","envsRuntime","createEnvironment","env","runEnv","results","run","junit","generateJUnit","filePath","testsResults","map","envResult","flat","jUnit","testsResultsToJUnitFormat","compact","fs","outputFile","watch","onTestRunComplete","forEach","component","_testsResults","componentId","toString","uiWatch","list","debug","ui","getTestsResults","idHasVersion","entry","get","TesterAspect","id","isModified","getDataByAspect","tests","loading","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","skipWarnings","inInstallContext","componentPatterns","getTestsDevPatterns","name","pattern","getDevPatternToRegister","bind","getTestFiles","detectTestFiles","defaults","merge","provider","cli","loggerAspect","config","logger","createLogger","testerService","TesterService","pubsub","registerService","tester","TesterTask","registerDevPattern","registerOnStart","watchOnStart","undefined","register","TestCmd","testerSchema","exports","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","LoggerAspect","GraphqlAspect","UIAspect","DevFilesAspect","BuilderAspect","addRuntime"],"sources":["tester.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, IComponent } from '@teambit/component';\nimport compact from 'lodash.compact';\nimport { EnvsAspect, EnvsExecutionResult, EnvsMain } from '@teambit/envs';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { UiMain, UIAspect } from '@teambit/ui';\nimport { merge } from 'lodash';\nimport { DevFilesAspect, DevFilesMain } from '@teambit/dev-files';\nimport { TestsResult } from '@teambit/tests-results';\nimport { ComponentsResults, CallbackFn, Tests } from './tester';\nimport { TestCmd } from './test.cmd';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterService } from './tester.service';\nimport { TesterTask } from './tester.task';\nimport { detectTestFiles } from './utils';\nimport { testerSchema } from './tester.graphql';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\nexport type TesterExtensionConfig = {\n /**\n * regex of the text environment.\n */\n testRegex: string;\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: boolean;\n patterns: string[];\n};\n\nexport type TesterOptions = {\n /**\n * start the tester in watch mode.\n */\n watch: boolean;\n\n /**\n * start the tester in debug mode.\n */\n debug: boolean;\n\n /**\n * start the tester in debug mode.\n */\n ui?: boolean;\n\n /**\n * initiate the tester on given env.\n */\n env?: string;\n\n /**\n * generate JUnit files on the specified dir\n */\n junit?: string;\n\n /**\n * show code coverage\n */\n coverage?: boolean;\n\n /**\n * update snapshot if supported by the tester\n */\n updateSnapshot?: boolean;\n\n callback?: CallbackFn;\n};\n\nexport class TesterMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n DevFilesAspect,\n BuilderAspect,\n ];\n\n constructor(\n private patterns: string[],\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * tester service.\n */\n readonly service: TesterService,\n\n /**\n * build task.\n */\n readonly task: TesterTask,\n\n private devFiles: DevFilesMain,\n\n private builder: BuilderMain\n ) {}\n\n _testsResults: { [componentId: string]: ComponentsResults } | undefined[] = [];\n\n async test(components: Component[], opts?: TesterOptions): Promise<EnvsExecutionResult<Tests>> {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n const results = await envsRuntime.run(this.service, options);\n if (opts?.junit) {\n await this.generateJUnit(opts?.junit, results);\n }\n return results;\n }\n\n private async generateJUnit(filePath: string, testsResults: EnvsExecutionResult<Tests>) {\n const components = testsResults.results.map((envResult) => envResult.data?.components).flat();\n const jUnit = testsResultsToJUnitFormat(compact(components));\n await fs.outputFile(filePath, jUnit);\n }\n\n /**\n * watch all components for changes and test upon each.\n */\n async watch(components: Component[], opts?: TesterOptions) {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n\n this.service.onTestRunComplete((results) => {\n results.components.forEach((component) => {\n this._testsResults[component.componentId.toString()] = component;\n });\n });\n return envsRuntime.run(this.service, options);\n }\n\n async uiWatch() {\n const components = await this.workspace.list();\n return this.watch(components, { watch: true, debug: false, ui: true });\n }\n\n async getTestsResults(\n component: IComponent,\n idHasVersion = true\n ): Promise<{ testsResults?: TestsResult; loading: boolean } | undefined> {\n const entry = component.get(TesterAspect.id);\n const isModified = !idHasVersion && (await component.isModified());\n const data = this.builder.getDataByAspect(component, TesterAspect.id) as { tests: TestsResult };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false };\n }\n return this.getTestsResultsFromState(component);\n }\n\n private getTestsResultsFromState(component: IComponent) {\n const tests = this._testsResults[component.id.toString()];\n return { testsResults: tests?.results, loading: tests?.loading || false };\n }\n\n /**\n * Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)\n * @returns\n */\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return { name: 'tests', pattern: componentPatterns };\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n /**\n * get all test files of a component.\n */\n getTestFiles(component: Component) {\n return detectTestFiles(component, this.devFiles);\n }\n\n private getOptions(options?: TesterOptions): TesterOptions {\n const defaults = {\n watch: false,\n debug: false,\n };\n\n return merge(defaults, options);\n }\n\n static defaultConfig = {\n /**\n * default test regex for which files tester to apply on.\n */\n patterns: ['**/*.spec.+(js|ts|jsx|tsx)', '**/*.test.+(js|ts|jsx|tsx)'],\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: false,\n };\n\n static async provider(\n [cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder]: [\n CLIMain,\n EnvsMain,\n Workspace,\n LoggerMain,\n GraphqlMain,\n UiMain,\n DevFilesMain,\n BuilderMain,\n ],\n config: TesterExtensionConfig\n ) {\n const logger = loggerAspect.createLogger(TesterAspect.id);\n const testerService = new TesterService(workspace, logger, graphql.pubsub, devFiles);\n envs.registerService(testerService);\n const tester = new TesterMain(\n config.patterns,\n graphql,\n envs,\n workspace,\n testerService,\n new TesterTask(TesterAspect.id, devFiles),\n devFiles,\n builder\n );\n devFiles.registerDevPattern(tester.getDevPatternToRegister());\n\n if (workspace) {\n ui.registerOnStart(async () => {\n if (!config.watchOnStart) return undefined;\n await tester.uiWatch();\n return undefined;\n });\n }\n cli.register(new TestCmd(tester, workspace, logger));\n\n graphql.register(testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_builder","data","require","_fsExtra","_interopRequireDefault","_path","_compiler","_component","_utils","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterTask","constructor","aspectId","devFiles","CompilerAspect","id","execute","context","components","capsuleNetwork","originalSeedersCapsules","getAllComponents","tester","env","getTester","componentsSpecFiles","ComponentMap","as","component","detectTestFiles","testCount","toArray","reduce","acc","specs","length","artifacts","componentsResults","patternsWithCapsule","componentSpecFiles","get","Error","capsule","graphCapsules","getCapsule","compiler","getCompiler","toString","distFolder","getDistDir","distDir","componentDir","join","path","paths","map","specFile","distPath","getDistPathBySrcPath","relative","specFilesWithCapsule","patternEntry","val","testerContext","assign","release","specFiles","rootPath","capsulesRootDir","patterns","testsResults","test","Promise","all","compResult","junit","testsResultsToJUnitFormat","componentId","fs","outputFile","getJUnitArtifactPath","getArtifactDef","componentTests","componentErrors","errors","metadata","tests","results","exports","CAPSULE_ARTIFACTS_DIR","name","globPatterns","rootDir"],"sources":["tester.task.ts"],"sourcesContent":["import { BuildContext, BuiltTaskResult, BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport fs from 'fs-extra';\nimport { join } from 'path';\nimport { Compiler, CompilerAspect } from '@teambit/compiler';\nimport { DevFilesMain } from '@teambit/dev-files';\nimport { ComponentMap } from '@teambit/component';\nimport { Tester } from './tester';\nimport { detectTestFiles } from './utils';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\n/**\n * tester build task. Allows to test components during component build.\n */\nexport class TesterTask implements BuildTask {\n readonly name = 'TestComponents';\n readonly dependencies = [CompilerAspect.id];\n constructor(readonly aspectId: string, private devFiles: DevFilesMain) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const components = context.capsuleNetwork.originalSeedersCapsules.getAllComponents();\n const tester: Tester = context.env.getTester();\n const componentsSpecFiles = ComponentMap.as(components, (component) => {\n return detectTestFiles(component, this.devFiles);\n });\n\n const testCount = componentsSpecFiles.toArray().reduce((acc, [, specs]) => acc + specs.length, 0);\n if (testCount === 0)\n return {\n artifacts: [],\n componentsResults: [],\n };\n\n const patternsWithCapsule = ComponentMap.as(components, (component) => {\n const componentSpecFiles = componentsSpecFiles.get(component);\n if (!componentSpecFiles) throw new Error('capsule not found');\n const [, specs] = componentSpecFiles;\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) throw new Error('capsule not found');\n const compiler: Compiler = context.env.getCompiler();\n if (!compiler) {\n throw new Error(`compiler not found for ${component.id.toString()}`);\n }\n // @ts-ignore. not sure why ts complain that compiler might be undefined, when we check it above.\n const distFolder = compiler.getDistDir() || compiler.distDir;\n return {\n componentDir: join(capsule.path, distFolder),\n paths: specs.map((specFile) => {\n const distPath = compiler.getDistPathBySrcPath(specFile.relative);\n // TODO: fix spec type file need to capsule will return files with type AbstractVinyl\n return { path: join(capsule.path, distPath), relative: distPath };\n }),\n };\n });\n\n const specFilesWithCapsule = ComponentMap.as(components, (component) => {\n const patternEntry = patternsWithCapsule.get(component);\n // @ts-ignore\n const [, val] = patternEntry;\n return val.paths;\n });\n\n const testerContext = Object.assign(context, {\n release: true,\n specFiles: specFilesWithCapsule,\n rootPath: context.capsuleNetwork.capsulesRootDir,\n patterns: patternsWithCapsule,\n });\n\n // TODO: remove after fix AbstractVinyl on capsule\n // @ts-ignore\n const testsResults = await tester.test(testerContext);\n\n // write junit files\n await Promise.all(\n testsResults.components.map(async (compResult) => {\n const junit = testsResultsToJUnitFormat([compResult]);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(compResult.componentId);\n if (!capsule) {\n throw new Error(`unable to find ${compResult.componentId.toString()} in capsules`);\n }\n await fs.outputFile(join(capsule.path, getJUnitArtifactPath()), junit);\n })\n );\n\n return {\n artifacts: getArtifactDef(), // @ts-ignore\n componentsResults: testsResults.components.map((componentTests) => {\n const componentErrors = componentTests.errors;\n const component = context.capsuleNetwork.graphCapsules.getCapsule(componentTests.componentId)?.component;\n if (!component) {\n throw new Error(`unable to find ${componentTests.componentId.toString()} in capsules`);\n }\n\n return {\n component,\n metadata: { tests: componentTests.results },\n errors: componentErrors,\n };\n }),\n };\n }\n}\n\nexport function getJUnitArtifactPath() {\n return join(CAPSULE_ARTIFACTS_DIR, '__bit_junit.xml');\n}\n\nexport function getArtifactDef() {\n return [\n {\n name: 'junit',\n globPatterns: [getJUnitArtifactPath()],\n rootDir: CAPSULE_ARTIFACTS_DIR,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_builder","data","require","_fsExtra","_interopRequireDefault","_path","_compiler","_component","_utils","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterTask","constructor","aspectId","devFiles","CompilerAspect","id","execute","context","components","capsuleNetwork","originalSeedersCapsules","getAllComponents","tester","env","getTester","componentsSpecFiles","ComponentMap","as","component","detectTestFiles","testCount","toArray","reduce","acc","specs","length","artifacts","componentsResults","patternsWithCapsule","componentSpecFiles","get","Error","capsule","graphCapsules","getCapsule","compiler","getCompiler","toString","distFolder","getDistDir","distDir","componentDir","join","path","paths","map","specFile","distPath","getDistPathBySrcPath","relative","specFilesWithCapsule","patternEntry","val","testerContext","assign","release","specFiles","rootPath","capsulesRootDir","patterns","testsResults","test","Promise","all","compResult","junit","testsResultsToJUnitFormat","componentId","fs","outputFile","getJUnitArtifactPath","getArtifactDef","componentTests","componentErrors","errors","metadata","tests","results","exports","CAPSULE_ARTIFACTS_DIR","name","globPatterns","rootDir"],"sources":["tester.task.ts"],"sourcesContent":["import { BuildContext, BuiltTaskResult, BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport fs from 'fs-extra';\nimport { join } from 'path';\nimport { Compiler, CompilerAspect } from '@teambit/compiler';\nimport { DevFilesMain } from '@teambit/dev-files';\nimport { ComponentMap } from '@teambit/component';\nimport { Tester } from './tester';\nimport { detectTestFiles } from './utils';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\n/**\n * tester build task. Allows to test components during component build.\n */\nexport class TesterTask implements BuildTask {\n readonly name = 'TestComponents';\n readonly dependencies = [CompilerAspect.id];\n constructor(\n readonly aspectId: string,\n private devFiles: DevFilesMain\n ) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const components = context.capsuleNetwork.originalSeedersCapsules.getAllComponents();\n const tester: Tester = context.env.getTester();\n const componentsSpecFiles = ComponentMap.as(components, (component) => {\n return detectTestFiles(component, this.devFiles);\n });\n\n const testCount = componentsSpecFiles.toArray().reduce((acc, [, specs]) => acc + specs.length, 0);\n if (testCount === 0)\n return {\n artifacts: [],\n componentsResults: [],\n };\n\n const patternsWithCapsule = ComponentMap.as(components, (component) => {\n const componentSpecFiles = componentsSpecFiles.get(component);\n if (!componentSpecFiles) throw new Error('capsule not found');\n const [, specs] = componentSpecFiles;\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) throw new Error('capsule not found');\n const compiler: Compiler = context.env.getCompiler();\n if (!compiler) {\n throw new Error(`compiler not found for ${component.id.toString()}`);\n }\n // @ts-ignore. not sure why ts complain that compiler might be undefined, when we check it above.\n const distFolder = compiler.getDistDir() || compiler.distDir;\n return {\n componentDir: join(capsule.path, distFolder),\n paths: specs.map((specFile) => {\n const distPath = compiler.getDistPathBySrcPath(specFile.relative);\n // TODO: fix spec type file need to capsule will return files with type AbstractVinyl\n return { path: join(capsule.path, distPath), relative: distPath };\n }),\n };\n });\n\n const specFilesWithCapsule = ComponentMap.as(components, (component) => {\n const patternEntry = patternsWithCapsule.get(component);\n // @ts-ignore\n const [, val] = patternEntry;\n return val.paths;\n });\n\n const testerContext = Object.assign(context, {\n release: true,\n specFiles: specFilesWithCapsule,\n rootPath: context.capsuleNetwork.capsulesRootDir,\n patterns: patternsWithCapsule,\n });\n\n // TODO: remove after fix AbstractVinyl on capsule\n // @ts-ignore\n const testsResults = await tester.test(testerContext);\n\n // write junit files\n await Promise.all(\n testsResults.components.map(async (compResult) => {\n const junit = testsResultsToJUnitFormat([compResult]);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(compResult.componentId);\n if (!capsule) {\n throw new Error(`unable to find ${compResult.componentId.toString()} in capsules`);\n }\n await fs.outputFile(join(capsule.path, getJUnitArtifactPath()), junit);\n })\n );\n\n return {\n artifacts: getArtifactDef(), // @ts-ignore\n componentsResults: testsResults.components.map((componentTests) => {\n const componentErrors = componentTests.errors;\n const component = context.capsuleNetwork.graphCapsules.getCapsule(componentTests.componentId)?.component;\n if (!component) {\n throw new Error(`unable to find ${componentTests.componentId.toString()} in capsules`);\n }\n\n return {\n component,\n metadata: { tests: componentTests.results },\n errors: componentErrors,\n };\n }),\n };\n }\n}\n\nexport function getJUnitArtifactPath() {\n return join(CAPSULE_ARTIFACTS_DIR, '__bit_junit.xml');\n}\n\nexport function getArtifactDef() {\n return [\n {\n name: 'junit',\n globPatterns: [getJUnitArtifactPath()],\n rootDir: CAPSULE_ARTIFACTS_DIR,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_harmony","_component","_defenderUi","_componentCompare","_defenderUi2","_tests","_tester","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","getTesterCompare","createElement","CompareTests","emptyState","provider","componentCompare","config","testerUi","section","TestsSection","testerCompareSection","TestCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","exports","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","_default","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { ComponentAspect, ComponentUI } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestCompareSection } from '@teambit/defender.ui.test-compare-section';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\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 getTesterCompare() {\n return <CompareTests emptyState={this.emptyStateSlot} />;\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 TestCompareSection(testerUi);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(testerCompareSection);\n componentCompare.registerRoutes([testerCompareSection.route]);\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_harmony","_component","_defenderUi","_componentCompare","_defenderUi2","_tests","_tester","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","getTesterCompare","createElement","CompareTests","emptyState","provider","componentCompare","config","testerUi","section","TestsSection","testerCompareSection","TestCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","exports","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","_default","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { ComponentAspect, ComponentUI } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestCompareSection } from '@teambit/defender.ui.test-compare-section';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\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(\n private component: ComponentUI,\n private emptyStateSlot: EmptyStateSlot\n ) {}\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 getTesterCompare() {\n return <CompareTests emptyState={this.emptyStateSlot} />;\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 TestCompareSection(testerUi);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(testerCompareSection);\n componentCompare.registerRoutes([testerCompareSection.route]);\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/tester",
3
- "version": "1.0.424",
3
+ "version": "1.0.426",
4
4
  "homepage": "https://bit.cloud/teambit/defender/tester",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.defender",
8
8
  "name": "tester",
9
- "version": "1.0.424"
9
+ "version": "1.0.426"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -23,19 +23,19 @@
23
23
  "@teambit/tests-results": "1.0.5",
24
24
  "@teambit/defender.ui.test-compare-section": "0.0.100",
25
25
  "@teambit/bit-error": "0.0.404",
26
- "@teambit/cli": "0.0.1001",
27
- "@teambit/logger": "0.0.1094",
26
+ "@teambit/cli": "0.0.1003",
27
+ "@teambit/logger": "0.0.1096",
28
28
  "@teambit/toolbox.time.timer": "0.0.1",
29
- "@teambit/workspace": "1.0.424",
30
- "@teambit/envs": "1.0.424",
31
- "@teambit/component": "1.0.424",
32
- "@teambit/graphql": "1.0.424",
33
- "@teambit/builder": "1.0.424",
34
- "@teambit/dev-files": "1.0.424",
35
- "@teambit/ui": "1.0.424",
36
- "@teambit/compiler": "1.0.424",
37
- "@teambit/component.sources": "0.0.33",
38
- "@teambit/component-compare": "1.0.424",
29
+ "@teambit/workspace": "1.0.426",
30
+ "@teambit/envs": "1.0.426",
31
+ "@teambit/component": "1.0.426",
32
+ "@teambit/graphql": "1.0.426",
33
+ "@teambit/builder": "1.0.426",
34
+ "@teambit/dev-files": "1.0.426",
35
+ "@teambit/ui": "1.0.426",
36
+ "@teambit/compiler": "1.0.426",
37
+ "@teambit/component.sources": "0.0.34",
38
+ "@teambit/component-compare": "1.0.426",
39
39
  "@teambit/defender.ui.test-compare": "0.0.268",
40
40
  "@teambit/defender.ui.test-page": "0.0.46"
41
41
  },
@@ -16,7 +16,10 @@ export class TesterUI {
16
16
 
17
17
  stageKey?: string;
18
18
 
19
- constructor(private component: ComponentUI, private emptyStateSlot: EmptyStateSlot) {}
19
+ constructor(
20
+ private component: ComponentUI,
21
+ private emptyStateSlot: EmptyStateSlot
22
+ ) {}
20
23
 
21
24
  /**
22
25
  * register a new tester empty state. this allows to register a different empty state from each environment for example.