@teambit/scope 1.0.170 → 1.0.171

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.scope/scope@1.0.170" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.scope/scope@1.0.171" tests="0" failures="0" errors="0" skipped="0"/>
4
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={85996:(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)}()},8728:(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)}()},45672:()=>{!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)})}}()},29292:(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},90776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(6376);t.default=function(e){o.useEffect(e,[])}},69728:(e,t,n)=>{"use strict";var o=n(6376),r=n(29292),i=r.isBrowser?window:null,a=function(e){return!!e.addEventListener},s=function(e){return!!e.on};t.c=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)])}},40708:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(36420),r=n(6376),i=o.__importDefault(n(96248));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]}},96248:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(36420),r=n(6376),i=o.__importDefault(n(90776));t.default=function(e){var t=r.useRef(e);t.current=e,i.default((function(){return function(){return t.current()}}))}},95772:(e,t,n)=>{"use strict";var o=n(36420),r=n(6376),i=o.__importDefault(n(40708)),a=n(29292);t.c=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}},19628: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(6376)),a=r(n(85996)),s=r(n(44320));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},61424: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(19628),t)},45372:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Image:()=>y});var o=n(6376),r=n.n(o),i=n(8728),a=n.n(i);n(45672);const s=ReactDom;var c=n(69728),l=n(95772),u=n(36420),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,E=void 0===S?0:S,P=e.zoomZindex,T=void 0===P?2147483647:P,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.c)(),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))}),[]),H=(0,o.useCallback)((function(){M((function(e){return e+1})),z||N(!0)}),[z]);(0,c.c)("keydown",W,document),(0,c.c)("scroll",H,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 X=b.current||f,U=X.getBoundingClientRect(),Z=U.height,G=U.left,$=U.top,J=U.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:Z,isLoaded:C,innerHeight:L,innerWidth:R,isUnloading:z,left:G,originalTransform:X.style.transform,top:$,transitionDuration:j,width:J,zoomMargin:E});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],E=j[1],P=(0,o.useState)(!1),T=P[0],k=P[1],M=(0,o.useRef)(null),D=(0,o.useRef)(null),C=(0,o.useCallback)((function(e){S||(e.preventDefault(),E(!0))}),[S]),I=(0,o.useCallback)((function(){k(!0)}),[]),B=(0,o.useCallback)((function(){E(!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(61424);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}},33444:(e,t,n)=>{"use strict";Object.defineProperty(t,"cp",{enumerable:!0,get:function(){return o.default}});var o=r(n(8580));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}},8580:(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(6376));var r=n(50762),i=n(94208),a=p(n(37788)),s=p(n(79380)),c=p(n(82724)),l=n(45372),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},39468:(e,t,n)=>{"use strict";var o={id:"teambit.scope/scope@1.0.170",homepage:"https://bit.cloud/teambit/scope/scope",exported:!0};function r(){const e=i(n(6376));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},44320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});const o={fullWidth:"image_fullWidth__6C+Bi"}},82724:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/3a1072c009accd203fa8.png"},79380:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/ccf5ea377e3a1a72829d.png"},37788:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/aef2176d16de53259dad.png"},50762:e=>{"use strict";e.exports=MdxJsReact},6376:e=>{"use strict";e.exports=React},94208:e=>{"use strict";e.exports=TeambitMdxUiMdxScopeContext},36420:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>B,__assign:()=>i,__asyncDelegator:()=>S,__asyncGenerator:()=>j,__asyncValues:()=>E,__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:()=>P,__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 E(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 P(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:E,__makeTemplateObject:P,__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(39468),r=(n(6376),n(50762)),i=n(94208),a=n(33444),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.cp},mdxType:"MDXScopeProvider"},(0,r.mdx)(a.cp,{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={85996:(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)}()},8728:(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)}()},45672:()=>{!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)})}}()},29292:(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},90776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(6376);t.default=function(e){o.useEffect(e,[])}},69728:(e,t,n)=>{"use strict";var o=n(6376),r=n(29292),i=r.isBrowser?window:null,a=function(e){return!!e.addEventListener},s=function(e){return!!e.on};t.c=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)])}},40708:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(36420),r=n(6376),i=o.__importDefault(n(96248));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]}},96248:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(36420),r=n(6376),i=o.__importDefault(n(90776));t.default=function(e){var t=r.useRef(e);t.current=e,i.default((function(){return function(){return t.current()}}))}},95772:(e,t,n)=>{"use strict";var o=n(36420),r=n(6376),i=o.__importDefault(n(40708)),a=n(29292);t.c=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}},19628: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(6376)),a=r(n(85996)),s=r(n(44320));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},61424: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(19628),t)},45372:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Image:()=>y});var o=n(6376),r=n.n(o),i=n(8728),a=n.n(i);n(45672);const s=ReactDom;var c=n(69728),l=n(95772),u=n(36420),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,E=void 0===S?0:S,P=e.zoomZindex,T=void 0===P?2147483647:P,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.c)(),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))}),[]),H=(0,o.useCallback)((function(){M((function(e){return e+1})),z||N(!0)}),[z]);(0,c.c)("keydown",W,document),(0,c.c)("scroll",H,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 X=b.current||f,U=X.getBoundingClientRect(),Z=U.height,G=U.left,$=U.top,J=U.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:Z,isLoaded:C,innerHeight:L,innerWidth:R,isUnloading:z,left:G,originalTransform:X.style.transform,top:$,transitionDuration:j,width:J,zoomMargin:E});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],E=j[1],P=(0,o.useState)(!1),T=P[0],k=P[1],M=(0,o.useRef)(null),D=(0,o.useRef)(null),C=(0,o.useCallback)((function(e){S||(e.preventDefault(),E(!0))}),[S]),I=(0,o.useCallback)((function(){k(!0)}),[]),B=(0,o.useCallback)((function(){E(!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(61424);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}},33444:(e,t,n)=>{"use strict";Object.defineProperty(t,"cp",{enumerable:!0,get:function(){return o.default}});var o=r(n(8580));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}},8580:(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(6376));var r=n(50762),i=n(94208),a=p(n(37788)),s=p(n(79380)),c=p(n(82724)),l=n(45372),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},61651:(e,t,n)=>{"use strict";var o={id:"teambit.scope/scope@1.0.171",homepage:"https://bit.cloud/teambit/scope/scope",exported:!0};function r(){const e=i(n(6376));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},44320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});const o={fullWidth:"image_fullWidth__6C+Bi"}},82724:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/3a1072c009accd203fa8.png"},79380:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/ccf5ea377e3a1a72829d.png"},37788:(e,t,n)=>{"use strict";e.exports=n.p+"static/images/aef2176d16de53259dad.png"},50762:e=>{"use strict";e.exports=MdxJsReact},6376:e=>{"use strict";e.exports=React},94208:e=>{"use strict";e.exports=TeambitMdxUiMdxScopeContext},36420:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>B,__assign:()=>i,__asyncDelegator:()=>S,__asyncGenerator:()=>j,__asyncValues:()=>E,__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:()=>P,__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 E(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 P(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:E,__makeTemplateObject:P,__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(61651),r=(n(6376),n(50762)),i=n(94208),a=n(33444),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.cp},mdxType:"MDXScopeProvider"},(0,r.mdx)(a.cp,{mdxType:"ScopeOverview"})))}p.isMDXComponent=!0;const f=[t],d=[e],m={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),o})()));
@@ -88,7 +88,7 @@
88
88
  "_legacy": {
89
89
  "scope": "teambit.scope",
90
90
  "name": "scope",
91
- "version": "1.0.170"
91
+ "version": "1.0.171"
92
92
  },
93
93
  "_scope": "teambit.scope"
94
94
  }
@@ -172,7 +172,7 @@
172
172
  "_legacy": {
173
173
  "scope": "teambit.scope",
174
174
  "name": "scope",
175
- "version": "1.0.170"
175
+ "version": "1.0.171"
176
176
  },
177
177
  "_scope": "teambit.scope"
178
178
  }
@@ -7471,7 +7471,7 @@
7471
7471
  "_legacy": {
7472
7472
  "scope": "teambit.scope",
7473
7473
  "name": "scope",
7474
- "version": "1.0.170"
7474
+ "version": "1.0.171"
7475
7475
  },
7476
7476
  "_scope": "teambit.scope"
7477
7477
  }
@@ -10077,7 +10077,7 @@
10077
10077
  "_legacy": {
10078
10078
  "scope": "teambit.scope",
10079
10079
  "name": "scope",
10080
- "version": "1.0.170"
10080
+ "version": "1.0.171"
10081
10081
  },
10082
10082
  "_scope": "teambit.scope"
10083
10083
  }
@@ -18384,7 +18384,7 @@
18384
18384
  "_legacy": {
18385
18385
  "scope": "teambit.scope",
18386
18386
  "name": "scope",
18387
- "version": "1.0.170"
18387
+ "version": "1.0.171"
18388
18388
  },
18389
18389
  "_scope": "teambit.scope"
18390
18390
  }
@@ -22099,7 +22099,7 @@
22099
22099
  "componentId": {
22100
22100
  "scope": "teambit.scope",
22101
22101
  "name": "scope",
22102
- "version": "1.0.170"
22102
+ "version": "1.0.171"
22103
22103
  },
22104
22104
  "taggedModuleExports": []
