@teambit/compiler 1.0.332 → 1.0.333

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.compilation/compiler@1.0.332" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.compilation/compiler@1.0.333" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["teambit.compilation/compiler-preview"]=n():e["teambit.compilation/compiler-preview"]=n()}(self,(()=>(()=>{"use strict";var e={50332:(e,n,t)=>{var o={id:"teambit.compilation/content/compiler-overview@1.95.0",homepage:"https://bit.dev/teambit/compilation/content/compiler-overview",exported:!0};Object.defineProperty(n,"__esModule",{value:!0}),n.default=u,p(t(41594));var i=t(5016),r=t(65682),a=["components"];function p(e){return e&&e.__esModule?e:{default:e}}function m(){return m=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},m.apply(this,arguments)}function l(e,n){if(null==e)return{};var t,o,i=d(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function d(e,n){if(null==e)return{};var t,o,i={},r=Object.keys(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}p.__bit_component=o,m.__bit_component=o,l.__bit_component=o,d.__bit_component=o;var c={},s="wrapper";function u(e){var n=e.components,t=l(e,a);return(0,i.mdx)(s,m({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)(r.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,i.mdx)("h1",null,"Compiler overview"),(0,i.mdx)("p",null,"The Compiler aspect provides a single interface for Component compilation, ",(0,i.mdx)("a",{parentName:"p",href:"/"},"during development")," and ",(0,i.mdx)("a",{parentName:"p",href:"/"},"during build"),".\nIt enables you to use the same commands and APIs to compile any Component, regardless of the specific compiler it uses."),(0,i.mdx)("div",{className:"admonition admonition-info alert alert--info"},(0,i.mdx)("div",{parentName:"div",className:"admonition-heading"},(0,i.mdx)("h5",{parentName:"div"},(0,i.mdx)("span",{parentName:"h5",className:"admonition-icon"},(0,i.mdx)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"},(0,i.mdx)("path",{parentName:"svg",fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))),"info")),(0,i.mdx)("div",{parentName:"div",className:"admonition-content"},(0,i.mdx)("p",{parentName:"div"},"The specific compiler used by a Component (",(0,i.mdx)("a",{parentName:"p",href:"/"},"Babel"),", ",(0,i.mdx)("a",{parentName:"p",href:"/"},"TypeScript"),", and so on) is set by the Component's Env."))),(0,i.mdx)("h2",null,"Compiling during development"),(0,i.mdx)("p",null,"Run the following to compile all your Workspace Components:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},"bit compile\n")),(0,i.mdx)("p",null,"The following output lists the compilation results in a single format:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"}," STATUS COMPONENT ID\n✔ SUCCESS apps/bit-dev\n✔ SUCCESS blocks/component/architecture-breakdown\n✔ SUCCESS blocks/footer\n✔ SUCCESS blocks/header\n✔ SUCCESS buttons/button\n✔ SUCCESS content/adding-components\n")),(0,i.mdx)("p",null,"To 'watch' Components for changes, and to auto-compile modified Components, run:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"bit watch\n")),(0,i.mdx)("p",null,"The compiled code is written into each Component's corresponding package, in the ",(0,i.mdx)("a",{parentName:"p",href:"/dependencies/node-modules"},(0,i.mdx)("inlineCode",{parentName:"a"},"node_modules")," directory")," of your workspace.\nFor example, the compiled code for ",(0,i.mdx)("inlineCode",{parentName:"p"},"company.scope/ui/text")," will be found in the ",(0,i.mdx)("inlineCode",{parentName:"p"},"./node_modules/@company/scope.ui.text/dist")," directory (inside your workspace)."),(0,i.mdx)("p",null,"To learn more about compilation in the Workspace, see ",(0,i.mdx)("a",{parentName:"p",href:"/"},"'Compiling during development'"),"."),(0,i.mdx)("h2",null,"Compiling during build"),(0,i.mdx)("p",null,"Run the following to compile Components as part of the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"build pipeline")," (which prepares Components for distribution):"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},"bit build\n")),(0,i.mdx)("p",null,"The output to the terminal details the specific compilers being used, as well as the Envs that use them:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},'...\n✔ env "teambit.harmony/aspect", task "teambit.compilation/compiler:BabelCompiler (compile components for artifact dist)" has completed successfully in 363ms\n✔ env "teambit.react/react", task "teambit.compilation/compiler:TSCompiler (compile components for artifact dist)" has completed successfully in 1s\n✔ env "teambit.mdx/mdx", task "teambit.compilation/compiler:MDXCompiler (compile components)" has completed successfully in 879ms\n...\nthe build has been completed. total: 19 tasks\n')),(0,i.mdx)("p",null,"The compiled code is written into the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"Component's Capsule"),". Run ",(0,i.mdx)("a",{parentName:"p",href:"/"},(0,i.mdx)("inlineCode",{parentName:"a"},"bit snap"))," or ",(0,i.mdx)("a",{parentName:"p",href:"/"},(0,i.mdx)("inlineCode",{parentName:"a"},"bit tag"))," to execute the build pipeline (as well as other pipelines), and have the compiled code persisted in the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"Component version"),", and included in the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"Component's package"),"."),(0,i.mdx)("p",null,"To learn more about compilation in the Workspace, see ",(0,i.mdx)("a",{parentName:"p",href:"/"},"'Compiling during build'"),"."),(0,i.mdx)("h2",null,"Compilation strategies and standards"),(0,i.mdx)("p",null,"The Compiler aspect does not set specific compilation strategies as these are defined by the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"specific compilers")," themselves (and are often configurable by the Envs that use them)."),(0,i.mdx)("p",null,"However, all official Bit compilers are configured to favor dev experience when compiling during development, and to favor runtime performance and code universality, when compiling for distribution (during build)."),(0,i.mdx)("p",null,"For example, Bit's ",(0,i.mdx)("a",{parentName:"p",href:"/"},"TypeScript compiler")," performs type-checking when compiling during build but skips it when compiling during development.\nThis enables faster compilation and better dev experience."),(0,i.mdx)("p",null,"To examine a Component's specific compiler config, run the following:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"bit env get COMPONENT_ID\n")),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"bit env get company.demo/ui/card\n")),(0,i.mdx)("p",null,"The output details the Component's env config which includes the compiler config:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},'Environment: teambit.react/react\n...\nteambit.compilation/compiler\n\nconfigured compiler: teambit.typescript/typescript (TypeScript @ 4.4.2)\ncompiler config:\n{\n "compilerOptions": {\n "lib": [\n "es2019",\n "DOM",\n "ES6",\n "DOM.Iterable"\n ],\n "target": "es2015",\n "module": "commonjs",\n "jsx": "react",\n "declaration": true,\n "sourceMap": true,\n "skipLibCheck": true,\n "moduleResolution": "node",\n "esModuleInterop": true,\n "resolveJsonModule": true,\n "outDir": "dist"\n },\n "exclude": [\n "dist"\n ]\n}\n\n')),(0,i.mdx)("h2",null,"Setting a Component with a specific compiler"),(0,i.mdx)("p",null,"Specific compilers are applied on Components via the Components' Envs. For example, the ",(0,i.mdx)("inlineCode",{parentName:"p"},"company.demo/ui/card")," Component examined earlier, is applied with\nthe ",(0,i.mdx)("a",{parentName:"p",href:"/"},"TypeScript")," compiler by its Env, the React Env."),(0,i.mdx)("p",null,"To learn how to use a specific compiler, see ",(0,i.mdx)("a",{parentName:"p",href:"/"},"'Using compilers'"),".")))}u.__bit_component=o,u.isMDXComponent=!0},80686:(e,n,t)=>{Object.defineProperty(n,"Ay",{enumerable:!0,get:function(){return o.default}});var o=i(t(50332));function i(e){return e&&e.__esModule?e:{default:e}}i.__bit_component={id:"teambit.compilation/content/compiler-overview@1.95.0",homepage:"https://bit.dev/teambit/compilation/content/compiler-overview",exported:!0}},71683:(e,n,t)=>{var o={id:"teambit.compilation/compiler@1.0.332",homepage:"https://bit.cloud/teambit/compilation/compiler",exported:!0};function i(){const e=r(t(41594));return i=function(){return e},e}function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.Logo=void 0,i.__bit_component=o,r.__bit_component=o;const a=()=>i().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},i().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/compiler.svg"}));a.__bit_component=o,n.Logo=a},5016:e=>{e.exports=MdxJsReact},41594:e=>{e.exports=React},65682:e=>{e.exports=TeambitMdxUiMdxScopeContext}},n={};function t(o){var i=n[o];if(void 0!==i)return i.exports;var r=n[o]={exports:{}};return e[o](r,r.exports,t),r.exports}t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};t.r(o),t.d(o,{compositions:()=>f,compositions_metadata:()=>x,overview:()=>h});var i={};t.r(i),t.d(i,{default:()=>u});var r=t(71683),a=(t(41594),t(5016)),p=t(65682),m=t(80686),l=["components"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},d.apply(null,arguments)}var c={},s="wrapper";function u(e){var n=e.components,t=function(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(n.indexOf(o)>=0)continue;t[o]=e[o]}return t}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||{}.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(e,l);return(0,a.mdx)(s,d({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)(p.MDXScopeProvider,{components:{CompilerOverview:m.Ay},mdxType:"MDXScopeProvider"},(0,a.mdx)(m.Ay,{mdxType:"CompilerOverview"})))}u.isMDXComponent=!0;const f=[r],h=[i],x={compositions:[{displayName:"Logo",identifier:"Logo"}]};return o})()));
1
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["teambit.compilation/compiler-preview"]=n():e["teambit.compilation/compiler-preview"]=n()}(self,(()=>(()=>{"use strict";var e={50332:(e,n,t)=>{var o={id:"teambit.compilation/content/compiler-overview@1.95.0",homepage:"https://bit.dev/teambit/compilation/content/compiler-overview",exported:!0};Object.defineProperty(n,"__esModule",{value:!0}),n.default=u,p(t(41594));var i=t(5016),r=t(65682),a=["components"];function p(e){return e&&e.__esModule?e:{default:e}}function m(){return m=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},m.apply(this,arguments)}function l(e,n){if(null==e)return{};var t,o,i=d(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function d(e,n){if(null==e)return{};var t,o,i={},r=Object.keys(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}p.__bit_component=o,m.__bit_component=o,l.__bit_component=o,d.__bit_component=o;var c={},s="wrapper";function u(e){var n=e.components,t=l(e,a);return(0,i.mdx)(s,m({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)(r.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,i.mdx)("h1",null,"Compiler overview"),(0,i.mdx)("p",null,"The Compiler aspect provides a single interface for Component compilation, ",(0,i.mdx)("a",{parentName:"p",href:"/"},"during development")," and ",(0,i.mdx)("a",{parentName:"p",href:"/"},"during build"),".\nIt enables you to use the same commands and APIs to compile any Component, regardless of the specific compiler it uses."),(0,i.mdx)("div",{className:"admonition admonition-info alert alert--info"},(0,i.mdx)("div",{parentName:"div",className:"admonition-heading"},(0,i.mdx)("h5",{parentName:"div"},(0,i.mdx)("span",{parentName:"h5",className:"admonition-icon"},(0,i.mdx)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"},(0,i.mdx)("path",{parentName:"svg",fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))),"info")),(0,i.mdx)("div",{parentName:"div",className:"admonition-content"},(0,i.mdx)("p",{parentName:"div"},"The specific compiler used by a Component (",(0,i.mdx)("a",{parentName:"p",href:"/"},"Babel"),", ",(0,i.mdx)("a",{parentName:"p",href:"/"},"TypeScript"),", and so on) is set by the Component's Env."))),(0,i.mdx)("h2",null,"Compiling during development"),(0,i.mdx)("p",null,"Run the following to compile all your Workspace Components:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},"bit compile\n")),(0,i.mdx)("p",null,"The following output lists the compilation results in a single format:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"}," STATUS COMPONENT ID\n✔ SUCCESS apps/bit-dev\n✔ SUCCESS blocks/component/architecture-breakdown\n✔ SUCCESS blocks/footer\n✔ SUCCESS blocks/header\n✔ SUCCESS buttons/button\n✔ SUCCESS content/adding-components\n")),(0,i.mdx)("p",null,"To 'watch' Components for changes, and to auto-compile modified Components, run:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"bit watch\n")),(0,i.mdx)("p",null,"The compiled code is written into each Component's corresponding package, in the ",(0,i.mdx)("a",{parentName:"p",href:"/dependencies/node-modules"},(0,i.mdx)("inlineCode",{parentName:"a"},"node_modules")," directory")," of your workspace.\nFor example, the compiled code for ",(0,i.mdx)("inlineCode",{parentName:"p"},"company.scope/ui/text")," will be found in the ",(0,i.mdx)("inlineCode",{parentName:"p"},"./node_modules/@company/scope.ui.text/dist")," directory (inside your workspace)."),(0,i.mdx)("p",null,"To learn more about compilation in the Workspace, see ",(0,i.mdx)("a",{parentName:"p",href:"/"},"'Compiling during development'"),"."),(0,i.mdx)("h2",null,"Compiling during build"),(0,i.mdx)("p",null,"Run the following to compile Components as part of the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"build pipeline")," (which prepares Components for distribution):"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},"bit build\n")),(0,i.mdx)("p",null,"The output to the terminal details the specific compilers being used, as well as the Envs that use them:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},'...\n✔ env "teambit.harmony/aspect", task "teambit.compilation/compiler:BabelCompiler (compile components for artifact dist)" has completed successfully in 363ms\n✔ env "teambit.react/react", task "teambit.compilation/compiler:TSCompiler (compile components for artifact dist)" has completed successfully in 1s\n✔ env "teambit.mdx/mdx", task "teambit.compilation/compiler:MDXCompiler (compile components)" has completed successfully in 879ms\n...\nthe build has been completed. total: 19 tasks\n')),(0,i.mdx)("p",null,"The compiled code is written into the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"Component's Capsule"),". Run ",(0,i.mdx)("a",{parentName:"p",href:"/"},(0,i.mdx)("inlineCode",{parentName:"a"},"bit snap"))," or ",(0,i.mdx)("a",{parentName:"p",href:"/"},(0,i.mdx)("inlineCode",{parentName:"a"},"bit tag"))," to execute the build pipeline (as well as other pipelines), and have the compiled code persisted in the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"Component version"),", and included in the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"Component's package"),"."),(0,i.mdx)("p",null,"To learn more about compilation in the Workspace, see ",(0,i.mdx)("a",{parentName:"p",href:"/"},"'Compiling during build'"),"."),(0,i.mdx)("h2",null,"Compilation strategies and standards"),(0,i.mdx)("p",null,"The Compiler aspect does not set specific compilation strategies as these are defined by the ",(0,i.mdx)("a",{parentName:"p",href:"/"},"specific compilers")," themselves (and are often configurable by the Envs that use them)."),(0,i.mdx)("p",null,"However, all official Bit compilers are configured to favor dev experience when compiling during development, and to favor runtime performance and code universality, when compiling for distribution (during build)."),(0,i.mdx)("p",null,"For example, Bit's ",(0,i.mdx)("a",{parentName:"p",href:"/"},"TypeScript compiler")," performs type-checking when compiling during build but skips it when compiling during development.\nThis enables faster compilation and better dev experience."),(0,i.mdx)("p",null,"To examine a Component's specific compiler config, run the following:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"bit env get COMPONENT_ID\n")),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"bit env get company.demo/ui/card\n")),(0,i.mdx)("p",null,"The output details the Component's env config which includes the compiler config:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-bash"},'Environment: teambit.react/react\n...\nteambit.compilation/compiler\n\nconfigured compiler: teambit.typescript/typescript (TypeScript @ 4.4.2)\ncompiler config:\n{\n "compilerOptions": {\n "lib": [\n "es2019",\n "DOM",\n "ES6",\n "DOM.Iterable"\n ],\n "target": "es2015",\n "module": "commonjs",\n "jsx": "react",\n "declaration": true,\n "sourceMap": true,\n "skipLibCheck": true,\n "moduleResolution": "node",\n "esModuleInterop": true,\n "resolveJsonModule": true,\n "outDir": "dist"\n },\n "exclude": [\n "dist"\n ]\n}\n\n')),(0,i.mdx)("h2",null,"Setting a Component with a specific compiler"),(0,i.mdx)("p",null,"Specific compilers are applied on Components via the Components' Envs. For example, the ",(0,i.mdx)("inlineCode",{parentName:"p"},"company.demo/ui/card")," Component examined earlier, is applied with\nthe ",(0,i.mdx)("a",{parentName:"p",href:"/"},"TypeScript")," compiler by its Env, the React Env."),(0,i.mdx)("p",null,"To learn how to use a specific compiler, see ",(0,i.mdx)("a",{parentName:"p",href:"/"},"'Using compilers'"),".")))}u.__bit_component=o,u.isMDXComponent=!0},80686:(e,n,t)=>{Object.defineProperty(n,"Ay",{enumerable:!0,get:function(){return o.default}});var o=i(t(50332));function i(e){return e&&e.__esModule?e:{default:e}}i.__bit_component={id:"teambit.compilation/content/compiler-overview@1.95.0",homepage:"https://bit.dev/teambit/compilation/content/compiler-overview",exported:!0}},87200:(e,n,t)=>{var o={id:"teambit.compilation/compiler@1.0.333",homepage:"https://bit.cloud/teambit/compilation/compiler",exported:!0};function i(){const e=r(t(41594));return i=function(){return e},e}function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.Logo=void 0,i.__bit_component=o,r.__bit_component=o;const a=()=>i().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},i().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/compiler.svg"}));a.__bit_component=o,n.Logo=a},5016:e=>{e.exports=MdxJsReact},41594:e=>{e.exports=React},65682:e=>{e.exports=TeambitMdxUiMdxScopeContext}},n={};function t(o){var i=n[o];if(void 0!==i)return i.exports;var r=n[o]={exports:{}};return e[o](r,r.exports,t),r.exports}t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};t.r(o),t.d(o,{compositions:()=>f,compositions_metadata:()=>x,overview:()=>h});var i={};t.r(i),t.d(i,{default:()=>u});var r=t(87200),a=(t(41594),t(5016)),p=t(65682),m=t(80686),l=["components"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},d.apply(null,arguments)}var c={},s="wrapper";function u(e){var n=e.components,t=function(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(n.indexOf(o)>=0)continue;t[o]=e[o]}return t}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||{}.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(e,l);return(0,a.mdx)(s,d({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)(p.MDXScopeProvider,{components:{CompilerOverview:m.Ay},mdxType:"MDXScopeProvider"},(0,a.mdx)(m.Ay,{mdxType:"CompilerOverview"})))}u.isMDXComponent=!0;const f=[r],h=[i],x={compositions:[{displayName:"Logo",identifier:"Logo"}]};return o})()));
@@ -1614,7 +1614,7 @@
1614
1614
  "_legacy": {
1615
1615
  "scope": "teambit.compilation",
1616
1616
  "name": "compiler",
1617
- "version": "1.0.332"
1617
+ "version": "1.0.333"
1618
1618
  },
1619
1619
  "_scope": "teambit.compilation"
1620
1620
  }
@@ -2867,7 +2867,7 @@
2867
2867
  "_legacy": {
2868
2868
  "scope": "teambit.compilation",
2869
2869
  "name": "compiler",
2870
- "version": "1.0.332"
2870
+ "version": "1.0.333"
2871
2871
  },
2872
2872
  "_scope": "teambit.compilation"
2873
2873
  }
@@ -3494,7 +3494,7 @@
3494
3494
  "_legacy": {
3495
3495
  "scope": "teambit.compilation",
3496
3496
  "name": "compiler",
3497
- "version": "1.0.332"
3497
+ "version": "1.0.333"
3498
3498
  },
3499
3499
  "_scope": "teambit.compilation"
3500
3500
  }
@@ -5122,7 +5122,7 @@
5122
5122
  "_legacy": {
5123
5123
  "scope": "teambit.compilation",
5124
5124
  "name": "compiler",
5125
- "version": "1.0.332"
5125
+ "version": "1.0.333"
5126
5126
  },
5127
5127
  "_scope": "teambit.compilation"
5128
5128
  }
@@ -6818,7 +6818,7 @@
6818
6818
  "_legacy": {
6819
6819
  "scope": "teambit.compilation",
6820
6820
  "name": "compiler",
6821
- "version": "1.0.332"
6821
+ "version": "1.0.333"
6822
6822
  },
6823
6823
  "_scope": "teambit.compilation"
6824
6824
  }
@@ -6964,7 +6964,7 @@
6964
6964
  "_legacy": {
6965
6965
  "scope": "teambit.compilation",
6966
6966
  "name": "compiler",
6967
- "version": "1.0.332"
6967
+ "version": "1.0.333"
6968
6968
  },
6969
6969
  "_scope": "teambit.compilation"
6970
6970
  }
@@ -7037,7 +7037,7 @@
7037
7037
  "componentId": {
7038
7038
  "scope": "teambit.compilation",
7039
7039
  "name": "compiler",
7040
- "version": "1.0.332"
7040
+ "version": "1.0.333"
7041
7041
  },
7042
7042
  "taggedModuleExports": []
7043
7043
  }
@@ -1,4 +1,4 @@
1
- import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
1
+ import { AbstractVinyl } from '@teambit/component.sources';
2
2
  export declare class DistArtifact {
3
3
  private artifacts;
4
4
  constructor(artifacts: AbstractVinyl[]);
@@ -1 +1 @@
1
- {"version":3,"names":["_toolboxPath","data","require","DistArtifact","constructor","artifacts","getFile","path","find","file","pathNormalizeToLinux","relative","exports"],"sources":["dist-artifact.ts"],"sourcesContent":["import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { pathNormalizeToLinux } from '@teambit/toolbox.path.path';\n\nexport class DistArtifact {\n constructor(private artifacts: AbstractVinyl[]) {}\n\n getFile(path: string) {\n return this.artifacts.find((file) => {\n return pathNormalizeToLinux(file.relative) === path;\n });\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,YAAY,CAAC;EACxBC,WAAWA,CAASC,SAA0B,EAAE;IAAA,KAA5BA,SAA0B,GAA1BA,SAA0B;EAAG;EAEjDC,OAAOA,CAACC,IAAY,EAAE;IACpB,OAAO,IAAI,CAACF,SAAS,CAACG,IAAI,CAAEC,IAAI,IAAK;MACnC,OAAO,IAAAC,mCAAoB,EAACD,IAAI,CAACE,QAAQ,CAAC,KAAKJ,IAAI;IACrD,CAAC,CAAC;EACJ;AACF;AAACK,OAAA,CAAAT,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_toolboxPath","data","require","DistArtifact","constructor","artifacts","getFile","path","find","file","pathNormalizeToLinux","relative","exports"],"sources":["dist-artifact.ts"],"sourcesContent":["import { AbstractVinyl } from '@teambit/component.sources';\nimport { pathNormalizeToLinux } from '@teambit/toolbox.path.path';\n\nexport class DistArtifact {\n constructor(private artifacts: AbstractVinyl[]) {}\n\n getFile(path: string) {\n return this.artifacts.find((file) => {\n return pathNormalizeToLinux(file.relative) === path;\n });\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,YAAY,CAAC;EACxBC,WAAWA,CAASC,SAA0B,EAAE;IAAA,KAA5BA,SAA0B,GAA1BA,SAA0B;EAAG;EAEjDC,OAAOA,CAACC,IAAY,EAAE;IACpB,OAAO,IAAI,CAACF,SAAS,CAACG,IAAI,CAAEC,IAAI,IAAK;MACnC,OAAO,IAAAC,mCAAoB,EAACD,IAAI,CAACE,QAAQ,CAAC,KAAKJ,IAAI;IACrD,CAAC,CAAC;EACJ;AACF;AAACK,OAAA,CAAAT,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.332/dist/compiler.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.332/dist/compiler.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.333/dist/compiler.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.compilation_compiler@1.0.333/dist/compiler.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -6,7 +6,7 @@ import type { WorkspaceComponentLoadOptions } from '@teambit/workspace';
6
6
  import { WatcherMain, WatchOptions } from '@teambit/watcher';
7
7
  import { ComponentID } from '@teambit/component-id';
8
8
  import { Logger } from '@teambit/logger';
9
- import { Dist } from '@teambit/legacy/dist/consumer/component/sources';
9
+ import { Dist } from '@teambit/component.sources';
10
10
  import { AspectLoaderMain } from '@teambit/aspect-loader';
11
11
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
12
12
  import { UiMain } from '@teambit/ui';
@@ -53,16 +53,9 @@ function _constants() {
53
53
  };
54
54
  return data;
55
55
  }
56
- function _sources() {
57
- const data = require("@teambit/legacy/dist/consumer/component/sources");
58
- _sources = function () {
59
- return data;
60
- };
61
- return data;
62
- }
63
- function _dataToPersist() {
64
- const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/sources/data-to-persist"));
65
- _dataToPersist = function () {
56
+ function _component() {
57
+ const data = require("@teambit/component.sources");
58
+ _component = function () {
66
59
  return data;
67
60
  };
68
61
  return data;
@@ -81,13 +74,6 @@ function _pkgModules() {
81
74
  };
82
75
  return data;
83
76
  }
84
- function _removePath() {
85
- const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/sources/remove-path"));
86
- _removePath = function () {
87
- return data;
88
- };
89
- return data;
90
- }
91
77
  function _bitRoots() {
92
78
  const data = require("@teambit/bit-roots");
93
79
  _bitRoots = function () {
@@ -144,9 +130,9 @@ class ComponentCompiler {
144
130
  const distDirs = await this.distDirs();
145
131
  // delete dist folder before transpilation (because some compilers (like ngPackagr) can generate files there during the compilation process)
146
132
  if (deleteDistDir) {
147
- dataToPersist = new (_dataToPersist().default)();
133
+ dataToPersist = new (_component().DataToPersist)();
148
134
  for (const distDir of distDirs) {
149
- dataToPersist.removePath(new (_removePath().default)(distDir));
135
+ dataToPersist.removePath(new (_component().RemovePath)(distDir));
150
136
  }
151
137
  dataToPersist.addBasePath(this.workspace.path);
152
138
  await dataToPersist.persistAllToFS();
@@ -167,7 +153,7 @@ class ComponentCompiler {
167
153
 
168
154
  // writing the dists with `component.setDists(dists); component.dists.writeDists` is tricky
169
155
  // as it uses other base-paths and doesn't respect the new node-modules base path.
170
- dataToPersist = new (_dataToPersist().default)();
156
+ dataToPersist = new (_component().DataToPersist)();
171
157
  dataToPersist.addManyFiles(this.dists);
172
158
  dataToPersist.addBasePath(this.workspace.path);
173
159
  await dataToPersist.persistAllToFS();
@@ -231,14 +217,14 @@ ${this.compileErrors.map(formatError).join('\n')}`);
231
217
  }
232
218
  for (const base of distDirs) {
233
219
  if (isFileSupported && compileResults) {
234
- this.dists.push(...compileResults.map(result => new (_sources().Dist)({
220
+ this.dists.push(...compileResults.map(result => new (_component().Dist)({
235
221
  base,
236
222
  path: _path().default.join(base, result.outputPath),
237
223
  contents: Buffer.from(result.outputText)
238
224
  })));
239
225
  } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {
240
226
  // compiler doesn't support this file type. copy the file as is to the dist dir.
241
- this.dists.push(new (_sources().Dist)({
227
+ this.dists.push(new (_component().Dist)({
242
228
  base,
243
229
  path: _path().default.join(base, file.relative),
244
230
  contents: file.contents
@@ -255,7 +241,7 @@ ${this.compileErrors.map(formatError).join('\n')}`);
255
241
  filesToCompile.push(file);
256
242
  } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {
257
243
  // compiler doesn't support this file type. copy the file as is to the dist dir.
258
- this.dists.push(new (_sources().Dist)({
244
+ this.dists.push(new (_component().Dist)({
259
245
  base,
260
246
  path: _path().default.join(base, file.relative),
261
247
  contents: file.contents
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_workspace","_path","_chalk","_logger","_loader","_constants","_sources","_dataToPersist","_workspaceModules","_pkgModules","_removePath","_bitRoots","_lodash","_compiler","_events","_types","e","__esModule","default","ComponentCompiler","constructor","pubsub","workspace","component","compilerInstance","compilerId","logger","dependencyResolver","dists","compileErrors","compile","noThrow","options","dataToPersist","deleteDistDir","distDirs","DataToPersist","distDir","removePath","RemovePath","addBasePath","path","persistAllToFS","compilers","canTranspileFile","find","c","transpileFile","canTranspileComponent","transpileComponent","Promise","all","filesystem","files","map","file","compileOneFile","initiator","compileAllFiles","Error","toString","throwOnCompileErrors","addManyFiles","buildResults","distFile","state","_consumer","compiler","loader","succeed","id","errors","length","forEach","errorItem","error","formatError","err","join","pub","CompilerAspect","CompilerErrorEvent","console","message","packageName","componentIdToPackageName","packageDir","distDirName","getDistDir","DEFAULT_DIST_DIRNAME","injectedDirs","getInjectedDirs","dist","rootDirs","readBitRootsDir","rootDir","relative","componentDir","filePath","isFileSupported","compileResults","contents","push","base","result","Dist","outputPath","Buffer","from","outputText","shouldCopyNonSupportedFiles","filesToCompile","outputDir","getComponentPackagePath","exports","WorkspaceCompiler","envs","aspectLoader","ui","watcher","registerOnComponentChange","onComponentChange","bind","registerOnComponentAdd","onComponentAdd","registerOnPreWatch","onPreWatch","registerPreStart","onPreStart","registerOnAspectLoadErrorSlot","onAspectLoadFail","preStartOpts","skipCompilation","compileComponents","changed","verbose","CompilationInitiator","PreStart","watchScopeInternalFiles","code","AspectLoadFail","watchOpts","undefined","removedFiles","Boolean","removeLinksFromNodeModules","ComponentChanged","results","formatCompileResults","componentIds","preCompile","start","Date","now","PreWatch","end","consoleSuccess","componentsIds","componentLoadOptions","OutsideWorkspaceError","getIdsToCompile","loadSeedersAsAspects","components","getMany","grouped","groupByIsEnv","envsResults","runCompileComponents","otherResults","other","linkComponents","linkToNodeModulesByComponents","componentsCompilers","environment","getEnv","env","getCompiler","compilerName","name","warn","resultOnWorkspace","mapSeries","componentCompiler","envsIds","uniq","getEnvId","filter","envId","isCoreEnv","groupBy","includes","resolveMultipleComponentIds","filterIds","getNewAndModifiedIds","listIds","buildResult","title","chalk","underline","verboseComponentFilesArrayToString","Logger","successSymbol"],"sources":["workspace-compiler.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport mapSeries from 'p-map-series';\nimport { Component } from '@teambit/component';\nimport { EnvsMain } from '@teambit/envs';\nimport type { PubsubMain } from '@teambit/pubsub';\nimport { SerializableResults, Workspace, OutsideWorkspaceError } from '@teambit/workspace';\nimport type { WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport path from 'path';\nimport chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger } from '@teambit/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl, Dist } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport {\n linkToNodeModulesByComponents,\n removeLinksFromNodeModules,\n} from '@teambit/workspace.modules.node-modules-linker';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { PathOsBasedAbsolute, PathOsBasedRelative } from '@teambit/toolbox.path.path';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport { UiMain } from '@teambit/ui';\nimport { readBitRootsDir } from '@teambit/bit-roots';\nimport { groupBy, uniq } from 'lodash';\nimport type { PreStartOpts } from '@teambit/ui';\nimport { MultiCompiler } from '@teambit/multi-compiler';\nimport { CompilerAspect } from './compiler.aspect';\nimport { CompilerErrorEvent } from './events';\nimport { Compiler, CompilationInitiator } from './types';\n\nexport type BuildResult = {\n component: string;\n buildResults: string[];\n errors: CompileError[];\n};\n\nexport type CompileOptions = {\n changed?: boolean; // compile only new and modified components\n verbose?: boolean; // show more data, such as, dist paths\n /**\n * whether the dist root dir should be deleted before writing new dists.\n * defaults to true for `bit compile` and false everywhere else, such as `bit watch` and `bit\n * start` to avoid webpack \"EINTR\" error.\n */\n deleteDistDir?: boolean;\n initiator: CompilationInitiator; // describes where the compilation is coming from\n // should we create links in node_modules for the compiled components (default = true)\n // this will link the source files, and create the package.json\n linkComponents?: boolean;\n};\n\nexport type CompileError = { path: string; error: Error };\n\nexport class ComponentCompiler {\n constructor(\n private pubsub: PubsubMain,\n private workspace: Workspace,\n private component: Component,\n private compilerInstance: Compiler,\n private compilerId: string,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private dists: Dist[] = [],\n private compileErrors: CompileError[] = []\n ) {}\n\n async compile(noThrow = true, options: CompileOptions): Promise<BuildResult> {\n let dataToPersist;\n const deleteDistDir = options.deleteDistDir ?? this.compilerInstance.deleteDistDir;\n const distDirs = await this.distDirs();\n // delete dist folder before transpilation (because some compilers (like ngPackagr) can generate files there during the compilation process)\n if (deleteDistDir) {\n dataToPersist = new DataToPersist();\n for (const distDir of distDirs) {\n dataToPersist.removePath(new RemovePath(distDir));\n }\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n }\n\n const compilers: Compiler[] = (this.compilerInstance as MultiCompiler).compilers\n ? (this.compilerInstance as MultiCompiler).compilers\n : [this.compilerInstance];\n const canTranspileFile = compilers.find((c) => c.transpileFile);\n const canTranspileComponent = compilers.find((c) => c.transpileComponent);\n\n if (canTranspileFile) {\n await Promise.all(\n this.component.filesystem.files.map((file: AbstractVinyl) =>\n this.compileOneFile(file, options.initiator, distDirs)\n )\n );\n }\n\n if (canTranspileComponent) {\n await this.compileAllFiles(this.component, options.initiator, distDirs);\n }\n\n if (!canTranspileFile && !canTranspileComponent) {\n throw new Error(\n `compiler ${this.compilerId.toString()} doesn't implement either \"transpileFile\" or \"transpileComponent\" methods`\n );\n }\n this.throwOnCompileErrors(noThrow);\n\n // writing the dists with `component.setDists(dists); component.dists.writeDists` is tricky\n // as it uses other base-paths and doesn't respect the new node-modules base path.\n dataToPersist = new DataToPersist();\n dataToPersist.addManyFiles(this.dists);\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n const buildResults = this.dists.map((distFile) => distFile.path);\n if (this.component.state._consumer.compiler) loader.succeed();\n\n return { component: this.component.id.toString(), buildResults, errors: this.compileErrors };\n }\n\n private throwOnCompileErrors(noThrow = true) {\n if (this.compileErrors.length) {\n this.compileErrors.forEach((errorItem) => {\n this.logger.error(`compilation error at ${errorItem.path}`, errorItem.error);\n });\n const formatError = (errorItem) => `${errorItem.path}\\n${errorItem.error}`;\n const err = new Error(`compilation failed. see the following errors from the compiler\n${this.compileErrors.map(formatError).join('\\n')}`);\n\n this.pubsub.pub(CompilerAspect.id, new CompilerErrorEvent(err));\n\n if (!noThrow) {\n throw err;\n }\n\n this.logger.console(err.message);\n }\n }\n\n private async distDirs(): Promise<PathOsBasedRelative[]> {\n const packageName = componentIdToPackageName(this.component.state._consumer);\n const packageDir = path.join('node_modules', packageName);\n const distDirName = this.compilerInstance.getDistDir?.() || DEFAULT_DIST_DIRNAME;\n const injectedDirs = await this.getInjectedDirs(packageName);\n return [packageDir, ...injectedDirs].map((dist) => path.join(dist, distDirName));\n }\n\n private async getInjectedDirs(packageName: string): Promise<string[]> {\n const injectedDirs = await this.workspace.getInjectedDirs(this.component);\n if (injectedDirs.length > 0) return injectedDirs;\n\n const rootDirs = await readBitRootsDir(this.workspace.path);\n return rootDirs.map((rootDir) => path.relative(this.workspace.path, path.join(rootDir, packageName)));\n }\n\n private get componentDir(): PathOsBasedAbsolute {\n return this.workspace.componentDir(this.component.id);\n }\n\n private async compileOneFile(\n file: AbstractVinyl,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const options = { componentDir: this.componentDir, filePath: file.relative, initiator };\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n let compileResults;\n if (isFileSupported) {\n try {\n compileResults = await this.compilerInstance.transpileFile?.(file.contents.toString(), options);\n } catch (error: any) {\n this.compileErrors.push({ path: file.path, error });\n return;\n }\n }\n for (const base of distDirs) {\n if (isFileSupported && compileResults) {\n this.dists.push(\n ...compileResults.map(\n (result) =>\n new Dist({\n base,\n path: path.join(base, result.outputPath),\n contents: Buffer.from(result.outputText),\n })\n )\n );\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(new Dist({ base, path: path.join(base, file.relative), contents: file.contents }));\n }\n }\n }\n\n private async compileAllFiles(\n component: Component,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const filesToCompile: AbstractVinyl[] = [];\n for (const base of distDirs) {\n component.filesystem.files.forEach((file: AbstractVinyl) => {\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n if (isFileSupported) {\n filesToCompile.push(file);\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(\n new Dist({\n base,\n path: path.join(base, file.relative),\n contents: file.contents,\n })\n );\n }\n });\n }\n\n if (filesToCompile.length) {\n try {\n await this.compilerInstance.transpileComponent?.({\n component,\n componentDir: this.componentDir,\n outputDir: await this.workspace.getComponentPackagePath(component),\n initiator,\n });\n } catch (error: any) {\n this.compileErrors.push({ path: this.componentDir, error });\n }\n }\n }\n}\n\nexport class WorkspaceCompiler {\n constructor(\n private workspace: Workspace,\n private envs: EnvsMain,\n private pubsub: PubsubMain,\n private aspectLoader: AspectLoaderMain,\n private ui: UiMain,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private watcher: WatcherMain\n ) {\n if (this.workspace) {\n this.workspace.registerOnComponentChange(this.onComponentChange.bind(this));\n this.workspace.registerOnComponentAdd(this.onComponentAdd.bind(this));\n this.watcher.registerOnPreWatch(this.onPreWatch.bind(this));\n }\n this.ui.registerPreStart(this.onPreStart.bind(this));\n if (this.aspectLoader) {\n this.aspectLoader.registerOnAspectLoadErrorSlot(this.onAspectLoadFail.bind(this));\n }\n }\n\n async onPreStart(preStartOpts: PreStartOpts): Promise<void> {\n if (this.workspace) {\n if (preStartOpts.skipCompilation) {\n return;\n }\n await this.compileComponents([], {\n changed: true,\n verbose: false,\n deleteDistDir: false,\n initiator: CompilationInitiator.PreStart,\n });\n } else {\n await this.watcher.watchScopeInternalFiles();\n }\n }\n\n async onAspectLoadFail(err: Error & { code?: string }, id: ComponentID): Promise<boolean> {\n if (err.code && err.code === 'MODULE_NOT_FOUND' && this.workspace) {\n await this.compileComponents([id.toString()], { initiator: CompilationInitiator.AspectLoadFail }, true);\n return true;\n }\n return false;\n }\n\n async onComponentAdd(component: Component, files: string[], watchOpts: WatchOptions) {\n return this.onComponentChange(component, files, undefined, watchOpts);\n }\n\n async onComponentChange(\n component: Component,\n files: string[],\n removedFiles: string[] = [],\n watchOpts: WatchOptions\n ): Promise<SerializableResults | void> {\n if (!watchOpts.compile) return undefined;\n // when files are removed, we need to remove the dist directories and the old symlinks, otherwise, it has\n // symlinks to non-exist files and the dist has stale files\n const deleteDistDir = Boolean(removedFiles?.length);\n if (removedFiles?.length) {\n await removeLinksFromNodeModules(component, this.workspace, removedFiles);\n }\n const buildResults = await this.compileComponents(\n [component.id.toString()],\n { initiator: watchOpts.initiator || CompilationInitiator.ComponentChanged, deleteDistDir },\n true\n );\n return {\n results: buildResults,\n toString() {\n return formatCompileResults(buildResults, watchOpts.verbose);\n },\n };\n }\n\n async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n if (watchOpts.preCompile) {\n const start = Date.now();\n this.logger.console(`compiling ${componentIds.length} components`);\n await this.compileComponents(\n componentIds.map((id) => id),\n { initiator: CompilationInitiator.PreWatch }\n );\n const end = Date.now() - start;\n this.logger.consoleSuccess(`compiled ${componentIds.length} components successfully (${end / 1000} sec)`);\n }\n }\n\n async compileComponents(\n componentsIds: string[] | ComponentID[] | ComponentID[], // when empty, it compiles new+modified (unless options.all is set),\n options: CompileOptions,\n noThrow?: boolean,\n componentLoadOptions: WorkspaceComponentLoadOptions = {}\n ): Promise<BuildResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentIds = await this.getIdsToCompile(componentsIds, options.changed);\n // In case the aspect failed to load, we want to compile it without try to re-load it again\n if (options.initiator === CompilationInitiator.AspectLoadFail) {\n componentLoadOptions.loadSeedersAsAspects = false;\n }\n const components = await this.workspace.getMany(componentIds, componentLoadOptions);\n const grouped = this.groupByIsEnv(components);\n const envsResults = grouped.envs ? await this.runCompileComponents(grouped.envs, options, noThrow) : [];\n const otherResults = grouped.other ? await this.runCompileComponents(grouped.other, options, noThrow) : [];\n const linkComponents = options.linkComponents ?? true;\n if (linkComponents) {\n await linkToNodeModulesByComponents(components, this.workspace);\n }\n return [...envsResults, ...otherResults];\n }\n\n private async runCompileComponents(\n components: Component[],\n options: CompileOptions,\n noThrow?: boolean\n ): Promise<BuildResult[]> {\n const componentsCompilers: ComponentCompiler[] = [];\n\n components.forEach((c) => {\n const environment = this.envs.getEnv(c).env;\n const compilerInstance = environment.getCompiler?.();\n\n if (compilerInstance) {\n const compilerName = compilerInstance.constructor.name || 'compiler';\n componentsCompilers.push(\n new ComponentCompiler(\n this.pubsub,\n this.workspace,\n c,\n compilerInstance,\n compilerName,\n this.logger,\n this.dependencyResolver\n )\n );\n } else {\n this.logger.warn(`unable to find a compiler instance for ${c.id.toString()}`);\n }\n });\n const resultOnWorkspace = await mapSeries(componentsCompilers, (componentCompiler) =>\n componentCompiler.compile(noThrow, options)\n );\n\n return resultOnWorkspace;\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n groupByIsEnv(components: Component[]): { envs?: Component[]; other?: Component[] } {\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(components, (component) => {\n if (envsIds.includes(component.id.toString())) return 'envs';\n return 'other';\n });\n return grouped as { envs: Component[]; other: Component[] };\n }\n\n private async getIdsToCompile(componentsIds: Array<string | ComponentID>, changed = false): Promise<ComponentID[]> {\n if (componentsIds.length) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(componentsIds);\n return this.workspace.filterIds(componentIds);\n }\n if (changed) {\n return this.workspace.getNewAndModifiedIds();\n }\n return this.workspace.listIds();\n }\n}\n\nfunction formatCompileResults(buildResults: BuildResult[], verbose?: boolean) {\n if (!buildResults.length) return '';\n // this gets called when a file is changed, so the buildResults array always has only one item\n const buildResult = buildResults[0];\n const title = ` ${chalk.underline('STATUS\\tCOMPONENT ID')}`;\n const verboseComponentFilesArrayToString = () => {\n return buildResult.buildResults.map((filePath) => ` \\t - ${filePath}`).join('\\n');\n };\n\n return `${title}\n ${Logger.successSymbol()}SUCCESS\\t${buildResult.component}\\n\n ${verbose ? `${verboseComponentFilesArrayToString()}\\n` : ''}`;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_workspace","_path","_chalk","_logger","_loader","_constants","_component","_workspaceModules","_pkgModules","_bitRoots","_lodash","_compiler","_events","_types","e","__esModule","default","ComponentCompiler","constructor","pubsub","workspace","component","compilerInstance","compilerId","logger","dependencyResolver","dists","compileErrors","compile","noThrow","options","dataToPersist","deleteDistDir","distDirs","DataToPersist","distDir","removePath","RemovePath","addBasePath","path","persistAllToFS","compilers","canTranspileFile","find","c","transpileFile","canTranspileComponent","transpileComponent","Promise","all","filesystem","files","map","file","compileOneFile","initiator","compileAllFiles","Error","toString","throwOnCompileErrors","addManyFiles","buildResults","distFile","state","_consumer","compiler","loader","succeed","id","errors","length","forEach","errorItem","error","formatError","err","join","pub","CompilerAspect","CompilerErrorEvent","console","message","packageName","componentIdToPackageName","packageDir","distDirName","getDistDir","DEFAULT_DIST_DIRNAME","injectedDirs","getInjectedDirs","dist","rootDirs","readBitRootsDir","rootDir","relative","componentDir","filePath","isFileSupported","compileResults","contents","push","base","result","Dist","outputPath","Buffer","from","outputText","shouldCopyNonSupportedFiles","filesToCompile","outputDir","getComponentPackagePath","exports","WorkspaceCompiler","envs","aspectLoader","ui","watcher","registerOnComponentChange","onComponentChange","bind","registerOnComponentAdd","onComponentAdd","registerOnPreWatch","onPreWatch","registerPreStart","onPreStart","registerOnAspectLoadErrorSlot","onAspectLoadFail","preStartOpts","skipCompilation","compileComponents","changed","verbose","CompilationInitiator","PreStart","watchScopeInternalFiles","code","AspectLoadFail","watchOpts","undefined","removedFiles","Boolean","removeLinksFromNodeModules","ComponentChanged","results","formatCompileResults","componentIds","preCompile","start","Date","now","PreWatch","end","consoleSuccess","componentsIds","componentLoadOptions","OutsideWorkspaceError","getIdsToCompile","loadSeedersAsAspects","components","getMany","grouped","groupByIsEnv","envsResults","runCompileComponents","otherResults","other","linkComponents","linkToNodeModulesByComponents","componentsCompilers","environment","getEnv","env","getCompiler","compilerName","name","warn","resultOnWorkspace","mapSeries","componentCompiler","envsIds","uniq","getEnvId","filter","envId","isCoreEnv","groupBy","includes","resolveMultipleComponentIds","filterIds","getNewAndModifiedIds","listIds","buildResult","title","chalk","underline","verboseComponentFilesArrayToString","Logger","successSymbol"],"sources":["workspace-compiler.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport mapSeries from 'p-map-series';\nimport { Component } from '@teambit/component';\nimport { EnvsMain } from '@teambit/envs';\nimport type { PubsubMain } from '@teambit/pubsub';\nimport { SerializableResults, Workspace, OutsideWorkspaceError } from '@teambit/workspace';\nimport type { WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport path from 'path';\nimport chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger } from '@teambit/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl, Dist, DataToPersist, RemovePath } from '@teambit/component.sources';\nimport {\n linkToNodeModulesByComponents,\n removeLinksFromNodeModules,\n} from '@teambit/workspace.modules.node-modules-linker';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { PathOsBasedAbsolute, PathOsBasedRelative } from '@teambit/toolbox.path.path';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport { UiMain } from '@teambit/ui';\nimport { readBitRootsDir } from '@teambit/bit-roots';\nimport { groupBy, uniq } from 'lodash';\nimport type { PreStartOpts } from '@teambit/ui';\nimport { MultiCompiler } from '@teambit/multi-compiler';\nimport { CompilerAspect } from './compiler.aspect';\nimport { CompilerErrorEvent } from './events';\nimport { Compiler, CompilationInitiator } from './types';\n\nexport type BuildResult = {\n component: string;\n buildResults: string[];\n errors: CompileError[];\n};\n\nexport type CompileOptions = {\n changed?: boolean; // compile only new and modified components\n verbose?: boolean; // show more data, such as, dist paths\n /**\n * whether the dist root dir should be deleted before writing new dists.\n * defaults to true for `bit compile` and false everywhere else, such as `bit watch` and `bit\n * start` to avoid webpack \"EINTR\" error.\n */\n deleteDistDir?: boolean;\n initiator: CompilationInitiator; // describes where the compilation is coming from\n // should we create links in node_modules for the compiled components (default = true)\n // this will link the source files, and create the package.json\n linkComponents?: boolean;\n};\n\nexport type CompileError = { path: string; error: Error };\n\nexport class ComponentCompiler {\n constructor(\n private pubsub: PubsubMain,\n private workspace: Workspace,\n private component: Component,\n private compilerInstance: Compiler,\n private compilerId: string,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private dists: Dist[] = [],\n private compileErrors: CompileError[] = []\n ) {}\n\n async compile(noThrow = true, options: CompileOptions): Promise<BuildResult> {\n let dataToPersist;\n const deleteDistDir = options.deleteDistDir ?? this.compilerInstance.deleteDistDir;\n const distDirs = await this.distDirs();\n // delete dist folder before transpilation (because some compilers (like ngPackagr) can generate files there during the compilation process)\n if (deleteDistDir) {\n dataToPersist = new DataToPersist();\n for (const distDir of distDirs) {\n dataToPersist.removePath(new RemovePath(distDir));\n }\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n }\n\n const compilers: Compiler[] = (this.compilerInstance as MultiCompiler).compilers\n ? (this.compilerInstance as MultiCompiler).compilers\n : [this.compilerInstance];\n const canTranspileFile = compilers.find((c) => c.transpileFile);\n const canTranspileComponent = compilers.find((c) => c.transpileComponent);\n\n if (canTranspileFile) {\n await Promise.all(\n this.component.filesystem.files.map((file: AbstractVinyl) =>\n this.compileOneFile(file, options.initiator, distDirs)\n )\n );\n }\n\n if (canTranspileComponent) {\n await this.compileAllFiles(this.component, options.initiator, distDirs);\n }\n\n if (!canTranspileFile && !canTranspileComponent) {\n throw new Error(\n `compiler ${this.compilerId.toString()} doesn't implement either \"transpileFile\" or \"transpileComponent\" methods`\n );\n }\n this.throwOnCompileErrors(noThrow);\n\n // writing the dists with `component.setDists(dists); component.dists.writeDists` is tricky\n // as it uses other base-paths and doesn't respect the new node-modules base path.\n dataToPersist = new DataToPersist();\n dataToPersist.addManyFiles(this.dists);\n dataToPersist.addBasePath(this.workspace.path);\n await dataToPersist.persistAllToFS();\n const buildResults = this.dists.map((distFile) => distFile.path);\n if (this.component.state._consumer.compiler) loader.succeed();\n\n return { component: this.component.id.toString(), buildResults, errors: this.compileErrors };\n }\n\n private throwOnCompileErrors(noThrow = true) {\n if (this.compileErrors.length) {\n this.compileErrors.forEach((errorItem) => {\n this.logger.error(`compilation error at ${errorItem.path}`, errorItem.error);\n });\n const formatError = (errorItem) => `${errorItem.path}\\n${errorItem.error}`;\n const err = new Error(`compilation failed. see the following errors from the compiler\n${this.compileErrors.map(formatError).join('\\n')}`);\n\n this.pubsub.pub(CompilerAspect.id, new CompilerErrorEvent(err));\n\n if (!noThrow) {\n throw err;\n }\n\n this.logger.console(err.message);\n }\n }\n\n private async distDirs(): Promise<PathOsBasedRelative[]> {\n const packageName = componentIdToPackageName(this.component.state._consumer);\n const packageDir = path.join('node_modules', packageName);\n const distDirName = this.compilerInstance.getDistDir?.() || DEFAULT_DIST_DIRNAME;\n const injectedDirs = await this.getInjectedDirs(packageName);\n return [packageDir, ...injectedDirs].map((dist) => path.join(dist, distDirName));\n }\n\n private async getInjectedDirs(packageName: string): Promise<string[]> {\n const injectedDirs = await this.workspace.getInjectedDirs(this.component);\n if (injectedDirs.length > 0) return injectedDirs;\n\n const rootDirs = await readBitRootsDir(this.workspace.path);\n return rootDirs.map((rootDir) => path.relative(this.workspace.path, path.join(rootDir, packageName)));\n }\n\n private get componentDir(): PathOsBasedAbsolute {\n return this.workspace.componentDir(this.component.id);\n }\n\n private async compileOneFile(\n file: AbstractVinyl,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const options = { componentDir: this.componentDir, filePath: file.relative, initiator };\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n let compileResults;\n if (isFileSupported) {\n try {\n compileResults = await this.compilerInstance.transpileFile?.(file.contents.toString(), options);\n } catch (error: any) {\n this.compileErrors.push({ path: file.path, error });\n return;\n }\n }\n for (const base of distDirs) {\n if (isFileSupported && compileResults) {\n this.dists.push(\n ...compileResults.map(\n (result) =>\n new Dist({\n base,\n path: path.join(base, result.outputPath),\n contents: Buffer.from(result.outputText),\n })\n )\n );\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(new Dist({ base, path: path.join(base, file.relative), contents: file.contents }));\n }\n }\n }\n\n private async compileAllFiles(\n component: Component,\n initiator: CompilationInitiator,\n distDirs: PathOsBasedRelative[]\n ): Promise<void> {\n const filesToCompile: AbstractVinyl[] = [];\n for (const base of distDirs) {\n component.filesystem.files.forEach((file: AbstractVinyl) => {\n const isFileSupported = this.compilerInstance.isFileSupported(file.path);\n if (isFileSupported) {\n filesToCompile.push(file);\n } else if (this.compilerInstance.shouldCopyNonSupportedFiles) {\n // compiler doesn't support this file type. copy the file as is to the dist dir.\n this.dists.push(\n new Dist({\n base,\n path: path.join(base, file.relative),\n contents: file.contents,\n })\n );\n }\n });\n }\n\n if (filesToCompile.length) {\n try {\n await this.compilerInstance.transpileComponent?.({\n component,\n componentDir: this.componentDir,\n outputDir: await this.workspace.getComponentPackagePath(component),\n initiator,\n });\n } catch (error: any) {\n this.compileErrors.push({ path: this.componentDir, error });\n }\n }\n }\n}\n\nexport class WorkspaceCompiler {\n constructor(\n private workspace: Workspace,\n private envs: EnvsMain,\n private pubsub: PubsubMain,\n private aspectLoader: AspectLoaderMain,\n private ui: UiMain,\n private logger: Logger,\n private dependencyResolver: DependencyResolverMain,\n private watcher: WatcherMain\n ) {\n if (this.workspace) {\n this.workspace.registerOnComponentChange(this.onComponentChange.bind(this));\n this.workspace.registerOnComponentAdd(this.onComponentAdd.bind(this));\n this.watcher.registerOnPreWatch(this.onPreWatch.bind(this));\n }\n this.ui.registerPreStart(this.onPreStart.bind(this));\n if (this.aspectLoader) {\n this.aspectLoader.registerOnAspectLoadErrorSlot(this.onAspectLoadFail.bind(this));\n }\n }\n\n async onPreStart(preStartOpts: PreStartOpts): Promise<void> {\n if (this.workspace) {\n if (preStartOpts.skipCompilation) {\n return;\n }\n await this.compileComponents([], {\n changed: true,\n verbose: false,\n deleteDistDir: false,\n initiator: CompilationInitiator.PreStart,\n });\n } else {\n await this.watcher.watchScopeInternalFiles();\n }\n }\n\n async onAspectLoadFail(err: Error & { code?: string }, id: ComponentID): Promise<boolean> {\n if (err.code && err.code === 'MODULE_NOT_FOUND' && this.workspace) {\n await this.compileComponents([id.toString()], { initiator: CompilationInitiator.AspectLoadFail }, true);\n return true;\n }\n return false;\n }\n\n async onComponentAdd(component: Component, files: string[], watchOpts: WatchOptions) {\n return this.onComponentChange(component, files, undefined, watchOpts);\n }\n\n async onComponentChange(\n component: Component,\n files: string[],\n removedFiles: string[] = [],\n watchOpts: WatchOptions\n ): Promise<SerializableResults | void> {\n if (!watchOpts.compile) return undefined;\n // when files are removed, we need to remove the dist directories and the old symlinks, otherwise, it has\n // symlinks to non-exist files and the dist has stale files\n const deleteDistDir = Boolean(removedFiles?.length);\n if (removedFiles?.length) {\n await removeLinksFromNodeModules(component, this.workspace, removedFiles);\n }\n const buildResults = await this.compileComponents(\n [component.id.toString()],\n { initiator: watchOpts.initiator || CompilationInitiator.ComponentChanged, deleteDistDir },\n true\n );\n return {\n results: buildResults,\n toString() {\n return formatCompileResults(buildResults, watchOpts.verbose);\n },\n };\n }\n\n async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n if (watchOpts.preCompile) {\n const start = Date.now();\n this.logger.console(`compiling ${componentIds.length} components`);\n await this.compileComponents(\n componentIds.map((id) => id),\n { initiator: CompilationInitiator.PreWatch }\n );\n const end = Date.now() - start;\n this.logger.consoleSuccess(`compiled ${componentIds.length} components successfully (${end / 1000} sec)`);\n }\n }\n\n async compileComponents(\n componentsIds: string[] | ComponentID[] | ComponentID[], // when empty, it compiles new+modified (unless options.all is set),\n options: CompileOptions,\n noThrow?: boolean,\n componentLoadOptions: WorkspaceComponentLoadOptions = {}\n ): Promise<BuildResult[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentIds = await this.getIdsToCompile(componentsIds, options.changed);\n // In case the aspect failed to load, we want to compile it without try to re-load it again\n if (options.initiator === CompilationInitiator.AspectLoadFail) {\n componentLoadOptions.loadSeedersAsAspects = false;\n }\n const components = await this.workspace.getMany(componentIds, componentLoadOptions);\n const grouped = this.groupByIsEnv(components);\n const envsResults = grouped.envs ? await this.runCompileComponents(grouped.envs, options, noThrow) : [];\n const otherResults = grouped.other ? await this.runCompileComponents(grouped.other, options, noThrow) : [];\n const linkComponents = options.linkComponents ?? true;\n if (linkComponents) {\n await linkToNodeModulesByComponents(components, this.workspace);\n }\n return [...envsResults, ...otherResults];\n }\n\n private async runCompileComponents(\n components: Component[],\n options: CompileOptions,\n noThrow?: boolean\n ): Promise<BuildResult[]> {\n const componentsCompilers: ComponentCompiler[] = [];\n\n components.forEach((c) => {\n const environment = this.envs.getEnv(c).env;\n const compilerInstance = environment.getCompiler?.();\n\n if (compilerInstance) {\n const compilerName = compilerInstance.constructor.name || 'compiler';\n componentsCompilers.push(\n new ComponentCompiler(\n this.pubsub,\n this.workspace,\n c,\n compilerInstance,\n compilerName,\n this.logger,\n this.dependencyResolver\n )\n );\n } else {\n this.logger.warn(`unable to find a compiler instance for ${c.id.toString()}`);\n }\n });\n const resultOnWorkspace = await mapSeries(componentsCompilers, (componentCompiler) =>\n componentCompiler.compile(noThrow, options)\n );\n\n return resultOnWorkspace;\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n groupByIsEnv(components: Component[]): { envs?: Component[]; other?: Component[] } {\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(components, (component) => {\n if (envsIds.includes(component.id.toString())) return 'envs';\n return 'other';\n });\n return grouped as { envs: Component[]; other: Component[] };\n }\n\n private async getIdsToCompile(componentsIds: Array<string | ComponentID>, changed = false): Promise<ComponentID[]> {\n if (componentsIds.length) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(componentsIds);\n return this.workspace.filterIds(componentIds);\n }\n if (changed) {\n return this.workspace.getNewAndModifiedIds();\n }\n return this.workspace.listIds();\n }\n}\n\nfunction formatCompileResults(buildResults: BuildResult[], verbose?: boolean) {\n if (!buildResults.length) return '';\n // this gets called when a file is changed, so the buildResults array always has only one item\n const buildResult = buildResults[0];\n const title = ` ${chalk.underline('STATUS\\tCOMPONENT ID')}`;\n const verboseComponentFilesArrayToString = () => {\n return buildResult.buildResults.map((filePath) => ` \\t - ${filePath}`).join('\\n');\n };\n\n return `${title}\n ${Logger.successSymbol()}SUCCESS\\t${buildResult.component}\\n\n ${verbose ? `${verboseComponentFilesArrayToString()}\\n` : ''}`;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/compiler",
3
- "version": "1.0.332",
3
+ "version": "1.0.333",
4
4
  "homepage": "https://bit.cloud/teambit/compilation/compiler",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.compilation",
8
8
  "name": "compiler",
9
- "version": "1.0.332"
9
+ "version": "1.0.333"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -19,26 +19,27 @@
19
19
  "@teambit/component-id": "1.2.0",
20
20
  "@teambit/bit-roots": "0.0.133",
21
21
  "@teambit/bit-error": "0.0.404",
22
- "@teambit/envs": "1.0.332",
23
- "@teambit/cli": "0.0.909",
24
- "@teambit/logger": "0.0.1002",
25
- "@teambit/pubsub": "1.0.332",
26
- "@teambit/aspect-loader": "1.0.332",
27
- "@teambit/builder": "1.0.332",
22
+ "@teambit/envs": "1.0.333",
23
+ "@teambit/cli": "0.0.910",
24
+ "@teambit/logger": "0.0.1003",
25
+ "@teambit/pubsub": "1.0.333",
26
+ "@teambit/aspect-loader": "1.0.333",
27
+ "@teambit/builder": "1.0.333",
28
28
  "@teambit/component-issues": "0.0.150",
29
- "@teambit/component": "1.0.332",
30
- "@teambit/dependency-resolver": "1.0.332",
31
- "@teambit/generator": "1.0.333",
32
- "@teambit/issues": "1.0.332",
33
- "@teambit/ui": "1.0.332",
34
- "@teambit/watcher": "1.0.332",
35
- "@teambit/workspace": "1.0.332",
36
- "@teambit/isolator": "1.0.332",
29
+ "@teambit/component": "1.0.333",
30
+ "@teambit/dependency-resolver": "1.0.333",
31
+ "@teambit/generator": "1.0.334",
32
+ "@teambit/issues": "1.0.333",
33
+ "@teambit/ui": "1.0.333",
34
+ "@teambit/watcher": "1.0.333",
35
+ "@teambit/workspace": "1.0.333",
36
+ "@teambit/isolator": "1.0.333",
37
37
  "@teambit/toolbox.fs.hard-link-directory": "0.0.21",
38
+ "@teambit/component.sources": "0.0.2",
38
39
  "@teambit/toolbox.path.path": "0.0.2",
39
- "@teambit/multi-compiler": "1.0.332",
40
+ "@teambit/multi-compiler": "1.0.333",
40
41
  "@teambit/pkg.modules.component-package-name": "0.0.2",
41
- "@teambit/workspace.modules.node-modules-linker": "0.0.176"
42
+ "@teambit/workspace.modules.node-modules-linker": "0.0.177"
42
43
  },
43
44
  "devDependencies": {
44
45
  "@types/fs-extra": "9.0.7",