@teambit/scope 1.0.142 → 1.0.144

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.
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuites>
3
+ <testsuite name="teambit.scope/scope@1.0.144" tests="0" failures="0" errors="0" skipped="0"/>
4
+ </testsuites>
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see teambit_scope_scope-preview.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.scope/scope-preview"]=t():e["teambit.scope/scope-preview"]=t()}(self,(()=>(()=>{var e={73848:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)&&n.length){var a=r.apply(null,n);a&&e.push(a)}else if("object"===i)for(var s in n)o.call(n,s)&&n[s]&&e.push(s)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},10401:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)){if(n.length){var a=r.apply(null,n);a&&e.push(a)}}else if("object"===i)if(n.toString===Object.prototype.toString)for(var s in n)o.call(n,s)&&n[s]&&e.push(s);else e.push(n.toString())}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},79662:()=>{!function(){if("undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof HTMLElement){var e=!1;try{var t=document.createElement("div");t.addEventListener("focus",(function(e){e.preventDefault(),e.stopPropagation()}),!0),t.focus(Object.defineProperty({},"preventScroll",{get:function(){e=!0}}))}catch(e){}void 0!==HTMLElement.prototype.nativeFocus||e||(HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus,HTMLElement.prototype.focus=function(e){var t=window.scrollY||window.pageYOffset;this.nativeFocus(),e&&e.preventScroll&&setTimeout((function(){window.scroll(window.scrollX||window.pageXOffset,t)}),0)})}}()},49203:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNavigator=t.isBrowser=t.off=t.on=t.noop=void 0,t.noop=function(){},t.on=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];e&&e.addEventListener&&e.addEventListener.apply(e,t)},t.off=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];e&&e.removeEventListener&&e.removeEventListener.apply(e,t)},t.isBrowser="undefined"!=typeof window,t.isNavigator="undefined"!=typeof navigator},55971:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(87363);t.default=function(e){o.useEffect(e,[])}},16257:(e,t,n)=>{"use strict";var o=n(87363),r=n(49203),i=r.isBrowser?window:null,a=function(e){return!!e.addEventListener},s=function(e){return!!e.on};t.Z=function(e,t,n,c){void 0===n&&(n=i),o.useEffect((function(){if(t&&n)return a(n)?r.on(n,e,t,c):s(n)&&n.on(e,t,c),function(){a(n)?r.off(n,e,t,c):s(n)&&n.off(e,t,c)}}),[e,t,n,JSON.stringify(c)])}},1976:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(50549),r=n(87363),i=o.__importDefault(n(8237));t.default=function(e){var t=r.useRef(0),n=r.useState(e),o=n[0],a=n[1],s=r.useCallback((function(e){cancelAnimationFrame(t.current),t.current=requestAnimationFrame((function(){a(e)}))}),[]);return i.default((function(){cancelAnimationFrame(t.current)})),[o,s]}},8237:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(50549),r=n(87363),i=o.__importDefault(n(55971));t.default=function(e){var t=r.useRef(e);t.current=e,i.default((function(){return function(){return t.current()}}))}},7639:(e,t,n)=>{"use strict";var o=n(50549),r=n(87363),i=o.__importDefault(n(1976)),a=n(49203);t.Z=function(e,t){void 0===e&&(e=1/0),void 0===t&&(t=1/0);var n=i.default({width:a.isBrowser?window.innerWidth:e,height:a.isBrowser?window.innerHeight:t}),o=n[0],s=n[1];return r.useEffect((function(){if(a.isBrowser){var e=function(){s({width:window.innerWidth,height:window.innerHeight})};return a.on(window,"resize",e),function(){a.off(window,"resize",e)}}}),[]),o}},21697:function(e,t,n){"use strict";var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseImage=void 0;const i=r(n(87363)),a=r(n(73848)),s=r(n(34473));function c(e){var{alt:t,className:n,fullWidth:r}=e,c=o(e,["alt","className","fullWidth"]);return i.default.createElement("img",Object.assign({"data-bit-id":"teambit.base-ui/elements/image",alt:t},c,{className:a.default(s.default.image,r&&s.default.fullWidth,n)}))}c.__bit_component={id:"teambit.base-ui/elements/image@1.0.0",homepage:"https://bit.dev/teambit/base-ui/elements/image",exported:!0},t.BaseImage=c},43139:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(21697),t)},46382:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Image:()=>y});var o=n(87363),r=n.n(o),i=n(10401),a=n.n(i);n(79662);const s=ReactDom;var c=n(16257),l=n(7639),u=n(50549),p=function(e){return e+"ms"},f={getBoundingClientRect:function(){return{height:0,left:0,top:0,width:0}},style:{transform:null}},d=(0,o.memo)((function(e){var t=e.children,n=e.closeText,i=void 0===n?"Unzoom Image":n,a=e.onUnload,d=e.onLoad,m=e.overlayBgColorEnd,h=void 0===m?"rgba(255, 255, 255, 0.95)":m,y=e.overlayBgColorStart,v=void 0===y?"rgba(255, 255, 255, 0)":y,b=e.parentRef,g=e.portalEl,_=void 0===g?document.body:g,w=e.scrollableEl,x=void 0===w?window:w,O=e.transitionDuration,j=void 0===O?300:O,S=e.zoomMargin,P=void 0===S?0:S,E=e.zoomZindex,T=void 0===E?2147483647:E,k=(0,o.useRef)(null),M=(0,o.useState)(0)[1],D=(0,o.useState)(!1),C=D[0],I=D[1],B=(0,o.useState)(!1),z=B[0],N=B[1],A=(0,l.Z)(),R=A.width,L=A.height,F=(0,o.useCallback)((function(e){e.preventDefault(),N(!0)}),[]),W=(0,o.useCallback)((function(e){"Escape"!==e.key&&27!==e.keyCode||(e.stopPropagation(),N(!0))}),[]),Z=(0,o.useCallback)((function(){M((function(e){return e+1})),z||N(!0)}),[z]);(0,c.Z)("keydown",W,document),(0,c.Z)("scroll",Z,x),(0,o.useEffect)((function(){I(!0),d(),k.current&&k.current.focus({preventScroll:!0})}),[d]),(0,o.useEffect)((function(){var e=z?setTimeout(a,j):null;return function(){e&&clearTimeout(e)}}),[z,a,j]);var H=b.current||f,X=H.getBoundingClientRect(),U=X.height,G=X.left,$=X.top,J=X.width,V=function(e){var t=e.isLoaded,n=e.isUnloading,o=e.overlayBgColorEnd,r=e.zoomZindex,i={backgroundColor:e.overlayBgColorStart,transitionDuration:p(e.transitionDuration),zIndex:r};return t&&!n&&(i.backgroundColor=o),i}({isLoaded:C,isUnloading:z,overlayBgColorEnd:h,overlayBgColorStart:v,transitionDuration:j,zoomZindex:T}),Y=function(e){var t=e.height,n=e.innerHeight,o=e.innerWidth,r=e.isLoaded,i=e.isUnloading,a=e.left,s=e.originalTransform,c=e.top,l=e.transitionDuration,f=e.width,d=e.zoomMargin,m=p(l);if(!r||i){var h=(0,u.__spreadArrays)(["scale(1)","translate(0, 0)"],s?[s]:[]).join(" ");return{height:t,left:a,top:c,transform:h,WebkitTransform:h,transitionDuration:m,width:f}}var y=function(e){var t=e.zoomMargin,n=e.innerWidth/(e.width+t),o=e.innerHeight/(e.height+t);return Math.min(n,o)}({height:t,innerWidth:o,innerHeight:n,width:f,zoomMargin:d}),v=(o/2-(a+f/2))/y,b=(n/2-(c+t/2))/y,g=(0,u.__spreadArrays)(["scale("+y+")","translate("+v+"px, "+b+"px)"],s?[s]:[]).join(" ");return{height:t,left:a,top:c,transform:g,WebkitTransform:g,transitionDuration:m,width:f}}({height:U,isLoaded:C,innerHeight:L,innerWidth:R,isUnloading:z,left:G,originalTransform:H.style.transform,top:$,transitionDuration:j,width:J,zoomMargin:P});return(0,s.createPortal)(r().createElement("div",{"aria-modal":!0,"data-rmiz-overlay":!0,role:"dialog",style:V},r().createElement("div",{"data-rmiz-modal-content":!0,style:Y},t),r().createElement("button",{"aria-label":i,"data-rmiz-btn-close":!0,onClick:F,ref:k})),_)}));const m=(0,o.memo)((function(e){var t=e.children,n=e.closeText,i=void 0===n?"Unzoom image":n,a=e.overlayBgColorEnd,s=void 0===a?"rgba(255, 255, 255, 0.95)":a,c=e.overlayBgColorStart,l=void 0===c?"rgba(255, 255, 255, 0)":c,u=e.portalEl,p=e.openText,f=void 0===p?"Zoom image":p,m=e.scrollableEl,h=e.transitionDuration,y=void 0===h?300:h,v=e.wrapElement,b=void 0===v?"div":v,g=e.wrapStyle,_=e.zoomMargin,w=void 0===_?0:_,x=e.zoomZindex,O=void 0===x?2147483647:x,j=(0,o.useState)(!1),S=j[0],P=j[1],E=(0,o.useState)(!1),T=E[0],k=E[1],M=(0,o.useRef)(null),D=(0,o.useRef)(null),C=(0,o.useCallback)((function(e){S||(e.preventDefault(),P(!0))}),[S]),I=(0,o.useCallback)((function(){k(!0)}),[]),B=(0,o.useCallback)((function(){P(!1),k(!1),D.current&&D.current.focus({preventScroll:!0})}),[]),z=S&&T?"hidden":"visible";return r().createElement(o.StrictMode,null,r().createElement(b,{"data-rmiz-wrap":z,ref:M,style:g},t,r().createElement("button",{"aria-label":f,"data-rmiz-btn-open":!0,onClick:C,ref:D}),"undefined"!=typeof window&&S&&r().createElement(d,{closeText:i,onLoad:I,onUnload:B,overlayBgColorEnd:s,overlayBgColorStart:l,parentRef:M,portalEl:u,scrollableEl:m,transitionDuration:y,zoomMargin:w,zoomZindex:O},t)))}));var h=n(43139);const y=e=>{var{center:t=!0,width:n,alt:o,src:i,className:s}=e,c=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(e,["center","width","alt","src","className"]);return r().createElement("div",{style:{width:n||"100%"},className:a()(t&&"image_center__FZ9yR",s)},r().createElement(m,null,r().createElement(h.BaseImage,Object.assign({fullWidth:!0,alt:o,src:i},c))))};y.__bit_component={id:"teambit.docs/ui/zoomable-image@1.95.0",homepage:"https://bit.dev/teambit/docs/ui/zoomable-image",exported:!0}},40481:(e,t,n)=>{"use strict";Object.defineProperty(t,"ZP",{enumerable:!0,get:function(){return o.default}});var o=r(n(33288));function r(e){return e&&e.__esModule?e:{default:e}}r.__bit_component={id:"teambit.scope/content/scope-overview@1.95.0",homepage:"https://bit.dev/teambit/scope/content/scope-overview",exported:!0}},33288:(e,t,n)=>{"use strict";var o={id:"teambit.scope/content/scope-overview@1.95.0",homepage:"https://bit.dev/teambit/scope/content/scope-overview",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=v,p(n(87363));var r=n(40040),i=n(70500),a=p(n(29208)),s=p(n(8691)),c=p(n(30340)),l=n(46382),u=["components"];function p(e){return e&&e.__esModule?e:{default:e}}function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},f.apply(this,arguments)}function d(e,t){if(null==e)return{};var n,o,r=m(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function m(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}p.__bit_component=o,f.__bit_component=o,d.__bit_component=o,m.__bit_component=o;var h={},y="wrapper";function v(e){var t=e.components,n=d(e,u);return(0,r.mdx)(y,f({},h,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{scopeImage:a.default,scopeGraph:s.default,componentTypes:c.default,Image:l.Image},mdxType:"MDXScopeProvider"},(0,r.mdx)("h1",null,"Scope Overview"),(0,r.mdx)("p",null,"Scope is a server for hosting components. Scopes help teams to share and use each other's components as by preserving team autonomy through versioning, forking, storing dependencies, and collaborate on changes of independent components.\nScopes defines ownership on components, as a single team owns the components exported to scope."),(0,r.mdx)(l.Image,{width:"70%",src:a.default,mdxType:"Image"}),(0,r.mdx)("h2",null,"Full stack of functionality"),(0,r.mdx)("p",null,"Scopes host components of any kind, from React, Angular and Node modules, all the way to a frontend apps or microservices. For a scope they are all Bit Components.",(0,r.mdx)("br",{parentName:"p"}),"\n","For example, the ",(0,r.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/mdx"},"MDX scope"),' contains all components relevant to handling MDX functionality in Bit. It exposes various types of components (or "APIs") to achieve this: Webpack loader, Node modules, React components and even a ',(0,r.mdx)("a",{parentName:"p",href:"/"},"Bit Aspect"),". This makes it easy for other teams to take leverage of MDX, not just as a feature but also as an API for their features."),(0,r.mdx)("p",null,"Scopes support various methods for using components, from adding as dependencies to runtime integrations, allowing the consumer to decide how whats the best solution for their use case."),(0,r.mdx)(l.Image,{width:"70%",src:c.default,mdxType:"Image"}),(0,r.mdx)("h2",null,"Team collaboration using components"),(0,r.mdx)("p",null,"Scopes provides visibility to components built by other teams, this is the first step towards better collaboration. Developers can find, use and depend on components by other teams. Instead of reinventing the wheel and rebuilding the same functionality, component visibility drives for collaboration. It is similar to how teams build with microservices and build team communication and collaboration by using each-other's APIs.",(0,r.mdx)("br",{parentName:"p"}),"\n","Moreover, developers can use ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit import")," and access to any component's source code and contribute change to collaborate on components."),(0,r.mdx)("p",null,"Bit keeps track on all these dependencies and flows, making team collaboration visible, easy to extend and optimize."),(0,r.mdx)(l.Image,{width:"70%",src:s.default,mdxType:"Image"}),(0,r.mdx)("h2",null,"Distributed and autonomous"),(0,r.mdx)("p",null,"Hosted scopes form a distributed network, where each scope is connected to the other scopes according to component dependencies. Each scope stores not only the components it hosts, but also the dependencies of those components.",(0,r.mdx)("br",{parentName:"p"}),"\n","When you export a component, the scope then does network calls to fetch the dependencies of the component from their respective scopes. This means that each scope becomes autonomous, as it contains all the dependencies needed to its components to run. In turn this makes teams more autonomous, as they can now build and use their components without having to worry about the dependencies."),(0,r.mdx)("p",null,"Scopes use standard HTTP for inner-scope communication, however, when building a network of scopes, you need to ensure scopes are able to connect to one another to fetch dependencies."),(0,r.mdx)("h2",null,"Source of truth"),(0,r.mdx)("p",null,"Scopes become the source of truth for components. Allowing different stakeholders to collaborate and work together from the same, or from different Workspaces.\nComponents can be maintained from multiple Workspaces in parallel, while Scopes are keeping them in sync, merging changes for all ends."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"bit import")," can be used to fetch component updates. Using ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit import")," is similar to using ",(0,r.mdx)("inlineCode",{parentName:"p"},"git fetch")," where new objects are being fetched but not checked out in your workspace. "),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"$ bit import\n⡃⢐ fetching 143 components from 18 remotes. delta-only: 143, all-history: 0.\n- up to date teambit.community/ui/hero \n- up to date teambit.community/ui/homepage/sections/distribution \n- updated teambit.design/ui/layouts/sections/left-right \n- updated teambit.design/ui/layouts/sections/section-group \n- updated teambit.design/ui/layouts/sections/top-down \n")),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"bit export")," is used to share component changes with others. It pushes new objects from a local Workspace to a remote Scope, allowing others to keep in sync with the latest\ncomponent changes."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"$ bit export\nexported 8 components successfully to remote scope `community`\n"))))}v.__bit_component=o,v.isMDXComponent=!0},7836:(e,t,n)=>{"use strict";var o={id:"teambit.scope/scope@1.0.142",homepage:"https://bit.cloud/teambit/scope/scope",exported:!0};function r(){const e=i(n(87363));return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=o,i.__bit_component=o;const a=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/scope.svg"}));a.__bit_component=o,t.Logo=a},34473:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});const o={fullWidth:"image_fullWidth__6C+Bi"}},30340:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/3a1072c009accd203fa8.png"},8691:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/ccf5ea377e3a1a72829d.png"},29208:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/aef2176d16de53259dad.png"},40040:e=>{"use strict";e.exports=MdxJsReact},87363:e=>{"use strict";e.exports=React},70500:e=>{"use strict";e.exports=TeambitMdxUiMdxScopeContext},50549:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>B,__assign:()=>i,__asyncDelegator:()=>S,__asyncGenerator:()=>j,__asyncValues:()=>P,__await:()=>O,__awaiter:()=>m,__classPrivateFieldGet:()=>D,__classPrivateFieldIn:()=>I,__classPrivateFieldSet:()=>C,__createBinding:()=>y,__decorate:()=>s,__disposeResources:()=>N,__esDecorate:()=>l,__exportStar:()=>v,__extends:()=>r,__generator:()=>h,__importDefault:()=>M,__importStar:()=>k,__makeTemplateObject:()=>E,__metadata:()=>d,__param:()=>c,__propKey:()=>p,__read:()=>g,__rest:()=>a,__runInitializers:()=>u,__setFunctionName:()=>f,__spread:()=>_,__spreadArray:()=>x,__spreadArrays:()=>w,__values:()=>b,default:()=>A});var o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return i=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},i.apply(this,arguments)};function a(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function s(e,t,n,o){var r,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function c(e,t){return function(n,o){t(n,o,e)}}function l(e,t,n,o,r,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,c=o.kind,l="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?o.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,o.name):{}),f=!1,d=n.length-1;d>=0;d--){var m={};for(var h in o)m[h]="access"===h?{}:o[h];for(var h in o.access)m.access[h]=o.access[h];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var y=(0,n[d])("accessor"===c?{get:p.get,set:p.set}:p[l],m);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(s=a(y.get))&&(p.get=s),(s=a(y.set))&&(p.set=s),(s=a(y.init))&&r.unshift(s)}else(s=a(y))&&("field"===c?r.unshift(s):p[l]=s)}u&&Object.defineProperty(u,o.name,p),f=!0}function u(e,t,n){for(var o=arguments.length>2,r=0;r<t.length;r++)n=o?t[r].call(e,n):t[r].call(e);return o?n:void 0}function p(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((o=o.apply(e,t||[])).next())}))}function h(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}var y=Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]};function v(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||y(t,e,n)}function b(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function w(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var o=Array(e),r=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,r++)o[r]=i[a];return o}function x(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}function O(e){return this instanceof O?(this.v=e,this):new O(e)}function j(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=n.apply(e,t||[]),i=[];return o={},a("next"),a("throw"),a("return"),o[Symbol.asyncIterator]=function(){return this},o;function a(e){r[e]&&(o[e]=function(t){return new Promise((function(n,o){i.push([e,t,n,o])>1||s(e,t)}))})}function s(e,t){try{(n=r[e](t)).value instanceof O?Promise.resolve(n.value.v).then(c,l):u(i[0][2],n)}catch(e){u(i[0][3],e)}var n}function c(e){s("next",e)}function l(e){s("throw",e)}function u(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function S(e){var t,n;return t={},o("next"),o("throw",(function(e){throw e})),o("return"),t[Symbol.iterator]=function(){return this},t;function o(o,r){t[o]=e[o]?function(t){return(n=!n)?{value:O(e[o](t)),done:!1}:r?r(t):t}:r}}function P(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(n){t[n]=e[n]&&function(t){return new Promise((function(o,r){!function(e,t,n,o){Promise.resolve(o).then((function(t){e({value:t,done:n})}),t)}(o,r,(t=e[n](t)).done,t.value)}))}}}function E(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&y(t,e,n);return T(t,e),t}function M(e){return e&&e.__esModule?e:{default:e}}function D(e,t,n,o){if("a"===n&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?o:"a"===n?o.call(e):o?o.value:t.get(e)}function C(e,t,n,o,r){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?r.call(e,n):r?r.value=n:t.set(e,n),n}function I(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function B(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");o=t[Symbol.asyncDispose]}if(void 0===o){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");o=t[Symbol.dispose]}if("function"!=typeof o)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:o,async:n})}else n&&e.stack.push({async:!0});return t}var z="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var o=new Error(n);return o.name="SuppressedError",o.error=e,o.suppressed=t,o};function N(e){function t(t){e.error=e.hasError?new z(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var o=e.stack.pop();try{var r=o.dispose&&o.dispose.call(o.value);if(o.async)return Promise.resolve(r).then(n,(function(e){return t(e),n()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}const A={__extends:r,__assign:i,__rest:a,__decorate:s,__param:c,__metadata:d,__awaiter:m,__generator:h,__createBinding:y,__exportStar:v,__values:b,__read:g,__spread:_,__spreadArrays:w,__spreadArray:x,__await:O,__asyncGenerator:j,__asyncDelegator:S,__asyncValues:P,__makeTemplateObject:E,__importStar:k,__importDefault:M,__classPrivateFieldGet:D,__classPrivateFieldSet:C,__classPrivateFieldIn:I,__addDisposableResource:B,__disposeResources:N}}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),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 e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");if(o.length)for(var r=o.length-1;r>-1&&!e;)e=o[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})();var o={};return(()=>{"use strict";n.r(o),n.d(o,{compositions:()=>f,compositions_metadata:()=>m,overview:()=>d});var e={};n.r(e),n.d(e,{default:()=>p});var t=n(7836),r=(n(87363),n(40040)),i=n(70500),a=n(40481),s=["components"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},c.apply(this,arguments)}var l={},u="wrapper";function p(e){var t=e.components,n=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,s);return(0,r.mdx)(u,c({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{ScopeOverview:a.ZP},mdxType:"MDXScopeProvider"},(0,r.mdx)(a.ZP,{mdxType:"ScopeOverview"})))}p.isMDXComponent=!0;const f=[t],d=[e],m={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),o})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.scope/scope-preview"]=t():e["teambit.scope/scope-preview"]=t()}(self,(()=>(()=>{var e={73848:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)&&n.length){var a=r.apply(null,n);a&&e.push(a)}else if("object"===i)for(var s in n)o.call(n,s)&&n[s]&&e.push(s)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},10401:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)){if(n.length){var a=r.apply(null,n);a&&e.push(a)}}else if("object"===i)if(n.toString===Object.prototype.toString)for(var s in n)o.call(n,s)&&n[s]&&e.push(s);else e.push(n.toString())}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},79662:()=>{!function(){if("undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof HTMLElement){var e=!1;try{var t=document.createElement("div");t.addEventListener("focus",(function(e){e.preventDefault(),e.stopPropagation()}),!0),t.focus(Object.defineProperty({},"preventScroll",{get:function(){e=!0}}))}catch(e){}void 0!==HTMLElement.prototype.nativeFocus||e||(HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus,HTMLElement.prototype.focus=function(e){var t=window.scrollY||window.pageYOffset;this.nativeFocus(),e&&e.preventScroll&&setTimeout((function(){window.scroll(window.scrollX||window.pageXOffset,t)}),0)})}}()},84443:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNavigator=t.isBrowser=t.off=t.on=t.noop=void 0,t.noop=function(){},t.on=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];e&&e.addEventListener&&e.addEventListener.apply(e,t)},t.off=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];e&&e.removeEventListener&&e.removeEventListener.apply(e,t)},t.isBrowser="undefined"!=typeof window,t.isNavigator="undefined"!=typeof navigator},3917:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(87363);t.default=function(e){o.useEffect(e,[])}},64703:(e,t,n)=>{"use strict";var o=n(87363),r=n(84443),i=r.isBrowser?window:null,a=function(e){return!!e.addEventListener},s=function(e){return!!e.on};t.Z=function(e,t,n,c){void 0===n&&(n=i),o.useEffect((function(){if(t&&n)return a(n)?r.on(n,e,t,c):s(n)&&n.on(e,t,c),function(){a(n)?r.off(n,e,t,c):s(n)&&n.off(e,t,c)}}),[e,t,n,JSON.stringify(c)])}},2678:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(50549),r=n(87363),i=o.__importDefault(n(5181));t.default=function(e){var t=r.useRef(0),n=r.useState(e),o=n[0],a=n[1],s=r.useCallback((function(e){cancelAnimationFrame(t.current),t.current=requestAnimationFrame((function(){a(e)}))}),[]);return i.default((function(){cancelAnimationFrame(t.current)})),[o,s]}},5181:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(50549),r=n(87363),i=o.__importDefault(n(3917));t.default=function(e){var t=r.useRef(e);t.current=e,i.default((function(){return function(){return t.current()}}))}},74988:(e,t,n)=>{"use strict";var o=n(50549),r=n(87363),i=o.__importDefault(n(2678)),a=n(84443);t.Z=function(e,t){void 0===e&&(e=1/0),void 0===t&&(t=1/0);var n=i.default({width:a.isBrowser?window.innerWidth:e,height:a.isBrowser?window.innerHeight:t}),o=n[0],s=n[1];return r.useEffect((function(){if(a.isBrowser){var e=function(){s({width:window.innerWidth,height:window.innerHeight})};return a.on(window,"resize",e),function(){a.off(window,"resize",e)}}}),[]),o}},84850:function(e,t,n){"use strict";var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseImage=void 0;const i=r(n(87363)),a=r(n(73848)),s=r(n(15164));function c(e){var{alt:t,className:n,fullWidth:r}=e,c=o(e,["alt","className","fullWidth"]);return i.default.createElement("img",Object.assign({"data-bit-id":"teambit.base-ui/elements/image",alt:t},c,{className:a.default(s.default.image,r&&s.default.fullWidth,n)}))}c.__bit_component={id:"teambit.base-ui/elements/image@1.0.0",homepage:"https://bit.dev/teambit/base-ui/elements/image",exported:!0},t.BaseImage=c},82870:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(84850),t)},84238:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Image:()=>y});var o=n(87363),r=n.n(o),i=n(10401),a=n.n(i);n(79662);const s=ReactDom;var c=n(64703),l=n(74988),u=n(50549),p=function(e){return e+"ms"},f={getBoundingClientRect:function(){return{height:0,left:0,top:0,width:0}},style:{transform:null}},d=(0,o.memo)((function(e){var t=e.children,n=e.closeText,i=void 0===n?"Unzoom Image":n,a=e.onUnload,d=e.onLoad,m=e.overlayBgColorEnd,h=void 0===m?"rgba(255, 255, 255, 0.95)":m,y=e.overlayBgColorStart,v=void 0===y?"rgba(255, 255, 255, 0)":y,b=e.parentRef,g=e.portalEl,_=void 0===g?document.body:g,w=e.scrollableEl,x=void 0===w?window:w,O=e.transitionDuration,j=void 0===O?300:O,S=e.zoomMargin,P=void 0===S?0:S,E=e.zoomZindex,T=void 0===E?2147483647:E,k=(0,o.useRef)(null),M=(0,o.useState)(0)[1],D=(0,o.useState)(!1),C=D[0],I=D[1],B=(0,o.useState)(!1),z=B[0],N=B[1],A=(0,l.Z)(),R=A.width,L=A.height,F=(0,o.useCallback)((function(e){e.preventDefault(),N(!0)}),[]),W=(0,o.useCallback)((function(e){"Escape"!==e.key&&27!==e.keyCode||(e.stopPropagation(),N(!0))}),[]),Z=(0,o.useCallback)((function(){M((function(e){return e+1})),z||N(!0)}),[z]);(0,c.Z)("keydown",W,document),(0,c.Z)("scroll",Z,x),(0,o.useEffect)((function(){I(!0),d(),k.current&&k.current.focus({preventScroll:!0})}),[d]),(0,o.useEffect)((function(){var e=z?setTimeout(a,j):null;return function(){e&&clearTimeout(e)}}),[z,a,j]);var H=b.current||f,X=H.getBoundingClientRect(),U=X.height,G=X.left,$=X.top,J=X.width,V=function(e){var t=e.isLoaded,n=e.isUnloading,o=e.overlayBgColorEnd,r=e.zoomZindex,i={backgroundColor:e.overlayBgColorStart,transitionDuration:p(e.transitionDuration),zIndex:r};return t&&!n&&(i.backgroundColor=o),i}({isLoaded:C,isUnloading:z,overlayBgColorEnd:h,overlayBgColorStart:v,transitionDuration:j,zoomZindex:T}),Y=function(e){var t=e.height,n=e.innerHeight,o=e.innerWidth,r=e.isLoaded,i=e.isUnloading,a=e.left,s=e.originalTransform,c=e.top,l=e.transitionDuration,f=e.width,d=e.zoomMargin,m=p(l);if(!r||i){var h=(0,u.__spreadArrays)(["scale(1)","translate(0, 0)"],s?[s]:[]).join(" ");return{height:t,left:a,top:c,transform:h,WebkitTransform:h,transitionDuration:m,width:f}}var y=function(e){var t=e.zoomMargin,n=e.innerWidth/(e.width+t),o=e.innerHeight/(e.height+t);return Math.min(n,o)}({height:t,innerWidth:o,innerHeight:n,width:f,zoomMargin:d}),v=(o/2-(a+f/2))/y,b=(n/2-(c+t/2))/y,g=(0,u.__spreadArrays)(["scale("+y+")","translate("+v+"px, "+b+"px)"],s?[s]:[]).join(" ");return{height:t,left:a,top:c,transform:g,WebkitTransform:g,transitionDuration:m,width:f}}({height:U,isLoaded:C,innerHeight:L,innerWidth:R,isUnloading:z,left:G,originalTransform:H.style.transform,top:$,transitionDuration:j,width:J,zoomMargin:P});return(0,s.createPortal)(r().createElement("div",{"aria-modal":!0,"data-rmiz-overlay":!0,role:"dialog",style:V},r().createElement("div",{"data-rmiz-modal-content":!0,style:Y},t),r().createElement("button",{"aria-label":i,"data-rmiz-btn-close":!0,onClick:F,ref:k})),_)}));const m=(0,o.memo)((function(e){var t=e.children,n=e.closeText,i=void 0===n?"Unzoom image":n,a=e.overlayBgColorEnd,s=void 0===a?"rgba(255, 255, 255, 0.95)":a,c=e.overlayBgColorStart,l=void 0===c?"rgba(255, 255, 255, 0)":c,u=e.portalEl,p=e.openText,f=void 0===p?"Zoom image":p,m=e.scrollableEl,h=e.transitionDuration,y=void 0===h?300:h,v=e.wrapElement,b=void 0===v?"div":v,g=e.wrapStyle,_=e.zoomMargin,w=void 0===_?0:_,x=e.zoomZindex,O=void 0===x?2147483647:x,j=(0,o.useState)(!1),S=j[0],P=j[1],E=(0,o.useState)(!1),T=E[0],k=E[1],M=(0,o.useRef)(null),D=(0,o.useRef)(null),C=(0,o.useCallback)((function(e){S||(e.preventDefault(),P(!0))}),[S]),I=(0,o.useCallback)((function(){k(!0)}),[]),B=(0,o.useCallback)((function(){P(!1),k(!1),D.current&&D.current.focus({preventScroll:!0})}),[]),z=S&&T?"hidden":"visible";return r().createElement(o.StrictMode,null,r().createElement(b,{"data-rmiz-wrap":z,ref:M,style:g},t,r().createElement("button",{"aria-label":f,"data-rmiz-btn-open":!0,onClick:C,ref:D}),"undefined"!=typeof window&&S&&r().createElement(d,{closeText:i,onLoad:I,onUnload:B,overlayBgColorEnd:s,overlayBgColorStart:l,parentRef:M,portalEl:u,scrollableEl:m,transitionDuration:y,zoomMargin:w,zoomZindex:O},t)))}));var h=n(82870);const y=e=>{var{center:t=!0,width:n,alt:o,src:i,className:s}=e,c=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(e,["center","width","alt","src","className"]);return r().createElement("div",{style:{width:n||"100%"},className:a()(t&&"image_center__FZ9yR",s)},r().createElement(m,null,r().createElement(h.BaseImage,Object.assign({fullWidth:!0,alt:o,src:i},c))))};y.__bit_component={id:"teambit.docs/ui/zoomable-image@1.95.0",homepage:"https://bit.dev/teambit/docs/ui/zoomable-image",exported:!0}},92055:(e,t,n)=>{"use strict";Object.defineProperty(t,"ZP",{enumerable:!0,get:function(){return o.default}});var o=r(n(88515));function r(e){return e&&e.__esModule?e:{default:e}}r.__bit_component={id:"teambit.scope/content/scope-overview@1.95.0",homepage:"https://bit.dev/teambit/scope/content/scope-overview",exported:!0}},88515:(e,t,n)=>{"use strict";var o={id:"teambit.scope/content/scope-overview@1.95.0",homepage:"https://bit.dev/teambit/scope/content/scope-overview",exported:!0};Object.defineProperty(t,"__esModule",{value:!0}),t.default=v,p(n(87363));var r=n(40040),i=n(70500),a=p(n(29208)),s=p(n(8691)),c=p(n(30340)),l=n(84238),u=["components"];function p(e){return e&&e.__esModule?e:{default:e}}function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},f.apply(this,arguments)}function d(e,t){if(null==e)return{};var n,o,r=m(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function m(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}p.__bit_component=o,f.__bit_component=o,d.__bit_component=o,m.__bit_component=o;var h={},y="wrapper";function v(e){var t=e.components,n=d(e,u);return(0,r.mdx)(y,f({},h,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{scopeImage:a.default,scopeGraph:s.default,componentTypes:c.default,Image:l.Image},mdxType:"MDXScopeProvider"},(0,r.mdx)("h1",null,"Scope Overview"),(0,r.mdx)("p",null,"Scope is a server for hosting components. Scopes help teams to share and use each other's components as by preserving team autonomy through versioning, forking, storing dependencies, and collaborate on changes of independent components.\nScopes defines ownership on components, as a single team owns the components exported to scope."),(0,r.mdx)(l.Image,{width:"70%",src:a.default,mdxType:"Image"}),(0,r.mdx)("h2",null,"Full stack of functionality"),(0,r.mdx)("p",null,"Scopes host components of any kind, from React, Angular and Node modules, all the way to a frontend apps or microservices. For a scope they are all Bit Components.",(0,r.mdx)("br",{parentName:"p"}),"\n","For example, the ",(0,r.mdx)("a",{parentName:"p",href:"https://bit.dev/teambit/mdx"},"MDX scope"),' contains all components relevant to handling MDX functionality in Bit. It exposes various types of components (or "APIs") to achieve this: Webpack loader, Node modules, React components and even a ',(0,r.mdx)("a",{parentName:"p",href:"/"},"Bit Aspect"),". This makes it easy for other teams to take leverage of MDX, not just as a feature but also as an API for their features."),(0,r.mdx)("p",null,"Scopes support various methods for using components, from adding as dependencies to runtime integrations, allowing the consumer to decide how whats the best solution for their use case."),(0,r.mdx)(l.Image,{width:"70%",src:c.default,mdxType:"Image"}),(0,r.mdx)("h2",null,"Team collaboration using components"),(0,r.mdx)("p",null,"Scopes provides visibility to components built by other teams, this is the first step towards better collaboration. Developers can find, use and depend on components by other teams. Instead of reinventing the wheel and rebuilding the same functionality, component visibility drives for collaboration. It is similar to how teams build with microservices and build team communication and collaboration by using each-other's APIs.",(0,r.mdx)("br",{parentName:"p"}),"\n","Moreover, developers can use ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit import")," and access to any component's source code and contribute change to collaborate on components."),(0,r.mdx)("p",null,"Bit keeps track on all these dependencies and flows, making team collaboration visible, easy to extend and optimize."),(0,r.mdx)(l.Image,{width:"70%",src:s.default,mdxType:"Image"}),(0,r.mdx)("h2",null,"Distributed and autonomous"),(0,r.mdx)("p",null,"Hosted scopes form a distributed network, where each scope is connected to the other scopes according to component dependencies. Each scope stores not only the components it hosts, but also the dependencies of those components.",(0,r.mdx)("br",{parentName:"p"}),"\n","When you export a component, the scope then does network calls to fetch the dependencies of the component from their respective scopes. This means that each scope becomes autonomous, as it contains all the dependencies needed to its components to run. In turn this makes teams more autonomous, as they can now build and use their components without having to worry about the dependencies."),(0,r.mdx)("p",null,"Scopes use standard HTTP for inner-scope communication, however, when building a network of scopes, you need to ensure scopes are able to connect to one another to fetch dependencies."),(0,r.mdx)("h2",null,"Source of truth"),(0,r.mdx)("p",null,"Scopes become the source of truth for components. Allowing different stakeholders to collaborate and work together from the same, or from different Workspaces.\nComponents can be maintained from multiple Workspaces in parallel, while Scopes are keeping them in sync, merging changes for all ends."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"bit import")," can be used to fetch component updates. Using ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit import")," is similar to using ",(0,r.mdx)("inlineCode",{parentName:"p"},"git fetch")," where new objects are being fetched but not checked out in your workspace. "),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"$ bit import\n⡃⢐ fetching 143 components from 18 remotes. delta-only: 143, all-history: 0.\n- up to date teambit.community/ui/hero \n- up to date teambit.community/ui/homepage/sections/distribution \n- updated teambit.design/ui/layouts/sections/left-right \n- updated teambit.design/ui/layouts/sections/section-group \n- updated teambit.design/ui/layouts/sections/top-down \n")),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"bit export")," is used to share component changes with others. It pushes new objects from a local Workspace to a remote Scope, allowing others to keep in sync with the latest\ncomponent changes."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"$ bit export\nexported 8 components successfully to remote scope `community`\n"))))}v.__bit_component=o,v.isMDXComponent=!0},5941:(e,t,n)=>{"use strict";var o={id:"teambit.scope/scope@1.0.144",homepage:"https://bit.cloud/teambit/scope/scope",exported:!0};function r(){const e=i(n(87363));return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=o,i.__bit_component=o;const a=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/scope.svg"}));a.__bit_component=o,t.Logo=a},15164:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});const o={fullWidth:"image_fullWidth__6C+Bi"}},30340:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/3a1072c009accd203fa8.png"},8691:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/ccf5ea377e3a1a72829d.png"},29208:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/aef2176d16de53259dad.png"},40040:e=>{"use strict";e.exports=MdxJsReact},87363:e=>{"use strict";e.exports=React},70500:e=>{"use strict";e.exports=TeambitMdxUiMdxScopeContext},50549:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>B,__assign:()=>i,__asyncDelegator:()=>S,__asyncGenerator:()=>j,__asyncValues:()=>P,__await:()=>O,__awaiter:()=>m,__classPrivateFieldGet:()=>D,__classPrivateFieldIn:()=>I,__classPrivateFieldSet:()=>C,__createBinding:()=>y,__decorate:()=>s,__disposeResources:()=>N,__esDecorate:()=>l,__exportStar:()=>v,__extends:()=>r,__generator:()=>h,__importDefault:()=>M,__importStar:()=>k,__makeTemplateObject:()=>E,__metadata:()=>d,__param:()=>c,__propKey:()=>p,__read:()=>g,__rest:()=>a,__runInitializers:()=>u,__setFunctionName:()=>f,__spread:()=>_,__spreadArray:()=>x,__spreadArrays:()=>w,__values:()=>b,default:()=>A});var o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return i=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},i.apply(this,arguments)};function a(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function s(e,t,n,o){var r,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function c(e,t){return function(n,o){t(n,o,e)}}function l(e,t,n,o,r,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,c=o.kind,l="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?o.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,o.name):{}),f=!1,d=n.length-1;d>=0;d--){var m={};for(var h in o)m[h]="access"===h?{}:o[h];for(var h in o.access)m.access[h]=o.access[h];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var y=(0,n[d])("accessor"===c?{get:p.get,set:p.set}:p[l],m);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(s=a(y.get))&&(p.get=s),(s=a(y.set))&&(p.set=s),(s=a(y.init))&&r.unshift(s)}else(s=a(y))&&("field"===c?r.unshift(s):p[l]=s)}u&&Object.defineProperty(u,o.name,p),f=!0}function u(e,t,n){for(var o=arguments.length>2,r=0;r<t.length;r++)n=o?t[r].call(e,n):t[r].call(e);return o?n:void 0}function p(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((o=o.apply(e,t||[])).next())}))}function h(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}var y=Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]};function v(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||y(t,e,n)}function b(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function w(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var o=Array(e),r=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,r++)o[r]=i[a];return o}function x(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}function O(e){return this instanceof O?(this.v=e,this):new O(e)}function j(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=n.apply(e,t||[]),i=[];return o={},a("next"),a("throw"),a("return"),o[Symbol.asyncIterator]=function(){return this},o;function a(e){r[e]&&(o[e]=function(t){return new Promise((function(n,o){i.push([e,t,n,o])>1||s(e,t)}))})}function s(e,t){try{(n=r[e](t)).value instanceof O?Promise.resolve(n.value.v).then(c,l):u(i[0][2],n)}catch(e){u(i[0][3],e)}var n}function c(e){s("next",e)}function l(e){s("throw",e)}function u(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function S(e){var t,n;return t={},o("next"),o("throw",(function(e){throw e})),o("return"),t[Symbol.iterator]=function(){return this},t;function o(o,r){t[o]=e[o]?function(t){return(n=!n)?{value:O(e[o](t)),done:!1}:r?r(t):t}:r}}function P(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(n){t[n]=e[n]&&function(t){return new Promise((function(o,r){!function(e,t,n,o){Promise.resolve(o).then((function(t){e({value:t,done:n})}),t)}(o,r,(t=e[n](t)).done,t.value)}))}}}function E(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&y(t,e,n);return T(t,e),t}function M(e){return e&&e.__esModule?e:{default:e}}function D(e,t,n,o){if("a"===n&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?o:"a"===n?o.call(e):o?o.value:t.get(e)}function C(e,t,n,o,r){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?r.call(e,n):r?r.value=n:t.set(e,n),n}function I(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function B(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");o=t[Symbol.asyncDispose]}if(void 0===o){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");o=t[Symbol.dispose]}if("function"!=typeof o)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:o,async:n})}else n&&e.stack.push({async:!0});return t}var z="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var o=new Error(n);return o.name="SuppressedError",o.error=e,o.suppressed=t,o};function N(e){function t(t){e.error=e.hasError?new z(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var o=e.stack.pop();try{var r=o.dispose&&o.dispose.call(o.value);if(o.async)return Promise.resolve(r).then(n,(function(e){return t(e),n()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}const A={__extends:r,__assign:i,__rest:a,__decorate:s,__param:c,__metadata:d,__awaiter:m,__generator:h,__createBinding:y,__exportStar:v,__values:b,__read:g,__spread:_,__spreadArrays:w,__spreadArray:x,__await:O,__asyncGenerator:j,__asyncDelegator:S,__asyncValues:P,__makeTemplateObject:E,__importStar:k,__importDefault:M,__classPrivateFieldGet:D,__classPrivateFieldSet:C,__classPrivateFieldIn:I,__addDisposableResource:B,__disposeResources:N}}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),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 e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");if(o.length)for(var r=o.length-1;r>-1&&!e;)e=o[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})();var o={};return(()=>{"use strict";n.r(o),n.d(o,{compositions:()=>f,compositions_metadata:()=>m,overview:()=>d});var e={};n.r(e),n.d(e,{default:()=>p});var t=n(5941),r=(n(87363),n(40040)),i=n(70500),a=n(92055),s=["components"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},c.apply(this,arguments)}var l={},u="wrapper";function p(e){var t=e.components,n=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,s);return(0,r.mdx)(u,c({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{ScopeOverview:a.ZP},mdxType:"MDXScopeProvider"},(0,r.mdx)(a.ZP,{mdxType:"ScopeOverview"})))}p.isMDXComponent=!0;const f=[t],d=[e],m={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),o})()));
@@ -1,7 +1,7 @@
1
1
  import { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
2
2
  import { ComponentType, ReactNode } from 'react';
3
3
  import { ComponentUrlResolver } from '@teambit/component.modules.component-url';
4
- import { ScopeModel } from '.';
4
+ import type { ScopeModel } from '@teambit/scope.models.scope-model';
5
5
  export type GetScopeOptions = {
6
6
  useScope?: () => {
7
7
  scope: ScopeModel | undefined;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["get-scope-options.ts"],"sourcesContent":["import { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { ComponentType, ReactNode } from 'react';\nimport { ComponentUrlResolver } from '@teambit/component.modules.component-url';\nimport { ScopeModel } from '.';\n\nexport type GetScopeOptions = {\n useScope?: () => { scope: ScopeModel | undefined };\n Corner?: ComponentType;\n paneClassName?: string;\n scopeClassName?: string;\n TargetScopeOverview?: ComponentType;\n PaneWrapper?: ComponentType<{ children: ReactNode }>;\n overrideDrawers?: DrawerType[];\n onSidebarToggle?: (callback: () => void) => void;\n getComponentUrl?: ComponentUrlResolver\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["get-scope-options.ts"],"sourcesContent":["import { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { ComponentType, ReactNode } from 'react';\nimport { ComponentUrlResolver } from '@teambit/component.modules.component-url';\nimport type { ScopeModel } from '@teambit/scope.models.scope-model';\n\nexport type GetScopeOptions = {\n useScope?: () => { scope: ScopeModel | undefined };\n Corner?: ComponentType;\n paneClassName?: string;\n scopeClassName?: string;\n TargetScopeOverview?: ComponentType;\n PaneWrapper?: ComponentType<{ children: ReactNode }>;\n overrideDrawers?: DrawerType[];\n onSidebarToggle?: (callback: () => void) => void;\n getComponentUrl?: ComponentUrlResolver;\n};\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.142/dist/scope.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.142/dist/scope.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.144/dist/scope.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.144/dist/scope.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -5,10 +5,10 @@ import { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';
5
5
  import { RequireableComponent } from '@teambit/harmony.modules.requireable-component';
6
6
  import { ExtensionManifest, Aspect } from '@teambit/harmony';
7
7
  import { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';
8
- import { ScopeMain } from '@teambit/scope';
9
8
  import { Logger } from '@teambit/logger';
10
9
  import { EnvsMain } from '@teambit/envs';
11
10
  import { NodeLinker } from '@teambit/dependency-resolver';
11
+ import { ScopeMain } from './scope.main.runtime';
12
12
  type ManifestOrAspect = ExtensionManifest | Aspect;
13
13
  export type ScopeLoadAspectsOptions = LoadAspectsOptions & {
14
14
  useScopeAspectsCapsule?: boolean;
@@ -69,8 +69,8 @@ export declare class ScopeAspectsLoader {
69
69
  datedDirId: string;
70
70
  baseDir: string;
71
71
  useHash: boolean;
72
- packageManager: string;
73
- nodeLinker: NodeLinker;
72
+ packageManager: string | undefined;
73
+ nodeLinker: NodeLinker | undefined;
74
74
  useDatedDirs: boolean;
75
75
  cacheLockFileOnly: boolean;
76
76
  skipIfExists: boolean;
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_fsExtra","_path","_constants","_lodash","_cli","_harmonyModules","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ScopeAspectsLoader","constructor","scope","aspectLoader","envs","isolator","logger","globalConfig","loadAspects","ids","throwOnError","neededFor","lane","opts","callId","Math","floor","random","loggerPrefix","info","join","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","other","otherManifestsIds","debug","concat","components","getNonLoadedAspects","envsIds","uniq","map","component","getEnvId","envId","isCoreEnv","groupBy","id","includes","manifests","scopeManifests","potentialPluginsIds","getManifestsGraphRecursively","loadExtensionsByManifests","scopePluginsManifests","allManifests","compact","manifest","visited","nonVisitedId","customEnvsIds","undefined","requireAspects","index","isValidAspect","toString","depsToLoad","mapSeries","dependencies","_runtimes","runtime","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","difference","aspectIds","startsWith","localAspects","loadAspectFromPath","componentIds","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","reason","getMany","getResolvedAspects","isolateOpts","getIsolateOpts","network","isolateComponents","c","legacyScope","capsules","seedersCapsules","capsule","RequireableComponent","plugins","getPlugins","path","has","compileIfNoDist","load","MainRuntime","name","aspect","scopeRuntime","getRuntimePath","mainRuntime","runtimePath","env","getEnv","compiler","getCompiler","distDir","DEFAULT_DIST_DIRNAME","distExists","existsSync","compiledCode","Promise","all","filesystem","files","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","flat","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","error","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","err","code","newErr","warn","resolvedAspectsAgain","skipIfExists","manifestAgain","handleExtensionLoadingError","shouldUseDatedCapsules","getSync","CFG_USE_DATED_CAPSULES","shouldCacheLockFileOnly","CFG_CACHE_LOCK_ONLY_CAPSULES","getAspectCapsulePath","defaultPath","isGlobalScope","CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR","CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR","shouldUseHashForCapsules","getAspectsPackageManager","aspectsPackageManager","getAspectsNodeLinker","aspectsNodeLinker","resolveUserAspects","runtimeName","userAspectsIds","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectFilePath","getAspectFilePath","aspectPath","originalStringIds","defaultOpts","excludeCore","requestedOnly","filterByRuntime","mergedOpts","coreAspectsIds","groupedByIsCore","false","getUserAspects","localResolved","resolveLocalAspects","withoutLocalAspects","aspectId","find","localAspect","toStringWithoutVersion","userAspectsDefs","coreAspectsDefs","getCoreAspectDefs","allDefs","filteredDefs","filterAspectDefs","overrideOpts","installOptions","packageManagerConfigRootDir","context","workspaceName","defaultsDeep","getDefaultIsolateOpts","useHash","useDatedDirs","cacheLockFileOnly","nodeLinker","datedDirId","baseDir","packageManager","seedersOnly","includeFromNestedHosts","host","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","aspects","exports"],"sources":["scope-aspects-loader.ts"],"sourcesContent":["import { GlobalConfigMain } from '@teambit/global-config';\nimport mapSeries from 'p-map-series';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { existsSync } from 'fs-extra';\nimport { join } from 'path';\nimport {\n DEFAULT_DIST_DIRNAME,\n CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR,\n CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR,\n CFG_USE_DATED_CAPSULES,\n CFG_CACHE_LOCK_ONLY_CAPSULES,\n} from '@teambit/legacy/dist/constants';\nimport { Compiler, TranspileFileOutputOneFile } from '@teambit/compiler';\nimport { Capsule, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';\nimport { compact, uniq, difference, groupBy, defaultsDeep } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { ExtensionManifest, Aspect } from '@teambit/harmony';\nimport { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';\nimport { ScopeMain } from '@teambit/scope';\nimport { Logger } from '@teambit/logger';\nimport { EnvsMain } from '@teambit/envs';\nimport { NodeLinker } from '@teambit/dependency-resolver';\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type ScopeLoadAspectsOptions = LoadAspectsOptions & {\n useScopeAspectsCapsule?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n};\n\nexport class ScopeAspectsLoader {\n constructor(\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private envs: EnvsMain,\n private isolator: IsolatorMain,\n private logger: Logger,\n private globalConfig: GlobalConfigMain\n ) {}\n\n async loadAspects(\n ids: string[],\n throwOnError = false,\n neededFor?: string,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n if (!ids.length) return [];\n // generate a random callId to be able to identify the call from the logs\n const callId = Math.floor(Math.random() * 1000);\n const loggerPrefix = `[${callId}] loadAspects,`;\n this.logger.info(`${loggerPrefix} loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);\n this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts);\n this.logger.info(\n `${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`\n );\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts);\n this.logger.debug(`${loggerPrefix} finish loading aspects`);\n return envsManifestsIds.concat(otherManifestsIds);\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 async groupAspectIdsByEnvOfTheList(ids: string[], lane?: Lane): Promise<{ envs?: string[]; other?: string[] }> {\n const components = await this.getNonLoadedAspects(ids, lane);\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(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(\n ids: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const { manifests: scopeManifests, potentialPluginsIds } = await this.getManifestsGraphRecursively(\n ids,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n const { manifests: scopePluginsManifests } = await this.getManifestsGraphRecursively(\n potentialPluginsIds,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);\n const allManifests = scopeManifests.concat(scopePluginsManifests);\n return compact(allManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts: {\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n } = {}\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n this.logger.debug(`getManifestsGraphRecursively, ids:\\n${ids.join('\\n')}`);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return { manifests: [], potentialPluginsIds: [] };\n }\n const components = await this.getNonLoadedAspects(nonVisitedId, lane);\n // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env\n const customEnvsIds = components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId));\n // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects\n await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, opts);\n const potentialPluginsIds = compact(\n manifests.map((manifest, index) => {\n if (this.aspectLoader.isValidAspect(manifest)) return undefined;\n // return index;\n return components[index].id.toString();\n })\n );\n\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n this.logger.debug(\n `getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`\n );\n const { manifests: loaded } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane);\n manifests.push(...loaded);\n });\n\n return { manifests, potentialPluginsIds };\n }\n\n private async getNonLoadedAspects(ids: string[], lane?: Lane): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.scope.localAspects = uniq(this.scope.localAspects.concat(localAspects));\n // load local aspects for debugging purposes.\n await this.aspectLoader.loadAspectFromPath(localAspects);\n const componentIds = await this.scope.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n await this.scope.import(componentIds, {\n reFetchUnBuiltVersion: false,\n lane,\n reason: 'for loading aspects from the scope',\n });\n const components = await this.scope.getMany(componentIds);\n\n return components;\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n isolateOpts,\n this.scope.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n const env = this.envs.getEnv(component);\n const compiler: Compiler = env.env.getCompiler();\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n\n const compiledCode = (\n await Promise.all(\n component.filesystem.files.flatMap(async (file) => {\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ] as TranspileFileOutputOneFile[];\n }\n\n if (compiler.transpileFile) {\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n })\n )\n ).flat();\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string; workspaceName?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch (err) {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n ...opts,\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n shouldUseDatedCapsules(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_USE_DATED_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n shouldCacheLockFileOnly(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_CACHE_LOCK_ONLY_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n getAspectCapsulePath() {\n const defaultPath = `${this.scope.path}-aspects`;\n if (this.scope.isGlobalScope) {\n return this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR) || defaultPath;\n }\n return this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR) || defaultPath;\n }\n\n shouldUseHashForCapsules(): boolean {\n if (this.scope.isGlobalScope) {\n return !this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR);\n }\n return !this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR);\n }\n\n getAspectsPackageManager(): string | undefined {\n return this.scope.aspectsPackageManager;\n }\n\n getAspectsNodeLinker(): NodeLinker | undefined {\n return this.scope.aspectsNodeLinker;\n }\n\n private async resolveUserAspects(\n runtimeName?: string,\n userAspectsIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.scope.getMany(userAspectsIds);\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(userAspectsIds, isolateOpts, this.scope.legacyScope);\n\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n const runtimePath = runtimeName\n ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName)\n : null;\n const aspectFilePath = await this.aspectLoader.getAspectFilePath(component, localPath);\n\n this.logger.debug(\n `scope resolveUserAspects, resolving id: ${component.id.toString()}, localPath: ${localPath}, runtimePath: ${runtimePath}`\n );\n\n return {\n id: capsule.component.id,\n aspectPath: localPath,\n aspectFilePath,\n runtimePath,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(\n runtimeName?: string,\n componentIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n const originalStringIds = componentIds?.map((id) => id.toString());\n this.logger.debug(`scope resolveAspects, runtimeName: ${runtimeName}, componentIds: ${originalStringIds}`);\n\n const defaultOpts: ResolveAspectsOptions = {\n excludeCore: false,\n requestedOnly: false,\n filterByRuntime: true,\n };\n const mergedOpts = { ...defaultOpts, ...opts };\n const coreAspectsIds = this.aspectLoader.getCoreAspectIds();\n let userAspectsIds: ComponentID[];\n // let requestedCoreStringIds;\n if (componentIds && componentIds.length) {\n const groupedByIsCore = groupBy(componentIds, (id) => coreAspectsIds.includes(id.toString()));\n userAspectsIds = groupedByIsCore.false || [];\n // requestedCoreStringIds = groupedByIsCore.true?.map((id) => id.toStringWithoutVersion()) || [];\n } else {\n userAspectsIds = await this.scope.resolveMultipleComponentIds(this.aspectLoader.getUserAspects());\n }\n const localResolved = await this.aspectLoader.resolveLocalAspects(this.scope.localAspects, runtimeName);\n\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !localResolved.find((localAspect) => {\n return localAspect.id === aspectId.toStringWithoutVersion();\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects, opts);\n const coreAspectsDefs = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspectsDefs).concat(localResolved);\n // const userAspectsIdsWithoutVersion = userAspectsIds.map((aspectId) => aspectId.toStringWithoutVersion());\n // const userAspectsIdsWithoutVersionAndCoreRequested = userAspectsIdsWithoutVersion.concat(requestedCoreStringIds);\n const filteredDefs = this.aspectLoader.filterAspectDefs(\n allDefs,\n componentIds || userAspectsIds,\n runtimeName,\n mergedOpts\n );\n return filteredDefs;\n }\n\n getIsolateOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const overrideOpts = {\n skipIfExists: opts?.skipIfExists ?? true,\n installOptions: {\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n context: {\n workspaceName: opts?.workspaceName,\n },\n };\n const isolateOpts = defaultsDeep(overrideOpts, this.getDefaultIsolateOpts());\n return isolateOpts;\n }\n\n getDefaultIsolateOpts() {\n const useHash = this.shouldUseHashForCapsules();\n const useDatedDirs = this.shouldUseDatedCapsules();\n const cacheLockFileOnly = this.shouldCacheLockFileOnly();\n const nodeLinker = this.getAspectsNodeLinker();\n\n const opts = {\n datedDirId: this.scope.name,\n baseDir: this.getAspectCapsulePath(),\n useHash,\n packageManager: this.getAspectsPackageManager(),\n nodeLinker,\n useDatedDirs,\n cacheLockFileOnly,\n skipIfExists: true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n host: this.scope,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n },\n context: {\n aspects: true,\n },\n };\n return opts;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_fsExtra","_path","_constants","_lodash","_cli","_harmonyModules","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ScopeAspectsLoader","constructor","scope","aspectLoader","envs","isolator","logger","globalConfig","loadAspects","ids","throwOnError","neededFor","lane","opts","callId","Math","floor","random","loggerPrefix","info","join","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","other","otherManifestsIds","debug","concat","components","getNonLoadedAspects","envsIds","uniq","map","component","getEnvId","envId","isCoreEnv","groupBy","id","includes","manifests","scopeManifests","potentialPluginsIds","getManifestsGraphRecursively","loadExtensionsByManifests","scopePluginsManifests","allManifests","compact","manifest","visited","nonVisitedId","customEnvsIds","undefined","requireAspects","index","isValidAspect","toString","depsToLoad","mapSeries","dependencies","_runtimes","runtime","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","difference","aspectIds","startsWith","localAspects","loadAspectFromPath","componentIds","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","reason","getMany","getResolvedAspects","isolateOpts","getIsolateOpts","network","isolateComponents","c","legacyScope","capsules","seedersCapsules","capsule","RequireableComponent","plugins","getPlugins","path","has","compileIfNoDist","load","MainRuntime","name","aspect","scopeRuntime","getRuntimePath","mainRuntime","runtimePath","env","getEnv","compiler","getCompiler","distDir","DEFAULT_DIST_DIRNAME","distExists","existsSync","compiledCode","Promise","all","filesystem","files","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","flat","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","error","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","err","code","newErr","warn","resolvedAspectsAgain","skipIfExists","manifestAgain","handleExtensionLoadingError","shouldUseDatedCapsules","getSync","CFG_USE_DATED_CAPSULES","shouldCacheLockFileOnly","CFG_CACHE_LOCK_ONLY_CAPSULES","getAspectCapsulePath","defaultPath","isGlobalScope","CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR","CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR","shouldUseHashForCapsules","getAspectsPackageManager","aspectsPackageManager","getAspectsNodeLinker","aspectsNodeLinker","resolveUserAspects","runtimeName","userAspectsIds","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectFilePath","getAspectFilePath","aspectPath","originalStringIds","defaultOpts","excludeCore","requestedOnly","filterByRuntime","mergedOpts","coreAspectsIds","groupedByIsCore","false","getUserAspects","localResolved","resolveLocalAspects","withoutLocalAspects","aspectId","find","localAspect","toStringWithoutVersion","userAspectsDefs","coreAspectsDefs","getCoreAspectDefs","allDefs","filteredDefs","filterAspectDefs","overrideOpts","installOptions","packageManagerConfigRootDir","context","workspaceName","defaultsDeep","getDefaultIsolateOpts","useHash","useDatedDirs","cacheLockFileOnly","nodeLinker","datedDirId","baseDir","packageManager","seedersOnly","includeFromNestedHosts","host","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","aspects","exports"],"sources":["scope-aspects-loader.ts"],"sourcesContent":["import { GlobalConfigMain } from '@teambit/global-config';\nimport mapSeries from 'p-map-series';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { existsSync } from 'fs-extra';\nimport { join } from 'path';\nimport {\n DEFAULT_DIST_DIRNAME,\n CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR,\n CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR,\n CFG_USE_DATED_CAPSULES,\n CFG_CACHE_LOCK_ONLY_CAPSULES,\n} from '@teambit/legacy/dist/constants';\nimport { Compiler, TranspileFileOutputOneFile } from '@teambit/compiler';\nimport { Capsule, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';\nimport { compact, uniq, difference, groupBy, defaultsDeep } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { ExtensionManifest, Aspect } from '@teambit/harmony';\nimport { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';\nimport { Logger } from '@teambit/logger';\nimport { EnvsMain } from '@teambit/envs';\nimport { NodeLinker } from '@teambit/dependency-resolver';\nimport { ScopeMain } from './scope.main.runtime';\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type ScopeLoadAspectsOptions = LoadAspectsOptions & {\n useScopeAspectsCapsule?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n};\n\nexport class ScopeAspectsLoader {\n constructor(\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private envs: EnvsMain,\n private isolator: IsolatorMain,\n private logger: Logger,\n private globalConfig: GlobalConfigMain\n ) {}\n\n async loadAspects(\n ids: string[],\n throwOnError = false,\n neededFor?: string,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n if (!ids.length) return [];\n // generate a random callId to be able to identify the call from the logs\n const callId = Math.floor(Math.random() * 1000);\n const loggerPrefix = `[${callId}] loadAspects,`;\n this.logger.info(`${loggerPrefix} loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);\n this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts);\n this.logger.info(\n `${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`\n );\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts);\n this.logger.debug(`${loggerPrefix} finish loading aspects`);\n return envsManifestsIds.concat(otherManifestsIds);\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 async groupAspectIdsByEnvOfTheList(ids: string[], lane?: Lane): Promise<{ envs?: string[]; other?: string[] }> {\n const components = await this.getNonLoadedAspects(ids, lane);\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(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(\n ids: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const { manifests: scopeManifests, potentialPluginsIds } = await this.getManifestsGraphRecursively(\n ids,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n const { manifests: scopePluginsManifests } = await this.getManifestsGraphRecursively(\n potentialPluginsIds,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);\n const allManifests = scopeManifests.concat(scopePluginsManifests);\n return compact(allManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts: {\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n } = {}\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n this.logger.debug(`getManifestsGraphRecursively, ids:\\n${ids.join('\\n')}`);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return { manifests: [], potentialPluginsIds: [] };\n }\n const components = await this.getNonLoadedAspects(nonVisitedId, lane);\n // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env\n const customEnvsIds = components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId));\n // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects\n await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, opts);\n const potentialPluginsIds = compact(\n manifests.map((manifest, index) => {\n if (this.aspectLoader.isValidAspect(manifest)) return undefined;\n // return index;\n return components[index].id.toString();\n })\n );\n\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n this.logger.debug(\n `getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`\n );\n const { manifests: loaded } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane);\n manifests.push(...loaded);\n });\n\n return { manifests, potentialPluginsIds };\n }\n\n private async getNonLoadedAspects(ids: string[], lane?: Lane): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.scope.localAspects = uniq(this.scope.localAspects.concat(localAspects));\n // load local aspects for debugging purposes.\n await this.aspectLoader.loadAspectFromPath(localAspects);\n const componentIds = await this.scope.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n await this.scope.import(componentIds, {\n reFetchUnBuiltVersion: false,\n lane,\n reason: 'for loading aspects from the scope',\n });\n const components = await this.scope.getMany(componentIds);\n\n return components;\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n isolateOpts,\n this.scope.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n const env = this.envs.getEnv(component);\n const compiler: Compiler = env.env.getCompiler();\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n\n const compiledCode = (\n await Promise.all(\n component.filesystem.files.flatMap(async (file) => {\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ] as TranspileFileOutputOneFile[];\n }\n\n if (compiler.transpileFile) {\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n })\n )\n ).flat();\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string; workspaceName?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch (err) {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n ...opts,\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n shouldUseDatedCapsules(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_USE_DATED_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n shouldCacheLockFileOnly(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_CACHE_LOCK_ONLY_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n getAspectCapsulePath() {\n const defaultPath = `${this.scope.path}-aspects`;\n if (this.scope.isGlobalScope) {\n return this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR) || defaultPath;\n }\n return this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR) || defaultPath;\n }\n\n shouldUseHashForCapsules(): boolean {\n if (this.scope.isGlobalScope) {\n return !this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR);\n }\n return !this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR);\n }\n\n getAspectsPackageManager(): string | undefined {\n return this.scope.aspectsPackageManager;\n }\n\n getAspectsNodeLinker(): NodeLinker | undefined {\n return this.scope.aspectsNodeLinker;\n }\n\n private async resolveUserAspects(\n runtimeName?: string,\n userAspectsIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.scope.getMany(userAspectsIds);\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(userAspectsIds, isolateOpts, this.scope.legacyScope);\n\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n const runtimePath = runtimeName\n ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName)\n : null;\n const aspectFilePath = await this.aspectLoader.getAspectFilePath(component, localPath);\n\n this.logger.debug(\n `scope resolveUserAspects, resolving id: ${component.id.toString()}, localPath: ${localPath}, runtimePath: ${runtimePath}`\n );\n\n return {\n id: capsule.component.id,\n aspectPath: localPath,\n aspectFilePath,\n runtimePath,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(\n runtimeName?: string,\n componentIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n const originalStringIds = componentIds?.map((id) => id.toString());\n this.logger.debug(`scope resolveAspects, runtimeName: ${runtimeName}, componentIds: ${originalStringIds}`);\n\n const defaultOpts: ResolveAspectsOptions = {\n excludeCore: false,\n requestedOnly: false,\n filterByRuntime: true,\n };\n const mergedOpts = { ...defaultOpts, ...opts };\n const coreAspectsIds = this.aspectLoader.getCoreAspectIds();\n let userAspectsIds: ComponentID[];\n // let requestedCoreStringIds;\n if (componentIds && componentIds.length) {\n const groupedByIsCore = groupBy(componentIds, (id) => coreAspectsIds.includes(id.toString()));\n userAspectsIds = groupedByIsCore.false || [];\n // requestedCoreStringIds = groupedByIsCore.true?.map((id) => id.toStringWithoutVersion()) || [];\n } else {\n userAspectsIds = await this.scope.resolveMultipleComponentIds(this.aspectLoader.getUserAspects());\n }\n const localResolved = await this.aspectLoader.resolveLocalAspects(this.scope.localAspects, runtimeName);\n\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !localResolved.find((localAspect) => {\n return localAspect.id === aspectId.toStringWithoutVersion();\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects, opts);\n const coreAspectsDefs = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspectsDefs).concat(localResolved);\n // const userAspectsIdsWithoutVersion = userAspectsIds.map((aspectId) => aspectId.toStringWithoutVersion());\n // const userAspectsIdsWithoutVersionAndCoreRequested = userAspectsIdsWithoutVersion.concat(requestedCoreStringIds);\n const filteredDefs = this.aspectLoader.filterAspectDefs(\n allDefs,\n componentIds || userAspectsIds,\n runtimeName,\n mergedOpts\n );\n return filteredDefs;\n }\n\n getIsolateOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const overrideOpts = {\n skipIfExists: opts?.skipIfExists ?? true,\n installOptions: {\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n context: {\n workspaceName: opts?.workspaceName,\n },\n };\n const isolateOpts = defaultsDeep(overrideOpts, this.getDefaultIsolateOpts());\n return isolateOpts;\n }\n\n getDefaultIsolateOpts() {\n const useHash = this.shouldUseHashForCapsules();\n const useDatedDirs = this.shouldUseDatedCapsules();\n const cacheLockFileOnly = this.shouldCacheLockFileOnly();\n const nodeLinker = this.getAspectsNodeLinker();\n\n const opts = {\n datedDirId: this.scope.name,\n baseDir: this.getAspectCapsulePath(),\n useHash,\n packageManager: this.getAspectsPackageManager(),\n nodeLinker,\n useDatedDirs,\n cacheLockFileOnly,\n skipIfExists: true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n host: this.scope,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n },\n context: {\n aspects: true,\n },\n };\n return opts;\n }\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ export declare class ScopeCmd implements Command {
3
3
  name: string;
4
4
  alias: string;
5
5
  description: string;
6
- options: any[];
6
+ options: never[];
7
7
  group: string;
8
8
  commands: Command[];
9
9
  report([unrecognizedSubcommand]: [string]): Promise<string>;
@@ -1 +1,2 @@
1
+ /// <reference types="react" />
1
2
  export declare const Logo: () => JSX.Element;
@@ -5,9 +5,9 @@ export declare function scopeSchema(scopeMain: ScopeMain): {
5
5
  resolvers: {
6
6
  Scope: {
7
7
  name: (scope: ScopeMain) => string;
8
- description: (scope: ScopeMain) => string;
9
- icon: (scope: ScopeMain) => string;
10
- backgroundIconColor: (scope: ScopeMain) => string;
8
+ description: (scope: ScopeMain) => string | undefined;
9
+ icon: (scope: ScopeMain) => string | undefined;
10
+ backgroundIconColor: (scope: ScopeMain) => string | undefined;
11
11
  components: (scope: ScopeMain, props?: {
12
12
  offset: number;
13
13
  limit: number;
@@ -16,7 +16,7 @@ export declare function scopeSchema(scopeMain: ScopeMain): {
16
16
  }) => Promise<import("@teambit/component").Component[]>;
17
17
  get: (scope: ScopeMain, { id }: {
18
18
  id: string;
19
- }) => Promise<import("@teambit/component").Component>;
19
+ }) => Promise<import("@teambit/component").Component | undefined>;
20
20
  _getLegacy: (scope: ScopeMain, { id }: {
21
21
  id: string;
22
22
  }) => Promise<any>;
@@ -264,7 +264,7 @@ export declare class ScopeMain implements ComponentFactory {
264
264
  * in the future, this can return components that failed to load in the scope due to objects file
265
265
  * corruption or similar issues.
266
266
  */
267
- listInvalid(): Promise<any[]>;
267
+ listInvalid(): Promise<never[]>;
268
268
  /**
269
269
  * get ids of all scope components.
270
270
  * @param includeCache whether or not include components that their scope-name is different than the current scope-name
@@ -372,7 +372,7 @@ export declare class ScopeMain implements ComponentFactory {
372
372
  /**
373
373
  * declare the slots of scope extension.
374
374
  */
375
- static slots: (((registerFn: () => string) => SlotRegistry<OnPostPut>) | ((registerFn: () => string) => SlotRegistry<OnCompAspectReCalc>))[];
375
+ static slots: (((registerFn: () => string) => SlotRegistry<OnPostPut>) | ((registerFn: () => string) => SlotRegistry<OnPostObjectsPersist>) | ((registerFn: () => string) => SlotRegistry<OnPreFetchObjects>) | ((registerFn: () => string) => SlotRegistry<OnCompAspectReCalc>))[];
376
376
  static runtime: import("@teambit/harmony").RuntimeDefinition;
377
377
  static dependencies: import("@teambit/harmony").Aspect[];
378
378
  static defaultConfig: ScopeConfig;
@@ -395,6 +395,6 @@ export declare class ScopeMain implements ComponentFactory {
395
395
  OnPostObjectsPersistSlot,
396
396
  OnPreFetchObjectsSlot,
397
397
  OnCompAspectReCalcSlot
398
- ], harmony: Harmony): Promise<ScopeMain>;
398
+ ], harmony: Harmony): Promise<ScopeMain | undefined>;
399
399
  }
400
400
  export {};
@@ -15,11 +15,11 @@ export declare class ScopeUIRoot implements UIRoot {
15
15
  get name(): string;
16
16
  get path(): string;
17
17
  get configFile(): string;
18
- get devServers(): Promise<any[]>;
18
+ get devServers(): Promise<never[]>;
19
19
  buildOptions: {
20
20
  ssr: boolean;
21
21
  prebundle: boolean;
22
22
  };
23
23
  resolveAspects(runtime: string, componentIds?: ComponentID[], opts?: ResolveAspectsOptions): Promise<import("@teambit/aspect-loader").AspectDefinition[]>;
24
- resolvePattern(): Promise<any[]>;
24
+ resolvePattern(): Promise<never[]>;
25
25
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { MenuProps } from '@teambit/ui-foundation.ui.menu';
2
3
  /**
3
4
  * scope menu.
@@ -24,7 +24,7 @@ type ScopeComponentCardProps = {
24
24
  };
25
25
  componentUrl?: string;
26
26
  };
27
- export declare function ScopeComponentCard({ componentDescriptor, plugins }: ScopeComponentCardProps): JSX.Element;
27
+ export declare function ScopeComponentCard({ componentDescriptor, plugins }: ScopeComponentCardProps): JSX.Element | null;
28
28
  export declare function useCardPlugins({ compModelsById, }: {
29
29
  compModelsById: Map<string, ComponentModel>;
30
30
  }): ComponentCardPluginType<PluginProps>[];
@@ -1,8 +1,8 @@
1
1
  import { ComponentType, ReactNode } from 'react';
2
2
  import 'reset-css';
3
3
  import { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
4
+ import type { ScopeModel } from '@teambit/scope.models.scope-model';
4
5
  import { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';
5
- import { ScopeModel } from '..';
6
6
  export type ScopeProps = {
7
7
  routeSlot: RouteSlot;
8
8
  menuSlot: RouteSlot;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_baseUiSurfacesSplitPane","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_baseUiUtils","_uiFoundationUi3","_reactRouterDom","_uiFoundationUiHooks","_scopeUiHooks","_scopeUiHooks2","_scopeOverview","_scopeModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Scope","routeSlot","menuSlot","sidebar","scopeUi","badgeSlot","overviewLineSlot","cornerSlot","PaneWrapper","context","paneClassName","TargetScopeOverview","TargetCorner","onSidebarTogglerChange","userUseScopeQuery","scopeClassName","scope","useScopeQuery","isMobile","useIsMobile","isSidebarOpen","handleSidebarToggle","useReducer","x","sidebarOpenness","Layout","row","right","createElement","FullLoader","CornerOverride","values","setComponents","components","Context","map","ctx","ScopeProvider","Composer","className","classNames","styles","TopBar","topbar","Corner","name","whiteCorner","menu","SplitPane","main","size","layout","Pane","collapsed","HoverSplitter","splitter","Collapser","isOpen","onMouseDown","stopPropagation","onClick","tooltipContent","PaneContainer","Wrapper","pane","SlotRouter","slot","Route","index","element","ScopeOverview","overviewSlot","TargetOverview","children"],"sources":["scope.tsx"],"sourcesContent":["import React, { useReducer, ComponentType, ReactNode } from 'react';\nimport 'reset-css';\nimport classNames from 'classnames';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { Composer, ComponentTuple } from '@teambit/base-ui.utils.composer';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\nimport { Route } from 'react-router-dom';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';\nimport { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';\nimport { ScopeOverview } from './scope-overview';\nimport styles from './scope.module.scss';\nimport { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';\nimport { ScopeModel } from '..';\n\nexport type ScopeProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: JSX.Element;\n scopeUi: ScopeUI;\n badgeSlot: ScopeBadgeSlot;\n overviewLineSlot: OverviewLineSlot;\n cornerSlot: CornerSlot;\n context: ScopeContextType[];\n TargetScopeOverview?: ComponentType;\n userUseScopeQuery?: () => { scope: ScopeModel | undefined };\n onSidebarTogglerChange: (callback: () => void) => void;\n TargetCorner?: ComponentType;\n paneClassName?: string;\n scopeClassName?: string;\n PaneWrapper?: ComponentType<{ children: ReactNode }>;\n};\n\n/**\n * root component of the scope\n */\nexport function Scope({\n routeSlot,\n menuSlot,\n sidebar,\n scopeUi,\n badgeSlot,\n overviewLineSlot,\n cornerSlot,\n PaneWrapper,\n context = [],\n paneClassName,\n TargetScopeOverview,\n TargetCorner,\n onSidebarTogglerChange,\n userUseScopeQuery,\n scopeClassName,\n}: ScopeProps) {\n const { scope } = userUseScopeQuery ? userUseScopeQuery() : useScopeQuery();\n const isMobile = useIsMobile();\n const [isSidebarOpen, handleSidebarToggle] = useReducer((x) => !x, !isMobile);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n if (!scope) {\n return <FullLoader />;\n }\n const CornerOverride = TargetCorner || cornerSlot?.values()[0];\n scopeUi.setComponents(scope.components);\n const Context = context.map((ctx) => [ctx, { scope }] as ComponentTuple);\n\n onSidebarTogglerChange(handleSidebarToggle);\n\n return (\n <ScopeProvider scope={scope}>\n <Composer components={Context}>\n <div className={classNames(styles.scope, scopeClassName)}>\n <TopBar\n className={styles.topbar}\n Corner={() => {\n if (CornerOverride) return <CornerOverride />;\n return <Corner name={scope.name} className={styles.whiteCorner} />;\n }}\n menu={menuSlot}\n />\n\n <SplitPane className={styles.main} size={264} layout={sidebarOpenness}>\n <Pane className={classNames(styles.sidebar, !isSidebarOpen && styles.collapsed)}>{sidebar}</Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n\n {\n /**\n * @hack - discuss with Ran why we need a PaneWrapper as a parent of the Pane\n * conditionally rendering it makes sure that it doesn't break the code tab layout\n */\n (PaneWrapper && (\n <PaneContainer Wrapper={PaneWrapper}>\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n </PaneContainer>\n )) || (\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n )\n }\n </SplitPane>\n </div>\n </Composer>\n </ScopeProvider>\n );\n}\n\nfunction PaneContainer({\n children,\n Wrapper,\n}: {\n children: ReactNode;\n Wrapper: ComponentType<{ children: ReactNode }>;\n}) {\n return <Wrapper>{children}</Wrapper>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_baseUiSurfacesSplitPane","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_baseUiUtils","_uiFoundationUi3","_reactRouterDom","_uiFoundationUiHooks","_scopeUiHooks","_scopeUiHooks2","_scopeOverview","_scopeModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Scope","routeSlot","menuSlot","sidebar","scopeUi","badgeSlot","overviewLineSlot","cornerSlot","PaneWrapper","context","paneClassName","TargetScopeOverview","TargetCorner","onSidebarTogglerChange","userUseScopeQuery","scopeClassName","scope","useScopeQuery","isMobile","useIsMobile","isSidebarOpen","handleSidebarToggle","useReducer","x","sidebarOpenness","Layout","row","right","createElement","FullLoader","CornerOverride","values","setComponents","components","Context","map","ctx","ScopeProvider","Composer","className","classNames","styles","TopBar","topbar","Corner","name","whiteCorner","menu","SplitPane","main","size","layout","Pane","collapsed","HoverSplitter","splitter","Collapser","isOpen","onMouseDown","stopPropagation","onClick","tooltipContent","PaneContainer","Wrapper","pane","SlotRouter","slot","Route","index","element","ScopeOverview","overviewSlot","TargetOverview","children"],"sources":["scope.tsx"],"sourcesContent":["import React, { useReducer, ComponentType, ReactNode } from 'react';\nimport 'reset-css';\nimport classNames from 'classnames';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { Composer, ComponentTuple } from '@teambit/base-ui.utils.composer';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\nimport { Route } from 'react-router-dom';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';\nimport { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';\nimport type { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { ScopeOverview } from './scope-overview';\nimport styles from './scope.module.scss';\nimport { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';\n\nexport type ScopeProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: JSX.Element;\n scopeUi: ScopeUI;\n badgeSlot: ScopeBadgeSlot;\n overviewLineSlot: OverviewLineSlot;\n cornerSlot: CornerSlot;\n context: ScopeContextType[];\n TargetScopeOverview?: ComponentType;\n userUseScopeQuery?: () => { scope: ScopeModel | undefined };\n onSidebarTogglerChange: (callback: () => void) => void;\n TargetCorner?: ComponentType;\n paneClassName?: string;\n scopeClassName?: string;\n PaneWrapper?: ComponentType<{ children: ReactNode }>;\n};\n\n/**\n * root component of the scope\n */\nexport function Scope({\n routeSlot,\n menuSlot,\n sidebar,\n scopeUi,\n badgeSlot,\n overviewLineSlot,\n cornerSlot,\n PaneWrapper,\n context = [],\n paneClassName,\n TargetScopeOverview,\n TargetCorner,\n onSidebarTogglerChange,\n userUseScopeQuery,\n scopeClassName,\n}: ScopeProps) {\n const { scope } = userUseScopeQuery ? userUseScopeQuery() : useScopeQuery();\n const isMobile = useIsMobile();\n const [isSidebarOpen, handleSidebarToggle] = useReducer((x) => !x, !isMobile);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n if (!scope) {\n return <FullLoader />;\n }\n const CornerOverride = TargetCorner || cornerSlot?.values()[0];\n scopeUi.setComponents(scope.components);\n const Context = context.map((ctx) => [ctx, { scope }] as ComponentTuple);\n\n onSidebarTogglerChange(handleSidebarToggle);\n\n return (\n <ScopeProvider scope={scope}>\n <Composer components={Context}>\n <div className={classNames(styles.scope, scopeClassName)}>\n <TopBar\n className={styles.topbar}\n Corner={() => {\n if (CornerOverride) return <CornerOverride />;\n return <Corner name={scope.name} className={styles.whiteCorner} />;\n }}\n menu={menuSlot}\n />\n\n <SplitPane className={styles.main} size={264} layout={sidebarOpenness}>\n <Pane className={classNames(styles.sidebar, !isSidebarOpen && styles.collapsed)}>{sidebar}</Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n\n {\n /**\n * @hack - discuss with Ran why we need a PaneWrapper as a parent of the Pane\n * conditionally rendering it makes sure that it doesn't break the code tab layout\n */\n (PaneWrapper && (\n <PaneContainer Wrapper={PaneWrapper}>\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n </PaneContainer>\n )) || (\n <Pane className={classNames(paneClassName, styles.pane)}>\n <SlotRouter slot={routeSlot}>\n <Route\n index\n element={\n <ScopeOverview\n badgeSlot={badgeSlot}\n overviewSlot={overviewLineSlot}\n TargetOverview={TargetScopeOverview}\n />\n }\n />\n </SlotRouter>\n </Pane>\n )\n }\n </SplitPane>\n </div>\n </Composer>\n </ScopeProvider>\n );\n}\n\nfunction PaneContainer({\n children,\n Wrapper,\n}: {\n children: ReactNode;\n Wrapper: ComponentType<{ children: ReactNode }>;\n}) {\n return <Wrapper>{children}</Wrapper>;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/scope",
3
- "version": "1.0.142",
3
+ "version": "1.0.144",
4
4
  "homepage": "https://bit.cloud/teambit/scope/scope",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "scope",
9
- "version": "1.0.142"
9
+ "version": "1.0.144"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -19,6 +19,7 @@
19
19
  "multimatch": "5.0.0",
20
20
  "classnames": "2.2.6",
21
21
  "reset-css": "5.0.1",
22
+ "@teambit/ui-foundation.ui.tree.drawer": "0.0.518",
22
23
  "@teambit/harmony": "0.4.6",
23
24
  "@teambit/legacy-component-log": "0.0.402",
24
25
  "@teambit/bit-error": "0.0.404",
@@ -26,6 +27,7 @@
26
27
  "@teambit/graph.cleargraph": "0.0.8",
27
28
  "@teambit/legacy-bit-id": "1.1.0",
28
29
  "@teambit/design.ui.tree": "0.0.15",
30
+ "@teambit/ui-foundation.ui.side-bar": "0.0.874",
29
31
  "@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
30
32
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.502",
31
33
  "@teambit/ui-foundation.ui.menu": "0.0.502",
@@ -40,49 +42,47 @@
40
42
  "@teambit/ui-foundation.ui.full-loader": "0.0.500",
41
43
  "@teambit/ui-foundation.ui.hooks.use-is-mobile": "0.0.197",
42
44
  "@teambit/ui-foundation.ui.top-bar": "0.0.514",
43
- "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.141",
44
- "@teambit/ui-foundation.ui.use-box.scope-menu": "0.0.145",
45
45
  "@teambit/design.ui.tooltip": "0.0.361",
46
46
  "@teambit/explorer.ui.component-card": "0.0.30",
47
47
  "@teambit/explorer.ui.gallery.component-grid": "0.0.496",
48
48
  "@teambit/scope.ui.empty-scope": "0.0.509",
49
49
  "@teambit/scope.ui.scope-details": "0.0.526",
50
50
  "@teambit/scopes.scope-id": "0.0.7",
51
+ "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.142",
52
+ "@teambit/ui-foundation.ui.use-box.scope-menu": "0.0.146",
51
53
  "@teambit/component.modules.component-url": "0.0.167",
52
- "@teambit/ui-foundation.ui.tree.drawer": "0.0.518",
53
- "@teambit/scope.models.scope-model": "0.0.502",
54
- "@teambit/scope.ui.hooks.scope-context": "0.0.496",
55
- "@teambit/aspect-loader": "1.0.142",
56
- "@teambit/cli": "0.0.848",
57
- "@teambit/compiler": "1.0.142",
58
- "@teambit/component": "1.0.142",
59
- "@teambit/dependency-resolver": "1.0.142",
60
- "@teambit/envs": "1.0.142",
61
- "@teambit/global-config": "0.0.851",
54
+ "@teambit/scope.models.scope-model": "0.0.503",
55
+ "@teambit/scope.ui.hooks.scope-context": "0.0.497",
56
+ "@teambit/aspect-loader": "1.0.144",
57
+ "@teambit/cli": "0.0.849",
58
+ "@teambit/compiler": "1.0.144",
59
+ "@teambit/component": "1.0.144",
60
+ "@teambit/dependency-resolver": "1.0.144",
61
+ "@teambit/envs": "1.0.144",
62
+ "@teambit/global-config": "0.0.852",
62
63
  "@teambit/harmony.modules.requireable-component": "0.0.497",
63
- "@teambit/isolator": "1.0.142",
64
- "@teambit/logger": "0.0.941",
65
- "@teambit/builder": "1.0.142",
66
- "@teambit/express": "0.0.947",
67
- "@teambit/graph": "1.0.142",
68
- "@teambit/graphql": "1.0.142",
69
- "@teambit/ui": "1.0.142",
64
+ "@teambit/isolator": "1.0.144",
65
+ "@teambit/logger": "0.0.942",
66
+ "@teambit/builder": "1.0.144",
67
+ "@teambit/express": "0.0.948",
68
+ "@teambit/graph": "1.0.144",
69
+ "@teambit/graphql": "1.0.144",
70
+ "@teambit/ui": "1.0.144",
70
71
  "@teambit/workspace.modules.match-pattern": "0.0.505",
71
- "@teambit/component.ui.component-drawer": "0.0.389",
72
- "@teambit/lanes.hooks.use-lane-components": "0.0.256",
73
- "@teambit/lanes.hooks.use-lanes": "0.0.258",
72
+ "@teambit/component.ui.component-drawer": "0.0.390",
73
+ "@teambit/lanes.hooks.use-lane-components": "0.0.257",
74
+ "@teambit/lanes.hooks.use-lanes": "0.0.259",
74
75
  "@teambit/lanes.ui.models.lanes-model": "0.0.212",
75
- "@teambit/ui-foundation.ui.side-bar": "0.0.874",
76
- "@teambit/command-bar": "1.0.142",
77
- "@teambit/component-tree": "1.0.142",
76
+ "@teambit/command-bar": "1.0.144",
77
+ "@teambit/component-tree": "1.0.144",
78
78
  "@teambit/component.ui.component-filters.component-filter-context": "0.0.218",
79
79
  "@teambit/component.ui.component-filters.deprecate-filter": "0.0.216",
80
80
  "@teambit/component.ui.component-filters.env-filter": "0.0.222",
81
81
  "@teambit/component.ui.component-filters.show-main-filter": "0.0.209",
82
- "@teambit/sidebar": "1.0.142",
83
- "@teambit/ui-foundation.ui.buttons.collapser": "0.0.216",
84
- "@teambit/component-descriptor": "0.0.413",
85
- "@teambit/preview.ui.preview-placeholder": "0.0.509"
82
+ "@teambit/sidebar": "1.0.144",
83
+ "@teambit/ui-foundation.ui.buttons.collapser": "0.0.217",
84
+ "@teambit/component-descriptor": "0.0.414",
85
+ "@teambit/preview.ui.preview-placeholder": "0.0.510"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@types/fs-extra": "9.0.7",
@@ -90,15 +90,14 @@
90
90
  "@types/semver": "7.3.4",
91
91
  "@types/classnames": "2.2.11",
92
92
  "@types/mocha": "9.1.0",
93
- "@types/jest": "^29.2.2",
94
- "@types/testing-library__jest-dom": "^5.9.5",
93
+ "chai": "4.3.0",
95
94
  "@teambit/scope.content.scope-overview": "1.95.0",
96
- "@teambit/harmony.envs.core-aspect-env": "0.0.19"
95
+ "@teambit/harmony.envs.core-aspect-env": "0.0.24"
97
96
  },
98
97
  "peerDependencies": {
99
98
  "react": "^17.0.0 || ^18.0.0",
100
99
  "react-router-dom": "^6.8.1",
101
- "@types/react": "17.0.8",
100
+ "@types/react": "^17.0.73",
102
101
  "@teambit/legacy": "1.0.624"
103
102
  },
104
103
  "license": "Apache-2.0",
@@ -113,7 +112,8 @@
113
112
  "default": "./dist/index.js"
114
113
  },
115
114
  "./dist/*": "./dist/*",
116
- "./artifacts/*": "./artifacts/*"
115
+ "./artifacts/*": "./artifacts/*",
116
+ "./*": "./*.ts"
117
117
  },
118
118
  "private": false,
119
119
  "engines": {
package/tsconfig.json CHANGED
@@ -17,7 +17,10 @@
17
17
  "resolveJsonModule": true,
18
18
  "allowJs": true,
19
19
  "outDir": "dist",
20
- "emitDeclarationOnly": true
20
+ "emitDeclarationOnly": true,
21
+ "strict": true,
22
+ "strictPropertyInitialization": false,
23
+ "noImplicitAny": false
21
24
  },
22
25
  "exclude": [
23
26
  "artifacts",
package/ui/scope.tsx CHANGED
@@ -13,10 +13,10 @@ import { Route } from 'react-router-dom';
13
13
  import { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';
14
14
  import { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';
15
15
  import { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';
16
+ import type { ScopeModel } from '@teambit/scope.models.scope-model';
16
17
  import { ScopeOverview } from './scope-overview';
17
18
  import styles from './scope.module.scss';
18
19
  import { ScopeUI, ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';
19
- import { ScopeModel } from '..';
20
20
 
21
21
  export type ScopeProps = {
22
22
  routeSlot: RouteSlot;