22105
22105
  }
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.170/dist/scope.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.170/dist/scope.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.171/dist/scope.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.171/dist/scope.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ScopeMain = void 0;
7
7
  function _globalConfig() {
8
- const data = _interopRequireDefault(require("@teambit/global-config"));
8
+ const data = require("@teambit/global-config");
9
9
  _globalConfig = function () {
10
10
  return data;
11
11
  };
@@ -250,7 +250,7 @@ function _config() {
250
250
  return data;
251
251
  }
252
252
  function _envs() {
253
- const data = _interopRequireDefault(require("@teambit/envs"));
253
+ const data = require("@teambit/envs");
254
254
  _envs = function () {
255
255
  return data;
256
256
  };
@@ -478,7 +478,7 @@ class ScopeMain {
478
478
  policy: policy.serialize()
479
479
  };
480
480
  // Make sure we are adding the envs / deps data first because other on load events might depend on it
481
- await Promise.all([this.upsertExtensionData(component, _envs().default.id, envsData), this.upsertExtensionData(component, _dependencyResolver().DependencyResolverAspect.id, depResolverData)]);
481
+ await Promise.all([this.upsertExtensionData(component, _envs().EnvsAspect.id, envsData), this.upsertExtensionData(component, _dependencyResolver().DependencyResolverAspect.id, depResolverData)]);
482
482
 
483
483
  // We are updating the component state with the envs and deps data here, so in case we have other slots that depend on this data
484
484
  // they will be able to get it, as it's very common use case that during on load someone want to access to the component env for example
@@ -1154,7 +1154,7 @@ class ScopeMain {
1154
1154
  }
1155
1155
  }
1156
1156
  if (opts.loadEnvs) {
1157
- const envsData = component.state.aspects.get(_envs().default.id);
1157
+ const envsData = component.state.aspects.get(_envs().EnvsAspect.id);
1158
1158
  if (envsData?.data?.services || envsData?.data?.self || envsData?.data?.type === 'env') {
1159
1159
  aspectIds.push(component.id.toString());
1160
1160
  }
@@ -1267,7 +1267,7 @@ class ScopeMain {
1267
1267
  exports.ScopeMain = ScopeMain;
1268
1268
  _defineProperty(ScopeMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
1269
1269
  _defineProperty(ScopeMain, "runtime", _cli().MainRuntime);
1270
- _defineProperty(ScopeMain, "dependencies", [_component().ComponentAspect, _ui().UIAspect, _graphql().GraphqlAspect, _cli().CLIAspect, _isolator().IsolatorAspect, _aspectLoader().AspectLoaderAspect, _express().ExpressAspect, _logger().LoggerAspect, _envs().default, _dependencyResolver().DependencyResolverAspect, _globalConfig().default]);
1270
+ _defineProperty(ScopeMain, "dependencies", [_component().ComponentAspect, _ui().UIAspect, _graphql().GraphqlAspect, _cli().CLIAspect, _isolator().IsolatorAspect, _aspectLoader().AspectLoaderAspect, _express().ExpressAspect, _logger().LoggerAspect, _envs().EnvsAspect, _dependencyResolver().DependencyResolverAspect, _globalConfig().GlobalConfigAspect]);
1271
1271
  _defineProperty(ScopeMain, "defaultConfig", {
1272
1272
  httpTimeOut: 600000
1273
1273
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_globalConfig","data","_interopRequireDefault","require","_action","_pMapSeries","_path","_graph","_semver","_multimatch","_builder","_aspectLoader","_cli","_component","_graphql","_harmony","_isolator","_logger","_express","_ui","_componentId","_objects","_scopeLoader","_getDivergeData","_actions","_dependencyResolver","_scopeRemotes","_workspaceModules","_scope","_chokidar","_objectList","_http","_scope2","_bitError","_exportScopeComponents","_constants","_legacyBitId","_config","_envs","_lodash","_exceptions","_scope3","_scope4","_scope5","_routes","_scopeComponentLoader","_scopeCmd","_stagedConfig","_noIdMatchPattern","_scopeAspectsLoader","_clearCacheAction","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","ScopeMain","constructor","harmony","legacyScope","componentExtension","config","postPutSlot","postDeleteSlot","postExportSlot","postObjectsPersist","preFetchObjects","OnCompAspectReCalcSlot","isolator","aspectLoader","logger","envs","dependencyResolver","globalConfig","componentLoader","ScopeComponentLoader","name","icon","backgroundIconColor","description","path","isLegacy","isGlobalScope","GLOBAL_SCOPE","aspectsPackageManager","aspectsNodeLinker","reloadAspectsWithNewVersion","components","host","getHost","getUserAspectsIdsWithoutRootIds","allUserAspectIds","getUserAspects","rootIds","toObject","diffIds","difference","getAspectsByPreviouslyUsedVersion","harmonyIds","aspectsIds","aspectsP","map","component","newId","resolveComponentId","id","previouslyUsedVersion","version","newIdWithPreviouslyUsedVersion","changeVersion","includes","toString","Promise","all","idsToLoad","loadAspects","ids","throwOnError","neededFor","lane","opts","scopeAspectsLoader","getScopeAspectsLoader","resolveAspects","runtimeName","componentIds","getResolvedAspects","executeOnCompAspectReCalcSlot","envsData","calcDescriptor","skipWarnings","policy","mergeVariantPolicies","extensions","state","_consumer","files","dependenciesList","extractDepsFromLegacy","depResolverData","packageName","calcPackageName","dependencies","serialize","upsertExtensionData","EnvsAspect","DependencyResolverAspect","aspectListWithEnvsAndDeps","createAspectListFromExtensionDataList","aspects","entries","toArray","mapSeries","extension","onLoad","upsertEntry","existingExtension","findExtension","assign","getDataEntry","ExtensionDataEntry","undefined","getIsolateAspectsOpts","getIsolateOpts","getAspectCapsulePath","shouldUseHashForCapsules","getManyByLegacy","getFromConsumerComponent","ScopeAspectsLoader","clearCache","debug","objects","builderDataMapToLegacyOnTagResults","builderDataComponentMap","builderDataToLegacyExtension","builderData","existingBuilder","get","BuilderAspect","legacy","builderExtension","onPostPut","postPutFn","register","onPostDelete","postDeleteFn","registerOnPostExport","postExportFn","registerOnPreFetchObjects","preFetchObjectsFn","registerOnCompAspectReCalc","compAspectReCalcSlotFn","registerOnPostObjectsPersist","postObjectsPersistFn","fetch","persist","options","delete","force","lanes","headers","authData","getAuthDataFromHeader","authorization","result","remove","fns","values","metadata","auth","ComponentID","fromString","fn","err","error","isExported","watchScopeInternalFiles","scopeIndexFile","scopeIndex","getPath","remoteLanesDir","remoteLanes","basePath","pathsToWatch","watcher","chokidar","watch","on","join","filePath","reLoadScopeIndex","startsWith","removeFromCacheByFilePath","toObjectList","types","list","ObjectList","fromBitObjects","toJs","str","endsWith","replace","getGraph","comp","getMany","allFlattened","getAllFlattenedDependencies","flat","allFlattenedUniq","ComponentIdList","uniqFromArray","scopeImporter","importWithoutDeps","cache","reason","allComponents","graph","Graph","setNode","Node","deps","getComponentDependencies","dep","depCompId","componentId","hasNode","Error","setEdge","Edge","lifecycle","getGraphIds","componentsWithoutSavedGraph","compGraph","getSavedGraphOfComponentIfExist","merge","getCurrentLaneObject","import","c","reFetchUnBuiltVersion","concat","addEdges","compId","label","depId","componentsAndVersions","getComponentsAndVersions","versionStr","toComponentId","devDependencies","extensionDependencies","getFlattenedEdges","versionObj","getVersionInstance","flattenedEdges","consumerComponent","flattenedDependencies","edges","edge","source","target","nodes","node","type","useCache","preferDependencyGraph","withoutOwnScopeAndLocals","scope","_legacy","hasScope","importMany","fromArray","throwForDependencyNotFound","importIfMissing","getRemoteComponent","getManyRemoteComponents","includeCache","includeFromLanes","includeDeleted","patternsWithScope","namespaces","pattern","componentsIds","listIds","comps","limit","slice","offset","isDeleted","listInvalid","patterns","allModelComponents","filterByCacheAndLanes","modelComponent","cacheFilter","exists","lanesFilter","hasHead","modelComponentsToList","fromLegacy","toBitIdWithLatestVersion","some","isMatchNamespacePatternItem","toStringWithoutVersion","match","hasId","includeVersion","hasIdNested","throwIfNotExist","idsWithoutEmpty","compact","componentsP","getOrThrow","loadMany","loadApps","loadEnvs","load","loadManyCompsAspects","loadedComponents","loadCompAspects","ComponentNotFound","getState","hash","getSnap","getModelComponent","ref","getRef","getLogs","shortHash","startsFrom","loadComponentLogs","getStagedConfig","currentLaneId","getCurrentLaneId","StagedConfig","isComponentRemoved","loadVersion","isRemoved","BitId","resolveComponentIdFromBitId","idStr","loadModelComponentByIdStr","getIdToCheck","IdToCheck","legacyId","getParsedId","resolveMultipleComponentIds","byPattern","idsByPattern","throwForNoMatch","BitError","filterIdsFromPoolIdsByPattern","filterByStateFunc","split","p","trim","every","unshift","idsToCheck","statePatterns","nonStatePatterns","partition","idsFiltered","multimatch","idsStateFiltered","statePattern","statePatternSplit","stateF","nonStateF","filteredByNonState","idsStateFilteredFlat","combineFilteredIds","allIds","allIdsFiltered","NoIdMatchPattern","getSnapDistance","throws","modelComp","setDivergeData","getDivergeData","getSnapsDistanceBetweenTwoSnaps","sourceHead","targetHead","repo","Ref","from","head","getExactVersionBySemverRange","range","versions","listVersions","semver","maxSatisfying","includePrerelease","resumeExport","exportId","remotes","resolveId","_legacyRemotes","getScopeRemotes","listRemoteScope","scopeName","remote","resolve","results","getLegacyMinimal","getConsumerComponent","getBitObjectModelComponent","getModelComponentIfExist","getBitObjectVersion","getBitObjectVersionById","aspectIds","appData","appName","services","self","loadComponentsAspect","addAspectsFromConfigObject","configObject","extensionsFromConfigObject","ExtensionDataList","fromConfigObject","extensionDataList","mergeConfigs","filterRemovedExtensions","entry","extensionDataEntryToAspectEntry","createAspectListFromEntries","dataEntry","AspectEntry","getLastMergedPath","isModified","write","provider","componentExt","ui","graphql","cli","express","loggerMain","depsResolver","postObjectsPersistSlot","preFetchObjectsSlot","bitConfig","loadScopeIfExist","cwd","createLogger","ScopeAspect","registerOnStart","hasWorkspace","getNotLoadedConfiguredExtensions","ScopeCmd","onPutHook","getAuthData","token","Http","getToken","DEFAULT_AUTH_TYPE","credentials","onPostExportHook","onPostObjectsPersistHook","ExportPersist","PostSign","Scope","onPostExport","Repository","onPostObjectsPersist","ExternalActions","externalActions","ClearCacheAction","PutRoute","FetchRoute","ActionRoute","DeleteRoute","registerUiRoot","ScopeUIRoot","scopeSchema","registerHost","exports","Slot","withType","MainRuntime","ComponentAspect","UIAspect","GraphqlAspect","CLIAspect","IsolatorAspect","AspectLoaderAspect","ExpressAspect","LoggerAspect","GlobalConfigAspect","httpTimeOut","addRuntime"],"sources":["scope.main.runtime.ts"],"sourcesContent":["import GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { ExternalActions } from '@teambit/legacy/dist/api/scope/lib/action';\nimport mapSeries from 'p-map-series';\nimport path from 'path';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport semver from 'semver';\nimport multimatch from 'multimatch';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { RawBuilderData, BuilderAspect } from '@teambit/builder';\nimport { AspectLoaderAspect, AspectDefinition } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport type { AspectData, ComponentMain, ComponentMap, ResolveAspectsOptions } from '@teambit/component';\nimport { Component, ComponentAspect, ComponentFactory, Snap, State, AspectEntry } from '@teambit/component';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { Harmony, Slot, SlotRegistry } from '@teambit/harmony';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport type { UiMain } from '@teambit/ui';\nimport { UIAspect } from '@teambit/ui';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport { ModelComponent, Lane, Version } from '@teambit/legacy/dist/scope/models';\nimport { Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport LegacyScope, { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { LegacyComponentLog as ComponentLog } from '@teambit/legacy-component-log';\nimport { loadScopeIfExist } from '@teambit/legacy/dist/scope/scope-loader';\nimport { getDivergeData } from '@teambit/legacy/dist/scope/component-ops/get-diverge-data';\nimport { PersistOptions } from '@teambit/legacy/dist/scope/types';\nimport { ExportPersist, PostSign } from '@teambit/legacy/dist/scope/actions';\nimport { DependencyResolverAspect, DependencyResolverMain, NodeLinker } from '@teambit/dependency-resolver';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { Remotes } from '@teambit/legacy/dist/remotes';\nimport { isMatchNamespacePatternItem } from '@teambit/workspace.modules.match-pattern';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { CompIdGraph, DepEdgeType } from '@teambit/graph';\nimport chokidar from '@teambit/chokidar';\nimport { Types } from '@teambit/legacy/dist/scope/object-registrar';\nimport { FETCH_OPTIONS } from '@teambit/legacy/dist/api/scope/lib/fetch';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { SnapsDistance } from '@teambit/legacy/dist/scope/component-ops/snaps-distance';\nimport { Http, DEFAULT_AUTH_TYPE, AuthData, getAuthDataFromHeader } from '@teambit/legacy/dist/scope/network/http/http';\nimport { remove } from '@teambit/legacy/dist/api/scope';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { resumeExport } from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { GLOBAL_SCOPE } from '@teambit/legacy/dist/constants';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { compact, slice, difference, partition } from 'lodash';\nimport { DepEdge } from '@teambit/legacy/dist/scope/models/version';\nimport { ComponentNotFound } from './exceptions';\nimport { ScopeAspect } from './scope.aspect';\nimport { scopeSchema } from './scope.graphql';\nimport { ScopeUIRoot } from './scope.ui-root';\nimport { PutRoute, FetchRoute, ActionRoute, DeleteRoute } from './routes';\nimport { ScopeComponentLoader } from './scope-component-loader';\nimport { ScopeCmd } from './scope-cmd';\nimport { StagedConfig } from './staged-config';\nimport { NoIdMatchPattern } from './exceptions/no-id-match-pattern';\nimport { ScopeAspectsLoader, ScopeLoadAspectsOptions } from './scope-aspects-loader';\nimport { ClearCacheAction } from './clear-cache-action';\n\ntype RemoteEventMetadata = { auth?: AuthData; headers?: {} };\ntype RemoteEvent<Data> = (data: Data, metadata: RemoteEventMetadata, errors?: Array<string | Error>) => Promise<void>;\ntype OnPostPutData = { ids: ComponentID[]; lanes: Lane[] };\ntype OnPostDeleteData = { ids: ComponentID[] };\ntype OnPreFetchObjectData = { ids: string[]; fetchOptions: FETCH_OPTIONS };\n\ntype OnPostPut = RemoteEvent<OnPostPutData>;\ntype OnPostExport = RemoteEvent<OnPostPutData>;\ntype OnPostDelete = RemoteEvent<OnPostDeleteData>;\ntype OnPostObjectsPersist = RemoteEvent<undefined>;\ntype OnPreFetchObjects = RemoteEvent<OnPreFetchObjectData>;\ntype OnCompAspectReCalc = (component: Component) => Promise<AspectData | undefined>;\n\nexport type OnPostPutSlot = SlotRegistry<OnPostPut>;\nexport type OnPostDeleteSlot = SlotRegistry<OnPostDelete>;\nexport type OnPostExportSlot = SlotRegistry<OnPostExport>;\nexport type OnPostObjectsPersistSlot = SlotRegistry<OnPostObjectsPersist>;\nexport type OnPreFetchObjectsSlot = SlotRegistry<OnPreFetchObjects>;\nexport type OnCompAspectReCalcSlot = SlotRegistry<OnCompAspectReCalc>;\nexport type LoadOptions = {\n /**\n * In case the component we are loading is app, whether to load it as app (in a scope aspects capsule)\n */\n loadApps?: boolean;\n /**\n * In case the component we are loading is env, whether to load it as env (in a scope aspects capsule)\n */\n loadEnvs?: boolean;\n};\n\nexport type ScopeConfig = {\n httpTimeOut: number;\n description?: string;\n icon?: string;\n backgroundIconColor?: string;\n /**\n * Set a different package manager for the aspects capsules\n */\n aspectsPackageManager?: string;\n /**\n * Set a different node linker for the aspects capsules\n */\n aspectsNodeLinker?: NodeLinker;\n};\n\nexport class ScopeMain implements ComponentFactory {\n componentLoader: ScopeComponentLoader;\n constructor(\n /**\n * private reference to the instance of Harmony.\n */\n private harmony: Harmony,\n /**\n * legacy scope\n */\n readonly legacyScope: LegacyScope,\n\n /**\n * component extension.\n */\n readonly componentExtension: ComponentMain,\n\n /**\n * slot registry for subscribing to build\n */\n\n readonly config: ScopeConfig,\n\n private postPutSlot: OnPostPutSlot,\n\n private postDeleteSlot: OnPostDeleteSlot,\n\n private postExportSlot: OnPostExportSlot,\n\n private postObjectsPersist: OnPostObjectsPersistSlot,\n\n public preFetchObjects: OnPreFetchObjectsSlot,\n\n private OnCompAspectReCalcSlot: OnCompAspectReCalcSlot,\n\n private isolator: IsolatorMain,\n\n private aspectLoader: AspectLoaderMain,\n\n private logger: Logger,\n\n private envs: EnvsMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private globalConfig: GlobalConfigMain\n ) {\n this.componentLoader = new ScopeComponentLoader(this, this.logger);\n }\n\n priority?: boolean | undefined;\n\n localAspects: string[] = [];\n\n /**\n * name of the scope\n */\n get name(): string {\n return this.legacyScope.name;\n }\n\n get icon(): string | undefined {\n return this.config.icon;\n }\n\n get backgroundIconColor(): string | undefined {\n return this.config.backgroundIconColor;\n }\n\n get description(): string | undefined {\n return this.config.description;\n }\n\n get path(): string {\n return this.legacyScope.path;\n }\n\n get isLegacy(): boolean {\n return this.legacyScope.isLegacy;\n }\n\n get isGlobalScope(): boolean {\n return this.path === GLOBAL_SCOPE;\n }\n\n get aspectsPackageManager(): string | undefined {\n return this.config.aspectsPackageManager;\n }\n\n get aspectsNodeLinker(): NodeLinker | undefined {\n return this.config.aspectsNodeLinker;\n }\n\n // We need to reload the aspects with their new version since:\n // during get many by legacy, we go load component which in turn go to getEnv\n // get env validates that the env written on the component is really exist by checking the envs slot registry\n // when we load here, it's env version in the aspect list already has the new version in case the env itself is being tagged\n // so we are search for the env in the registry with the new version number\n // but since the env only registered during the on load of the bit process (before the tag) it's version in the registry is only the old one\n // once we reload them we will have it registered with the new version as well\n async reloadAspectsWithNewVersion(components: ConsumerComponent[]): Promise<void> {\n const host = this.componentExtension.getHost();\n\n // Return only aspects that defined on components but not in the root config file (workspace.jsonc/scope.jsonc)\n const getUserAspectsIdsWithoutRootIds = (): string[] => {\n const allUserAspectIds = this.aspectLoader.getUserAspects();\n const rootIds = Object.keys(this.harmony.config.toObject());\n const diffIds = difference(allUserAspectIds, rootIds);\n return diffIds;\n };\n\n // Based on the list of components to be tagged return those who are loaded to harmony with their used version\n const getAspectsByPreviouslyUsedVersion = async (): Promise<string[]> => {\n const harmonyIds = getUserAspectsIdsWithoutRootIds();\n const aspectsIds: string[] = [];\n const aspectsP = components.map(async (component) => {\n const newId = await host.resolveComponentId(component.id);\n if (\n component.previouslyUsedVersion &&\n component.version &&\n component.previouslyUsedVersion !== component.version\n ) {\n const newIdWithPreviouslyUsedVersion = newId.changeVersion(component.previouslyUsedVersion);\n if (harmonyIds.includes(newIdWithPreviouslyUsedVersion.toString())) {\n aspectsIds.push(newId.toString());\n }\n }\n });\n await Promise.all(aspectsP);\n return aspectsIds;\n };\n\n const idsToLoad = await getAspectsByPreviouslyUsedVersion();\n await host.loadAspects(idsToLoad, false, 'scope.reloadAspectsWithNewVersion');\n }\n\n loadAspects(\n ids: string[],\n throwOnError?: boolean | undefined,\n neededFor?: string | undefined,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.loadAspects(ids, throwOnError, neededFor, lane, opts);\n }\n resolveAspects(\n runtimeName?: string | undefined,\n componentIds?: ComponentID[] | undefined,\n opts?: ResolveAspectsOptions | undefined\n ): Promise<AspectDefinition[]> {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.resolveAspects(runtimeName, componentIds, opts);\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.getResolvedAspects(components, opts);\n }\n\n async executeOnCompAspectReCalcSlot(component: Component) {\n const envsData = await this.envs.calcDescriptor(component, { skipWarnings: false });\n const policy = await this.dependencyResolver.mergeVariantPolicies(\n component.config.extensions,\n component.id,\n component.state._consumer.files\n );\n const dependenciesList = await this.dependencyResolver.extractDepsFromLegacy(component, policy);\n\n const depResolverData = {\n packageName: this.dependencyResolver.calcPackageName(component),\n dependencies: dependenciesList.serialize(),\n policy: policy.serialize(),\n };\n // Make sure we are adding the envs / deps data first because other on load events might depend on it\n await Promise.all([\n this.upsertExtensionData(component, EnvsAspect.id, envsData),\n this.upsertExtensionData(component, DependencyResolverAspect.id, depResolverData),\n ]);\n\n // We are updating the component state with the envs and deps data here, so in case we have other slots that depend on this data\n // they will be able to get it, as it's very common use case that during on load someone want to access to the component env for example\n const aspectListWithEnvsAndDeps = await this.createAspectListFromExtensionDataList(\n component.state._consumer.extensions\n );\n component.state.aspects = aspectListWithEnvsAndDeps;\n\n const entries = this.OnCompAspectReCalcSlot.toArray();\n await mapSeries(entries, async ([extension, onLoad]) => {\n const data = await onLoad(component);\n await this.upsertExtensionData(component, extension, data);\n // Update the aspect list to have changes happened during the on load slot (new data added above)\n component.state.aspects.upsertEntry(await this.resolveComponentId(extension), data);\n });\n\n return component;\n }\n\n private async upsertExtensionData(component: Component, extension: string, data: any) {\n if (!data) return;\n const existingExtension = component.state._consumer.extensions.findExtension(extension);\n if (existingExtension) {\n // Only merge top level of extension data\n Object.assign(existingExtension.data, data);\n return;\n }\n component.state._consumer.extensions.push(await this.getDataEntry(extension, data));\n }\n\n private async getDataEntry(extension: string, data: { [key: string]: any }): Promise<ExtensionDataEntry> {\n // TODO: @gilad we need to refactor the extension data entry api.\n return new ExtensionDataEntry(undefined, undefined, extension, undefined, data);\n }\n\n getIsolateAspectsOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.getIsolateOpts(opts);\n }\n\n getAspectCapsulePath() {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.getAspectCapsulePath();\n }\n\n shouldUseHashForCapsules() {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.shouldUseHashForCapsules();\n }\n\n getManyByLegacy(components: ConsumerComponent[]): Promise<Component[]> {\n return mapSeries(components, async (component) => this.getFromConsumerComponent(component));\n }\n\n getScopeAspectsLoader(): ScopeAspectsLoader {\n const scopeAspectsLoader = new ScopeAspectsLoader(\n this,\n this.aspectLoader,\n this.envs,\n this.isolator,\n this.logger,\n this.globalConfig\n );\n return scopeAspectsLoader;\n }\n\n async clearCache() {\n this.logger.debug('clearing the components and the legacy cache');\n this.componentLoader.clearCache();\n await this.legacyScope.objects.clearCache();\n }\n\n builderDataMapToLegacyOnTagResults(builderDataComponentMap: ComponentMap<RawBuilderData>): LegacyOnTagResult[] {\n const builderDataToLegacyExtension = (component: Component, builderData: RawBuilderData) => {\n const existingBuilder = component.state.aspects.get(BuilderAspect.id)?.legacy;\n const builderExtension = existingBuilder || new ExtensionDataEntry(undefined, undefined, BuilderAspect.id);\n builderExtension.data = builderData;\n return builderExtension;\n };\n return builderDataComponentMap.toArray().map(([component, builderData]) => ({\n id: component.id,\n builderData: builderDataToLegacyExtension(component, builderData),\n }));\n }\n\n /**\n * register to the post-export slot.\n */\n onPostPut(postPutFn: OnPostPut) {\n this.postPutSlot.register(postPutFn);\n return this;\n }\n\n /**\n * register to the post-delete slot.\n */\n onPostDelete(postDeleteFn: OnPostDelete) {\n this.postDeleteSlot.register(postDeleteFn);\n return this;\n }\n\n /**\n * register to the post-export slot.\n */\n registerOnPostExport(postExportFn: OnPostExport) {\n this.postExportSlot.register(postExportFn);\n return this;\n }\n\n registerOnPreFetchObjects(preFetchObjectsFn: OnPreFetchObjects) {\n this.preFetchObjects.register(preFetchObjectsFn);\n return this;\n }\n\n registerOnCompAspectReCalc(compAspectReCalcSlotFn: OnCompAspectReCalc) {\n this.OnCompAspectReCalcSlot.register(compAspectReCalcSlotFn);\n }\n\n registerOnPostObjectsPersist(postObjectsPersistFn: OnPostObjectsPersist) {\n this.postObjectsPersist.register(postObjectsPersistFn);\n return this;\n }\n\n /**\n * Will fetch a list of components into the current scope.\n * This will only fetch the object and won't write the files to the actual FS\n */\n fetch(ids: ComponentIdList) {} // eslint-disable-line @typescript-eslint/no-unused-vars\n\n /**\n * This function will get a component and sealed it's current state into the scope\n *\n * @param {Component[]} components A list of components to seal with specific persist options (such as message and version number)\n * @param {PersistOptions} persistGeneralOptions General persistence options such as verbose\n */\n persist(components: Component[], options: PersistOptions) {} // eslint-disable-line @typescript-eslint/no-unused-vars\n\n async delete(\n { ids, force, lanes }: { ids: string[]; force: boolean; lanes: boolean },\n headers?: Record<string, any>\n ) {\n const authData = getAuthDataFromHeader(headers?.authorization);\n const result = await remove({\n path: this.path,\n ids,\n force,\n lanes,\n });\n\n const fns = this.postDeleteSlot.values();\n const metadata = { auth: authData, headers };\n const componentIds = lanes ? [] : ids.map((id) => ComponentID.fromString(id));\n await mapSeries(fns, async (fn) => {\n try {\n await fn({ ids: componentIds }, metadata);\n } catch (err: any) {\n this.logger.error('failed to run delete slot', err);\n }\n });\n return result;\n }\n\n isExported(id: ComponentID): boolean {\n return this.legacyScope.isExported(id);\n }\n\n /**\n * for long-running processes, such as `bit start` or `bit watch`, it's important to keep the following data up to date:\n * 1. scope-index (.bit/index.json file).\n * 2. remote-refs (.bit/refs/*).\n * it's possible that other commands (e.g. `bit import`) modified these files, while these processes are running.\n * Because these data are kept in memory, they're not up to date anymore.\n */\n async watchScopeInternalFiles() {\n const scopeIndexFile = this.legacyScope.objects.scopeIndex.getPath();\n const remoteLanesDir = this.legacyScope.objects.remoteLanes.basePath;\n const pathsToWatch = [scopeIndexFile, remoteLanesDir];\n const watcher = chokidar.watch(pathsToWatch);\n watcher.on('ready', () => {\n this.logger.debug(`watchSystemFiles has started, watching ${pathsToWatch.join(', ')}`);\n });\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n watcher.on('change', async (filePath) => {\n if (filePath === scopeIndexFile) {\n this.logger.debug('scope index file has been changed, reloading it');\n await this.legacyScope.objects.reLoadScopeIndex();\n } else if (filePath.startsWith(remoteLanesDir)) {\n this.legacyScope.objects.remoteLanes.removeFromCacheByFilePath(filePath);\n } else {\n this.logger.error(\n 'unknown file has been changed, please check why it is watched by scope.watchSystemFiles',\n filePath\n );\n }\n });\n }\n\n async toObjectList(types: Types): Promise<ObjectList> {\n const objects = await this.legacyScope.objects.list(types);\n return ObjectList.fromBitObjects(objects);\n }\n\n // TODO: temporary compiler workaround - discuss this with david.\n private toJs(str: string) {\n if (str.endsWith('.ts')) return str.replace('.ts', '.js');\n return str;\n }\n\n async getGraph(ids?: ComponentID[]): Promise<Graph<Component, string>> {\n if (!ids || !ids.length) ids = (await this.list()).map((comp) => comp.id) || [];\n const components = await this.getMany(ids);\n const allFlattened = components.map((component) => component.state._consumer.getAllFlattenedDependencies()).flat();\n const allFlattenedUniq = ComponentIdList.uniqFromArray(allFlattened);\n await this.legacyScope.scopeImporter.importWithoutDeps(allFlattenedUniq, {\n cache: true,\n reason: `which are unique flattened dependencies to get the graph of ${ids.length} ids`,\n });\n const dependencies = await this.getMany(allFlattenedUniq);\n const allComponents: Component[] = [...components, ...dependencies];\n\n // build the graph\n const graph = new Graph<Component, string>();\n allComponents.forEach((comp) => graph.setNode(new Node(comp.id.toString(), comp)));\n await Promise.all(\n allComponents.map(async (comp) => {\n const deps = await this.dependencyResolver.getComponentDependencies(comp);\n deps.forEach((dep) => {\n const depCompId = dep.componentId;\n if (!graph.hasNode(depCompId.toString())) {\n throw new Error(`scope.getGraph: missing node of ${depCompId.toString()}`);\n }\n graph.setEdge(new Edge(comp.id.toString(), depCompId.toString(), dep.lifecycle));\n });\n })\n );\n return graph;\n }\n\n async getGraphIds(ids?: ComponentID[]): Promise<CompIdGraph> {\n if (!ids || !ids.length) ids = (await this.list()).map((comp) => comp.id) || [];\n const components = await this.getMany(ids);\n const graph = new Graph<ComponentID, DepEdgeType>();\n const componentsWithoutSavedGraph: Component[] = [];\n\n // try to add from saved graph\n await Promise.all(\n components.map(async (component) => {\n const compGraph = await this.getSavedGraphOfComponentIfExist(component);\n if (!compGraph) {\n componentsWithoutSavedGraph.push(component);\n return;\n }\n graph.merge([compGraph]);\n })\n );\n if (!componentsWithoutSavedGraph.length) {\n return graph;\n }\n\n // there are components that don't have the graph saved, create the graph by using Version objects of all flattened\n const lane = (await this.legacyScope.getCurrentLaneObject()) || undefined;\n await this.import(\n componentsWithoutSavedGraph.map((c) => c.id),\n { reFetchUnBuiltVersion: false, lane, reason: `to build graph-ids from the scope` }\n );\n\n const allFlattened: ComponentID[] = componentsWithoutSavedGraph\n .map((component) => component.state._consumer.getAllFlattenedDependencies())\n .flat();\n const allFlattenedUniq = ComponentIdList.uniqFromArray(allFlattened.concat(ids));\n\n const addEdges = (compId: ComponentID, dependencies: ConsumerComponent['dependencies'], label: DepEdgeType) => {\n dependencies.get().forEach((dep) => {\n const depId = dep.id;\n graph.setNode(new Node(depId.toString(), depId));\n graph.setEdge(new Edge(compId.toString(), depId.toString(), label));\n });\n };\n const componentsAndVersions = await this.legacyScope.getComponentsAndVersions(allFlattenedUniq);\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toComponentId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n\n return graph;\n }\n\n async getFlattenedEdges(id: ComponentID): Promise<DepEdge[] | undefined> {\n let versionObj: Version;\n try {\n versionObj = await this.legacyScope.getVersionInstance(id);\n } catch (err) {\n return undefined;\n }\n\n const flattenedEdges = await versionObj.getFlattenedEdges(this.legacyScope.objects);\n return flattenedEdges;\n }\n\n private async getSavedGraphOfComponentIfExist(component: Component): Promise<Graph<ComponentID, DepEdgeType> | null> {\n const consumerComponent = component.state._consumer as ConsumerComponent;\n const flattenedEdges = await this.getFlattenedEdges(component.id);\n if (!flattenedEdges)\n throw new Error(\n 'getSavedGraphOfComponentIfExist failed to get flattenedEdges, it must not be undefined because the version object exists'\n );\n if (!flattenedEdges.length && consumerComponent.flattenedDependencies.length) {\n // there are flattenedDependencies, so must be edges, if they're empty, it's because the component was tagged\n // with a version < ~0.0.901, so this flattenedEdges wasn't exist.\n return null;\n }\n const edges = flattenedEdges.map((edge) => ({\n ...edge,\n source: edge.source,\n target: edge.target,\n }));\n const nodes = consumerComponent.flattenedDependencies;\n\n const graph = new Graph<ComponentID, DepEdgeType>();\n graph.setNode(new Node(component.id.toString(), component.id));\n nodes.forEach((node) => graph.setNode(new Node(node.toString(), node)));\n edges.forEach((edge) => graph.setEdge(new Edge(edge.source.toString(), edge.target.toString(), edge.type)));\n return graph;\n }\n\n /**\n * import components into the scope.\n */\n async import(\n ids: ComponentID[],\n {\n useCache = true,\n reFetchUnBuiltVersion = true,\n preferDependencyGraph = true,\n lane,\n reason,\n }: {\n /**\n * if the component exists locally, don't go to the server to search for updates.\n */\n useCache?: boolean;\n /**\n * if the Version objects exists locally, but its `buildStatus` is Pending or Failed, reach the remote to find\n * whether the version was already built there.\n */\n reFetchUnBuiltVersion?: boolean;\n /**\n * if the component is on a lane, provide the lane object. the component will be fetched from the lane-scope and\n * not from the component-scope.\n */\n lane?: Lane;\n /**\n * if an external is missing and the remote has it with the dependency graph, don't fetch all its dependencies\n */\n preferDependencyGraph?: boolean;\n /**\n * reason why this import is needed (to show in the terminal)\n */\n reason?: string;\n } = {}\n ): Promise<void> {\n const withoutOwnScopeAndLocals = ids.filter((id) => {\n return id.scope !== this.name && id._legacy.hasScope();\n });\n await this.legacyScope.scopeImporter.importMany({\n ids: ComponentIdList.fromArray(withoutOwnScopeAndLocals),\n cache: useCache,\n throwForDependencyNotFound: false,\n reFetchUnBuiltVersion,\n lane,\n preferDependencyGraph,\n reason,\n });\n }\n\n async get(id: ComponentID, useCache = true, importIfMissing = true): Promise<Component | undefined> {\n return this.componentLoader.get(id, importIfMissing, useCache);\n }\n\n async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n return this.componentLoader.getFromConsumerComponent(consumerComponent);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getRemoteComponent(id: ComponentID): Promise<Component> {\n return this.componentLoader.getRemoteComponent(id);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]> {\n return this.componentLoader.getManyRemoteComponents(ids);\n }\n\n /**\n * list all components in the scope.\n */\n async list(\n filter?: { offset: number; limit: number; namespaces?: string[] },\n includeCache = false,\n includeFromLanes = false,\n includeDeleted = false\n ): Promise<Component[]> {\n const patternsWithScope =\n (filter?.namespaces && filter?.namespaces.map((pattern) => `**/${pattern || '**'}`)) || undefined;\n const componentsIds = await this.listIds(includeCache, includeFromLanes, patternsWithScope);\n\n const comps = await this.getMany(\n filter && filter.limit ? slice(componentsIds, filter.offset, filter.offset + filter.limit) : componentsIds\n );\n\n return includeDeleted ? comps : comps.filter((comp) => !comp.isDeleted());\n }\n\n /**\n * for now, list of invalid components are mostly useful for the workspace.\n * in the future, this can return components that failed to load in the scope due to objects file\n * corruption or similar issues.\n */\n async listInvalid() {\n return [];\n }\n\n /**\n * get ids of all scope components.\n * @param includeCache whether or not include components that their scope-name is different than the current scope-name\n */\n async listIds(includeCache = false, includeFromLanes = false, patterns?: string[]): Promise<ComponentID[]> {\n const allModelComponents = await this.legacyScope.list();\n const filterByCacheAndLanes = (modelComponent: ModelComponent) => {\n const cacheFilter = includeCache ? true : this.exists(modelComponent);\n const lanesFilter = includeFromLanes ? true : modelComponent.hasHead();\n\n return cacheFilter && lanesFilter;\n };\n const modelComponentsToList = allModelComponents.filter(filterByCacheAndLanes);\n let ids = modelComponentsToList.map((component) =>\n ComponentID.fromLegacy(component.toBitIdWithLatestVersion(), component.scope || this.name)\n );\n if (patterns && patterns.length > 0) {\n ids = ids.filter((id) =>\n patterns?.some((pattern) => isMatchNamespacePatternItem(id.toStringWithoutVersion(), pattern).match)\n );\n }\n this.logger.debug(`scope listIds: total ${ids.length} components after filter scope`);\n return ids;\n }\n\n /**\n * Check if a specific id exist in the scope\n * @param componentId\n */\n async hasId(componentId: ComponentID, includeCache = false): Promise<boolean> {\n if (!includeCache && componentId.scope !== this.name) return false;\n const opts = {\n includeVersion: true,\n };\n\n return this.legacyScope.hasId(componentId, opts);\n }\n\n async hasIdNested(componentId: ComponentID, includeCache = false): Promise<boolean> {\n return this.hasId(componentId, includeCache);\n }\n\n /**\n * determine whether a component exists in the scope.\n */\n exists(modelComponent: ModelComponent) {\n return modelComponent.scope === this.name;\n }\n\n async getMany(ids: ComponentID[], throwIfNotExist = false): Promise<Component[]> {\n const idsWithoutEmpty = compact(ids);\n const componentsP = mapSeries(idsWithoutEmpty, async (id: ComponentID) => {\n return throwIfNotExist ? this.getOrThrow(id) : this.get(id);\n });\n const components = await componentsP;\n return compact(components);\n }\n\n /**\n * important! you probably want to use `getMany`, which returns the components from the scope.\n * this method loads all aspects of the loaded components. (which hurts performance)\n */\n async loadMany(\n ids: ComponentID[],\n lane?: Lane,\n opts: LoadOptions = { loadApps: true, loadEnvs: true }\n ): Promise<Component[]> {\n const components = await mapSeries(ids, (id) => this.load(id, lane, opts));\n return compact(components);\n }\n\n async loadManyCompsAspects(components: Component[], lane?: Lane): Promise<Component[]> {\n const loadedComponents = await mapSeries(components, (id) => this.loadCompAspects(id, lane));\n return compact(loadedComponents);\n }\n\n /**\n * get a component and throw an exception if not found.\n * @param id component id\n */\n async getOrThrow(id: ComponentID): Promise<Component> {\n const component = await this.get(id);\n if (!component) throw new ComponentNotFound(id);\n return component;\n }\n\n /**\n * returns a specific state of a component.\n * @param id component ID.\n * @param hash state hash.\n */\n async getState(id: ComponentID, hash: string): Promise<State> {\n return this.componentLoader.getState(id, hash);\n }\n\n async getSnap(id: ComponentID, hash: string): Promise<Snap> {\n const modelComponent = await this.legacyScope.getModelComponent(id);\n const ref = modelComponent.getRef(hash);\n if (!ref) throw new Error(`ref was not found: ${id.toString()} with tag ${hash}`);\n return this.componentLoader.getSnap(id, ref.toString());\n }\n\n /**\n * get component log sorted by the timestamp in ascending order (from the earliest to the latest)\n */\n async getLogs(id: ComponentID, shortHash = false, startsFrom?: string): Promise<ComponentLog[]> {\n return this.legacyScope.loadComponentLogs(id, shortHash, startsFrom);\n }\n\n async getStagedConfig() {\n const currentLaneId = this.legacyScope.getCurrentLaneId();\n return StagedConfig.load(this.path, this.logger, currentLaneId);\n }\n\n /**\n * wether a component is soft-removed.\n * the version is required as it can be removed on a lane. in which case, the version is the head in the lane.\n */\n async isComponentRemoved(id: ComponentID): Promise<Boolean> {\n const version = id.version;\n if (!version) throw new Error(`isComponentRemoved expect to get version, got ${id.toString()}`);\n const modelComponent = await this.legacyScope.getModelComponent(id);\n const versionObj = await modelComponent.loadVersion(version, this.legacyScope.objects);\n return versionObj.isRemoved();\n }\n\n /**\n * resolve a component ID.\n * @param id component ID.\n */\n async resolveComponentId(id: string | BitId | ComponentID): Promise<ComponentID> {\n if (id instanceof ComponentID) return id;\n if (id instanceof BitId) return this.resolveComponentIdFromBitId(id);\n const idStr = id.toString();\n const component = await this.legacyScope.loadModelComponentByIdStr(idStr);\n const getIdToCheck = () => {\n if (component) return idStr; // component exists in the scope with the scope-name.\n if (idStr.startsWith(`${this.name}/`)) {\n // component with the full name doesn't exist in the scope, it might be locally tagged\n return idStr.replace(`${this.name}/`, '');\n }\n return idStr;\n };\n const IdToCheck = getIdToCheck();\n const legacyId = await this.legacyScope.getParsedId(IdToCheck);\n return legacyId;\n }\n\n private resolveComponentIdFromBitId(id: BitId) {\n return id.hasScope() ? ComponentID.fromLegacy(id) : ComponentID.fromLegacy(id, this.name);\n }\n\n async resolveMultipleComponentIds(ids: Array<string | ComponentID | ComponentID>) {\n return Promise.all(ids.map(async (id) => this.resolveComponentId(id)));\n }\n\n /**\n * @deprecated use `this.idsByPattern` instead for consistency, which supports also negation and list of patterns.\n */\n async byPattern(patterns: string[], scope = '**'): Promise<Component[]> {\n const patternsWithScope = patterns.map((pattern) => `${scope}/${pattern || '**'}`);\n\n const ids = await this.listIds(true, false, patternsWithScope);\n\n const components = await this.getMany(ids);\n return components;\n }\n\n /**\n * get component-ids matching the given pattern. a pattern can have multiple patterns separated by a comma.\n * it uses multimatch (https://www.npmjs.com/package/multimatch) package for the matching algorithm, which supports\n * (among others) negate character \"!\" to exclude ids. See the package page for more supported characters.\n */\n async idsByPattern(pattern: string, throwForNoMatch = true): Promise<ComponentID[]> {\n if (!pattern.includes('*') && !pattern.includes(',')) {\n // if it's not a pattern but just id, resolve it without multimatch to support specifying id without scope-name\n const id = await this.resolveComponentId(pattern);\n const exists = await this.hasId(id, true);\n if (exists) return [id];\n if (throwForNoMatch) throw new BitError(`unable to find \"${pattern}\" in the scope`);\n return [];\n }\n const ids = await this.listIds(true);\n return this.filterIdsFromPoolIdsByPattern(pattern, ids, throwForNoMatch);\n }\n\n // todo: move this to somewhere else (where?)\n async filterIdsFromPoolIdsByPattern(\n pattern: string,\n ids: ComponentID[],\n throwForNoMatch = true,\n filterByStateFunc?: (state: any, poolIds: ComponentID[]) => Promise<ComponentID[]>\n ) {\n const patterns = pattern\n .split(',')\n .map((p) => p.trim())\n .map((p) => p.split('@')[0]); // no need for the version\n if (patterns.every((p) => p.startsWith('!'))) {\n // otherwise it'll never match anything. don't use \".push()\". it must be the first item in the array.\n patterns.unshift('**');\n }\n // check also as legacyId.toString, as it doesn't have the defaultScope\n const idsToCheck = (id: ComponentID) => [id._legacy.toStringWithoutVersion(), id.toStringWithoutVersion()];\n const [statePatterns, nonStatePatterns] = partition(patterns, (p) => p.startsWith('$'));\n const idsFiltered = nonStatePatterns.length\n ? ids.filter((id) => multimatch(idsToCheck(id), nonStatePatterns).length)\n : [];\n\n const idsStateFiltered = await mapSeries(statePatterns, async (statePattern) => {\n if (!filterByStateFunc) {\n throw new Error(`filter by a state (${statePattern}) is currently supported on the workspace only`);\n }\n statePattern = statePattern.replace('$', '');\n if (statePattern.includes(' AND ')) {\n const statePatternSplit = statePattern.split(' AND ').map((p) => p.trim());\n if (statePatternSplit.length !== 2) throw new Error('invalid state pattern, can have only one \"AND\"');\n const [stateF, nonStateF] = statePatternSplit;\n const filteredByNonState = ids.filter((id) => multimatch(idsToCheck(id), [nonStateF]).length);\n return filterByStateFunc(stateF, filteredByNonState);\n }\n return filterByStateFunc(statePattern, ids);\n });\n const idsStateFilteredFlat = idsStateFiltered.flat();\n const combineFilteredIds = () => {\n if (!idsStateFiltered) return idsFiltered;\n const allIds = [...idsFiltered, ...idsStateFilteredFlat];\n return ComponentIdList.uniqFromArray(allIds);\n };\n const allIdsFiltered = combineFilteredIds();\n if (throwForNoMatch && !allIdsFiltered.length) {\n throw new NoIdMatchPattern(pattern);\n }\n return allIdsFiltered;\n }\n\n async getSnapDistance(id: ComponentID, throws = true): Promise<SnapsDistance> {\n const modelComp = await this.legacyScope.getModelComponent(id);\n await modelComp.setDivergeData(this.legacyScope.objects, throws);\n return modelComp.getDivergeData();\n }\n /**\n * get the distance for a component between two lanes. for example, lane-b forked from lane-a and lane-b added some new snaps\n * @param componentId\n * @param sourceHead head on the source lane. leave empty if the source is main\n * @param targetHead head on the target lane. leave empty if the target is main\n * @returns\n */\n async getSnapsDistanceBetweenTwoSnaps(\n componentId: ComponentID,\n sourceHead?: string,\n targetHead?: string,\n throws?: boolean\n ): Promise<SnapsDistance> {\n if (!sourceHead && !targetHead) {\n throw new Error(`getDivergeData got sourceHead and targetHead empty. at least one of them should be populated`);\n }\n const modelComponent = await this.legacyScope.getModelComponent(componentId);\n return getDivergeData({\n modelComponent,\n repo: this.legacyScope.objects,\n sourceHead: sourceHead ? Ref.from(sourceHead) : modelComponent.head || null,\n targetHead: targetHead ? Ref.from(targetHead) : modelComponent.head || null,\n throws,\n });\n }\n\n async getExactVersionBySemverRange(id: ComponentID, range: string): Promise<string | undefined> {\n const modelComponent = await this.legacyScope.getModelComponent(id);\n const versions = modelComponent.listVersions();\n return semver.maxSatisfying<string>(versions, range, { includePrerelease: true })?.toString();\n }\n\n async resumeExport(exportId: string, remotes: string[]): Promise<string[]> {\n return resumeExport(this.legacyScope, exportId, remotes);\n }\n\n /**\n * @deprecated use `this.resolveComponentId` instead.\n */\n async resolveId(id: string): Promise<ComponentID> {\n return this.resolveComponentId(id);\n }\n\n // TODO: add new API for this\n async _legacyRemotes(): Promise<Remotes> {\n return getScopeRemotes(this.legacyScope);\n }\n\n /**\n * list all component ids from a remote-scope\n */\n async listRemoteScope(scopeName: string): Promise<ComponentID[]> {\n const remotes = await this._legacyRemotes();\n const remote = await remotes.resolve(scopeName, this.legacyScope);\n const results = await remote.list();\n return results.map(({ id }) => id);\n }\n\n async getLegacyMinimal(id: ComponentID): Promise<ConsumerComponent | undefined> {\n try {\n return await this.legacyScope.getConsumerComponent(id);\n } catch (err) {\n // in case the component is missing locally, this.get imports it.\n return (await this.get(id))?.state._consumer;\n }\n }\n\n /**\n * ModelComponent is of type `BitObject` which gets saved into the local scope as an object file.\n * It has data about the tags and the component head. It doesn't have any data about the source-files/artifacts etc.\n */\n async getBitObjectModelComponent(id: ComponentID, throwIfNotExist = false): Promise<ModelComponent | undefined> {\n return throwIfNotExist ? this.legacyScope.getModelComponent(id) : this.legacyScope.getModelComponentIfExist(id);\n }\n\n /**\n * Version BitObject holds the data of the source files and build artifacts of a specific snap/tag.\n */\n async getBitObjectVersion(\n modelComponent: ModelComponent,\n version: string,\n throwIfNotExist = false\n ): Promise<Version | undefined> {\n return modelComponent.loadVersion(version, this.legacyScope.objects, throwIfNotExist);\n }\n\n async getBitObjectVersionById(id: ComponentID, throwIfNotExist = false): Promise<Version | undefined> {\n const modelComponent = await this.getBitObjectModelComponent(id, throwIfNotExist);\n if (!modelComponent) return undefined;\n return this.getBitObjectVersion(modelComponent, id.version, throwIfNotExist);\n }\n\n /**\n * get a component and load its aspect\n */\n async load(\n id: ComponentID,\n lane?: Lane,\n opts: LoadOptions = { loadApps: true, loadEnvs: true }\n ): Promise<Component | undefined> {\n const component = await this.get(id);\n if (!component) return undefined;\n return this.loadCompAspects(component, lane, opts);\n }\n\n async loadCompAspects(\n component: Component,\n lane?: Lane,\n opts: LoadOptions = { loadApps: true, loadEnvs: true }\n ): Promise<Component> {\n const aspectIds = component.state.aspects.ids;\n // load components from type aspects as aspects.\n // important! previously, this was running for any aspect, not only apps. (the if statement was `this.aspectLoader.isAspectComponent(component)`)\n // Ran suggests changing it and if it breaks something, we'll document is and fix it.\n if (opts.loadApps) {\n const appData = component.state.aspects.get('teambit.harmony/application');\n if (appData?.data?.appName) {\n aspectIds.push(component.id.toString());\n }\n }\n if (opts.loadEnvs) {\n const envsData = component.state.aspects.get(EnvsAspect.id);\n if (envsData?.data?.services || envsData?.data?.self || envsData?.data?.type === 'env') {\n aspectIds.push(component.id.toString());\n }\n }\n if (aspectIds && aspectIds.length) {\n await this.loadAspects(aspectIds, true, component.id.toString(), lane);\n }\n\n return component;\n }\n\n async loadComponentsAspect(component: Component) {\n const aspectIds = component.state.aspects.ids;\n await this.loadAspects(aspectIds, true, component.id.toString());\n }\n\n async addAspectsFromConfigObject(component: Component, configObject: Record<string, any>) {\n const extensionsFromConfigObject = ExtensionDataList.fromConfigObject(configObject);\n const extensionDataList = ExtensionDataList.mergeConfigs([\n extensionsFromConfigObject,\n component.state._consumer.extensions,\n ]).filterRemovedExtensions();\n component.state._consumer.extensions = extensionDataList;\n }\n\n public async createAspectListFromExtensionDataList(extensionDataList: ExtensionDataList) {\n const entries = await Promise.all(extensionDataList.map((entry) => this.extensionDataEntryToAspectEntry(entry)));\n return this.componentExtension.createAspectListFromEntries(entries);\n }\n\n private async extensionDataEntryToAspectEntry(dataEntry: ExtensionDataEntry): Promise<AspectEntry> {\n return new AspectEntry(await this.resolveComponentId(dataEntry.id), dataEntry);\n }\n\n getLastMergedPath() {\n return path.join(this.path, 'last-merged');\n }\n\n async isModified(): Promise<boolean> {\n return false;\n }\n\n async write() {\n // no-op (it's relevant for the workspace only)\n }\n\n /**\n * declare the slots of scope extension.\n */\n static slots = [\n Slot.withType<OnPostPut>(),\n Slot.withType<OnPostDelete>(),\n Slot.withType<OnPostExport>(),\n Slot.withType<OnPostObjectsPersist>(),\n Slot.withType<OnPreFetchObjects>(),\n Slot.withType<OnCompAspectReCalc>(),\n ];\n static runtime = MainRuntime;\n\n static dependencies = [\n ComponentAspect,\n UIAspect,\n GraphqlAspect,\n CLIAspect,\n IsolatorAspect,\n AspectLoaderAspect,\n ExpressAspect,\n LoggerAspect,\n EnvsAspect,\n DependencyResolverAspect,\n GlobalConfigAspect,\n ];\n\n static defaultConfig: ScopeConfig = {\n httpTimeOut: 600000,\n };\n\n static async provider(\n [componentExt, ui, graphql, cli, isolator, aspectLoader, express, loggerMain, envs, depsResolver, globalConfig]: [\n ComponentMain,\n UiMain,\n GraphqlMain,\n CLIMain,\n IsolatorMain,\n AspectLoaderMain,\n ExpressMain,\n LoggerMain,\n EnvsMain,\n DependencyResolverMain,\n GlobalConfigMain\n ],\n config: ScopeConfig,\n [\n postPutSlot,\n postDeleteSlot,\n postExportSlot,\n postObjectsPersistSlot,\n preFetchObjectsSlot,\n OnCompAspectReCalcSlot,\n ]: [\n OnPostPutSlot,\n OnPostDeleteSlot,\n OnPostExportSlot,\n OnPostObjectsPersistSlot,\n OnPreFetchObjectsSlot,\n OnCompAspectReCalcSlot\n ],\n harmony: Harmony\n ) {\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const legacyScope = await loadScopeIfExist(bitConfig?.cwd);\n if (!legacyScope) {\n return undefined;\n }\n\n const logger = loggerMain.createLogger(ScopeAspect.id);\n const scope = new ScopeMain(\n harmony,\n legacyScope,\n componentExt,\n config,\n postPutSlot,\n postDeleteSlot,\n postExportSlot,\n postObjectsPersistSlot,\n preFetchObjectsSlot,\n OnCompAspectReCalcSlot,\n isolator,\n aspectLoader,\n logger,\n envs,\n depsResolver,\n globalConfig\n );\n cli.registerOnStart(async (hasWorkspace: boolean) => {\n if (hasWorkspace) return;\n await scope.loadAspects(aspectLoader.getNotLoadedConfiguredExtensions(), undefined, 'scope.cli.registerOnStart');\n });\n cli.register(new ScopeCmd());\n\n const onPutHook = async (ids: string[], lanes: Lane[], authData?: AuthData): Promise<void> => {\n logger.debug(`onPutHook, started. (${ids.length} components)`);\n scope.componentLoader.clearCache();\n const componentIds = await scope.resolveMultipleComponentIds(ids);\n const fns = postPutSlot.values();\n const data = {\n ids: componentIds,\n lanes,\n };\n const metadata = { auth: authData };\n await Promise.all(fns.map(async (fn) => fn(data, metadata)));\n logger.debug(`onPutHook, completed. (${ids.length} components)`);\n };\n\n const getAuthData = (): AuthData | undefined => {\n const token = Http.getToken();\n return token ? { type: DEFAULT_AUTH_TYPE, credentials: token } : undefined;\n };\n\n const onPostExportHook = async (ids: ComponentID[], lanes: Lane[]): Promise<void> => {\n logger.debug(`onPostExportHook, started. (${ids.length} components)`);\n const fns = postExportSlot.values();\n const data = {\n ids,\n lanes,\n };\n const metadata = { auth: getAuthData() };\n await Promise.all(fns.map(async (fn) => fn(data, metadata)));\n logger.debug(`onPostExportHook, completed. (${ids.length} components)`);\n };\n\n const onPostObjectsPersistHook = async (): Promise<void> => {\n logger.debug(`onPostObjectsPersistHook, started`);\n const fns = postObjectsPersistSlot.values();\n const metadata = { auth: getAuthData() };\n await Promise.all(fns.map(async (fn) => fn(undefined, metadata)));\n logger.debug(`onPostObjectsPersistHook, completed`);\n };\n\n ExportPersist.onPutHook = onPutHook;\n PostSign.onPutHook = onPutHook;\n Scope.onPostExport = onPostExportHook;\n Repository.onPostObjectsPersist = onPostObjectsPersistHook;\n ExternalActions.externalActions.push(new ClearCacheAction(scope));\n\n express.register([\n new PutRoute(scope, postPutSlot),\n new FetchRoute(scope, logger),\n new ActionRoute(scope),\n new DeleteRoute(scope),\n ]);\n // @ts-ignore - @ran to implement the missing functions and remove it\n ui.registerUiRoot(new ScopeUIRoot(scope));\n graphql.register(scopeSchema(scope));\n componentExt.registerHost(scope);\n\n return scope;\n }\n}\n\nScopeAspect.addRuntime(ScopeMain);\n"],"mappings":";;;;;;AAAA,SAAAA,cAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,aAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,MAAA;EAAA,MAAAL,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,OAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,YAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,WAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,SAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,cAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,aAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,KAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,IAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAY,WAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,UAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,SAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,QAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,UAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,SAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,QAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,OAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,SAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,QAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAkB,IAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,GAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,aAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,YAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAoB,SAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,QAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAqB,aAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,YAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,gBAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,eAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAuB,SAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,QAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,oBAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,mBAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,cAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,aAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAA0B,kBAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,iBAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,OAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,MAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAA4B,UAAA;EAAA,MAAA5B,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAA0B,SAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAA6B,YAAA;EAAA,MAAA7B,IAAA,GAAAE,OAAA;EAAA2B,WAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAA8B,MAAA;EAAA,MAAA9B,IAAA,GAAAE,OAAA;EAAA4B,KAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,QAAA;EAAA,MAAA/B,IAAA,GAAAE,OAAA;EAAA6B,OAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgC,UAAA;EAAA,MAAAhC,IAAA,GAAAE,OAAA;EAAA8B,SAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAiC,uBAAA;EAAA,MAAAjC,IAAA,GAAAE,OAAA;EAAA+B,sBAAA,YAAAA,CAAA;IAAA,OAAAjC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkC,WAAA;EAAA,MAAAlC,IAAA,GAAAE,OAAA;EAAAgC,UAAA,YAAAA,CAAA;IAAA,OAAAlC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmC,aAAA;EAAA,MAAAnC,IAAA,GAAAE,OAAA;EAAAiC,YAAA,YAAAA,CAAA;IAAA,OAAAnC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoC,QAAA;EAAA,MAAApC,IAAA,GAAAE,OAAA;EAAAkC,OAAA,YAAAA,CAAA;IAAA,OAAApC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqC,MAAA;EAAA,MAAArC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAmC,KAAA,YAAAA,CAAA;IAAA,OAAArC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsC,QAAA;EAAA,MAAAtC,IAAA,GAAAE,OAAA;EAAAoC,OAAA,YAAAA,CAAA;IAAA,OAAAtC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAuC,YAAA;EAAA,MAAAvC,IAAA,GAAAE,OAAA;EAAAqC,WAAA,YAAAA,CAAA;IAAA,OAAAvC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwC,QAAA;EAAA,MAAAxC,IAAA,GAAAE,OAAA;EAAAsC,OAAA,YAAAA,CAAA;IAAA,OAAAxC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyC,QAAA;EAAA,MAAAzC,IAAA,GAAAE,OAAA;EAAAuC,OAAA,YAAAA,CAAA;IAAA,OAAAzC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0C,QAAA;EAAA,MAAA1C,IAAA,GAAAE,OAAA;EAAAwC,OAAA,YAAAA,CAAA;IAAA,OAAA1C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2C,QAAA;EAAA,MAAA3C,IAAA,GAAAE,OAAA;EAAAyC,OAAA,YAAAA,CAAA;IAAA,OAAA3C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4C,sBAAA;EAAA,MAAA5C,IAAA,GAAAE,OAAA;EAAA0C,qBAAA,YAAAA,CAAA;IAAA,OAAA5C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6C,UAAA;EAAA,MAAA7C,IAAA,GAAAE,OAAA;EAAA2C,SAAA,YAAAA,CAAA;IAAA,OAAA7C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8C,cAAA;EAAA,MAAA9C,IAAA,GAAAE,OAAA;EAAA4C,aAAA,YAAAA,CAAA;IAAA,OAAA9C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+C,kBAAA;EAAA,MAAA/C,IAAA,GAAAE,OAAA;EAAA6C,iBAAA,YAAAA,CAAA;IAAA,OAAA/C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgD,oBAAA;EAAA,MAAAhD,IAAA,GAAAE,OAAA;EAAA8C,mBAAA,YAAAA,CAAA;IAAA,OAAAhD,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiD,kBAAA;EAAA,MAAAjD,IAAA,GAAAE,OAAA;EAAA+C,iBAAA,YAAAA,CAAA;IAAA,OAAAjD,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwD,SAAAC,uBAAAiD,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAApB,CAAA,QAAAuB,CAAA,GAAAC,YAAA,CAAAxB,CAAA,uCAAAuB,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAxB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAA0B,MAAA,CAAAC,WAAA,kBAAA7B,CAAA,QAAAyB,CAAA,GAAAzB,CAAA,CAAA8B,IAAA,CAAA5B,CAAA,EAAAD,CAAA,uCAAAwB,CAAA,SAAAA,CAAA,YAAAM,SAAA,yEAAA9B,CAAA,GAAA0B,MAAA,GAAAK,MAAA,EAAA9B,CAAA;AA+CjD,MAAM+B,SAAS,CAA6B;EAEjDC,WAAWA;EACT;AACJ;AACA;EACYC,OAAgB;EACxB;AACJ;AACA;EACaC,WAAwB;EAEjC;AACJ;AACA;EACaC,kBAAiC;EAE1C;AACJ;AACA;;EAEaC,MAAmB,EAEpBC,WAA0B,EAE1BC,cAAgC,EAEhCC,cAAgC,EAEhCC,kBAA4C,EAE7CC,eAAsC,EAErCC,sBAA8C,EAE9CC,QAAsB,EAEtBC,YAA8B,EAE9BC,MAAc,EAEdC,IAAc,EAEdC,kBAA0C,EAE1CC,YAA8B,EACtC;IAAA,KAxCQf,OAAgB,GAAhBA,OAAgB;IAAA,KAIfC,WAAwB,GAAxBA,WAAwB;IAAA,KAKxBC,kBAAiC,GAAjCA,kBAAiC;IAAA,KAMjCC,MAAmB,GAAnBA,MAAmB;IAAA,KAEpBC,WAA0B,GAA1BA,WAA0B;IAAA,KAE1BC,cAAgC,GAAhCA,cAAgC;IAAA,KAEhCC,cAAgC,GAAhCA,cAAgC;IAAA,KAEhCC,kBAA4C,GAA5CA,kBAA4C;IAAA,KAE7CC,eAAsC,GAAtCA,eAAsC;IAAA,KAErCC,sBAA8C,GAA9CA,sBAA8C;IAAA,KAE9CC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,YAA8B,GAA9BA,YAA8B;IAAA,KAE9BC,MAAc,GAAdA,MAAc;IAAA,KAEdC,IAAc,GAAdA,IAAc;IAAA,KAEdC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,YAA8B,GAA9BA,YAA8B;IAAAlC,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAOf,EAAE;IALzB,IAAI,CAACmC,eAAe,GAAG,KAAIC,4CAAoB,EAAC,IAAI,EAAE,IAAI,CAACL,MAAM,CAAC;EACpE;EAMA;AACF;AACA;EACE,IAAIM,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACjB,WAAW,CAACiB,IAAI;EAC9B;EAEA,IAAIC,IAAIA,CAAA,EAAuB;IAC7B,OAAO,IAAI,CAAChB,MAAM,CAACgB,IAAI;EACzB;EAEA,IAAIC,mBAAmBA,CAAA,EAAuB;IAC5C,OAAO,IAAI,CAACjB,MAAM,CAACiB,mBAAmB;EACxC;EAEA,IAAIC,WAAWA,CAAA,EAAuB;IACpC,OAAO,IAAI,CAAClB,MAAM,CAACkB,WAAW;EAChC;EAEA,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACrB,WAAW,CAACqB,IAAI;EAC9B;EAEA,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAO,IAAI,CAACtB,WAAW,CAACsB,QAAQ;EAClC;EAEA,IAAIC,aAAaA,CAAA,EAAY;IAC3B,OAAO,IAAI,CAACF,IAAI,KAAKG,yBAAY;EACnC;EAEA,IAAIC,qBAAqBA,CAAA,EAAuB;IAC9C,OAAO,IAAI,CAACvB,MAAM,CAACuB,qBAAqB;EAC1C;EAEA,IAAIC,iBAAiBA,CAAA,EAA2B;IAC9C,OAAO,IAAI,CAACxB,MAAM,CAACwB,iBAAiB;EACtC;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,2BAA2BA,CAACC,UAA+B,EAAiB;IAChF,MAAMC,IAAI,GAAG,IAAI,CAAC5B,kBAAkB,CAAC6B,OAAO,CAAC,CAAC;;IAE9C;IACA,MAAMC,+BAA+B,GAAGA,CAAA,KAAgB;MACtD,MAAMC,gBAAgB,GAAG,IAAI,CAACtB,YAAY,CAACuB,cAAc,CAAC,CAAC;MAC3D,MAAMC,OAAO,GAAGnE,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC+B,OAAO,CAACG,MAAM,CAACiC,QAAQ,CAAC,CAAC,CAAC;MAC3D,MAAMC,OAAO,GAAG,IAAAC,oBAAU,EAACL,gBAAgB,EAAEE,OAAO,CAAC;MACrD,OAAOE,OAAO;IAChB,CAAC;;IAED;IACA,MAAME,iCAAiC,GAAG,MAAAA,CAAA,KAA+B;MACvE,MAAMC,UAAU,GAAGR,+BAA+B,CAAC,CAAC;MACpD,MAAMS,UAAoB,GAAG,EAAE;MAC/B,MAAMC,QAAQ,GAAGb,UAAU,CAACc,GAAG,CAAC,MAAOC,SAAS,IAAK;QACnD,MAAMC,KAAK,GAAG,MAAMf,IAAI,CAACgB,kBAAkB,CAACF,SAAS,CAACG,EAAE,CAAC;QACzD,IACEH,SAAS,CAACI,qBAAqB,IAC/BJ,SAAS,CAACK,OAAO,IACjBL,SAAS,CAACI,qBAAqB,KAAKJ,SAAS,CAACK,OAAO,EACrD;UACA,MAAMC,8BAA8B,GAAGL,KAAK,CAACM,aAAa,CAACP,SAAS,CAACI,qBAAqB,CAAC;UAC3F,IAAIR,UAAU,CAACY,QAAQ,CAACF,8BAA8B,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;YAClEZ,UAAU,CAAClE,IAAI,CAACsE,KAAK,CAACQ,QAAQ,CAAC,CAAC,CAAC;UACnC;QACF;MACF,CAAC,CAAC;MACF,MAAMC,OAAO,CAACC,GAAG,CAACb,QAAQ,CAAC;MAC3B,OAAOD,UAAU;IACnB,CAAC;IAED,MAAMe,SAAS,GAAG,MAAMjB,iCAAiC,CAAC,CAAC;IAC3D,MAAMT,IAAI,CAAC2B,WAAW,CAACD,SAAS,EAAE,KAAK,EAAE,mCAAmC,CAAC;EAC/E;EAEAC,WAAWA,CACTC,GAAa,EACbC,YAAkC,EAClCC,SAA8B,EAC9BC,IAAW,EACXC,IAA8B,EACX;IACnB,MAAMC,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACvD,OAAOD,kBAAkB,CAACN,WAAW,CAACC,GAAG,EAAEC,YAAY,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,CAAC;EACjF;EACAG,cAAcA,CACZC,WAAgC,EAChCC,YAAwC,EACxCL,IAAwC,EACX;IAC7B,MAAMC,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACvD,OAAOD,kBAAkB,CAACE,cAAc,CAACC,WAAW,EAAEC,YAAY,EAAEL,IAAI,CAAC;EAC3E;EAEA,MAAMM,kBAAkBA,CACtBvC,UAAuB,EACvBiC,IAA+F,EAC9D;IACjC,MAAMC,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACvD,OAAOD,kBAAkB,CAACK,kBAAkB,CAACvC,UAAU,EAAEiC,IAAI,CAAC;EAChE;EAEA,MAAMO,6BAA6BA,CAACzB,SAAoB,EAAE;IACxD,MAAM0B,QAAQ,GAAG,MAAM,IAAI,CAACzD,IAAI,CAAC0D,cAAc,CAAC3B,SAAS,EAAE;MAAE4B,YAAY,EAAE;IAAM,CAAC,CAAC;IACnF,MAAMC,MAAM,GAAG,MAAM,IAAI,CAAC3D,kBAAkB,CAAC4D,oBAAoB,CAC/D9B,SAAS,CAACzC,MAAM,CAACwE,UAAU,EAC3B/B,SAAS,CAACG,EAAE,EACZH,SAAS,CAACgC,KAAK,CAACC,SAAS,CAACC,KAC5B,CAAC;IACD,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACjE,kBAAkB,CAACkE,qBAAqB,CAACpC,SAAS,EAAE6B,MAAM,CAAC;IAE/F,MAAMQ,eAAe,GAAG;MACtBC,WAAW,EAAE,IAAI,CAACpE,kBAAkB,CAACqE,eAAe,CAACvC,SAAS,CAAC;MAC/DwC,YAAY,EAAEL,gBAAgB,CAACM,SAAS,CAAC,CAAC;MAC1CZ,MAAM,EAAEA,MAAM,CAACY,SAAS,CAAC;IAC3B,CAAC;IACD;IACA,MAAM/B,OAAO,CAACC,GAAG,CAAC,CAChB,IAAI,CAAC+B,mBAAmB,CAAC1C,SAAS,EAAE2C,eAAU,CAACxC,EAAE,EAAEuB,QAAQ,CAAC,EAC5D,IAAI,CAACgB,mBAAmB,CAAC1C,SAAS,EAAE4C,8CAAwB,CAACzC,EAAE,EAAEkC,eAAe,CAAC,CAClF,CAAC;;IAEF;IACA;IACA,MAAMQ,yBAAyB,GAAG,MAAM,IAAI,CAACC,qCAAqC,CAChF9C,SAAS,CAACgC,KAAK,CAACC,SAAS,CAACF,UAC5B,CAAC;IACD/B,SAAS,CAACgC,KAAK,CAACe,OAAO,GAAGF,yBAAyB;IAEnD,MAAMG,OAAO,GAAG,IAAI,CAACnF,sBAAsB,CAACoF,OAAO,CAAC,CAAC;IACrD,MAAM,IAAAC,qBAAS,EAACF,OAAO,EAAE,OAAO,CAACG,SAAS,EAAEC,MAAM,CAAC,KAAK;MACtD,MAAMzL,IAAI,GAAG,MAAMyL,MAAM,CAACpD,SAAS,CAAC;MACpC,MAAM,IAAI,CAAC0C,mBAAmB,CAAC1C,SAAS,EAAEmD,SAAS,EAAExL,IAAI,CAAC;MAC1D;MACAqI,SAAS,CAACgC,KAAK,CAACe,OAAO,CAACM,WAAW,CAAC,MAAM,IAAI,CAACnD,kBAAkB,CAACiD,SAAS,CAAC,EAAExL,IAAI,CAAC;IACrF,CAAC,CAAC;IAEF,OAAOqI,SAAS;EAClB;EAEA,MAAc0C,mBAAmBA,CAAC1C,SAAoB,EAAEmD,SAAiB,EAAExL,IAAS,EAAE;IACpF,IAAI,CAACA,IAAI,EAAE;IACX,MAAM2L,iBAAiB,GAAGtD,SAAS,CAACgC,KAAK,CAACC,SAAS,CAACF,UAAU,CAACwB,aAAa,CAACJ,SAAS,CAAC;IACvF,IAAIG,iBAAiB,EAAE;MACrB;MACAlI,MAAM,CAACoI,MAAM,CAACF,iBAAiB,CAAC3L,IAAI,EAAEA,IAAI,CAAC;MAC3C;IACF;IACAqI,SAAS,CAACgC,KAAK,CAACC,SAAS,CAACF,UAAU,CAACpG,IAAI,CAAC,MAAM,IAAI,CAAC8H,YAAY,CAACN,SAAS,EAAExL,IAAI,CAAC,CAAC;EACrF;EAEA,MAAc8L,YAAYA,CAACN,SAAiB,EAAExL,IAA4B,EAA+B;IACvG;IACA,OAAO,KAAI+L,4BAAkB,EAACC,SAAS,EAAEA,SAAS,EAAER,SAAS,EAAEQ,SAAS,EAAEhM,IAAI,CAAC;EACjF;EAEAiM,qBAAqBA,CAAC1C,IAIrB,EAA4B;IAC3B,MAAMC,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACvD,OAAOD,kBAAkB,CAAC0C,cAAc,CAAC3C,IAAI,CAAC;EAChD;EAEA4C,oBAAoBA,CAAA,EAAG;IACrB,MAAM3C,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACvD,OAAOD,kBAAkB,CAAC2C,oBAAoB,CAAC,CAAC;EAClD;EAEAC,wBAAwBA,CAAA,EAAG;IACzB,MAAM5C,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACvD,OAAOD,kBAAkB,CAAC4C,wBAAwB,CAAC,CAAC;EACtD;EAEAC,eAAeA,CAAC/E,UAA+B,EAAwB;IACrE,OAAO,IAAAiE,qBAAS,EAACjE,UAAU,EAAE,MAAOe,SAAS,IAAK,IAAI,CAACiE,wBAAwB,CAACjE,SAAS,CAAC,CAAC;EAC7F;EAEAoB,qBAAqBA,CAAA,EAAuB;IAC1C,MAAMD,kBAAkB,GAAG,KAAI+C,wCAAkB,EAC/C,IAAI,EACJ,IAAI,CAACnG,YAAY,EACjB,IAAI,CAACE,IAAI,EACT,IAAI,CAACH,QAAQ,EACb,IAAI,CAACE,MAAM,EACX,IAAI,CAACG,YACP,CAAC;IACD,OAAOgD,kBAAkB;EAC3B;EAEA,MAAMgD,UAAUA,CAAA,EAAG;IACjB,IAAI,CAACnG,MAAM,CAACoG,KAAK,CAAC,8CAA8C,CAAC;IACjE,IAAI,CAAChG,eAAe,CAAC+F,UAAU,CAAC,CAAC;IACjC,MAAM,IAAI,CAAC9G,WAAW,CAACgH,OAAO,CAACF,UAAU,CAAC,CAAC;EAC7C;EAEAG,kCAAkCA,CAACC,uBAAqD,EAAuB;IAC7G,MAAMC,4BAA4B,GAAGA,CAACxE,SAAoB,EAAEyE,WAA2B,KAAK;MAC1F,MAAMC,eAAe,GAAG1E,SAAS,CAACgC,KAAK,CAACe,OAAO,CAAC4B,GAAG,CAACC,wBAAa,CAACzE,EAAE,CAAC,EAAE0E,MAAM;MAC7E,MAAMC,gBAAgB,GAAGJ,eAAe,IAAI,KAAIhB,4BAAkB,EAACC,SAAS,EAAEA,SAAS,EAAEiB,wBAAa,CAACzE,EAAE,CAAC;MAC1G2E,gBAAgB,CAACnN,IAAI,GAAG8M,WAAW;MACnC,OAAOK,gBAAgB;IACzB,CAAC;IACD,OAAOP,uBAAuB,CAACtB,OAAO,CAAC,CAAC,CAAClD,GAAG,CAAC,CAAC,CAACC,SAAS,EAAEyE,WAAW,CAAC,MAAM;MAC1EtE,EAAE,EAAEH,SAAS,CAACG,EAAE;MAChBsE,WAAW,EAAED,4BAA4B,CAACxE,SAAS,EAAEyE,WAAW;IAClE,CAAC,CAAC,CAAC;EACL;;EAEA;AACF;AACA;EACEM,SAASA,CAACC,SAAoB,EAAE;IAC9B,IAAI,CAACxH,WAAW,CAACyH,QAAQ,CAACD,SAAS,CAAC;IACpC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEE,YAAYA,CAACC,YAA0B,EAAE;IACvC,IAAI,CAAC1H,cAAc,CAACwH,QAAQ,CAACE,YAAY,CAAC;IAC1C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,oBAAoBA,CAACC,YAA0B,EAAE;IAC/C,IAAI,CAAC3H,cAAc,CAACuH,QAAQ,CAACI,YAAY,CAAC;IAC1C,OAAO,IAAI;EACb;EAEAC,yBAAyBA,CAACC,iBAAoC,EAAE;IAC9D,IAAI,CAAC3H,eAAe,CAACqH,QAAQ,CAACM,iBAAiB,CAAC;IAChD,OAAO,IAAI;EACb;EAEAC,0BAA0BA,CAACC,sBAA0C,EAAE;IACrE,IAAI,CAAC5H,sBAAsB,CAACoH,QAAQ,CAACQ,sBAAsB,CAAC;EAC9D;EAEAC,4BAA4BA,CAACC,oBAA0C,EAAE;IACvE,IAAI,CAAChI,kBAAkB,CAACsH,QAAQ,CAACU,oBAAoB,CAAC;IACtD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACEC,KAAKA,CAAC9E,GAAoB,EAAE,CAAC,CAAC,CAAC;;EAE/B;AACF;AACA;AACA;AACA;AACA;EACE+E,OAAOA,CAAC5G,UAAuB,EAAE6G,OAAuB,EAAE,CAAC,CAAC,CAAC;;EAE7D,MAAMC,MAAMA,CACV;IAAEjF,GAAG;IAAEkF,KAAK;IAAEC;EAAyD,CAAC,EACxEC,OAA6B,EAC7B;IACA,MAAMC,QAAQ,GAAG,IAAAC,6BAAqB,EAACF,OAAO,EAAEG,aAAa,CAAC;IAC9D,MAAMC,MAAM,GAAG,MAAM,IAAAC,gBAAM,EAAC;MAC1B7H,IAAI,EAAE,IAAI,CAACA,IAAI;MACfoC,GAAG;MACHkF,KAAK;MACLC;IACF,CAAC,CAAC;IAEF,MAAMO,GAAG,GAAG,IAAI,CAAC/I,cAAc,CAACgJ,MAAM,CAAC,CAAC;IACxC,MAAMC,QAAQ,GAAG;MAAEC,IAAI,EAAER,QAAQ;MAAED;IAAQ,CAAC;IAC5C,MAAM3E,YAAY,GAAG0E,KAAK,GAAG,EAAE,GAAGnF,GAAG,CAACf,GAAG,CAAEI,EAAE,IAAKyG,0BAAW,CAACC,UAAU,CAAC1G,EAAE,CAAC,CAAC;IAC7E,MAAM,IAAA+C,qBAAS,EAACsD,GAAG,EAAE,MAAOM,EAAE,IAAK;MACjC,IAAI;QACF,MAAMA,EAAE,CAAC;UAAEhG,GAAG,EAAES;QAAa,CAAC,EAAEmF,QAAQ,CAAC;MAC3C,CAAC,CAAC,OAAOK,GAAQ,EAAE;QACjB,IAAI,CAAC/I,MAAM,CAACgJ,KAAK,CAAC,2BAA2B,EAAED,GAAG,CAAC;MACrD;IACF,CAAC,CAAC;IACF,OAAOT,MAAM;EACf;EAEAW,UAAUA,CAAC9G,EAAe,EAAW;IACnC,OAAO,IAAI,CAAC9C,WAAW,CAAC4J,UAAU,CAAC9G,EAAE,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAM+G,uBAAuBA,CAAA,EAAG;IAC9B,MAAMC,cAAc,GAAG,IAAI,CAAC9J,WAAW,CAACgH,OAAO,CAAC+C,UAAU,CAACC,OAAO,CAAC,CAAC;IACpE,MAAMC,cAAc,GAAG,IAAI,CAACjK,WAAW,CAACgH,OAAO,CAACkD,WAAW,CAACC,QAAQ;IACpE,MAAMC,YAAY,GAAG,CAACN,cAAc,EAAEG,cAAc,CAAC;IACrD,MAAMI,OAAO,GAAGC,mBAAQ,CAACC,KAAK,CAACH,YAAY,CAAC;IAC5CC,OAAO,CAACG,EAAE,CAAC,OAAO,EAAE,MAAM;MACxB,IAAI,CAAC7J,MAAM,CAACoG,KAAK,CAAE,0CAAyCqD,YAAY,CAACK,IAAI,CAAC,IAAI,CAAE,EAAC,CAAC;IACxF,CAAC,CAAC;IACF;IACAJ,OAAO,CAACG,EAAE,CAAC,QAAQ,EAAE,MAAOE,QAAQ,IAAK;MACvC,IAAIA,QAAQ,KAAKZ,cAAc,EAAE;QAC/B,IAAI,CAACnJ,MAAM,CAACoG,KAAK,CAAC,iDAAiD,CAAC;QACpE,MAAM,IAAI,CAAC/G,WAAW,CAACgH,OAAO,CAAC2D,gBAAgB,CAAC,CAAC;MACnD,CAAC,MAAM,IAAID,QAAQ,CAACE,UAAU,CAACX,cAAc,CAAC,EAAE;QAC9C,IAAI,CAACjK,WAAW,CAACgH,OAAO,CAACkD,WAAW,CAACW,yBAAyB,CAACH,QAAQ,CAAC;MAC1E,CAAC,MAAM;QACL,IAAI,CAAC/J,MAAM,CAACgJ,KAAK,CACf,yFAAyF,EACzFe,QACF,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,MAAMI,YAAYA,CAACC,KAAY,EAAuB;IACpD,MAAM/D,OAAO,GAAG,MAAM,IAAI,CAAChH,WAAW,CAACgH,OAAO,CAACgE,IAAI,CAACD,KAAK,CAAC;IAC1D,OAAOE,wBAAU,CAACC,cAAc,CAAClE,OAAO,CAAC;EAC3C;;EAEA;EACQmE,IAAIA,CAACC,GAAW,EAAE;IACxB,IAAIA,GAAG,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAOD,GAAG,CAACE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IACzD,OAAOF,GAAG;EACZ;EAEA,MAAMG,QAAQA,CAAC9H,GAAmB,EAAqC;IACrE,IAAI,CAACA,GAAG,IAAI,CAACA,GAAG,CAAC/E,MAAM,EAAE+E,GAAG,GAAG,CAAC,MAAM,IAAI,CAACuH,IAAI,CAAC,CAAC,EAAEtI,GAAG,CAAE8I,IAAI,IAAKA,IAAI,CAAC1I,EAAE,CAAC,IAAI,EAAE;IAC/E,MAAMlB,UAAU,GAAG,MAAM,IAAI,CAAC6J,OAAO,CAAChI,GAAG,CAAC;IAC1C,MAAMiI,YAAY,GAAG9J,UAAU,CAACc,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACgC,KAAK,CAACC,SAAS,CAAC+G,2BAA2B,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;IAClH,MAAMC,gBAAgB,GAAGC,8BAAe,CAACC,aAAa,CAACL,YAAY,CAAC;IACpE,MAAM,IAAI,CAAC1L,WAAW,CAACgM,aAAa,CAACC,iBAAiB,CAACJ,gBAAgB,EAAE;MACvEK,KAAK,EAAE,IAAI;MACXC,MAAM,EAAG,+DAA8D1I,GAAG,CAAC/E,MAAO;IACpF,CAAC,CAAC;IACF,MAAMyG,YAAY,GAAG,MAAM,IAAI,CAACsG,OAAO,CAACI,gBAAgB,CAAC;IACzD,MAAMO,aAA0B,GAAG,CAAC,GAAGxK,UAAU,EAAE,GAAGuD,YAAY,CAAC;;IAEnE;IACA,MAAMkH,KAAK,GAAG,KAAIC,cAAK,EAAoB,CAAC;IAC5CF,aAAa,CAACzN,OAAO,CAAE6M,IAAI,IAAKa,KAAK,CAACE,OAAO,CAAC,KAAIC,aAAI,EAAChB,IAAI,CAAC1I,EAAE,CAACM,QAAQ,CAAC,CAAC,EAAEoI,IAAI,CAAC,CAAC,CAAC;IAClF,MAAMnI,OAAO,CAACC,GAAG,CACf8I,aAAa,CAAC1J,GAAG,CAAC,MAAO8I,IAAI,IAAK;MAChC,MAAMiB,IAAI,GAAG,MAAM,IAAI,CAAC5L,kBAAkB,CAAC6L,wBAAwB,CAAClB,IAAI,CAAC;MACzEiB,IAAI,CAAC9N,OAAO,CAAEgO,GAAG,IAAK;QACpB,MAAMC,SAAS,GAAGD,GAAG,CAACE,WAAW;QACjC,IAAI,CAACR,KAAK,CAACS,OAAO,CAACF,SAAS,CAACxJ,QAAQ,CAAC,CAAC,CAAC,EAAE;UACxC,MAAM,IAAI2J,KAAK,CAAE,mCAAkCH,SAAS,CAACxJ,QAAQ,CAAC,CAAE,EAAC,CAAC;QAC5E;QACAiJ,KAAK,CAACW,OAAO,CAAC,KAAIC,aAAI,EAACzB,IAAI,CAAC1I,EAAE,CAACM,QAAQ,CAAC,CAAC,EAAEwJ,SAAS,CAACxJ,QAAQ,CAAC,CAAC,EAAEuJ,GAAG,CAACO,SAAS,CAAC,CAAC;MAClF,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IACD,OAAOb,KAAK;EACd;EAEA,MAAMc,WAAWA,CAAC1J,GAAmB,EAAwB;IAC3D,IAAI,CAACA,GAAG,IAAI,CAACA,GAAG,CAAC/E,MAAM,EAAE+E,GAAG,GAAG,CAAC,MAAM,IAAI,CAACuH,IAAI,CAAC,CAAC,EAAEtI,GAAG,CAAE8I,IAAI,IAAKA,IAAI,CAAC1I,EAAE,CAAC,IAAI,EAAE;IAC/E,MAAMlB,UAAU,GAAG,MAAM,IAAI,CAAC6J,OAAO,CAAChI,GAAG,CAAC;IAC1C,MAAM4I,KAAK,GAAG,KAAIC,cAAK,EAA2B,CAAC;IACnD,MAAMc,2BAAwC,GAAG,EAAE;;IAEnD;IACA,MAAM/J,OAAO,CAACC,GAAG,CACf1B,UAAU,CAACc,GAAG,CAAC,MAAOC,SAAS,IAAK;MAClC,MAAM0K,SAAS,GAAG,MAAM,IAAI,CAACC,+BAA+B,CAAC3K,SAAS,CAAC;MACvE,IAAI,CAAC0K,SAAS,EAAE;QACdD,2BAA2B,CAAC9O,IAAI,CAACqE,SAAS,CAAC;QAC3C;MACF;MACA0J,KAAK,CAACkB,KAAK,CAAC,CAACF,SAAS,CAAC,CAAC;IAC1B,CAAC,CACH,CAAC;IACD,IAAI,CAACD,2BAA2B,CAAC1O,MAAM,EAAE;MACvC,OAAO2N,KAAK;IACd;;IAEA;IACA,MAAMzI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC5D,WAAW,CAACwN,oBAAoB,CAAC,CAAC,KAAKlH,SAAS;IACzE,MAAM,IAAI,CAACmH,MAAM,CACfL,2BAA2B,CAAC1K,GAAG,CAAEgL,CAAC,IAAKA,CAAC,CAAC5K,EAAE,CAAC,EAC5C;MAAE6K,qBAAqB,EAAE,KAAK;MAAE/J,IAAI;MAAEuI,MAAM,EAAG;IAAmC,CACpF,CAAC;IAED,MAAMT,YAA2B,GAAG0B,2BAA2B,CAC5D1K,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACgC,KAAK,CAACC,SAAS,CAAC+G,2BAA2B,CAAC,CAAC,CAAC,CAC3EC,IAAI,CAAC,CAAC;IACT,MAAMC,gBAAgB,GAAGC,8BAAe,CAACC,aAAa,CAACL,YAAY,CAACkC,MAAM,CAACnK,GAAG,CAAC,CAAC;IAEhF,MAAMoK,QAAQ,GAAGA,CAACC,MAAmB,EAAE3I,YAA+C,EAAE4I,KAAkB,KAAK;MAC7G5I,YAAY,CAACmC,GAAG,CAAC,CAAC,CAAC3I,OAAO,CAAEgO,GAAG,IAAK;QAClC,MAAMqB,KAAK,GAAGrB,GAAG,CAAC7J,EAAE;QACpBuJ,KAAK,CAACE,OAAO,CAAC,KAAIC,aAAI,EAACwB,KAAK,CAAC5K,QAAQ,CAAC,CAAC,EAAE4K,KAAK,CAAC,CAAC;QAChD3B,KAAK,CAACW,OAAO,CAAC,KAAIC,aAAI,EAACa,MAAM,CAAC1K,QAAQ,CAAC,CAAC,EAAE4K,KAAK,CAAC5K,QAAQ,CAAC,CAAC,EAAE2K,KAAK,CAAC,CAAC;MACrE,CAAC,CAAC;IACJ,CAAC;IACD,MAAME,qBAAqB,GAAG,MAAM,IAAI,CAACjO,WAAW,CAACkO,wBAAwB,CAACrC,gBAAgB,CAAC;IAC/FoC,qBAAqB,CAACtP,OAAO,CAAC,CAAC;MAAEgE,SAAS;MAAEK,OAAO;MAAEmL;IAAW,CAAC,KAAK;MACpE,MAAML,MAAM,GAAGnL,SAAS,CAACyL,aAAa,CAAC,CAAC,CAAClL,aAAa,CAACiL,UAAU,CAAC;MAClE9B,KAAK,CAACE,OAAO,CAAC,KAAIC,aAAI,EAACsB,MAAM,CAAC1K,QAAQ,CAAC,CAAC,EAAE0K,MAAM,CAAC,CAAC;MAClDD,QAAQ,CAACC,MAAM,EAAE9K,OAAO,CAACmC,YAAY,EAAE,MAAM,CAAC;MAC9C0I,QAAQ,CAACC,MAAM,EAAE9K,OAAO,CAACqL,eAAe,EAAE,KAAK,CAAC;MAChDR,QAAQ,CAACC,MAAM,EAAE9K,OAAO,CAACsL,qBAAqB,EAAE,KAAK,CAAC;IACxD,CAAC,CAAC;IAEF,OAAOjC,KAAK;EACd;EAEA,MAAMkC,iBAAiBA,CAACzL,EAAe,EAAkC;IACvE,IAAI0L,UAAmB;IACvB,IAAI;MACFA,UAAU,GAAG,MAAM,IAAI,CAACxO,WAAW,CAACyO,kBAAkB,CAAC3L,EAAE,CAAC;IAC5D,CAAC,CAAC,OAAO4G,GAAG,EAAE;MACZ,OAAOpD,SAAS;IAClB;IAEA,MAAMoI,cAAc,GAAG,MAAMF,UAAU,CAACD,iBAAiB,CAAC,IAAI,CAACvO,WAAW,CAACgH,OAAO,CAAC;IACnF,OAAO0H,cAAc;EACvB;EAEA,MAAcpB,+BAA+BA,CAAC3K,SAAoB,EAAmD;IACnH,MAAMgM,iBAAiB,GAAGhM,SAAS,CAACgC,KAAK,CAACC,SAA8B;IACxE,MAAM8J,cAAc,GAAG,MAAM,IAAI,CAACH,iBAAiB,CAAC5L,SAAS,CAACG,EAAE,CAAC;IACjE,IAAI,CAAC4L,cAAc,EACjB,MAAM,IAAI3B,KAAK,CACb,0HACF,CAAC;IACH,IAAI,CAAC2B,cAAc,CAAChQ,MAAM,IAAIiQ,iBAAiB,CAACC,qBAAqB,CAAClQ,MAAM,EAAE;MAC5E;MACA;MACA,OAAO,IAAI;IACb;IACA,MAAMmQ,KAAK,GAAGH,cAAc,CAAChM,GAAG,CAAEoM,IAAI,IAAAtQ,aAAA,CAAAA,aAAA,KACjCsQ,IAAI;MACPC,MAAM,EAAED,IAAI,CAACC,MAAM;MACnBC,MAAM,EAAEF,IAAI,CAACE;IAAM,EACnB,CAAC;IACH,MAAMC,KAAK,GAAGN,iBAAiB,CAACC,qBAAqB;IAErD,MAAMvC,KAAK,GAAG,KAAIC,cAAK,EAA2B,CAAC;IACnDD,KAAK,CAACE,OAAO,CAAC,KAAIC,aAAI,EAAC7J,SAAS,CAACG,EAAE,CAACM,QAAQ,CAAC,CAAC,EAAET,SAAS,CAACG,EAAE,CAAC,CAAC;IAC9DmM,KAAK,CAACtQ,OAAO,CAAEuQ,IAAI,IAAK7C,KAAK,CAACE,OAAO,CAAC,KAAIC,aAAI,EAAC0C,IAAI,CAAC9L,QAAQ,CAAC,CAAC,EAAE8L,IAAI,CAAC,CAAC,CAAC;IACvEL,KAAK,CAAClQ,OAAO,CAAEmQ,IAAI,IAAKzC,KAAK,CAACW,OAAO,CAAC,KAAIC,aAAI,EAAC6B,IAAI,CAACC,MAAM,CAAC3L,QAAQ,CAAC,CAAC,EAAE0L,IAAI,CAACE,MAAM,CAAC5L,QAAQ,CAAC,CAAC,EAAE0L,IAAI,CAACK,IAAI,CAAC,CAAC,CAAC;IAC3G,OAAO9C,KAAK;EACd;;EAEA;AACF;AACA;EACE,MAAMoB,MAAMA,CACVhK,GAAkB,EAClB;IACE2L,QAAQ,GAAG,IAAI;IACfzB,qBAAqB,GAAG,IAAI;IAC5B0B,qBAAqB,GAAG,IAAI;IAC5BzL,IAAI;IACJuI;EAwBF,CAAC,GAAG,CAAC,CAAC,EACS;IACf,MAAMmD,wBAAwB,GAAG7L,GAAG,CAACtF,MAAM,CAAE2E,EAAE,IAAK;MAClD,OAAOA,EAAE,CAACyM,KAAK,KAAK,IAAI,CAACtO,IAAI,IAAI6B,EAAE,CAAC0M,OAAO,CAACC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC;IACF,MAAM,IAAI,CAACzP,WAAW,CAACgM,aAAa,CAAC0D,UAAU,CAAC;MAC9CjM,GAAG,EAAEqI,8BAAe,CAAC6D,SAAS,CAACL,wBAAwB,CAAC;MACxDpD,KAAK,EAAEkD,QAAQ;MACfQ,0BAA0B,EAAE,KAAK;MACjCjC,qBAAqB;MACrB/J,IAAI;MACJyL,qBAAqB;MACrBlD;IACF,CAAC,CAAC;EACJ;EAEA,MAAM7E,GAAGA,CAACxE,EAAe,EAAEsM,QAAQ,GAAG,IAAI,EAAES,eAAe,GAAG,IAAI,EAAkC;IAClG,OAAO,IAAI,CAAC9O,eAAe,CAACuG,GAAG,CAACxE,EAAE,EAAE+M,eAAe,EAAET,QAAQ,CAAC;EAChE;EAEA,MAAMxI,wBAAwBA,CAAC+H,iBAAoC,EAAsB;IACvF,OAAO,IAAI,CAAC5N,eAAe,CAAC6F,wBAAwB,CAAC+H,iBAAiB,CAAC;EACzE;;EAEA;AACF;AACA;EACE,MAAMmB,kBAAkBA,CAAChN,EAAe,EAAsB;IAC5D,OAAO,IAAI,CAAC/B,eAAe,CAAC+O,kBAAkB,CAAChN,EAAE,CAAC;EACpD;;EAEA;AACF;AACA;EACE,MAAMiN,uBAAuBA,CAACtM,GAAkB,EAAwB;IACtE,OAAO,IAAI,CAAC1C,eAAe,CAACgP,uBAAuB,CAACtM,GAAG,CAAC;EAC1D;;EAEA;AACF;AACA;EACE,MAAMuH,IAAIA,CACR7M,MAAiE,EACjE6R,YAAY,GAAG,KAAK,EACpBC,gBAAgB,GAAG,KAAK,EACxBC,cAAc,GAAG,KAAK,EACA;IACtB,MAAMC,iBAAiB,GACpBhS,MAAM,EAAEiS,UAAU,IAAIjS,MAAM,EAAEiS,UAAU,CAAC1N,GAAG,CAAE2N,OAAO,IAAM,MAAKA,OAAO,IAAI,IAAK,EAAC,CAAC,IAAK/J,SAAS;IACnG,MAAMgK,aAAa,GAAG,MAAM,IAAI,CAACC,OAAO,CAACP,YAAY,EAAEC,gBAAgB,EAAEE,iBAAiB,CAAC;IAE3F,MAAMK,KAAK,GAAG,MAAM,IAAI,CAAC/E,OAAO,CAC9BtN,MAAM,IAAIA,MAAM,CAACsS,KAAK,GAAG,IAAAC,eAAK,EAACJ,aAAa,EAAEnS,MAAM,CAACwS,MAAM,EAAExS,MAAM,CAACwS,MAAM,GAAGxS,MAAM,CAACsS,KAAK,CAAC,GAAGH,aAC/F,CAAC;IAED,OAAOJ,cAAc,GAAGM,KAAK,GAAGA,KAAK,CAACrS,MAAM,CAAEqN,IAAI,IAAK,CAACA,IAAI,CAACoF,SAAS,CAAC,CAAC,CAAC;EAC3E;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMC,WAAWA,CAAA,EAAG;IAClB,OAAO,EAAE;EACX;;EAEA;AACF;AACA;AACA;EACE,MAAMN,OAAOA,CAACP,YAAY,GAAG,KAAK,EAAEC,gBAAgB,GAAG,KAAK,EAAEa,QAAmB,EAA0B;IACzG,MAAMC,kBAAkB,GAAG,MAAM,IAAI,CAAC/Q,WAAW,CAACgL,IAAI,CAAC,CAAC;IACxD,MAAMgG,qBAAqB,GAAIC,cAA8B,IAAK;MAChE,MAAMC,WAAW,GAAGlB,YAAY,GAAG,IAAI,GAAG,IAAI,CAACmB,MAAM,CAACF,cAAc,CAAC;MACrE,MAAMG,WAAW,GAAGnB,gBAAgB,GAAG,IAAI,GAAGgB,cAAc,CAACI,OAAO,CAAC,CAAC;MAEtE,OAAOH,WAAW,IAAIE,WAAW;IACnC,CAAC;IACD,MAAME,qBAAqB,GAAGP,kBAAkB,CAAC5S,MAAM,CAAC6S,qBAAqB,CAAC;IAC9E,IAAIvN,GAAG,GAAG6N,qBAAqB,CAAC5O,GAAG,CAAEC,SAAS,IAC5C4G,0BAAW,CAACgI,UAAU,CAAC5O,SAAS,CAAC6O,wBAAwB,CAAC,CAAC,EAAE7O,SAAS,CAAC4M,KAAK,IAAI,IAAI,CAACtO,IAAI,CAC3F,CAAC;IACD,IAAI6P,QAAQ,IAAIA,QAAQ,CAACpS,MAAM,GAAG,CAAC,EAAE;MACnC+E,GAAG,GAAGA,GAAG,CAACtF,MAAM,CAAE2E,EAAE,IAClBgO,QAAQ,EAAEW,IAAI,CAAEpB,OAAO,IAAK,IAAAqB,+CAA2B,EAAC5O,EAAE,CAAC6O,sBAAsB,CAAC,CAAC,EAAEtB,OAAO,CAAC,CAACuB,KAAK,CACrG,CAAC;IACH;IACA,IAAI,CAACjR,MAAM,CAACoG,KAAK,CAAE,wBAAuBtD,GAAG,CAAC/E,MAAO,gCAA+B,CAAC;IACrF,OAAO+E,GAAG;EACZ;;EAEA;AACF;AACA;AACA;EACE,MAAMoO,KAAKA,CAAChF,WAAwB,EAAEmD,YAAY,GAAG,KAAK,EAAoB;IAC5E,IAAI,CAACA,YAAY,IAAInD,WAAW,CAAC0C,KAAK,KAAK,IAAI,CAACtO,IAAI,EAAE,OAAO,KAAK;IAClE,MAAM4C,IAAI,GAAG;MACXiO,cAAc,EAAE;IAClB,CAAC;IAED,OAAO,IAAI,CAAC9R,WAAW,CAAC6R,KAAK,CAAChF,WAAW,EAAEhJ,IAAI,CAAC;EAClD;EAEA,MAAMkO,WAAWA,CAAClF,WAAwB,EAAEmD,YAAY,GAAG,KAAK,EAAoB;IAClF,OAAO,IAAI,CAAC6B,KAAK,CAAChF,WAAW,EAAEmD,YAAY,CAAC;EAC9C;;EAEA;AACF;AACA;EACEmB,MAAMA,CAACF,cAA8B,EAAE;IACrC,OAAOA,cAAc,CAAC1B,KAAK,KAAK,IAAI,CAACtO,IAAI;EAC3C;EAEA,MAAMwK,OAAOA,CAAChI,GAAkB,EAAEuO,eAAe,GAAG,KAAK,EAAwB;IAC/E,MAAMC,eAAe,GAAG,IAAAC,iBAAO,EAACzO,GAAG,CAAC;IACpC,MAAM0O,WAAW,GAAG,IAAAtM,qBAAS,EAACoM,eAAe,EAAE,MAAOnP,EAAe,IAAK;MACxE,OAAOkP,eAAe,GAAG,IAAI,CAACI,UAAU,CAACtP,EAAE,CAAC,GAAG,IAAI,CAACwE,GAAG,CAACxE,EAAE,CAAC;IAC7D,CAAC,CAAC;IACF,MAAMlB,UAAU,GAAG,MAAMuQ,WAAW;IACpC,OAAO,IAAAD,iBAAO,EAACtQ,UAAU,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAMyQ,QAAQA,CACZ5O,GAAkB,EAClBG,IAAW,EACXC,IAAiB,GAAG;IAAEyO,QAAQ,EAAE,IAAI;IAAEC,QAAQ,EAAE;EAAK,CAAC,EAChC;IACtB,MAAM3Q,UAAU,GAAG,MAAM,IAAAiE,qBAAS,EAACpC,GAAG,EAAGX,EAAE,IAAK,IAAI,CAAC0P,IAAI,CAAC1P,EAAE,EAAEc,IAAI,EAAEC,IAAI,CAAC,CAAC;IAC1E,OAAO,IAAAqO,iBAAO,EAACtQ,UAAU,CAAC;EAC5B;EAEA,MAAM6Q,oBAAoBA,CAAC7Q,UAAuB,EAAEgC,IAAW,EAAwB;IACrF,MAAM8O,gBAAgB,GAAG,MAAM,IAAA7M,qBAAS,EAACjE,UAAU,EAAGkB,EAAE,IAAK,IAAI,CAAC6P,eAAe,CAAC7P,EAAE,EAAEc,IAAI,CAAC,CAAC;IAC5F,OAAO,IAAAsO,iBAAO,EAACQ,gBAAgB,CAAC;EAClC;;EAEA;AACF;AACA;AACA;EACE,MAAMN,UAAUA,CAACtP,EAAe,EAAsB;IACpD,MAAMH,SAAS,GAAG,MAAM,IAAI,CAAC2E,GAAG,CAACxE,EAAE,CAAC;IACpC,IAAI,CAACH,SAAS,EAAE,MAAM,KAAIiQ,+BAAiB,EAAC9P,EAAE,CAAC;IAC/C,OAAOH,SAAS;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMkQ,QAAQA,CAAC/P,EAAe,EAAEgQ,IAAY,EAAkB;IAC5D,OAAO,IAAI,CAAC/R,eAAe,CAAC8R,QAAQ,CAAC/P,EAAE,EAAEgQ,IAAI,CAAC;EAChD;EAEA,MAAMC,OAAOA,CAACjQ,EAAe,EAAEgQ,IAAY,EAAiB;IAC1D,MAAM7B,cAAc,GAAG,MAAM,IAAI,CAACjR,WAAW,CAACgT,iBAAiB,CAAClQ,EAAE,CAAC;IACnE,MAAMmQ,GAAG,GAAGhC,cAAc,CAACiC,MAAM,CAACJ,IAAI,CAAC;IACvC,IAAI,CAACG,GAAG,EAAE,MAAM,IAAIlG,KAAK,CAAE,sBAAqBjK,EAAE,CAACM,QAAQ,CAAC,CAAE,aAAY0P,IAAK,EAAC,CAAC;IACjF,OAAO,IAAI,CAAC/R,eAAe,CAACgS,OAAO,CAACjQ,EAAE,EAAEmQ,GAAG,CAAC7P,QAAQ,CAAC,CAAC,CAAC;EACzD;;EAEA;AACF;AACA;EACE,MAAM+P,OAAOA,CAACrQ,EAAe,EAAEsQ,SAAS,GAAG,KAAK,EAAEC,UAAmB,EAA2B;IAC9F,OAAO,IAAI,CAACrT,WAAW,CAACsT,iBAAiB,CAACxQ,EAAE,EAAEsQ,SAAS,EAAEC,UAAU,CAAC;EACtE;EAEA,MAAME,eAAeA,CAAA,EAAG;IACtB,MAAMC,aAAa,GAAG,IAAI,CAACxT,WAAW,CAACyT,gBAAgB,CAAC,CAAC;IACzD,OAAOC,4BAAY,CAAClB,IAAI,CAAC,IAAI,CAACnR,IAAI,EAAE,IAAI,CAACV,MAAM,EAAE6S,aAAa,CAAC;EACjE;;EAEA;AACF;AACA;AACA;EACE,MAAMG,kBAAkBA,CAAC7Q,EAAe,EAAoB;IAC1D,MAAME,OAAO,GAAGF,EAAE,CAACE,OAAO;IAC1B,IAAI,CAACA,OAAO,EAAE,MAAM,IAAI+J,KAAK,CAAE,iDAAgDjK,EAAE,CAACM,QAAQ,CAAC,CAAE,EAAC,CAAC;IAC/F,MAAM6N,cAAc,GAAG,MAAM,IAAI,CAACjR,WAAW,CAACgT,iBAAiB,CAAClQ,EAAE,CAAC;IACnE,MAAM0L,UAAU,GAAG,MAAMyC,cAAc,CAAC2C,WAAW,CAAC5Q,OAAO,EAAE,IAAI,CAAChD,WAAW,CAACgH,OAAO,CAAC;IACtF,OAAOwH,UAAU,CAACqF,SAAS,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACE,MAAMhR,kBAAkBA,CAACC,EAAgC,EAAwB;IAC/E,IAAIA,EAAE,YAAYyG,0BAAW,EAAE,OAAOzG,EAAE;IACxC,IAAIA,EAAE,YAAYgR,oBAAK,EAAE,OAAO,IAAI,CAACC,2BAA2B,CAACjR,EAAE,CAAC;IACpE,MAAMkR,KAAK,GAAGlR,EAAE,CAACM,QAAQ,CAAC,CAAC;IAC3B,MAAMT,SAAS,GAAG,MAAM,IAAI,CAAC3C,WAAW,CAACiU,yBAAyB,CAACD,KAAK,CAAC;IACzE,MAAME,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAIvR,SAAS,EAAE,OAAOqR,KAAK,CAAC,CAAC;MAC7B,IAAIA,KAAK,CAACpJ,UAAU,CAAE,GAAE,IAAI,CAAC3J,IAAK,GAAE,CAAC,EAAE;QACrC;QACA,OAAO+S,KAAK,CAAC1I,OAAO,CAAE,GAAE,IAAI,CAACrK,IAAK,GAAE,EAAE,EAAE,CAAC;MAC3C;MACA,OAAO+S,KAAK;IACd,CAAC;IACD,MAAMG,SAAS,GAAGD,YAAY,CAAC,CAAC;IAChC,MAAME,QAAQ,GAAG,MAAM,IAAI,CAACpU,WAAW,CAACqU,WAAW,CAACF,SAAS,CAAC;IAC9D,OAAOC,QAAQ;EACjB;EAEQL,2BAA2BA,CAACjR,EAAS,EAAE;IAC7C,OAAOA,EAAE,CAAC2M,QAAQ,CAAC,CAAC,GAAGlG,0BAAW,CAACgI,UAAU,CAACzO,EAAE,CAAC,GAAGyG,0BAAW,CAACgI,UAAU,CAACzO,EAAE,EAAE,IAAI,CAAC7B,IAAI,CAAC;EAC3F;EAEA,MAAMqT,2BAA2BA,CAAC7Q,GAA8C,EAAE;IAChF,OAAOJ,OAAO,CAACC,GAAG,CAACG,GAAG,CAACf,GAAG,CAAC,MAAOI,EAAE,IAAK,IAAI,CAACD,kBAAkB,CAACC,EAAE,CAAC,CAAC,CAAC;EACxE;;EAEA;AACF;AACA;EACE,MAAMyR,SAASA,CAACzD,QAAkB,EAAEvB,KAAK,GAAG,IAAI,EAAwB;IACtE,MAAMY,iBAAiB,GAAGW,QAAQ,CAACpO,GAAG,CAAE2N,OAAO,IAAM,GAAEd,KAAM,IAAGc,OAAO,IAAI,IAAK,EAAC,CAAC;IAElF,MAAM5M,GAAG,GAAG,MAAM,IAAI,CAAC8M,OAAO,CAAC,IAAI,EAAE,KAAK,EAAEJ,iBAAiB,CAAC;IAE9D,MAAMvO,UAAU,GAAG,MAAM,IAAI,CAAC6J,OAAO,CAAChI,GAAG,CAAC;IAC1C,OAAO7B,UAAU;EACnB;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAM4S,YAAYA,CAACnE,OAAe,EAAEoE,eAAe,GAAG,IAAI,EAA0B;IAClF,IAAI,CAACpE,OAAO,CAAClN,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACkN,OAAO,CAAClN,QAAQ,CAAC,GAAG,CAAC,EAAE;MACpD;MACA,MAAML,EAAE,GAAG,MAAM,IAAI,CAACD,kBAAkB,CAACwN,OAAO,CAAC;MACjD,MAAMc,MAAM,GAAG,MAAM,IAAI,CAACU,KAAK,CAAC/O,EAAE,EAAE,IAAI,CAAC;MACzC,IAAIqO,MAAM,EAAE,OAAO,CAACrO,EAAE,CAAC;MACvB,IAAI2R,eAAe,EAAE,MAAM,KAAIC,oBAAQ,EAAE,mBAAkBrE,OAAQ,gBAAe,CAAC;MACnF,OAAO,EAAE;IACX;IACA,MAAM5M,GAAG,GAAG,MAAM,IAAI,CAAC8M,OAAO,CAAC,IAAI,CAAC;IACpC,OAAO,IAAI,CAACoE,6BAA6B,CAACtE,OAAO,EAAE5M,GAAG,EAAEgR,eAAe,CAAC;EAC1E;;EAEA;EACA,MAAME,6BAA6BA,CACjCtE,OAAe,EACf5M,GAAkB,EAClBgR,eAAe,GAAG,IAAI,EACtBG,iBAAkF,EAClF;IACA,MAAM9D,QAAQ,GAAGT,OAAO,CACrBwE,KAAK,CAAC,GAAG,CAAC,CACVnS,GAAG,CAAEoS,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CACpBrS,GAAG,CAAEoS,CAAC,IAAKA,CAAC,CAACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI/D,QAAQ,CAACkE,KAAK,CAAEF,CAAC,IAAKA,CAAC,CAAClK,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;MAC5C;MACAkG,QAAQ,CAACmE,OAAO,CAAC,IAAI,CAAC;IACxB;IACA;IACA,MAAMC,UAAU,GAAIpS,EAAe,IAAK,CAACA,EAAE,CAAC0M,OAAO,CAACmC,sBAAsB,CAAC,CAAC,EAAE7O,EAAE,CAAC6O,sBAAsB,CAAC,CAAC,CAAC;IAC1G,MAAM,CAACwD,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,mBAAS,EAACvE,QAAQ,EAAGgE,CAAC,IAAKA,CAAC,CAAClK,UAAU,CAAC,GAAG,CAAC,CAAC;IACvF,MAAM0K,WAAW,GAAGF,gBAAgB,CAAC1W,MAAM,GACvC+E,GAAG,CAACtF,MAAM,CAAE2E,EAAE,IAAK,IAAAyS,qBAAU,EAACL,UAAU,CAACpS,EAAE,CAAC,EAAEsS,gBAAgB,CAAC,CAAC1W,MAAM,CAAC,GACvE,EAAE;IAEN,MAAM8W,gBAAgB,GAAG,MAAM,IAAA3P,qBAAS,EAACsP,aAAa,EAAE,MAAOM,YAAY,IAAK;MAC9E,IAAI,CAACb,iBAAiB,EAAE;QACtB,MAAM,IAAI7H,KAAK,CAAE,sBAAqB0I,YAAa,gDAA+C,CAAC;MACrG;MACAA,YAAY,GAAGA,YAAY,CAACnK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;MAC5C,IAAImK,YAAY,CAACtS,QAAQ,CAAC,OAAO,CAAC,EAAE;QAClC,MAAMuS,iBAAiB,GAAGD,YAAY,CAACZ,KAAK,CAAC,OAAO,CAAC,CAACnS,GAAG,CAAEoS,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAIW,iBAAiB,CAAChX,MAAM,KAAK,CAAC,EAAE,MAAM,IAAIqO,KAAK,CAAC,gDAAgD,CAAC;QACrG,MAAM,CAAC4I,MAAM,EAAEC,SAAS,CAAC,GAAGF,iBAAiB;QAC7C,MAAMG,kBAAkB,GAAGpS,GAAG,CAACtF,MAAM,CAAE2E,EAAE,IAAK,IAAAyS,qBAAU,EAACL,UAAU,CAACpS,EAAE,CAAC,EAAE,CAAC8S,SAAS,CAAC,CAAC,CAAClX,MAAM,CAAC;QAC7F,OAAOkW,iBAAiB,CAACe,MAAM,EAAEE,kBAAkB,CAAC;MACtD;MACA,OAAOjB,iBAAiB,CAACa,YAAY,EAAEhS,GAAG,CAAC;IAC7C,CAAC,CAAC;IACF,MAAMqS,oBAAoB,GAAGN,gBAAgB,CAAC5J,IAAI,CAAC,CAAC;IACpD,MAAMmK,kBAAkB,GAAGA,CAAA,KAAM;MAC/B,IAAI,CAACP,gBAAgB,EAAE,OAAOF,WAAW;MACzC,MAAMU,MAAM,GAAG,CAAC,GAAGV,WAAW,EAAE,GAAGQ,oBAAoB,CAAC;MACxD,OAAOhK,8BAAe,CAACC,aAAa,CAACiK,MAAM,CAAC;IAC9C,CAAC;IACD,MAAMC,cAAc,GAAGF,kBAAkB,CAAC,CAAC;IAC3C,IAAItB,eAAe,IAAI,CAACwB,cAAc,CAACvX,MAAM,EAAE;MAC7C,MAAM,KAAIwX,oCAAgB,EAAC7F,OAAO,CAAC;IACrC;IACA,OAAO4F,cAAc;EACvB;EAEA,MAAME,eAAeA,CAACrT,EAAe,EAAEsT,MAAM,GAAG,IAAI,EAA0B;IAC5E,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACrW,WAAW,CAACgT,iBAAiB,CAAClQ,EAAE,CAAC;IAC9D,MAAMuT,SAAS,CAACC,cAAc,CAAC,IAAI,CAACtW,WAAW,CAACgH,OAAO,EAAEoP,MAAM,CAAC;IAChE,OAAOC,SAAS,CAACE,cAAc,CAAC,CAAC;EACnC;EACA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,+BAA+BA,CACnC3J,WAAwB,EACxB4J,UAAmB,EACnBC,UAAmB,EACnBN,MAAgB,EACQ;IACxB,IAAI,CAACK,UAAU,IAAI,CAACC,UAAU,EAAE;MAC9B,MAAM,IAAI3J,KAAK,CAAE,8FAA6F,CAAC;IACjH;IACA,MAAMkE,cAAc,GAAG,MAAM,IAAI,CAACjR,WAAW,CAACgT,iBAAiB,CAACnG,WAAW,CAAC;IAC5E,OAAO,IAAA0J,gCAAc,EAAC;MACpBtF,cAAc;MACd0F,IAAI,EAAE,IAAI,CAAC3W,WAAW,CAACgH,OAAO;MAC9ByP,UAAU,EAAEA,UAAU,GAAGG,cAAG,CAACC,IAAI,CAACJ,UAAU,CAAC,GAAGxF,cAAc,CAAC6F,IAAI,IAAI,IAAI;MAC3EJ,UAAU,EAAEA,UAAU,GAAGE,cAAG,CAACC,IAAI,CAACH,UAAU,CAAC,GAAGzF,cAAc,CAAC6F,IAAI,IAAI,IAAI;MAC3EV;IACF,CAAC,CAAC;EACJ;EAEA,MAAMW,4BAA4BA,CAACjU,EAAe,EAAEkU,KAAa,EAA+B;IAC9F,MAAM/F,cAAc,GAAG,MAAM,IAAI,CAACjR,WAAW,CAACgT,iBAAiB,CAAClQ,EAAE,CAAC;IACnE,MAAMmU,QAAQ,GAAGhG,cAAc,CAACiG,YAAY,CAAC,CAAC;IAC9C,OAAOC,iBAAM,CAACC,aAAa,CAASH,QAAQ,EAAED,KAAK,EAAE;MAAEK,iBAAiB,EAAE;IAAK,CAAC,CAAC,EAAEjU,QAAQ,CAAC,CAAC;EAC/F;EAEA,MAAMkU,YAAYA,CAACC,QAAgB,EAAEC,OAAiB,EAAqB;IACzE,OAAO,IAAAF,qCAAY,EAAC,IAAI,CAACtX,WAAW,EAAEuX,QAAQ,EAAEC,OAAO,CAAC;EAC1D;;EAEA;AACF;AACA;EACE,MAAMC,SAASA,CAAC3U,EAAU,EAAwB;IAChD,OAAO,IAAI,CAACD,kBAAkB,CAACC,EAAE,CAAC;EACpC;;EAEA;EACA,MAAM4U,cAAcA,CAAA,EAAqB;IACvC,OAAO,IAAAC,+BAAe,EAAC,IAAI,CAAC3X,WAAW,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,MAAM4X,eAAeA,CAACC,SAAiB,EAA0B;IAC/D,MAAML,OAAO,GAAG,MAAM,IAAI,CAACE,cAAc,CAAC,CAAC;IAC3C,MAAMI,MAAM,GAAG,MAAMN,OAAO,CAACO,OAAO,CAACF,SAAS,EAAE,IAAI,CAAC7X,WAAW,CAAC;IACjE,MAAMgY,OAAO,GAAG,MAAMF,MAAM,CAAC9M,IAAI,CAAC,CAAC;IACnC,OAAOgN,OAAO,CAACtV,GAAG,CAAC,CAAC;MAAEI;IAAG,CAAC,KAAKA,EAAE,CAAC;EACpC;EAEA,MAAMmV,gBAAgBA,CAACnV,EAAe,EAA0C;IAC9E,IAAI;MACF,OAAO,MAAM,IAAI,CAAC9C,WAAW,CAACkY,oBAAoB,CAACpV,EAAE,CAAC;IACxD,CAAC,CAAC,OAAO4G,GAAG,EAAE;MACZ;MACA,OAAO,CAAC,MAAM,IAAI,CAACpC,GAAG,CAACxE,EAAE,CAAC,GAAG6B,KAAK,CAACC,SAAS;IAC9C;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAMuT,0BAA0BA,CAACrV,EAAe,EAAEkP,eAAe,GAAG,KAAK,EAAuC;IAC9G,OAAOA,eAAe,GAAG,IAAI,CAAChS,WAAW,CAACgT,iBAAiB,CAAClQ,EAAE,CAAC,GAAG,IAAI,CAAC9C,WAAW,CAACoY,wBAAwB,CAACtV,EAAE,CAAC;EACjH;;EAEA;AACF;AACA;EACE,MAAMuV,mBAAmBA,CACvBpH,cAA8B,EAC9BjO,OAAe,EACfgP,eAAe,GAAG,KAAK,EACO;IAC9B,OAAOf,cAAc,CAAC2C,WAAW,CAAC5Q,OAAO,EAAE,IAAI,CAAChD,WAAW,CAACgH,OAAO,EAAEgL,eAAe,CAAC;EACvF;EAEA,MAAMsG,uBAAuBA,CAACxV,EAAe,EAAEkP,eAAe,GAAG,KAAK,EAAgC;IACpG,MAAMf,cAAc,GAAG,MAAM,IAAI,CAACkH,0BAA0B,CAACrV,EAAE,EAAEkP,eAAe,CAAC;IACjF,IAAI,CAACf,cAAc,EAAE,OAAO3K,SAAS;IACrC,OAAO,IAAI,CAAC+R,mBAAmB,CAACpH,cAAc,EAAEnO,EAAE,CAACE,OAAO,EAAEgP,eAAe,CAAC;EAC9E;;EAEA;AACF;AACA;EACE,MAAMQ,IAAIA,CACR1P,EAAe,EACfc,IAAW,EACXC,IAAiB,GAAG;IAAEyO,QAAQ,EAAE,IAAI;IAAEC,QAAQ,EAAE;EAAK,CAAC,EACtB;IAChC,MAAM5P,SAAS,GAAG,MAAM,IAAI,CAAC2E,GAAG,CAACxE,EAAE,CAAC;IACpC,IAAI,CAACH,SAAS,EAAE,OAAO2D,SAAS;IAChC,OAAO,IAAI,CAACqM,eAAe,CAAChQ,SAAS,EAAEiB,IAAI,EAAEC,IAAI,CAAC;EACpD;EAEA,MAAM8O,eAAeA,CACnBhQ,SAAoB,EACpBiB,IAAW,EACXC,IAAiB,GAAG;IAAEyO,QAAQ,EAAE,IAAI;IAAEC,QAAQ,EAAE;EAAK,CAAC,EAClC;IACpB,MAAMgG,SAAS,GAAG5V,SAAS,CAACgC,KAAK,CAACe,OAAO,CAACjC,GAAG;IAC7C;IACA;IACA;IACA,IAAII,IAAI,CAACyO,QAAQ,EAAE;MACjB,MAAMkG,OAAO,GAAG7V,SAAS,CAACgC,KAAK,CAACe,OAAO,CAAC4B,GAAG,CAAC,6BAA6B,CAAC;MAC1E,IAAIkR,OAAO,EAAEle,IAAI,EAAEme,OAAO,EAAE;QAC1BF,SAAS,CAACja,IAAI,CAACqE,SAAS,CAACG,EAAE,CAACM,QAAQ,CAAC,CAAC,CAAC;MACzC;IACF;IACA,IAAIS,IAAI,CAAC0O,QAAQ,EAAE;MACjB,MAAMlO,QAAQ,GAAG1B,SAAS,CAACgC,KAAK,CAACe,OAAO,CAAC4B,GAAG,CAAChC,eAAU,CAACxC,EAAE,CAAC;MAC3D,IAAIuB,QAAQ,EAAE/J,IAAI,EAAEoe,QAAQ,IAAIrU,QAAQ,EAAE/J,IAAI,EAAEqe,IAAI,IAAItU,QAAQ,EAAE/J,IAAI,EAAE6U,IAAI,KAAK,KAAK,EAAE;QACtFoJ,SAAS,CAACja,IAAI,CAACqE,SAAS,CAACG,EAAE,CAACM,QAAQ,CAAC,CAAC,CAAC;MACzC;IACF;IACA,IAAImV,SAAS,IAAIA,SAAS,CAAC7Z,MAAM,EAAE;MACjC,MAAM,IAAI,CAAC8E,WAAW,CAAC+U,SAAS,EAAE,IAAI,EAAE5V,SAAS,CAACG,EAAE,CAACM,QAAQ,CAAC,CAAC,EAAEQ,IAAI,CAAC;IACxE;IAEA,OAAOjB,SAAS;EAClB;EAEA,MAAMiW,oBAAoBA,CAACjW,SAAoB,EAAE;IAC/C,MAAM4V,SAAS,GAAG5V,SAAS,CAACgC,KAAK,CAACe,OAAO,CAACjC,GAAG;IAC7C,MAAM,IAAI,CAACD,WAAW,CAAC+U,SAAS,EAAE,IAAI,EAAE5V,SAAS,CAACG,EAAE,CAACM,QAAQ,CAAC,CAAC,CAAC;EAClE;EAEA,MAAMyV,0BAA0BA,CAAClW,SAAoB,EAAEmW,YAAiC,EAAE;IACxF,MAAMC,0BAA0B,GAAGC,2BAAiB,CAACC,gBAAgB,CAACH,YAAY,CAAC;IACnF,MAAMI,iBAAiB,GAAGF,2BAAiB,CAACG,YAAY,CAAC,CACvDJ,0BAA0B,EAC1BpW,SAAS,CAACgC,KAAK,CAACC,SAAS,CAACF,UAAU,CACrC,CAAC,CAAC0U,uBAAuB,CAAC,CAAC;IAC5BzW,SAAS,CAACgC,KAAK,CAACC,SAAS,CAACF,UAAU,GAAGwU,iBAAiB;EAC1D;EAEA,MAAazT,qCAAqCA,CAACyT,iBAAoC,EAAE;IACvF,MAAMvT,OAAO,GAAG,MAAMtC,OAAO,CAACC,GAAG,CAAC4V,iBAAiB,CAACxW,GAAG,CAAE2W,KAAK,IAAK,IAAI,CAACC,+BAA+B,CAACD,KAAK,CAAC,CAAC,CAAC;IAChH,OAAO,IAAI,CAACpZ,kBAAkB,CAACsZ,2BAA2B,CAAC5T,OAAO,CAAC;EACrE;EAEA,MAAc2T,+BAA+BA,CAACE,SAA6B,EAAwB;IACjG,OAAO,KAAIC,wBAAW,EAAC,MAAM,IAAI,CAAC5W,kBAAkB,CAAC2W,SAAS,CAAC1W,EAAE,CAAC,EAAE0W,SAAS,CAAC;EAChF;EAEAE,iBAAiBA,CAAA,EAAG;IAClB,OAAOrY,eAAI,CAACoJ,IAAI,CAAC,IAAI,CAACpJ,IAAI,EAAE,aAAa,CAAC;EAC5C;EAEA,MAAMsY,UAAUA,CAAA,EAAqB;IACnC,OAAO,KAAK;EACd;EAEA,MAAMC,KAAKA,CAAA,EAAG;IACZ;EAAA;;EAGF;AACF;AACA;;EA6BE,aAAaC,QAAQA,CACnB,CAACC,YAAY,EAAEC,EAAE,EAAEC,OAAO,EAAEC,GAAG,EAAExZ,QAAQ,EAAEC,YAAY,EAAEwZ,OAAO,EAAEC,UAAU,EAAEvZ,IAAI,EAAEwZ,YAAY,EAAEtZ,YAAY,CAY7G,EACDZ,MAAmB,EACnB,CACEC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdga,sBAAsB,EACtBC,mBAAmB,EACnB9Z,sBAAsB,CAQvB,EACDT,OAAgB,EAChB;IACA,MAAMwa,SAAc,GAAGxa,OAAO,CAACG,MAAM,CAACoH,GAAG,CAAC,qBAAqB,CAAC;IAChE,MAAMtH,WAAW,GAAG,MAAM,IAAAwa,+BAAgB,EAACD,SAAS,EAAEE,GAAG,CAAC;IAC1D,IAAI,CAACza,WAAW,EAAE;MAChB,OAAOsG,SAAS;IAClB;IAEA,MAAM3F,MAAM,GAAGwZ,UAAU,CAACO,YAAY,CAACC,qBAAW,CAAC7X,EAAE,CAAC;IACtD,MAAMyM,KAAK,GAAG,IAAI1P,SAAS,CACzBE,OAAO,EACPC,WAAW,EACX8Z,YAAY,EACZ5Z,MAAM,EACNC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdga,sBAAsB,EACtBC,mBAAmB,EACnB9Z,sBAAsB,EACtBC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,IAAI,EACJwZ,YAAY,EACZtZ,YACF,CAAC;IACDmZ,GAAG,CAACW,eAAe,CAAC,MAAOC,YAAqB,IAAK;MACnD,IAAIA,YAAY,EAAE;MAClB,MAAMtL,KAAK,CAAC/L,WAAW,CAAC9C,YAAY,CAACoa,gCAAgC,CAAC,CAAC,EAAExU,SAAS,EAAE,2BAA2B,CAAC;IAClH,CAAC,CAAC;IACF2T,GAAG,CAACrS,QAAQ,CAAC,KAAImT,oBAAQ,EAAC,CAAC,CAAC;IAE5B,MAAMC,SAAS,GAAG,MAAAA,CAAOvX,GAAa,EAAEmF,KAAa,EAAEE,QAAmB,KAAoB;MAC5FnI,MAAM,CAACoG,KAAK,CAAE,wBAAuBtD,GAAG,CAAC/E,MAAO,cAAa,CAAC;MAC9D6Q,KAAK,CAACxO,eAAe,CAAC+F,UAAU,CAAC,CAAC;MAClC,MAAM5C,YAAY,GAAG,MAAMqL,KAAK,CAAC+E,2BAA2B,CAAC7Q,GAAG,CAAC;MACjE,MAAM0F,GAAG,GAAGhJ,WAAW,CAACiJ,MAAM,CAAC,CAAC;MAChC,MAAM9O,IAAI,GAAG;QACXmJ,GAAG,EAAES,YAAY;QACjB0E;MACF,CAAC;MACD,MAAMS,QAAQ,GAAG;QAAEC,IAAI,EAAER;MAAS,CAAC;MACnC,MAAMzF,OAAO,CAACC,GAAG,CAAC6F,GAAG,CAACzG,GAAG,CAAC,MAAO+G,EAAE,IAAKA,EAAE,CAACnP,IAAI,EAAE+O,QAAQ,CAAC,CAAC,CAAC;MAC5D1I,MAAM,CAACoG,KAAK,CAAE,0BAAyBtD,GAAG,CAAC/E,MAAO,cAAa,CAAC;IAClE,CAAC;IAED,MAAMuc,WAAW,GAAGA,CAAA,KAA4B;MAC9C,MAAMC,KAAK,GAAGC,YAAI,CAACC,QAAQ,CAAC,CAAC;MAC7B,OAAOF,KAAK,GAAG;QAAE/L,IAAI,EAAEkM,yBAAiB;QAAEC,WAAW,EAAEJ;MAAM,CAAC,GAAG5U,SAAS;IAC5E,CAAC;IAED,MAAMiV,gBAAgB,GAAG,MAAAA,CAAO9X,GAAkB,EAAEmF,KAAa,KAAoB;MACnFjI,MAAM,CAACoG,KAAK,CAAE,+BAA8BtD,GAAG,CAAC/E,MAAO,cAAa,CAAC;MACrE,MAAMyK,GAAG,GAAG9I,cAAc,CAAC+I,MAAM,CAAC,CAAC;MACnC,MAAM9O,IAAI,GAAG;QACXmJ,GAAG;QACHmF;MACF,CAAC;MACD,MAAMS,QAAQ,GAAG;QAAEC,IAAI,EAAE2R,WAAW,CAAC;MAAE,CAAC;MACxC,MAAM5X,OAAO,CAACC,GAAG,CAAC6F,GAAG,CAACzG,GAAG,CAAC,MAAO+G,EAAE,IAAKA,EAAE,CAACnP,IAAI,EAAE+O,QAAQ,CAAC,CAAC,CAAC;MAC5D1I,MAAM,CAACoG,KAAK,CAAE,iCAAgCtD,GAAG,CAAC/E,MAAO,cAAa,CAAC;IACzE,CAAC;IAED,MAAM8c,wBAAwB,GAAG,MAAAA,CAAA,KAA2B;MAC1D7a,MAAM,CAACoG,KAAK,CAAE,mCAAkC,CAAC;MACjD,MAAMoC,GAAG,GAAGkR,sBAAsB,CAACjR,MAAM,CAAC,CAAC;MAC3C,MAAMC,QAAQ,GAAG;QAAEC,IAAI,EAAE2R,WAAW,CAAC;MAAE,CAAC;MACxC,MAAM5X,OAAO,CAACC,GAAG,CAAC6F,GAAG,CAACzG,GAAG,CAAC,MAAO+G,EAAE,IAAKA,EAAE,CAACnD,SAAS,EAAE+C,QAAQ,CAAC,CAAC,CAAC;MACjE1I,MAAM,CAACoG,KAAK,CAAE,qCAAoC,CAAC;IACrD,CAAC;IAED0U,wBAAa,CAACT,SAAS,GAAGA,SAAS;IACnCU,mBAAQ,CAACV,SAAS,GAAGA,SAAS;IAC9BW,cAAK,CAACC,YAAY,GAAGL,gBAAgB;IACrCM,qBAAU,CAACC,oBAAoB,GAAGN,wBAAwB;IAC1DO,yBAAe,CAACC,eAAe,CAAC1d,IAAI,CAAC,KAAI2d,oCAAgB,EAAC1M,KAAK,CAAC,CAAC;IAEjE2K,OAAO,CAACtS,QAAQ,CAAC,CACf,KAAIsU,kBAAQ,EAAC3M,KAAK,EAAEpP,WAAW,CAAC,EAChC,KAAIgc,oBAAU,EAAC5M,KAAK,EAAE5O,MAAM,CAAC,EAC7B,KAAIyb,qBAAW,EAAC7M,KAAK,CAAC,EACtB,KAAI8M,qBAAW,EAAC9M,KAAK,CAAC,CACvB,CAAC;IACF;IACAwK,EAAE,CAACuC,cAAc,CAAC,KAAIC,qBAAW,EAAChN,KAAK,CAAC,CAAC;IACzCyK,OAAO,CAACpS,QAAQ,CAAC,IAAA4U,qBAAW,EAACjN,KAAK,CAAC,CAAC;IACpCuK,YAAY,CAAC2C,YAAY,CAAClN,KAAK,CAAC;IAEhC,OAAOA,KAAK;EACd;AACF;AAACmN,OAAA,CAAA7c,SAAA,GAAAA,SAAA;AAAAjB,eAAA,CAvpCYiB,SAAS,WAkgCL,CACb8c,eAAI,CAACC,QAAQ,CAAY,CAAC,EAC1BD,eAAI,CAACC,QAAQ,CAAe,CAAC,EAC7BD,eAAI,CAACC,QAAQ,CAAe,CAAC,EAC7BD,eAAI,CAACC,QAAQ,CAAuB,CAAC,EACrCD,eAAI,CAACC,QAAQ,CAAoB,CAAC,EAClCD,eAAI,CAACC,QAAQ,CAAqB,CAAC,CACpC;AAAAhe,eAAA,CAzgCUiB,SAAS,aA0gCHgd,kBAAW;AAAAje,eAAA,CA1gCjBiB,SAAS,kBA4gCE,CACpBid,4BAAe,EACfC,cAAQ,EACRC,wBAAa,EACbC,gBAAS,EACTC,0BAAc,EACdC,kCAAkB,EAClBC,wBAAa,EACbC,sBAAY,EACZ/X,eAAU,EACVC,8CAAwB,EACxB+X,uBAAkB,CACnB;AAAA1e,eAAA,CAxhCUiB,SAAS,mBA0hCgB;EAClC0d,WAAW,EAAE;AACf,CAAC;AA6HH5C,qBAAW,CAAC6C,UAAU,CAAC3d,SAAS,CAAC"}
1
+ {"version":3,"names":["_globalConfig","data","require","_action","_pMapSeries","_interopRequireDefault","_path","_graph","_semver","_multimatch","_builder","_aspectLoader","_cli","_component","_graphql","_harmony","_isolator","_logger","_express","_ui","_componentId","_objects","_scopeLoader","_getDivergeData","_actions","_dependencyResolver","_scopeRemotes","_workspaceModules","_scope","_chokidar","_objectList","_http","_scope2","_bitError","_exportScopeComponents","_constants","_legacyBitId","_config","_envs","_lodash","_exceptions","_scope3","_scope4","_scope5","_routes","_scopeComponentLoader","_scopeCmd","_stagedConfig","_noIdMatchPattern","_scopeAspectsLoader","_clearCacheAction","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","ScopeMain","constructor","harmony","legacyScope","componentExtension","config","postPutSlot","postDeleteSlot","postExportSlot","postObjectsPersist","preFetchObjects","OnCompAspectReCalcSlot","isolator","aspectLoader","logger","envs","dependencyResolver","globalConfig","componentLoader","ScopeComponentLoader","name","icon","backgroundIconColor","description","path","isLegacy","isGlobalScope","GLOBAL_SCOPE","aspectsPackageManager","aspectsNodeLinker","reloadAspectsWithNewVersion","components","host","getHost","getUserAspectsIdsWithoutRootIds","allUserAspectIds","getUserAspects","rootIds","toObject","diffIds","difference","getAspectsByPreviouslyUsedVersion","harmonyIds","aspectsIds","aspectsP","map","component","newId","resolveComponentId","id","previouslyUsedVersion","version","newIdWithPreviouslyUsedVersion","changeVersion","includes","toString","Promise","all","idsToLoad","loadAspects","ids","throwOnError","neededFor","lane","opts","scopeAspectsLoader","getScopeAspectsLoader","resolveAspects","runtimeName","componentIds","getResolvedAspects","executeOnCompAspectReCalcSlot","envsData","calcDescriptor","skipWarnings","policy","mergeVariantPolicies","extensions","state","_consumer","files","dependenciesList","extractDepsFromLegacy","depResolverData","packageName","calcPackageName","dependencies","serialize","upsertExtensionData","EnvsAspect","DependencyResolverAspect","aspectListWithEnvsAndDeps","createAspectListFromExtensionDataList","aspects","entries","toArray","mapSeries","extension","onLoad","upsertEntry","existingExtension","findExtension","assign","getDataEntry","ExtensionDataEntry","undefined","getIsolateAspectsOpts","getIsolateOpts","getAspectCapsulePath","shouldUseHashForCapsules","getManyByLegacy","getFromConsumerComponent","ScopeAspectsLoader","clearCache","debug","objects","builderDataMapToLegacyOnTagResults","builderDataComponentMap","builderDataToLegacyExtension","builderData","existingBuilder","get","BuilderAspect","legacy","builderExtension","onPostPut","postPutFn","register","onPostDelete","postDeleteFn","registerOnPostExport","postExportFn","registerOnPreFetchObjects","preFetchObjectsFn","registerOnCompAspectReCalc","compAspectReCalcSlotFn","registerOnPostObjectsPersist","postObjectsPersistFn","fetch","persist","options","delete","force","lanes","headers","authData","getAuthDataFromHeader","authorization","result","remove","fns","values","metadata","auth","ComponentID","fromString","fn","err","error","isExported","watchScopeInternalFiles","scopeIndexFile","scopeIndex","getPath","remoteLanesDir","remoteLanes","basePath","pathsToWatch","watcher","chokidar","watch","on","join","filePath","reLoadScopeIndex","startsWith","removeFromCacheByFilePath","toObjectList","types","list","ObjectList","fromBitObjects","toJs","str","endsWith","replace","getGraph","comp","getMany","allFlattened","getAllFlattenedDependencies","flat","allFlattenedUniq","ComponentIdList","uniqFromArray","scopeImporter","importWithoutDeps","cache","reason","allComponents","graph","Graph","setNode","Node","deps","getComponentDependencies","dep","depCompId","componentId","hasNode","Error","setEdge","Edge","lifecycle","getGraphIds","componentsWithoutSavedGraph","compGraph","getSavedGraphOfComponentIfExist","merge","getCurrentLaneObject","import","c","reFetchUnBuiltVersion","concat","addEdges","compId","label","depId","componentsAndVersions","getComponentsAndVersions","versionStr","toComponentId","devDependencies","extensionDependencies","getFlattenedEdges","versionObj","getVersionInstance","flattenedEdges","consumerComponent","flattenedDependencies","edges","edge","source","target","nodes","node","type","useCache","preferDependencyGraph","withoutOwnScopeAndLocals","scope","_legacy","hasScope","importMany","fromArray","throwForDependencyNotFound","importIfMissing","getRemoteComponent","getManyRemoteComponents","includeCache","includeFromLanes","includeDeleted","patternsWithScope","namespaces","pattern","componentsIds","listIds","comps","limit","slice","offset","isDeleted","listInvalid","patterns","allModelComponents","filterByCacheAndLanes","modelComponent","cacheFilter","exists","lanesFilter","hasHead","modelComponentsToList","fromLegacy","toBitIdWithLatestVersion","some","isMatchNamespacePatternItem","toStringWithoutVersion","match","hasId","includeVersion","hasIdNested","throwIfNotExist","idsWithoutEmpty","compact","componentsP","getOrThrow","loadMany","loadApps","loadEnvs","load","loadManyCompsAspects","loadedComponents","loadCompAspects","ComponentNotFound","getState","hash","getSnap","getModelComponent","ref","getRef","getLogs","shortHash","startsFrom","loadComponentLogs","getStagedConfig","currentLaneId","getCurrentLaneId","StagedConfig","isComponentRemoved","loadVersion","isRemoved","BitId","resolveComponentIdFromBitId","idStr","loadModelComponentByIdStr","getIdToCheck","IdToCheck","legacyId","getParsedId","resolveMultipleComponentIds","byPattern","idsByPattern","throwForNoMatch","BitError","filterIdsFromPoolIdsByPattern","filterByStateFunc","split","p","trim","every","unshift","idsToCheck","statePatterns","nonStatePatterns","partition","idsFiltered","multimatch","idsStateFiltered","statePattern","statePatternSplit","stateF","nonStateF","filteredByNonState","idsStateFilteredFlat","combineFilteredIds","allIds","allIdsFiltered","NoIdMatchPattern","getSnapDistance","throws","modelComp","setDivergeData","getDivergeData","getSnapsDistanceBetweenTwoSnaps","sourceHead","targetHead","repo","Ref","from","head","getExactVersionBySemverRange","range","versions","listVersions","semver","maxSatisfying","includePrerelease","resumeExport","exportId","remotes","resolveId","_legacyRemotes","getScopeRemotes","listRemoteScope","scopeName","remote","resolve","results","getLegacyMinimal","getConsumerComponent","getBitObjectModelComponent","getModelComponentIfExist","getBitObjectVersion","getBitObjectVersionById","aspectIds","appData","appName","services","self","loadComponentsAspect","addAspectsFromConfigObject","configObject","extensionsFromConfigObject","ExtensionDataList","fromConfigObject","extensionDataList","mergeConfigs","filterRemovedExtensions","entry","extensionDataEntryToAspectEntry","createAspectListFromEntries","dataEntry","AspectEntry","getLastMergedPath","isModified","write","provider","componentExt","ui","graphql","cli","express","loggerMain","depsResolver","postObjectsPersistSlot","preFetchObjectsSlot","bitConfig","loadScopeIfExist","cwd","createLogger","ScopeAspect","registerOnStart","hasWorkspace","getNotLoadedConfiguredExtensions","ScopeCmd","onPutHook","getAuthData","token","Http","getToken","DEFAULT_AUTH_TYPE","credentials","onPostExportHook","onPostObjectsPersistHook","ExportPersist","PostSign","Scope","onPostExport","Repository","onPostObjectsPersist","ExternalActions","externalActions","ClearCacheAction","PutRoute","FetchRoute","ActionRoute","DeleteRoute","registerUiRoot","ScopeUIRoot","scopeSchema","registerHost","exports","Slot","withType","MainRuntime","ComponentAspect","UIAspect","GraphqlAspect","CLIAspect","IsolatorAspect","AspectLoaderAspect","ExpressAspect","LoggerAspect","GlobalConfigAspect","httpTimeOut","addRuntime"],"sources":["scope.main.runtime.ts"],"sourcesContent":["import { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport { ExternalActions } from '@teambit/legacy/dist/api/scope/lib/action';\nimport mapSeries from 'p-map-series';\nimport path from 'path';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport semver from 'semver';\nimport multimatch from 'multimatch';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { RawBuilderData, BuilderAspect } from '@teambit/builder';\nimport { AspectLoaderAspect, AspectDefinition } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport type { AspectData, ComponentMain, ComponentMap, ResolveAspectsOptions } from '@teambit/component';\nimport { Component, ComponentAspect, ComponentFactory, Snap, State, AspectEntry } from '@teambit/component';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { Harmony, Slot, SlotRegistry } from '@teambit/harmony';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport type { UiMain } from '@teambit/ui';\nimport { UIAspect } from '@teambit/ui';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport { ModelComponent, Lane, Version } from '@teambit/legacy/dist/scope/models';\nimport { Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport LegacyScope, { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { LegacyComponentLog as ComponentLog } from '@teambit/legacy-component-log';\nimport { loadScopeIfExist } from '@teambit/legacy/dist/scope/scope-loader';\nimport { getDivergeData } from '@teambit/legacy/dist/scope/component-ops/get-diverge-data';\nimport { PersistOptions } from '@teambit/legacy/dist/scope/types';\nimport { ExportPersist, PostSign } from '@teambit/legacy/dist/scope/actions';\nimport { DependencyResolverAspect, DependencyResolverMain, NodeLinker } from '@teambit/dependency-resolver';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { Remotes } from '@teambit/legacy/dist/remotes';\nimport { isMatchNamespacePatternItem } from '@teambit/workspace.modules.match-pattern';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { CompIdGraph, DepEdgeType } from '@teambit/graph';\nimport chokidar from '@teambit/chokidar';\nimport { Types } from '@teambit/legacy/dist/scope/object-registrar';\nimport { FETCH_OPTIONS } from '@teambit/legacy/dist/api/scope/lib/fetch';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { SnapsDistance } from '@teambit/legacy/dist/scope/component-ops/snaps-distance';\nimport { Http, DEFAULT_AUTH_TYPE, AuthData, getAuthDataFromHeader } from '@teambit/legacy/dist/scope/network/http/http';\nimport { remove } from '@teambit/legacy/dist/api/scope';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { resumeExport } from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { GLOBAL_SCOPE } from '@teambit/legacy/dist/constants';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { compact, slice, difference, partition } from 'lodash';\nimport { DepEdge } from '@teambit/legacy/dist/scope/models/version';\nimport { ComponentNotFound } from './exceptions';\nimport { ScopeAspect } from './scope.aspect';\nimport { scopeSchema } from './scope.graphql';\nimport { ScopeUIRoot } from './scope.ui-root';\nimport { PutRoute, FetchRoute, ActionRoute, DeleteRoute } from './routes';\nimport { ScopeComponentLoader } from './scope-component-loader';\nimport { ScopeCmd } from './scope-cmd';\nimport { StagedConfig } from './staged-config';\nimport { NoIdMatchPattern } from './exceptions/no-id-match-pattern';\nimport { ScopeAspectsLoader, ScopeLoadAspectsOptions } from './scope-aspects-loader';\nimport { ClearCacheAction } from './clear-cache-action';\n\ntype RemoteEventMetadata = { auth?: AuthData; headers?: {} };\ntype RemoteEvent<Data> = (data: Data, metadata: RemoteEventMetadata, errors?: Array<string | Error>) => Promise<void>;\ntype OnPostPutData = { ids: ComponentID[]; lanes: Lane[] };\ntype OnPostDeleteData = { ids: ComponentID[] };\ntype OnPreFetchObjectData = { ids: string[]; fetchOptions: FETCH_OPTIONS };\n\ntype OnPostPut = RemoteEvent<OnPostPutData>;\ntype OnPostExport = RemoteEvent<OnPostPutData>;\ntype OnPostDelete = RemoteEvent<OnPostDeleteData>;\ntype OnPostObjectsPersist = RemoteEvent<undefined>;\ntype OnPreFetchObjects = RemoteEvent<OnPreFetchObjectData>;\ntype OnCompAspectReCalc = (component: Component) => Promise<AspectData | undefined>;\n\nexport type OnPostPutSlot = SlotRegistry<OnPostPut>;\nexport type OnPostDeleteSlot = SlotRegistry<OnPostDelete>;\nexport type OnPostExportSlot = SlotRegistry<OnPostExport>;\nexport type OnPostObjectsPersistSlot = SlotRegistry<OnPostObjectsPersist>;\nexport type OnPreFetchObjectsSlot = SlotRegistry<OnPreFetchObjects>;\nexport type OnCompAspectReCalcSlot = SlotRegistry<OnCompAspectReCalc>;\nexport type LoadOptions = {\n /**\n * In case the component we are loading is app, whether to load it as app (in a scope aspects capsule)\n */\n loadApps?: boolean;\n /**\n * In case the component we are loading is env, whether to load it as env (in a scope aspects capsule)\n */\n loadEnvs?: boolean;\n};\n\nexport type ScopeConfig = {\n httpTimeOut: number;\n description?: string;\n icon?: string;\n backgroundIconColor?: string;\n /**\n * Set a different package manager for the aspects capsules\n */\n aspectsPackageManager?: string;\n /**\n * Set a different node linker for the aspects capsules\n */\n aspectsNodeLinker?: NodeLinker;\n};\n\nexport class ScopeMain implements ComponentFactory {\n componentLoader: ScopeComponentLoader;\n constructor(\n /**\n * private reference to the instance of Harmony.\n */\n private harmony: Harmony,\n /**\n * legacy scope\n */\n readonly legacyScope: LegacyScope,\n\n /**\n * component extension.\n */\n readonly componentExtension: ComponentMain,\n\n /**\n * slot registry for subscribing to build\n */\n\n readonly config: ScopeConfig,\n\n private postPutSlot: OnPostPutSlot,\n\n private postDeleteSlot: OnPostDeleteSlot,\n\n private postExportSlot: OnPostExportSlot,\n\n private postObjectsPersist: OnPostObjectsPersistSlot,\n\n public preFetchObjects: OnPreFetchObjectsSlot,\n\n private OnCompAspectReCalcSlot: OnCompAspectReCalcSlot,\n\n private isolator: IsolatorMain,\n\n private aspectLoader: AspectLoaderMain,\n\n private logger: Logger,\n\n private envs: EnvsMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private globalConfig: GlobalConfigMain\n ) {\n this.componentLoader = new ScopeComponentLoader(this, this.logger);\n }\n\n priority?: boolean | undefined;\n\n localAspects: string[] = [];\n\n /**\n * name of the scope\n */\n get name(): string {\n return this.legacyScope.name;\n }\n\n get icon(): string | undefined {\n return this.config.icon;\n }\n\n get backgroundIconColor(): string | undefined {\n return this.config.backgroundIconColor;\n }\n\n get description(): string | undefined {\n return this.config.description;\n }\n\n get path(): string {\n return this.legacyScope.path;\n }\n\n get isLegacy(): boolean {\n return this.legacyScope.isLegacy;\n }\n\n get isGlobalScope(): boolean {\n return this.path === GLOBAL_SCOPE;\n }\n\n get aspectsPackageManager(): string | undefined {\n return this.config.aspectsPackageManager;\n }\n\n get aspectsNodeLinker(): NodeLinker | undefined {\n return this.config.aspectsNodeLinker;\n }\n\n // We need to reload the aspects with their new version since:\n // during get many by legacy, we go load component which in turn go to getEnv\n // get env validates that the env written on the component is really exist by checking the envs slot registry\n // when we load here, it's env version in the aspect list already has the new version in case the env itself is being tagged\n // so we are search for the env in the registry with the new version number\n // but since the env only registered during the on load of the bit process (before the tag) it's version in the registry is only the old one\n // once we reload them we will have it registered with the new version as well\n async reloadAspectsWithNewVersion(components: ConsumerComponent[]): Promise<void> {\n const host = this.componentExtension.getHost();\n\n // Return only aspects that defined on components but not in the root config file (workspace.jsonc/scope.jsonc)\n const getUserAspectsIdsWithoutRootIds = (): string[] => {\n const allUserAspectIds = this.aspectLoader.getUserAspects();\n const rootIds = Object.keys(this.harmony.config.toObject());\n const diffIds = difference(allUserAspectIds, rootIds);\n return diffIds;\n };\n\n // Based on the list of components to be tagged return those who are loaded to harmony with their used version\n const getAspectsByPreviouslyUsedVersion = async (): Promise<string[]> => {\n const harmonyIds = getUserAspectsIdsWithoutRootIds();\n const aspectsIds: string[] = [];\n const aspectsP = components.map(async (component) => {\n const newId = await host.resolveComponentId(component.id);\n if (\n component.previouslyUsedVersion &&\n component.version &&\n component.previouslyUsedVersion !== component.version\n ) {\n const newIdWithPreviouslyUsedVersion = newId.changeVersion(component.previouslyUsedVersion);\n if (harmonyIds.includes(newIdWithPreviouslyUsedVersion.toString())) {\n aspectsIds.push(newId.toString());\n }\n }\n });\n await Promise.all(aspectsP);\n return aspectsIds;\n };\n\n const idsToLoad = await getAspectsByPreviouslyUsedVersion();\n await host.loadAspects(idsToLoad, false, 'scope.reloadAspectsWithNewVersion');\n }\n\n loadAspects(\n ids: string[],\n throwOnError?: boolean | undefined,\n neededFor?: string | undefined,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.loadAspects(ids, throwOnError, neededFor, lane, opts);\n }\n resolveAspects(\n runtimeName?: string | undefined,\n componentIds?: ComponentID[] | undefined,\n opts?: ResolveAspectsOptions | undefined\n ): Promise<AspectDefinition[]> {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.resolveAspects(runtimeName, componentIds, opts);\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.getResolvedAspects(components, opts);\n }\n\n async executeOnCompAspectReCalcSlot(component: Component) {\n const envsData = await this.envs.calcDescriptor(component, { skipWarnings: false });\n const policy = await this.dependencyResolver.mergeVariantPolicies(\n component.config.extensions,\n component.id,\n component.state._consumer.files\n );\n const dependenciesList = await this.dependencyResolver.extractDepsFromLegacy(component, policy);\n\n const depResolverData = {\n packageName: this.dependencyResolver.calcPackageName(component),\n dependencies: dependenciesList.serialize(),\n policy: policy.serialize(),\n };\n // Make sure we are adding the envs / deps data first because other on load events might depend on it\n await Promise.all([\n this.upsertExtensionData(component, EnvsAspect.id, envsData),\n this.upsertExtensionData(component, DependencyResolverAspect.id, depResolverData),\n ]);\n\n // We are updating the component state with the envs and deps data here, so in case we have other slots that depend on this data\n // they will be able to get it, as it's very common use case that during on load someone want to access to the component env for example\n const aspectListWithEnvsAndDeps = await this.createAspectListFromExtensionDataList(\n component.state._consumer.extensions\n );\n component.state.aspects = aspectListWithEnvsAndDeps;\n\n const entries = this.OnCompAspectReCalcSlot.toArray();\n await mapSeries(entries, async ([extension, onLoad]) => {\n const data = await onLoad(component);\n await this.upsertExtensionData(component, extension, data);\n // Update the aspect list to have changes happened during the on load slot (new data added above)\n component.state.aspects.upsertEntry(await this.resolveComponentId(extension), data);\n });\n\n return component;\n }\n\n private async upsertExtensionData(component: Component, extension: string, data: any) {\n if (!data) return;\n const existingExtension = component.state._consumer.extensions.findExtension(extension);\n if (existingExtension) {\n // Only merge top level of extension data\n Object.assign(existingExtension.data, data);\n return;\n }\n component.state._consumer.extensions.push(await this.getDataEntry(extension, data));\n }\n\n private async getDataEntry(extension: string, data: { [key: string]: any }): Promise<ExtensionDataEntry> {\n // TODO: @gilad we need to refactor the extension data entry api.\n return new ExtensionDataEntry(undefined, undefined, extension, undefined, data);\n }\n\n getIsolateAspectsOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.getIsolateOpts(opts);\n }\n\n getAspectCapsulePath() {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.getAspectCapsulePath();\n }\n\n shouldUseHashForCapsules() {\n const scopeAspectsLoader = this.getScopeAspectsLoader();\n return scopeAspectsLoader.shouldUseHashForCapsules();\n }\n\n getManyByLegacy(components: ConsumerComponent[]): Promise<Component[]> {\n return mapSeries(components, async (component) => this.getFromConsumerComponent(component));\n }\n\n getScopeAspectsLoader(): ScopeAspectsLoader {\n const scopeAspectsLoader = new ScopeAspectsLoader(\n this,\n this.aspectLoader,\n this.envs,\n this.isolator,\n this.logger,\n this.globalConfig\n );\n return scopeAspectsLoader;\n }\n\n async clearCache() {\n this.logger.debug('clearing the components and the legacy cache');\n this.componentLoader.clearCache();\n await this.legacyScope.objects.clearCache();\n }\n\n builderDataMapToLegacyOnTagResults(builderDataComponentMap: ComponentMap<RawBuilderData>): LegacyOnTagResult[] {\n const builderDataToLegacyExtension = (component: Component, builderData: RawBuilderData) => {\n const existingBuilder = component.state.aspects.get(BuilderAspect.id)?.legacy;\n const builderExtension = existingBuilder || new ExtensionDataEntry(undefined, undefined, BuilderAspect.id);\n builderExtension.data = builderData;\n return builderExtension;\n };\n return builderDataComponentMap.toArray().map(([component, builderData]) => ({\n id: component.id,\n builderData: builderDataToLegacyExtension(component, builderData),\n }));\n }\n\n /**\n * register to the post-export slot.\n */\n onPostPut(postPutFn: OnPostPut) {\n this.postPutSlot.register(postPutFn);\n return this;\n }\n\n /**\n * register to the post-delete slot.\n */\n onPostDelete(postDeleteFn: OnPostDelete) {\n this.postDeleteSlot.register(postDeleteFn);\n return this;\n }\n\n /**\n * register to the post-export slot.\n */\n registerOnPostExport(postExportFn: OnPostExport) {\n this.postExportSlot.register(postExportFn);\n return this;\n }\n\n registerOnPreFetchObjects(preFetchObjectsFn: OnPreFetchObjects) {\n this.preFetchObjects.register(preFetchObjectsFn);\n return this;\n }\n\n registerOnCompAspectReCalc(compAspectReCalcSlotFn: OnCompAspectReCalc) {\n this.OnCompAspectReCalcSlot.register(compAspectReCalcSlotFn);\n }\n\n registerOnPostObjectsPersist(postObjectsPersistFn: OnPostObjectsPersist) {\n this.postObjectsPersist.register(postObjectsPersistFn);\n return this;\n }\n\n /**\n * Will fetch a list of components into the current scope.\n * This will only fetch the object and won't write the files to the actual FS\n */\n fetch(ids: ComponentIdList) {} // eslint-disable-line @typescript-eslint/no-unused-vars\n\n /**\n * This function will get a component and sealed it's current state into the scope\n *\n * @param {Component[]} components A list of components to seal with specific persist options (such as message and version number)\n * @param {PersistOptions} persistGeneralOptions General persistence options such as verbose\n */\n persist(components: Component[], options: PersistOptions) {} // eslint-disable-line @typescript-eslint/no-unused-vars\n\n async delete(\n { ids, force, lanes }: { ids: string[]; force: boolean; lanes: boolean },\n headers?: Record<string, any>\n ) {\n const authData = getAuthDataFromHeader(headers?.authorization);\n const result = await remove({\n path: this.path,\n ids,\n force,\n lanes,\n });\n\n const fns = this.postDeleteSlot.values();\n const metadata = { auth: authData, headers };\n const componentIds = lanes ? [] : ids.map((id) => ComponentID.fromString(id));\n await mapSeries(fns, async (fn) => {\n try {\n await fn({ ids: componentIds }, metadata);\n } catch (err: any) {\n this.logger.error('failed to run delete slot', err);\n }\n });\n return result;\n }\n\n isExported(id: ComponentID): boolean {\n return this.legacyScope.isExported(id);\n }\n\n /**\n * for long-running processes, such as `bit start` or `bit watch`, it's important to keep the following data up to date:\n * 1. scope-index (.bit/index.json file).\n * 2. remote-refs (.bit/refs/*).\n * it's possible that other commands (e.g. `bit import`) modified these files, while these processes are running.\n * Because these data are kept in memory, they're not up to date anymore.\n */\n async watchScopeInternalFiles() {\n const scopeIndexFile = this.legacyScope.objects.scopeIndex.getPath();\n const remoteLanesDir = this.legacyScope.objects.remoteLanes.basePath;\n const pathsToWatch = [scopeIndexFile, remoteLanesDir];\n const watcher = chokidar.watch(pathsToWatch);\n watcher.on('ready', () => {\n this.logger.debug(`watchSystemFiles has started, watching ${pathsToWatch.join(', ')}`);\n });\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n watcher.on('change', async (filePath) => {\n if (filePath === scopeIndexFile) {\n this.logger.debug('scope index file has been changed, reloading it');\n await this.legacyScope.objects.reLoadScopeIndex();\n } else if (filePath.startsWith(remoteLanesDir)) {\n this.legacyScope.objects.remoteLanes.removeFromCacheByFilePath(filePath);\n } else {\n this.logger.error(\n 'unknown file has been changed, please check why it is watched by scope.watchSystemFiles',\n filePath\n );\n }\n });\n }\n\n async toObjectList(types: Types): Promise<ObjectList> {\n const objects = await this.legacyScope.objects.list(types);\n return ObjectList.fromBitObjects(objects);\n }\n\n // TODO: temporary compiler workaround - discuss this with david.\n private toJs(str: string) {\n if (str.endsWith('.ts')) return str.replace('.ts', '.js');\n return str;\n }\n\n async getGraph(ids?: ComponentID[]): Promise<Graph<Component, string>> {\n if (!ids || !ids.length) ids = (await this.list()).map((comp) => comp.id) || [];\n const components = await this.getMany(ids);\n const allFlattened = components.map((component) => component.state._consumer.getAllFlattenedDependencies()).flat();\n const allFlattenedUniq = ComponentIdList.uniqFromArray(allFlattened);\n await this.legacyScope.scopeImporter.importWithoutDeps(allFlattenedUniq, {\n cache: true,\n reason: `which are unique flattened dependencies to get the graph of ${ids.length} ids`,\n });\n const dependencies = await this.getMany(allFlattenedUniq);\n const allComponents: Component[] = [...components, ...dependencies];\n\n // build the graph\n const graph = new Graph<Component, string>();\n allComponents.forEach((comp) => graph.setNode(new Node(comp.id.toString(), comp)));\n await Promise.all(\n allComponents.map(async (comp) => {\n const deps = await this.dependencyResolver.getComponentDependencies(comp);\n deps.forEach((dep) => {\n const depCompId = dep.componentId;\n if (!graph.hasNode(depCompId.toString())) {\n throw new Error(`scope.getGraph: missing node of ${depCompId.toString()}`);\n }\n graph.setEdge(new Edge(comp.id.toString(), depCompId.toString(), dep.lifecycle));\n });\n })\n );\n return graph;\n }\n\n async getGraphIds(ids?: ComponentID[]): Promise<CompIdGraph> {\n if (!ids || !ids.length) ids = (await this.list()).map((comp) => comp.id) || [];\n const components = await this.getMany(ids);\n const graph = new Graph<ComponentID, DepEdgeType>();\n const componentsWithoutSavedGraph: Component[] = [];\n\n // try to add from saved graph\n await Promise.all(\n components.map(async (component) => {\n const compGraph = await this.getSavedGraphOfComponentIfExist(component);\n if (!compGraph) {\n componentsWithoutSavedGraph.push(component);\n return;\n }\n graph.merge([compGraph]);\n })\n );\n if (!componentsWithoutSavedGraph.length) {\n return graph;\n }\n\n // there are components that don't have the graph saved, create the graph by using Version objects of all flattened\n const lane = (await this.legacyScope.getCurrentLaneObject()) || undefined;\n await this.import(\n componentsWithoutSavedGraph.map((c) => c.id),\n { reFetchUnBuiltVersion: false, lane, reason: `to build graph-ids from the scope` }\n );\n\n const allFlattened: ComponentID[] = componentsWithoutSavedGraph\n .map((component) => component.state._consumer.getAllFlattenedDependencies())\n .flat();\n const allFlattenedUniq = ComponentIdList.uniqFromArray(allFlattened.concat(ids));\n\n const addEdges = (compId: ComponentID, dependencies: ConsumerComponent['dependencies'], label: DepEdgeType) => {\n dependencies.get().forEach((dep) => {\n const depId = dep.id;\n graph.setNode(new Node(depId.toString(), depId));\n graph.setEdge(new Edge(compId.toString(), depId.toString(), label));\n });\n };\n const componentsAndVersions = await this.legacyScope.getComponentsAndVersions(allFlattenedUniq);\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toComponentId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n\n return graph;\n }\n\n async getFlattenedEdges(id: ComponentID): Promise<DepEdge[] | undefined> {\n let versionObj: Version;\n try {\n versionObj = await this.legacyScope.getVersionInstance(id);\n } catch (err) {\n return undefined;\n }\n\n const flattenedEdges = await versionObj.getFlattenedEdges(this.legacyScope.objects);\n return flattenedEdges;\n }\n\n private async getSavedGraphOfComponentIfExist(component: Component): Promise<Graph<ComponentID, DepEdgeType> | null> {\n const consumerComponent = component.state._consumer as ConsumerComponent;\n const flattenedEdges = await this.getFlattenedEdges(component.id);\n if (!flattenedEdges)\n throw new Error(\n 'getSavedGraphOfComponentIfExist failed to get flattenedEdges, it must not be undefined because the version object exists'\n );\n if (!flattenedEdges.length && consumerComponent.flattenedDependencies.length) {\n // there are flattenedDependencies, so must be edges, if they're empty, it's because the component was tagged\n // with a version < ~0.0.901, so this flattenedEdges wasn't exist.\n return null;\n }\n const edges = flattenedEdges.map((edge) => ({\n ...edge,\n source: edge.source,\n target: edge.target,\n }));\n const nodes = consumerComponent.flattenedDependencies;\n\n const graph = new Graph<ComponentID, DepEdgeType>();\n graph.setNode(new Node(component.id.toString(), component.id));\n nodes.forEach((node) => graph.setNode(new Node(node.toString(), node)));\n edges.forEach((edge) => graph.setEdge(new Edge(edge.source.toString(), edge.target.toString(), edge.type)));\n return graph;\n }\n\n /**\n * import components into the scope.\n */\n async import(\n ids: ComponentID[],\n {\n useCache = true,\n reFetchUnBuiltVersion = true,\n preferDependencyGraph = true,\n lane,\n reason,\n }: {\n /**\n * if the component exists locally, don't go to the server to search for updates.\n */\n useCache?: boolean;\n /**\n * if the Version objects exists locally, but its `buildStatus` is Pending or Failed, reach the remote to find\n * whether the version was already built there.\n */\n reFetchUnBuiltVersion?: boolean;\n /**\n * if the component is on a lane, provide the lane object. the component will be fetched from the lane-scope and\n * not from the component-scope.\n */\n lane?: Lane;\n /**\n * if an external is missing and the remote has it with the dependency graph, don't fetch all its dependencies\n */\n preferDependencyGraph?: boolean;\n /**\n * reason why this import is needed (to show in the terminal)\n */\n reason?: string;\n } = {}\n ): Promise<void> {\n const withoutOwnScopeAndLocals = ids.filter((id) => {\n return id.scope !== this.name && id._legacy.hasScope();\n });\n await this.legacyScope.scopeImporter.importMany({\n ids: ComponentIdList.fromArray(withoutOwnScopeAndLocals),\n cache: useCache,\n throwForDependencyNotFound: false,\n reFetchUnBuiltVersion,\n lane,\n preferDependencyGraph,\n reason,\n });\n }\n\n async get(id: ComponentID, useCache = true, importIfMissing = true): Promise<Component | undefined> {\n return this.componentLoader.get(id, importIfMissing, useCache);\n }\n\n async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n return this.componentLoader.getFromConsumerComponent(consumerComponent);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getRemoteComponent(id: ComponentID): Promise<Component> {\n return this.componentLoader.getRemoteComponent(id);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]> {\n return this.componentLoader.getManyRemoteComponents(ids);\n }\n\n /**\n * list all components in the scope.\n */\n async list(\n filter?: { offset: number; limit: number; namespaces?: string[] },\n includeCache = false,\n includeFromLanes = false,\n includeDeleted = false\n ): Promise<Component[]> {\n const patternsWithScope =\n (filter?.namespaces && filter?.namespaces.map((pattern) => `**/${pattern || '**'}`)) || undefined;\n const componentsIds = await this.listIds(includeCache, includeFromLanes, patternsWithScope);\n\n const comps = await this.getMany(\n filter && filter.limit ? slice(componentsIds, filter.offset, filter.offset + filter.limit) : componentsIds\n );\n\n return includeDeleted ? comps : comps.filter((comp) => !comp.isDeleted());\n }\n\n /**\n * for now, list of invalid components are mostly useful for the workspace.\n * in the future, this can return components that failed to load in the scope due to objects file\n * corruption or similar issues.\n */\n async listInvalid() {\n return [];\n }\n\n /**\n * get ids of all scope components.\n * @param includeCache whether or not include components that their scope-name is different than the current scope-name\n */\n async listIds(includeCache = false, includeFromLanes = false, patterns?: string[]): Promise<ComponentID[]> {\n const allModelComponents = await this.legacyScope.list();\n const filterByCacheAndLanes = (modelComponent: ModelComponent) => {\n const cacheFilter = includeCache ? true : this.exists(modelComponent);\n const lanesFilter = includeFromLanes ? true : modelComponent.hasHead();\n\n return cacheFilter && lanesFilter;\n };\n const modelComponentsToList = allModelComponents.filter(filterByCacheAndLanes);\n let ids = modelComponentsToList.map((component) =>\n ComponentID.fromLegacy(component.toBitIdWithLatestVersion(), component.scope || this.name)\n );\n if (patterns && patterns.length > 0) {\n ids = ids.filter((id) =>\n patterns?.some((pattern) => isMatchNamespacePatternItem(id.toStringWithoutVersion(), pattern).match)\n );\n }\n this.logger.debug(`scope listIds: total ${ids.length} components after filter scope`);\n return ids;\n }\n\n /**\n * Check if a specific id exist in the scope\n * @param componentId\n */\n async hasId(componentId: ComponentID, includeCache = false): Promise<boolean> {\n if (!includeCache && componentId.scope !== this.name) return false;\n const opts = {\n includeVersion: true,\n };\n\n return this.legacyScope.hasId(componentId, opts);\n }\n\n async hasIdNested(componentId: ComponentID, includeCache = false): Promise<boolean> {\n return this.hasId(componentId, includeCache);\n }\n\n /**\n * determine whether a component exists in the scope.\n */\n exists(modelComponent: ModelComponent) {\n return modelComponent.scope === this.name;\n }\n\n async getMany(ids: ComponentID[], throwIfNotExist = false): Promise<Component[]> {\n const idsWithoutEmpty = compact(ids);\n const componentsP = mapSeries(idsWithoutEmpty, async (id: ComponentID) => {\n return throwIfNotExist ? this.getOrThrow(id) : this.get(id);\n });\n const components = await componentsP;\n return compact(components);\n }\n\n /**\n * important! you probably want to use `getMany`, which returns the components from the scope.\n * this method loads all aspects of the loaded components. (which hurts performance)\n */\n async loadMany(\n ids: ComponentID[],\n lane?: Lane,\n opts: LoadOptions = { loadApps: true, loadEnvs: true }\n ): Promise<Component[]> {\n const components = await mapSeries(ids, (id) => this.load(id, lane, opts));\n return compact(components);\n }\n\n async loadManyCompsAspects(components: Component[], lane?: Lane): Promise<Component[]> {\n const loadedComponents = await mapSeries(components, (id) => this.loadCompAspects(id, lane));\n return compact(loadedComponents);\n }\n\n /**\n * get a component and throw an exception if not found.\n * @param id component id\n */\n async getOrThrow(id: ComponentID): Promise<Component> {\n const component = await this.get(id);\n if (!component) throw new ComponentNotFound(id);\n return component;\n }\n\n /**\n * returns a specific state of a component.\n * @param id component ID.\n * @param hash state hash.\n */\n async getState(id: ComponentID, hash: string): Promise<State> {\n return this.componentLoader.getState(id, hash);\n }\n\n async getSnap(id: ComponentID, hash: string): Promise<Snap> {\n const modelComponent = await this.legacyScope.getModelComponent(id);\n const ref = modelComponent.getRef(hash);\n if (!ref) throw new Error(`ref was not found: ${id.toString()} with tag ${hash}`);\n return this.componentLoader.getSnap(id, ref.toString());\n }\n\n /**\n * get component log sorted by the timestamp in ascending order (from the earliest to the latest)\n */\n async getLogs(id: ComponentID, shortHash = false, startsFrom?: string): Promise<ComponentLog[]> {\n return this.legacyScope.loadComponentLogs(id, shortHash, startsFrom);\n }\n\n async getStagedConfig() {\n const currentLaneId = this.legacyScope.getCurrentLaneId();\n return StagedConfig.load(this.path, this.logger, currentLaneId);\n }\n\n /**\n * wether a component is soft-removed.\n * the version is required as it can be removed on a lane. in which case, the version is the head in the lane.\n */\n async isComponentRemoved(id: ComponentID): Promise<Boolean> {\n const version = id.version;\n if (!version) throw new Error(`isComponentRemoved expect to get version, got ${id.toString()}`);\n const modelComponent = await this.legacyScope.getModelComponent(id);\n const versionObj = await modelComponent.loadVersion(version, this.legacyScope.objects);\n return versionObj.isRemoved();\n }\n\n /**\n * resolve a component ID.\n * @param id component ID.\n */\n async resolveComponentId(id: string | BitId | ComponentID): Promise<ComponentID> {\n if (id instanceof ComponentID) return id;\n if (id instanceof BitId) return this.resolveComponentIdFromBitId(id);\n const idStr = id.toString();\n const component = await this.legacyScope.loadModelComponentByIdStr(idStr);\n const getIdToCheck = () => {\n if (component) return idStr; // component exists in the scope with the scope-name.\n if (idStr.startsWith(`${this.name}/`)) {\n // component with the full name doesn't exist in the scope, it might be locally tagged\n return idStr.replace(`${this.name}/`, '');\n }\n return idStr;\n };\n const IdToCheck = getIdToCheck();\n const legacyId = await this.legacyScope.getParsedId(IdToCheck);\n return legacyId;\n }\n\n private resolveComponentIdFromBitId(id: BitId) {\n return id.hasScope() ? ComponentID.fromLegacy(id) : ComponentID.fromLegacy(id, this.name);\n }\n\n async resolveMultipleComponentIds(ids: Array<string | ComponentID | ComponentID>) {\n return Promise.all(ids.map(async (id) => this.resolveComponentId(id)));\n }\n\n /**\n * @deprecated use `this.idsByPattern` instead for consistency, which supports also negation and list of patterns.\n */\n async byPattern(patterns: string[], scope = '**'): Promise<Component[]> {\n const patternsWithScope = patterns.map((pattern) => `${scope}/${pattern || '**'}`);\n\n const ids = await this.listIds(true, false, patternsWithScope);\n\n const components = await this.getMany(ids);\n return components;\n }\n\n /**\n * get component-ids matching the given pattern. a pattern can have multiple patterns separated by a comma.\n * it uses multimatch (https://www.npmjs.com/package/multimatch) package for the matching algorithm, which supports\n * (among others) negate character \"!\" to exclude ids. See the package page for more supported characters.\n */\n async idsByPattern(pattern: string, throwForNoMatch = true): Promise<ComponentID[]> {\n if (!pattern.includes('*') && !pattern.includes(',')) {\n // if it's not a pattern but just id, resolve it without multimatch to support specifying id without scope-name\n const id = await this.resolveComponentId(pattern);\n const exists = await this.hasId(id, true);\n if (exists) return [id];\n if (throwForNoMatch) throw new BitError(`unable to find \"${pattern}\" in the scope`);\n return [];\n }\n const ids = await this.listIds(true);\n return this.filterIdsFromPoolIdsByPattern(pattern, ids, throwForNoMatch);\n }\n\n // todo: move this to somewhere else (where?)\n async filterIdsFromPoolIdsByPattern(\n pattern: string,\n ids: ComponentID[],\n throwForNoMatch = true,\n filterByStateFunc?: (state: any, poolIds: ComponentID[]) => Promise<ComponentID[]>\n ) {\n const patterns = pattern\n .split(',')\n .map((p) => p.trim())\n .map((p) => p.split('@')[0]); // no need for the version\n if (patterns.every((p) => p.startsWith('!'))) {\n // otherwise it'll never match anything. don't use \".push()\". it must be the first item in the array.\n patterns.unshift('**');\n }\n // check also as legacyId.toString, as it doesn't have the defaultScope\n const idsToCheck = (id: ComponentID) => [id._legacy.toStringWithoutVersion(), id.toStringWithoutVersion()];\n const [statePatterns, nonStatePatterns] = partition(patterns, (p) => p.startsWith('$'));\n const idsFiltered = nonStatePatterns.length\n ? ids.filter((id) => multimatch(idsToCheck(id), nonStatePatterns).length)\n : [];\n\n const idsStateFiltered = await mapSeries(statePatterns, async (statePattern) => {\n if (!filterByStateFunc) {\n throw new Error(`filter by a state (${statePattern}) is currently supported on the workspace only`);\n }\n statePattern = statePattern.replace('$', '');\n if (statePattern.includes(' AND ')) {\n const statePatternSplit = statePattern.split(' AND ').map((p) => p.trim());\n if (statePatternSplit.length !== 2) throw new Error('invalid state pattern, can have only one \"AND\"');\n const [stateF, nonStateF] = statePatternSplit;\n const filteredByNonState = ids.filter((id) => multimatch(idsToCheck(id), [nonStateF]).length);\n return filterByStateFunc(stateF, filteredByNonState);\n }\n return filterByStateFunc(statePattern, ids);\n });\n const idsStateFilteredFlat = idsStateFiltered.flat();\n const combineFilteredIds = () => {\n if (!idsStateFiltered) return idsFiltered;\n const allIds = [...idsFiltered, ...idsStateFilteredFlat];\n return ComponentIdList.uniqFromArray(allIds);\n };\n const allIdsFiltered = combineFilteredIds();\n if (throwForNoMatch && !allIdsFiltered.length) {\n throw new NoIdMatchPattern(pattern);\n }\n return allIdsFiltered;\n }\n\n async getSnapDistance(id: ComponentID, throws = true): Promise<SnapsDistance> {\n const modelComp = await this.legacyScope.getModelComponent(id);\n await modelComp.setDivergeData(this.legacyScope.objects, throws);\n return modelComp.getDivergeData();\n }\n /**\n * get the distance for a component between two lanes. for example, lane-b forked from lane-a and lane-b added some new snaps\n * @param componentId\n * @param sourceHead head on the source lane. leave empty if the source is main\n * @param targetHead head on the target lane. leave empty if the target is main\n * @returns\n */\n async getSnapsDistanceBetweenTwoSnaps(\n componentId: ComponentID,\n sourceHead?: string,\n targetHead?: string,\n throws?: boolean\n ): Promise<SnapsDistance> {\n if (!sourceHead && !targetHead) {\n throw new Error(`getDivergeData got sourceHead and targetHead empty. at least one of them should be populated`);\n }\n const modelComponent = await this.legacyScope.getModelComponent(componentId);\n return getDivergeData({\n modelComponent,\n repo: this.legacyScope.objects,\n sourceHead: sourceHead ? Ref.from(sourceHead) : modelComponent.head || null,\n targetHead: targetHead ? Ref.from(targetHead) : modelComponent.head || null,\n throws,\n });\n }\n\n async getExactVersionBySemverRange(id: ComponentID, range: string): Promise<string | undefined> {\n const modelComponent = await this.legacyScope.getModelComponent(id);\n const versions = modelComponent.listVersions();\n return semver.maxSatisfying<string>(versions, range, { includePrerelease: true })?.toString();\n }\n\n async resumeExport(exportId: string, remotes: string[]): Promise<string[]> {\n return resumeExport(this.legacyScope, exportId, remotes);\n }\n\n /**\n * @deprecated use `this.resolveComponentId` instead.\n */\n async resolveId(id: string): Promise<ComponentID> {\n return this.resolveComponentId(id);\n }\n\n // TODO: add new API for this\n async _legacyRemotes(): Promise<Remotes> {\n return getScopeRemotes(this.legacyScope);\n }\n\n /**\n * list all component ids from a remote-scope\n */\n async listRemoteScope(scopeName: string): Promise<ComponentID[]> {\n const remotes = await this._legacyRemotes();\n const remote = await remotes.resolve(scopeName, this.legacyScope);\n const results = await remote.list();\n return results.map(({ id }) => id);\n }\n\n async getLegacyMinimal(id: ComponentID): Promise<ConsumerComponent | undefined> {\n try {\n return await this.legacyScope.getConsumerComponent(id);\n } catch (err) {\n // in case the component is missing locally, this.get imports it.\n return (await this.get(id))?.state._consumer;\n }\n }\n\n /**\n * ModelComponent is of type `BitObject` which gets saved into the local scope as an object file.\n * It has data about the tags and the component head. It doesn't have any data about the source-files/artifacts etc.\n */\n async getBitObjectModelComponent(id: ComponentID, throwIfNotExist = false): Promise<ModelComponent | undefined> {\n return throwIfNotExist ? this.legacyScope.getModelComponent(id) : this.legacyScope.getModelComponentIfExist(id);\n }\n\n /**\n * Version BitObject holds the data of the source files and build artifacts of a specific snap/tag.\n */\n async getBitObjectVersion(\n modelComponent: ModelComponent,\n version: string,\n throwIfNotExist = false\n ): Promise<Version | undefined> {\n return modelComponent.loadVersion(version, this.legacyScope.objects, throwIfNotExist);\n }\n\n async getBitObjectVersionById(id: ComponentID, throwIfNotExist = false): Promise<Version | undefined> {\n const modelComponent = await this.getBitObjectModelComponent(id, throwIfNotExist);\n if (!modelComponent) return undefined;\n return this.getBitObjectVersion(modelComponent, id.version, throwIfNotExist);\n }\n\n /**\n * get a component and load its aspect\n */\n async load(\n id: ComponentID,\n lane?: Lane,\n opts: LoadOptions = { loadApps: true, loadEnvs: true }\n ): Promise<Component | undefined> {\n const component = await this.get(id);\n if (!component) return undefined;\n return this.loadCompAspects(component, lane, opts);\n }\n\n async loadCompAspects(\n component: Component,\n lane?: Lane,\n opts: LoadOptions = { loadApps: true, loadEnvs: true }\n ): Promise<Component> {\n const aspectIds = component.state.aspects.ids;\n // load components from type aspects as aspects.\n // important! previously, this was running for any aspect, not only apps. (the if statement was `this.aspectLoader.isAspectComponent(component)`)\n // Ran suggests changing it and if it breaks something, we'll document is and fix it.\n if (opts.loadApps) {\n const appData = component.state.aspects.get('teambit.harmony/application');\n if (appData?.data?.appName) {\n aspectIds.push(component.id.toString());\n }\n }\n if (opts.loadEnvs) {\n const envsData = component.state.aspects.get(EnvsAspect.id);\n if (envsData?.data?.services || envsData?.data?.self || envsData?.data?.type === 'env') {\n aspectIds.push(component.id.toString());\n }\n }\n if (aspectIds && aspectIds.length) {\n await this.loadAspects(aspectIds, true, component.id.toString(), lane);\n }\n\n return component;\n }\n\n async loadComponentsAspect(component: Component) {\n const aspectIds = component.state.aspects.ids;\n await this.loadAspects(aspectIds, true, component.id.toString());\n }\n\n async addAspectsFromConfigObject(component: Component, configObject: Record<string, any>) {\n const extensionsFromConfigObject = ExtensionDataList.fromConfigObject(configObject);\n const extensionDataList = ExtensionDataList.mergeConfigs([\n extensionsFromConfigObject,\n component.state._consumer.extensions,\n ]).filterRemovedExtensions();\n component.state._consumer.extensions = extensionDataList;\n }\n\n public async createAspectListFromExtensionDataList(extensionDataList: ExtensionDataList) {\n const entries = await Promise.all(extensionDataList.map((entry) => this.extensionDataEntryToAspectEntry(entry)));\n return this.componentExtension.createAspectListFromEntries(entries);\n }\n\n private async extensionDataEntryToAspectEntry(dataEntry: ExtensionDataEntry): Promise<AspectEntry> {\n return new AspectEntry(await this.resolveComponentId(dataEntry.id), dataEntry);\n }\n\n getLastMergedPath() {\n return path.join(this.path, 'last-merged');\n }\n\n async isModified(): Promise<boolean> {\n return false;\n }\n\n async write() {\n // no-op (it's relevant for the workspace only)\n }\n\n /**\n * declare the slots of scope extension.\n */\n static slots = [\n Slot.withType<OnPostPut>(),\n Slot.withType<OnPostDelete>(),\n Slot.withType<OnPostExport>(),\n Slot.withType<OnPostObjectsPersist>(),\n Slot.withType<OnPreFetchObjects>(),\n Slot.withType<OnCompAspectReCalc>(),\n ];\n static runtime = MainRuntime;\n\n static dependencies = [\n ComponentAspect,\n UIAspect,\n GraphqlAspect,\n CLIAspect,\n IsolatorAspect,\n AspectLoaderAspect,\n ExpressAspect,\n LoggerAspect,\n EnvsAspect,\n DependencyResolverAspect,\n GlobalConfigAspect,\n ];\n\n static defaultConfig: ScopeConfig = {\n httpTimeOut: 600000,\n };\n\n static async provider(\n [componentExt, ui, graphql, cli, isolator, aspectLoader, express, loggerMain, envs, depsResolver, globalConfig]: [\n ComponentMain,\n UiMain,\n GraphqlMain,\n CLIMain,\n IsolatorMain,\n AspectLoaderMain,\n ExpressMain,\n LoggerMain,\n EnvsMain,\n DependencyResolverMain,\n GlobalConfigMain\n ],\n config: ScopeConfig,\n [\n postPutSlot,\n postDeleteSlot,\n postExportSlot,\n postObjectsPersistSlot,\n preFetchObjectsSlot,\n OnCompAspectReCalcSlot,\n ]: [\n OnPostPutSlot,\n OnPostDeleteSlot,\n OnPostExportSlot,\n OnPostObjectsPersistSlot,\n OnPreFetchObjectsSlot,\n OnCompAspectReCalcSlot\n ],\n harmony: Harmony\n ) {\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const legacyScope = await loadScopeIfExist(bitConfig?.cwd);\n if (!legacyScope) {\n return undefined;\n }\n\n const logger = loggerMain.createLogger(ScopeAspect.id);\n const scope = new ScopeMain(\n harmony,\n legacyScope,\n componentExt,\n config,\n postPutSlot,\n postDeleteSlot,\n postExportSlot,\n postObjectsPersistSlot,\n preFetchObjectsSlot,\n OnCompAspectReCalcSlot,\n isolator,\n aspectLoader,\n logger,\n envs,\n depsResolver,\n globalConfig\n );\n cli.registerOnStart(async (hasWorkspace: boolean) => {\n if (hasWorkspace) return;\n await scope.loadAspects(aspectLoader.getNotLoadedConfiguredExtensions(), undefined, 'scope.cli.registerOnStart');\n });\n cli.register(new ScopeCmd());\n\n const onPutHook = async (ids: string[], lanes: Lane[], authData?: AuthData): Promise<void> => {\n logger.debug(`onPutHook, started. (${ids.length} components)`);\n scope.componentLoader.clearCache();\n const componentIds = await scope.resolveMultipleComponentIds(ids);\n const fns = postPutSlot.values();\n const data = {\n ids: componentIds,\n lanes,\n };\n const metadata = { auth: authData };\n await Promise.all(fns.map(async (fn) => fn(data, metadata)));\n logger.debug(`onPutHook, completed. (${ids.length} components)`);\n };\n\n const getAuthData = (): AuthData | undefined => {\n const token = Http.getToken();\n return token ? { type: DEFAULT_AUTH_TYPE, credentials: token } : undefined;\n };\n\n const onPostExportHook = async (ids: ComponentID[], lanes: Lane[]): Promise<void> => {\n logger.debug(`onPostExportHook, started. (${ids.length} components)`);\n const fns = postExportSlot.values();\n const data = {\n ids,\n lanes,\n };\n const metadata = { auth: getAuthData() };\n await Promise.all(fns.map(async (fn) => fn(data, metadata)));\n logger.debug(`onPostExportHook, completed. (${ids.length} components)`);\n };\n\n const onPostObjectsPersistHook = async (): Promise<void> => {\n logger.debug(`onPostObjectsPersistHook, started`);\n const fns = postObjectsPersistSlot.values();\n const metadata = { auth: getAuthData() };\n await Promise.all(fns.map(async (fn) => fn(undefined, metadata)));\n logger.debug(`onPostObjectsPersistHook, completed`);\n };\n\n ExportPersist.onPutHook = onPutHook;\n PostSign.onPutHook = onPutHook;\n Scope.onPostExport = onPostExportHook;\n Repository.onPostObjectsPersist = onPostObjectsPersistHook;\n ExternalActions.externalActions.push(new ClearCacheAction(scope));\n\n express.register([\n new PutRoute(scope, postPutSlot),\n new FetchRoute(scope, logger),\n new ActionRoute(scope),\n new DeleteRoute(scope),\n ]);\n // @ts-ignore - @ran to implement the missing functions and remove it\n ui.registerUiRoot(new ScopeUIRoot(scope));\n graphql.register(scopeSchema(scope));\n componentExt.registerHost(scope);\n\n return scope;\n }\n}\n\nScopeAspect.addRuntime(ScopeMain);\n"],"mappings":"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"}
@@ -54,7 +54,7 @@ function _designUiSurfacesMenu() {
54
54
  return data;
55
55
  }
56
56
  function _commandBar() {
57
- const data = _interopRequireDefault(require("@teambit/command-bar"));
57
+ const data = require("@teambit/command-bar");
58
58
  _commandBar = function () {
59
59
  return data;
60
60
  };
@@ -431,7 +431,7 @@ class ScopeUI {
431
431
  }
432
432
  }
433
433
  exports.ScopeUI = ScopeUI;
434
- _defineProperty(ScopeUI, "dependencies", [_ui().UIAspect, _component().ComponentAspect, _sidebar().SidebarAspect, _commandBar().default]);
434
+ _defineProperty(ScopeUI, "dependencies", [_ui().UIAspect, _component().ComponentAspect, _sidebar().SidebarAspect, _commandBar().CommandBarAspect]);
435
435
  _defineProperty(ScopeUI, "runtime", _ui().UIRuntime);
436
436
  _defineProperty(ScopeUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
437
437
  _defineProperty(ScopeUI, "defaultConfig", {
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_component","_harmony","_sidebar","_ui","_react","_interopRequireDefault","_designUiSurfacesMenu","_commandBar","_componentUi","_componentUiComponentFilters","_componentUiComponentFilters2","_componentModules","_componentUiComponentFilters3","_menu","_scope","_scope2","_scopeUi","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ScopeUI","constructor","routeSlot","componentUi","menuSlot","sidebar","sidebarSlot","commandBarUI","scopeBadgeSlot","menuWidgetSlot","sidebarItemSlot","menuItemSlot","cornerSlot","overviewSlot","contextSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","routes","register","menuItems","componentTreeNodes","map","componentTreeNode","links","drawer","registerDrawer","filters","widgets","components","updateComponents","category","title","keyChar","handler","run","registerBadge","badges","getScope","options","createElement","Scope","TargetScopeOverview","scopeClassName","TargetCorner","Corner","render","items","listSidebarLinks","overrideDrawerSlot","overrideDrawers","scopeUi","userUseScopeQuery","useScope","badgeSlot","overviewLineSlot","context","getContext","getComponentUrl","onSidebarTogglerChange","onSidebarToggle","setSidebarToggle","paneClassName","PaneWrapper","registerOverviewLine","lines","registerRoutes","applyMenuRoutes","registerMenuRoutes","path","routePath","element","getMenu","ScopeAspect","id","getScopeMenu","ScopeMenu","widgetSlot","registerExplicitRoutes","getComponentUI","registerMenuWidget","registerCorner","corner","registerComponentUrl","func","componentUrlFunc","replaceOverview","replaceDescription","replaceMetadataSection","registerMetadataItem","replaceComponentGrid","registerMetadata","addContext","componentUrlFn","contexts","values","ComponentUrlFuncProvider","children","ComponentUrlProvider","flatten","concat","registerDefaultDrawers","assumeScopeInUrl","overrideUseComponents","overrideUseLanes","getDefaultDrawer","scopeDrawer","treeWidgets","filtersSlot","uiRoot","setKeyBindHandler","addCommand","action","displayName","keybinding","sorted","sort","a","b","aWeight","weight","bWeight","compact","link","component","provider","ui","config","componentFiltersSlot","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","ShowMainFilter","registerDrawerWidgets","FilterWidget","TreeToggleWidget","registerRoot","bind","registerMenuItem","ScopeUseBox","actionName","useBoxAction","actionIcon","useBoxIcon","showGallery","registerSidebarLink","Gallery","MenuLinkItem","exact","href","icon","exports","UIAspect","ComponentAspect","SidebarAspect","CommandBarAspect","UIRuntime","Slot","withType","_default","addRuntime"],"sources":["scope.ui.runtime.tsx"],"sourcesContent":["import type { ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentAspect } from '@teambit/component';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SidebarAspect, SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { ComponentTreeNode } from '@teambit/component-tree';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport React, { ComponentType, ReactNode } from 'react';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { RouteProps } from 'react-router-dom';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport CommandBarAspect, { CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\nimport { ComponentUrlResolver, ComponentUrlProvider } from '@teambit/component.modules.component-url';\nimport { ShowMainFilter } from '@teambit/component.ui.component-filters.show-main-filter';\nimport { ScopeMenu, ScopeUseBox } from './ui/menu';\nimport { ScopeAspect } from './scope.aspect';\nimport { Scope } from './ui/scope';\nimport { scopeDrawer } from './scope.ui.drawer';\nimport { GetScopeOptions } from './get-scope-options';\n\nexport type ScopeBadge = ComponentType;\n\nexport type ScopeBadgeSlot = SlotRegistry<ScopeBadge[]>;\n\nexport type ContextSlot = SlotRegistry<ScopeContextType[]>;\n\nexport type ScopeContextType = ComponentType<{ scope: ScopeModel; children: ReactNode }>;\n\nexport type SidebarSlot = SlotRegistry<ComponentTreeNode>;\n\nexport type ScopeOverview = ComponentType;\n\nexport type ScopeOverviewSlot = SlotRegistry<ScopeOverview>;\n\nexport type Corner = ComponentType;\n\nexport type CornerSlot = SlotRegistry<Corner>;\n\nexport type OverviewLine = ComponentType;\n\nexport type OverviewLineSlot = SlotRegistry<OverviewLine[]>;\n\nexport type ScopeUIConfig = {\n showGallery: boolean;\n useBoxAction?: string;\n useBoxIcon?: string;\n};\n\nexport class ScopeUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarSlot,\n\n private commandBarUI: CommandBarUI,\n\n private scopeBadgeSlot: ScopeBadgeSlot,\n\n private menuWidgetSlot: MenuWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n /**\n * main dropdown item slot\n */\n private menuItemSlot: MenuItemSlot,\n\n /**\n * corner slot\n */\n private cornerSlot: CornerSlot,\n\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: OverviewLineSlot,\n\n /**\n * add a new context to ui\n */\n private contextSlot: ContextSlot,\n private drawerWidgetSlot: DrawerWidgetSlot,\n private drawerComponentsFiltersSlot: ComponentFiltersSlot\n ) {}\n\n private setSidebarToggle: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a new badge into the scope overview.\n */\n registerBadge(...badges: ScopeBadge[]) {\n this.scopeBadgeSlot.register(badges);\n return this;\n }\n\n getScope(options: GetScopeOptions) {\n return (\n <Scope\n TargetScopeOverview={options.TargetScopeOverview}\n scopeClassName={options.scopeClassName}\n TargetCorner={options.Corner}\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} overrideDrawerSlot={options.overrideDrawers} />}\n scopeUi={this}\n userUseScopeQuery={options.useScope}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext(options.getComponentUrl)}\n onSidebarTogglerChange={options.onSidebarToggle || this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n paneClassName={options.paneClassName}\n PaneWrapper={options.PaneWrapper}\n />\n );\n }\n\n /**\n * register a new line beneath the scope overview section.\n */\n registerOverviewLine(...lines: OverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n /**\n * register a route to the scope.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n private applyMenuRoutes() {\n this.registerMenuRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getMenu(ScopeAspect.id),\n },\n {\n path: '/',\n element: this.getScopeMenu(),\n },\n ]);\n }\n\n getScopeMenu() {\n return <ScopeMenu widgetSlot={this.menuWidgetSlot} menuItemSlot={this.menuItemSlot} />;\n }\n\n private registerExplicitRoutes() {\n this.applyMenuRoutes();\n this.registerRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getComponentUI(ScopeAspect.id),\n },\n ]);\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n registerCorner(corner: Corner) {\n this.cornerSlot.register(corner);\n }\n\n private componentUrlFunc: ComponentUrlResolver | undefined;\n registerComponentUrl(func: ComponentUrlResolver) {\n this.componentUrlFunc = func;\n }\n\n /**\n * register a scope overview.\n */\n replaceOverview() {}\n\n /**\n * register description.\n */\n replaceDescription() {}\n\n /**\n * register metadata section.\n */\n replaceMetadataSection() {}\n\n /**\n * register a metadata item.\n */\n registerMetadataItem() {}\n\n replaceComponentGrid() {}\n\n /**\n * register metadata.\n */\n registerMetadata() {}\n\n /**\n * add a new context to the scope.\n */\n addContext(...context: ScopeContextType[]) {\n this.contextSlot.register(context);\n return this;\n }\n\n private getContext(componentUrlFn?: ComponentUrlResolver) {\n const contexts = this.contextSlot.values();\n // eslint-disable-next-line react/prop-types\n const ComponentUrlFuncProvider: ScopeContextType = ({ children }) => (\n // @ts-ignore TODO: fix this\n <ComponentUrlProvider value={componentUrlFn || this.componentUrlFunc}>{children}</ComponentUrlProvider>\n );\n\n return flatten(contexts).concat(ComponentUrlFuncProvider);\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n /**\n * register a sidebar Widget for the scope\n */\n registerSidebarWidget = (componentTreeNodes: ComponentTreeNode[]) => {\n componentTreeNodes.map((componentTreeNode) => this.sidebarSlot.register(componentTreeNode));\n return this;\n };\n\n /**\n * register a sidebar link to the section above the drawers\n */\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n registerDrawers = (...drawer: DrawerType[]) => {\n this.sidebar.registerDrawer(...drawer);\n return this;\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n registerDefaultDrawers(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n this.sidebar.registerDrawer(this.getDefaultDrawer(assumeScopeInUrl, overrideUseComponents, overrideUseLanes));\n }\n\n getDefaultDrawer(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n return scopeDrawer({\n treeWidgets: this.sidebarSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n assumeScopeInUrl,\n overrideUseComponents,\n overrideUseLanes,\n });\n }\n\n uiRoot(): UIRoot {\n this.registerDefaultDrawers();\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setSidebarToggle = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Scope\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} />}\n scopeUi={this}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext()}\n onSidebarTogglerChange={this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarLinks() {\n const links = flatten(this.sidebarItemSlot.values());\n const sorted = links.sort((a, b) => {\n const aWeight = a?.weight || 0;\n const bWeight = b?.weight || 0;\n return aWeight - bWeight;\n });\n\n return compact(\n sorted.map((link) => {\n return link.component;\n })\n );\n }\n\n /** registers available components */\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\n };\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [UIAspect, ComponentAspect, SidebarAspect, CommandBarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<ScopeBadge>(),\n Slot.withType<ScopeOverview>(),\n Slot.withType<MenuWidget[]>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<CornerSlot>(),\n Slot.withType<OverviewLineSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<ContextSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static defaultConfig = {\n showGallery: true,\n };\n\n static async provider(\n [ui, componentUi, sidebar, commandBarUI]: [UiUI, ComponentUI, SidebarUI, CommandBarUI],\n config: ScopeUIConfig,\n [\n routeSlot,\n menuSlot,\n sidebarSlot,\n scopeBadgeSlot,\n menuWidgetSlot,\n menuItemSlot,\n sidebarItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot,\n ]: [\n RouteSlot,\n RouteSlot,\n SidebarSlot,\n ScopeBadgeSlot,\n MenuWidgetSlot,\n MenuItemSlot,\n SidebarItemSlot,\n CornerSlot,\n OverviewLineSlot,\n ContextSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n const scopeUi = new ScopeUI(\n routeSlot,\n componentUi,\n menuSlot,\n sidebar,\n sidebarSlot,\n commandBarUI,\n scopeBadgeSlot,\n menuWidgetSlot,\n sidebarItemSlot,\n menuItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot\n );\n scopeUi.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter, ShowMainFilter(false)]);\n scopeUi.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n if (ui) ui.registerRoot(scopeUi.uiRoot.bind(scopeUi));\n scopeUi.registerMenuItem(scopeUi.menuItems);\n scopeUi.registerMenuWidget(() => <ScopeUseBox actionName={config.useBoxAction} actionIcon={config.useBoxIcon} />);\n if (config.showGallery)\n scopeUi.registerSidebarLink({\n component: function Gallery() {\n return (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Overview\n </MenuLinkItem>\n );\n },\n });\n if (ui) scopeUi.registerExplicitRoutes();\n\n return scopeUi;\n }\n}\n\nexport default ScopeUI;\n\nScopeAspect.addRuntime(ScopeUI);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","data","require","_component","_harmony","_sidebar","_ui","_react","_interopRequireDefault","_designUiSurfacesMenu","_commandBar","_componentUi","_componentUiComponentFilters","_componentUiComponentFilters2","_componentModules","_componentUiComponentFilters3","_menu","_scope","_scope2","_scopeUi","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ScopeUI","constructor","routeSlot","componentUi","menuSlot","sidebar","sidebarSlot","commandBarUI","scopeBadgeSlot","menuWidgetSlot","sidebarItemSlot","menuItemSlot","cornerSlot","overviewSlot","contextSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","routes","register","menuItems","componentTreeNodes","map","componentTreeNode","links","drawer","registerDrawer","filters","widgets","components","updateComponents","category","title","keyChar","handler","run","registerBadge","badges","getScope","options","createElement","Scope","TargetScopeOverview","scopeClassName","TargetCorner","Corner","render","items","listSidebarLinks","overrideDrawerSlot","overrideDrawers","scopeUi","userUseScopeQuery","useScope","badgeSlot","overviewLineSlot","context","getContext","getComponentUrl","onSidebarTogglerChange","onSidebarToggle","setSidebarToggle","paneClassName","PaneWrapper","registerOverviewLine","lines","registerRoutes","applyMenuRoutes","registerMenuRoutes","path","routePath","element","getMenu","ScopeAspect","id","getScopeMenu","ScopeMenu","widgetSlot","registerExplicitRoutes","getComponentUI","registerMenuWidget","registerCorner","corner","registerComponentUrl","func","componentUrlFunc","replaceOverview","replaceDescription","replaceMetadataSection","registerMetadataItem","replaceComponentGrid","registerMetadata","addContext","componentUrlFn","contexts","values","ComponentUrlFuncProvider","children","ComponentUrlProvider","flatten","concat","registerDefaultDrawers","assumeScopeInUrl","overrideUseComponents","overrideUseLanes","getDefaultDrawer","scopeDrawer","treeWidgets","filtersSlot","uiRoot","setKeyBindHandler","addCommand","action","displayName","keybinding","sorted","sort","a","b","aWeight","weight","bWeight","compact","link","component","provider","ui","config","componentFiltersSlot","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","ShowMainFilter","registerDrawerWidgets","FilterWidget","TreeToggleWidget","registerRoot","bind","registerMenuItem","ScopeUseBox","actionName","useBoxAction","actionIcon","useBoxIcon","showGallery","registerSidebarLink","Gallery","MenuLinkItem","exact","href","icon","exports","UIAspect","ComponentAspect","SidebarAspect","CommandBarAspect","UIRuntime","Slot","withType","_default","addRuntime"],"sources":["scope.ui.runtime.tsx"],"sourcesContent":["import type { ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentAspect } from '@teambit/component';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SidebarAspect, SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { ComponentTreeNode } from '@teambit/component-tree';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport React, { ComponentType, ReactNode } from 'react';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { RouteProps } from 'react-router-dom';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport { CommandBarAspect, CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { ScopeModel } from '@teambit/scope.models.scope-model';\nimport { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\nimport { ComponentUrlResolver, ComponentUrlProvider } from '@teambit/component.modules.component-url';\nimport { ShowMainFilter } from '@teambit/component.ui.component-filters.show-main-filter';\nimport { ScopeMenu, ScopeUseBox } from './ui/menu';\nimport { ScopeAspect } from './scope.aspect';\nimport { Scope } from './ui/scope';\nimport { scopeDrawer } from './scope.ui.drawer';\nimport { GetScopeOptions } from './get-scope-options';\n\nexport type ScopeBadge = ComponentType;\n\nexport type ScopeBadgeSlot = SlotRegistry<ScopeBadge[]>;\n\nexport type ContextSlot = SlotRegistry<ScopeContextType[]>;\n\nexport type ScopeContextType = ComponentType<{ scope: ScopeModel; children: ReactNode }>;\n\nexport type SidebarSlot = SlotRegistry<ComponentTreeNode>;\n\nexport type ScopeOverview = ComponentType;\n\nexport type ScopeOverviewSlot = SlotRegistry<ScopeOverview>;\n\nexport type Corner = ComponentType;\n\nexport type CornerSlot = SlotRegistry<Corner>;\n\nexport type OverviewLine = ComponentType;\n\nexport type OverviewLineSlot = SlotRegistry<OverviewLine[]>;\n\nexport type ScopeUIConfig = {\n showGallery: boolean;\n useBoxAction?: string;\n useBoxIcon?: string;\n};\n\nexport class ScopeUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarSlot,\n\n private commandBarUI: CommandBarUI,\n\n private scopeBadgeSlot: ScopeBadgeSlot,\n\n private menuWidgetSlot: MenuWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n /**\n * main dropdown item slot\n */\n private menuItemSlot: MenuItemSlot,\n\n /**\n * corner slot\n */\n private cornerSlot: CornerSlot,\n\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: OverviewLineSlot,\n\n /**\n * add a new context to ui\n */\n private contextSlot: ContextSlot,\n private drawerWidgetSlot: DrawerWidgetSlot,\n private drawerComponentsFiltersSlot: ComponentFiltersSlot\n ) {}\n\n private setSidebarToggle: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a new badge into the scope overview.\n */\n registerBadge(...badges: ScopeBadge[]) {\n this.scopeBadgeSlot.register(badges);\n return this;\n }\n\n getScope(options: GetScopeOptions) {\n return (\n <Scope\n TargetScopeOverview={options.TargetScopeOverview}\n scopeClassName={options.scopeClassName}\n TargetCorner={options.Corner}\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} overrideDrawerSlot={options.overrideDrawers} />}\n scopeUi={this}\n userUseScopeQuery={options.useScope}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext(options.getComponentUrl)}\n onSidebarTogglerChange={options.onSidebarToggle || this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n paneClassName={options.paneClassName}\n PaneWrapper={options.PaneWrapper}\n />\n );\n }\n\n /**\n * register a new line beneath the scope overview section.\n */\n registerOverviewLine(...lines: OverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n /**\n * register a route to the scope.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n private applyMenuRoutes() {\n this.registerMenuRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getMenu(ScopeAspect.id),\n },\n {\n path: '/',\n element: this.getScopeMenu(),\n },\n ]);\n }\n\n getScopeMenu() {\n return <ScopeMenu widgetSlot={this.menuWidgetSlot} menuItemSlot={this.menuItemSlot} />;\n }\n\n private registerExplicitRoutes() {\n this.applyMenuRoutes();\n this.registerRoutes([\n {\n path: this.componentUi.routePath,\n element: this.componentUi.getComponentUI(ScopeAspect.id),\n },\n ]);\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n registerCorner(corner: Corner) {\n this.cornerSlot.register(corner);\n }\n\n private componentUrlFunc: ComponentUrlResolver | undefined;\n registerComponentUrl(func: ComponentUrlResolver) {\n this.componentUrlFunc = func;\n }\n\n /**\n * register a scope overview.\n */\n replaceOverview() {}\n\n /**\n * register description.\n */\n replaceDescription() {}\n\n /**\n * register metadata section.\n */\n replaceMetadataSection() {}\n\n /**\n * register a metadata item.\n */\n registerMetadataItem() {}\n\n replaceComponentGrid() {}\n\n /**\n * register metadata.\n */\n registerMetadata() {}\n\n /**\n * add a new context to the scope.\n */\n addContext(...context: ScopeContextType[]) {\n this.contextSlot.register(context);\n return this;\n }\n\n private getContext(componentUrlFn?: ComponentUrlResolver) {\n const contexts = this.contextSlot.values();\n // eslint-disable-next-line react/prop-types\n const ComponentUrlFuncProvider: ScopeContextType = ({ children }) => (\n // @ts-ignore TODO: fix this\n <ComponentUrlProvider value={componentUrlFn || this.componentUrlFunc}>{children}</ComponentUrlProvider>\n );\n\n return flatten(contexts).concat(ComponentUrlFuncProvider);\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n /**\n * register a sidebar Widget for the scope\n */\n registerSidebarWidget = (componentTreeNodes: ComponentTreeNode[]) => {\n componentTreeNodes.map((componentTreeNode) => this.sidebarSlot.register(componentTreeNode));\n return this;\n };\n\n /**\n * register a sidebar link to the section above the drawers\n */\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n registerDrawers = (...drawer: DrawerType[]) => {\n this.sidebar.registerDrawer(...drawer);\n return this;\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n registerDefaultDrawers(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n this.sidebar.registerDrawer(this.getDefaultDrawer(assumeScopeInUrl, overrideUseComponents, overrideUseLanes));\n }\n\n getDefaultDrawer(\n assumeScopeInUrl = false,\n overrideUseComponents?: () => { components: ComponentModel[] },\n overrideUseLanes?: () => { lanesModel: LanesModel }\n ) {\n return scopeDrawer({\n treeWidgets: this.sidebarSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n assumeScopeInUrl,\n overrideUseComponents,\n overrideUseLanes,\n });\n }\n\n uiRoot(): UIRoot {\n this.registerDefaultDrawers();\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setSidebarToggle = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Scope\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render items={this.listSidebarLinks()} />}\n scopeUi={this}\n badgeSlot={this.scopeBadgeSlot}\n overviewLineSlot={this.overviewSlot}\n context={this.getContext()}\n onSidebarTogglerChange={this.setSidebarToggle}\n cornerSlot={this.cornerSlot}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarLinks() {\n const links = flatten(this.sidebarItemSlot.values());\n const sorted = links.sort((a, b) => {\n const aWeight = a?.weight || 0;\n const bWeight = b?.weight || 0;\n return aWeight - bWeight;\n });\n\n return compact(\n sorted.map((link) => {\n return link.component;\n })\n );\n }\n\n /** registers available components */\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\n };\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [UIAspect, ComponentAspect, SidebarAspect, CommandBarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<ScopeBadge>(),\n Slot.withType<ScopeOverview>(),\n Slot.withType<MenuWidget[]>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<CornerSlot>(),\n Slot.withType<OverviewLineSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<ContextSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static defaultConfig = {\n showGallery: true,\n };\n\n static async provider(\n [ui, componentUi, sidebar, commandBarUI]: [UiUI, ComponentUI, SidebarUI, CommandBarUI],\n config: ScopeUIConfig,\n [\n routeSlot,\n menuSlot,\n sidebarSlot,\n scopeBadgeSlot,\n menuWidgetSlot,\n menuItemSlot,\n sidebarItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot,\n ]: [\n RouteSlot,\n RouteSlot,\n SidebarSlot,\n ScopeBadgeSlot,\n MenuWidgetSlot,\n MenuItemSlot,\n SidebarItemSlot,\n CornerSlot,\n OverviewLineSlot,\n ContextSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n const scopeUi = new ScopeUI(\n routeSlot,\n componentUi,\n menuSlot,\n sidebar,\n sidebarSlot,\n commandBarUI,\n scopeBadgeSlot,\n menuWidgetSlot,\n sidebarItemSlot,\n menuItemSlot,\n cornerSlot,\n overviewSlot,\n contextSlot,\n drawerWidgetSlot,\n componentFiltersSlot\n );\n scopeUi.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter, ShowMainFilter(false)]);\n scopeUi.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n if (ui) ui.registerRoot(scopeUi.uiRoot.bind(scopeUi));\n scopeUi.registerMenuItem(scopeUi.menuItems);\n scopeUi.registerMenuWidget(() => <ScopeUseBox actionName={config.useBoxAction} actionIcon={config.useBoxIcon} />);\n if (config.showGallery)\n scopeUi.registerSidebarLink({\n component: function Gallery() {\n return (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Overview\n </MenuLinkItem>\n );\n },\n });\n if (ui) scopeUi.registerExplicitRoutes();\n\n return scopeUi;\n }\n}\n\nexport default ScopeUI;\n\nScopeAspect.addRuntime(ScopeUI);\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.170",
3
+ "version": "1.0.171",
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.170"
9
+ "version": "1.0.171"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -53,36 +53,36 @@
53
53
  "@teambit/component.modules.component-url": "0.0.167",
54
54
  "@teambit/scope.models.scope-model": "0.0.504",
55
55
  "@teambit/scope.ui.hooks.scope-context": "0.0.498",
56
- "@teambit/aspect-loader": "1.0.170",
56
+ "@teambit/aspect-loader": "1.0.171",
57
57
  "@teambit/cli": "0.0.851",
58
- "@teambit/compiler": "1.0.170",
59
- "@teambit/component": "1.0.170",
60
- "@teambit/dependency-resolver": "1.0.170",
61
- "@teambit/envs": "1.0.170",
58
+ "@teambit/compiler": "1.0.171",
59
+ "@teambit/component": "1.0.171",
60
+ "@teambit/dependency-resolver": "1.0.171",
61
+ "@teambit/envs": "1.0.171",
62
62
  "@teambit/global-config": "0.0.854",
63
63
  "@teambit/harmony.modules.requireable-component": "0.0.497",
64
- "@teambit/isolator": "1.0.170",
64
+ "@teambit/isolator": "1.0.171",
65
65
  "@teambit/logger": "0.0.944",
66
- "@teambit/builder": "1.0.170",
66
+ "@teambit/builder": "1.0.171",
67
67
  "@teambit/express": "0.0.950",
68
- "@teambit/graph": "1.0.170",
69
- "@teambit/graphql": "1.0.170",
70
- "@teambit/ui": "1.0.170",
68
+ "@teambit/graph": "1.0.171",
69
+ "@teambit/graphql": "1.0.171",
70
+ "@teambit/ui": "1.0.171",
71
71
  "@teambit/workspace.modules.match-pattern": "0.0.505",
72
72
  "@teambit/component.ui.component-drawer": "0.0.392",
73
73
  "@teambit/lanes.hooks.use-lane-components": "0.0.258",
74
74
  "@teambit/lanes.hooks.use-lanes": "0.0.259",
75
75
  "@teambit/lanes.ui.models.lanes-model": "0.0.212",
76
- "@teambit/command-bar": "1.0.170",
77
- "@teambit/component-tree": "1.0.170",
76
+ "@teambit/command-bar": "1.0.171",
77
+ "@teambit/component-tree": "1.0.171",
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.170",
82
+ "@teambit/sidebar": "1.0.171",
83
83
  "@teambit/ui-foundation.ui.buttons.collapser": "0.0.217",
84
84
  "@teambit/component-descriptor": "0.0.415",
85
- "@teambit/preview.ui.preview-placeholder": "0.0.511"
85
+ "@teambit/preview.ui.preview-placeholder": "0.0.512"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@types/fs-extra": "9.0.7",
@@ -11,7 +11,7 @@ import { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown'
11
11
  import { RouteProps } from 'react-router-dom';
12
12
  import { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
13
13
  import { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';
14
- import CommandBarAspect, { CommandBarUI, CommandHandler } from '@teambit/command-bar';
14
+ import { CommandBarAspect, CommandBarUI, CommandHandler } from '@teambit/command-bar';
15
15
  import { ScopeModel } from '@teambit/scope.models.scope-model';
16
16
  import { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
17
17
  import { LanesModel } from '@teambit/lanes.ui.models.lanes-model';