@teambit/scope 0.0.737 → 0.0.740

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 +1 @@
1
- {"version":3,"sources":["component-not-found.ts"],"names":["ComponentNotFound","BitError","constructor","id"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,iBAAN,SAAgCC,oBAAhC,CAAyC;AAC9CC,EAAAA,WAAW;AACT;AACJ;AACA;AACIC,EAAAA,EAJS,EAKT;AACA,UAAO,sBAAqBA,EAAG,gBAA/B;AACD;;AAR6C","sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component';\n\nexport class ComponentNotFound extends BitError {\n constructor(\n /**\n * id of the missing component.\n */\n id: ComponentID\n ) {\n super(`component with id: ${id} was not found`);\n }\n}\n"]}
1
+ {"version":3,"names":["ComponentNotFound","BitError","constructor","id"],"sources":["component-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component';\n\nexport class ComponentNotFound extends BitError {\n constructor(\n /**\n * id of the missing component.\n */\n id: ComponentID\n ) {\n super(`component with id: ${id} was not found`);\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,iBAAN,SAAgCC,oBAAhC,CAAyC;EAC9CC,WAAW;EACT;AACJ;AACA;EACIC,EAJS,EAKT;IACA,MAAO,sBAAqBA,EAAG,gBAA/B;EACD;;AAR6C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["export { ComponentNotFound } from './component-not-found';\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ComponentNotFound } from './component-not-found';\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["ScopeAspect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAGeA,oB","sourcesContent":["import { ScopeAspect } from './scope.aspect';\n\nexport { ComponentNotFound } from './exceptions';\nexport { ScopeComponentCard } from './ui/scope-overview/scope-overview';\nexport type { ScopeMain, OnTag, OnTagResults } from './scope.main.runtime';\nexport type { ScopeModel } from '@teambit/scope.models.scope-model';\nexport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nexport type { ScopeUI, ScopeBadgeSlot, ScopeOverview, ScopeOverviewSlot, OverviewLineSlot } from './scope.ui.runtime';\nexport { ScopeAspect };\nexport default ScopeAspect;\n"]}
1
+ {"version":3,"names":["ScopeAspect"],"sources":["index.ts"],"sourcesContent":["import { ScopeAspect } from './scope.aspect';\n\nexport { ComponentNotFound } from './exceptions';\nexport { ScopeComponentCard } from './ui/scope-overview/scope-overview';\nexport type { ScopeMain, OnTag, OnTagResults } from './scope.main.runtime';\nexport type { ScopeModel } from '@teambit/scope.models.scope-model';\nexport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nexport type { ScopeUI, ScopeBadgeSlot, ScopeOverview, ScopeOverviewSlot, OverviewLineSlot } from './scope.ui.runtime';\nexport { ScopeAspect };\nexport default ScopeAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAGeA,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["action.route.ts"],"names":["ActionRoute","constructor","scope","Verb","WRITE","req","res","setTimeout","config","httpTimeOut","authData","headers","authorization","result","path","body","name","options","json"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,WAAN,CAAmC;AACxCC,EAAAA,WAAW,CAASC,KAAT,EAA2B;AAAA,SAAlBA,KAAkB,GAAlBA,KAAkB;AAAA,oDAE7B,MAF6B;AAAA,mDAG9B,eAH8B;AAAA,kDAI/BC,gBAAKC,KAJ0B;AAAA,yDAMxB,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;AACrCD,MAAAA,GAAG,CAACE,UAAJ,CAAe,KAAKL,KAAL,CAAWM,MAAX,CAAkBC,WAAjC;AACA,YAAMC,QAAQ,GAAG,mCAAsBL,GAAG,CAACM,OAAJ,CAAYC,aAAlC,CAAjB;AACA,YAAMC,MAAM,GAAG,MAAM,sBAAO,KAAKX,KAAL,CAAWY,IAAlB,EAAwBT,GAAG,CAACU,IAAJ,CAASC,IAAjC,EAAuCX,GAAG,CAACU,IAAJ,CAASE,OAAhD,EAAyDP,QAAzD,CAArB,CAHqC,CAIrC;;AACAJ,MAAAA,GAAG,CAACY,IAAJ,CAASL,MAAM,IAAI,EAAnB;AACD,KAPW,CANwB;AAAE;;AADA","sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { action } from '@teambit/legacy/dist/api/scope/lib/action';\nimport { getAuthDataFromHeader } from '@teambit/legacy/dist/scope/network/http/http';\nimport { ScopeMain } from '../scope.main.runtime';\n\nexport class ActionRoute implements Route {\n constructor(private scope: ScopeMain) {}\n\n method = 'post';\n route = '/scope/action';\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n req.setTimeout(this.scope.config.httpTimeOut);\n const authData = getAuthDataFromHeader(req.headers.authorization);\n const result = await action(this.scope.path, req.body.name, req.body.options, authData);\n // in case the result is empty, send `{}` to make it a valid json.\n res.json(result || {});\n },\n ];\n}\n"]}
1
+ {"version":3,"names":["ActionRoute","constructor","scope","Verb","WRITE","req","res","setTimeout","config","httpTimeOut","authData","getAuthDataFromHeader","headers","authorization","result","action","path","body","name","options","json"],"sources":["action.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { action } from '@teambit/legacy/dist/api/scope/lib/action';\nimport { getAuthDataFromHeader } from '@teambit/legacy/dist/scope/network/http/http';\nimport { ScopeMain } from '../scope.main.runtime';\n\nexport class ActionRoute implements Route {\n constructor(private scope: ScopeMain) {}\n\n method = 'post';\n route = '/scope/action';\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n req.setTimeout(this.scope.config.httpTimeOut);\n const authData = getAuthDataFromHeader(req.headers.authorization);\n const result = await action(this.scope.path, req.body.name, req.body.options, authData);\n // in case the result is empty, send `{}` to make it a valid json.\n res.json(result || {});\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,WAAN,CAAmC;EACxCC,WAAW,CAASC,KAAT,EAA2B;IAAA,KAAlBA,KAAkB,GAAlBA,KAAkB;IAAA,gDAE7B,MAF6B;IAAA,+CAG9B,eAH8B;IAAA,8CAI/BC,eAAA,CAAKC,KAJ0B;IAAA,qDAMxB,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;MACrCD,GAAG,CAACE,UAAJ,CAAe,KAAKL,KAAL,CAAWM,MAAX,CAAkBC,WAAjC;MACA,MAAMC,QAAQ,GAAG,IAAAC,6BAAA,EAAsBN,GAAG,CAACO,OAAJ,CAAYC,aAAlC,CAAjB;MACA,MAAMC,MAAM,GAAG,MAAM,IAAAC,gBAAA,EAAO,KAAKb,KAAL,CAAWc,IAAlB,EAAwBX,GAAG,CAACY,IAAJ,CAASC,IAAjC,EAAuCb,GAAG,CAACY,IAAJ,CAASE,OAAhD,EAAyDT,QAAzD,CAArB,CAHqC,CAIrC;;MACAJ,GAAG,CAACc,IAAJ,CAASN,MAAM,IAAI,EAAnB;IACD,CAPW,CANwB;EAAE;;AADA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["delete.route.ts"],"names":["DeleteRoute","constructor","scope","Verb","WRITE","req","res","headers","setTimeout","config","httpTimeOut","result","delete","ids","body","force","lanes","json"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,WAAN,CAAmC;AACxCC,EAAAA,WAAW,CAASC,KAAT,EAA2B;AAAA,SAAlBA,KAAkB,GAAlBA,KAAkB;AAAA,oDAE7B,MAF6B;AAAA,mDAG9B,eAH8B;AAAA,kDAI/BC,gBAAKC,KAJ0B;AAAA,yDAMxB,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;AACrC,YAAM;AAAEC,QAAAA;AAAF,UAAcF,GAApB;AACAA,MAAAA,GAAG,CAACG,UAAJ,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,WAAjC;AACA,YAAMC,MAAM,GAAG,MAAM,KAAKT,KAAL,CAAWU,MAAX,CACnB;AACEC,QAAAA,GAAG,EAAER,GAAG,CAACS,IAAJ,CAASD,GADhB;AAEEE,QAAAA,KAAK,EAAEV,GAAG,CAACS,IAAJ,CAASC,KAFlB;AAGEC,QAAAA,KAAK,EAAEX,GAAG,CAACS,IAAJ,CAASE;AAHlB,OADmB,EAMnBT,OANmB,CAArB;AAQAD,MAAAA,GAAG,CAACW,IAAJ,CAASN,MAAT;AACD,KAbW,CANwB;AAAE;;AADA","sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { ScopeMain } from '../scope.main.runtime';\n\nexport class DeleteRoute implements Route {\n constructor(private scope: ScopeMain) {}\n\n method = 'post';\n route = '/scope/delete';\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { headers } = req;\n req.setTimeout(this.scope.config.httpTimeOut);\n const result = await this.scope.delete(\n {\n ids: req.body.ids,\n force: req.body.force,\n lanes: req.body.lanes,\n },\n headers\n );\n res.json(result);\n },\n ];\n}\n"]}
1
+ {"version":3,"names":["DeleteRoute","constructor","scope","Verb","WRITE","req","res","headers","setTimeout","config","httpTimeOut","result","delete","ids","body","force","lanes","json"],"sources":["delete.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { ScopeMain } from '../scope.main.runtime';\n\nexport class DeleteRoute implements Route {\n constructor(private scope: ScopeMain) {}\n\n method = 'post';\n route = '/scope/delete';\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { headers } = req;\n req.setTimeout(this.scope.config.httpTimeOut);\n const result = await this.scope.delete(\n {\n ids: req.body.ids,\n force: req.body.force,\n lanes: req.body.lanes,\n },\n headers\n );\n res.json(result);\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,WAAN,CAAmC;EACxCC,WAAW,CAASC,KAAT,EAA2B;IAAA,KAAlBA,KAAkB,GAAlBA,KAAkB;IAAA,gDAE7B,MAF6B;IAAA,+CAG9B,eAH8B;IAAA,8CAI/BC,eAAA,CAAKC,KAJ0B;IAAA,qDAMxB,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;MACrC,MAAM;QAAEC;MAAF,IAAcF,GAApB;MACAA,GAAG,CAACG,UAAJ,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,WAAjC;MACA,MAAMC,MAAM,GAAG,MAAM,KAAKT,KAAL,CAAWU,MAAX,CACnB;QACEC,GAAG,EAAER,GAAG,CAACS,IAAJ,CAASD,GADhB;QAEEE,KAAK,EAAEV,GAAG,CAACS,IAAJ,CAASC,KAFlB;QAGEC,KAAK,EAAEX,GAAG,CAACS,IAAJ,CAASE;MAHlB,CADmB,EAMnBT,OANmB,CAArB;MAQAD,GAAG,CAACW,IAAJ,CAASN,MAAT;IACD,CAbW,CANwB;EAAE;;AADA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["fetch.route.ts"],"names":["FetchRoute","constructor","scope","logger","Verb","READ","req","res","setTimeout","config","httpTimeOut","preFetchHookP","preFetchObjects","values","map","fn","ids","body","fetchOptions","headers","Promise","all","catch","err","error","readable","path","pack","ObjectList","fromObjectStreamToTar","name","pipelinePromise","pipeline","info","aborted","warn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,UAAN,CAAkC;AACvCC,EAAAA,WAAW,CAASC,KAAT,EAAmCC,MAAnC,EAAmD;AAAA,SAA1CD,KAA0C,GAA1CA,KAA0C;AAAA,SAAhBC,MAAgB,GAAhBA,MAAgB;AAAA,mDAEtD,cAFsD;AAAA,oDAGrD,MAHqD;AAAA,kDAIvDC,gBAAKC,IAJkD;AAAA,yDAKhD,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;AACrCD,MAAAA,GAAG,CAACE,UAAJ,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,WAAjC;AACA,YAAMC,aAAa,GAAG,KAAKT,KAAL,CAAWU,eAAX,CACnBC,MADmB,GAEnBC,GAFmB,CAEdC,EAAD,IAAQA,EAAE,CAAC;AAAEC,QAAAA,GAAG,EAAEV,GAAG,CAACW,IAAJ,CAASD,GAAhB;AAAqBE,QAAAA,YAAY,EAAEZ,GAAG,CAACW,IAAJ,CAASC;AAA5C,OAAD,EAA6D;AAAEC,QAAAA,OAAO,EAAEb,GAAG,CAACa;AAAf,OAA7D,CAFK,CAAtB;AAIAC,MAAAA,OAAO,CAACC,GAAR,CAAYV,aAAZ,EAA2BW,KAA3B,CAAkCC,GAAD,IAAS;AACxC,aAAKpB,MAAL,CAAYqB,KAAZ,CAAkB,sFAAlB,EAA0GD,GAA1G;AACD,OAFD;AAIA,YAAME,QAAQ,GAAG,MAAM,oBAAM,KAAKvB,KAAL,CAAWwB,IAAjB,EAAuBpB,GAAG,CAACW,IAAJ,CAASD,GAAhC,EAAqCV,GAAG,CAACW,IAAJ,CAASC,YAA9C,CAAvB;;AACA,YAAMS,IAAI,GAAGC,yBAAWC,qBAAX,CAAiCJ,QAAjC,EAA2C,KAAKvB,KAAL,CAAW4B,IAAtD,CAAb;;AACA,YAAMC,eAAe,GAAG,uBAAUC,kBAAV,CAAxB;;AACA,UAAI;AACF,cAAMD,eAAe,CAACJ,IAAD,EAAOpB,GAAP,CAArB;AACA,aAAKJ,MAAL,CAAY8B,IAAZ,CAAiB,qEAAjB,EAAwF3B,GAAG,CAACa,OAA5F;AACD,OAHD,CAGE,OAAOI,GAAP,EAAiB;AACjB,YAAIjB,GAAG,CAAC4B,OAAR,EAAiB;AACf,eAAK/B,MAAL,CAAYgC,IAAZ,CAAiB,4CAAjB,EAA+DZ,GAA/D;AACD,SAFD,MAEO;AACL,eAAKpB,MAAL,CAAYqB,KAAZ,CACG;AACb,gGAFU,EAGED,GAHF;AAKD;AACF;AACF,KA5BW,CALgD;AAAE;;AADzB","sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { fetch } from '@teambit/legacy/dist/api/scope';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { Logger } from '@teambit/logger';\nimport { promisify } from 'util';\nimport { pipeline } from 'stream';\nimport { ScopeMain } from '../scope.main.runtime';\n\nexport class FetchRoute implements Route {\n constructor(private scope: ScopeMain, private logger: Logger) {}\n\n route = '/scope/fetch';\n method = 'post';\n verb = Verb.READ;\n middlewares = [\n async (req: Request, res: Response) => {\n req.setTimeout(this.scope.config.httpTimeOut);\n const preFetchHookP = this.scope.preFetchObjects\n .values()\n .map((fn) => fn({ ids: req.body.ids, fetchOptions: req.body.fetchOptions }, { headers: req.headers }));\n\n Promise.all(preFetchHookP).catch((err) => {\n this.logger.error('fatal: onPreFetchObjects encountered an error (this error does not stop the process)', err);\n });\n\n const readable = await fetch(this.scope.path, req.body.ids, req.body.fetchOptions);\n const pack = ObjectList.fromObjectStreamToTar(readable, this.scope.name);\n const pipelinePromise = promisify(pipeline);\n try {\n await pipelinePromise(pack, res);\n this.logger.info('fetch.router, the response has been sent successfully to the client', req.headers);\n } catch (err: any) {\n if (req.aborted) {\n this.logger.warn('FetchRoute, the client aborted the request', err);\n } else {\n this.logger.error(\n `FetchRoute encountered an error during the pipeline streaming, this should never happen.\n make sure the error is caught in fromObjectStreamToTar and it streamed using the name \"ERROR\"`,\n err\n );\n }\n }\n },\n ];\n}\n"]}
1
+ {"version":3,"names":["FetchRoute","constructor","scope","logger","Verb","READ","req","res","setTimeout","config","httpTimeOut","preFetchHookP","preFetchObjects","values","map","fn","ids","body","fetchOptions","headers","Promise","all","catch","err","error","readable","fetch","path","pack","ObjectList","fromObjectStreamToTar","name","pipelinePromise","promisify","pipeline","info","aborted","warn"],"sources":["fetch.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { fetch } from '@teambit/legacy/dist/api/scope';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { Logger } from '@teambit/logger';\nimport { promisify } from 'util';\nimport { pipeline } from 'stream';\nimport { ScopeMain } from '../scope.main.runtime';\n\nexport class FetchRoute implements Route {\n constructor(private scope: ScopeMain, private logger: Logger) {}\n\n route = '/scope/fetch';\n method = 'post';\n verb = Verb.READ;\n middlewares = [\n async (req: Request, res: Response) => {\n req.setTimeout(this.scope.config.httpTimeOut);\n const preFetchHookP = this.scope.preFetchObjects\n .values()\n .map((fn) => fn({ ids: req.body.ids, fetchOptions: req.body.fetchOptions }, { headers: req.headers }));\n\n Promise.all(preFetchHookP).catch((err) => {\n this.logger.error('fatal: onPreFetchObjects encountered an error (this error does not stop the process)', err);\n });\n\n const readable = await fetch(this.scope.path, req.body.ids, req.body.fetchOptions);\n const pack = ObjectList.fromObjectStreamToTar(readable, this.scope.name);\n const pipelinePromise = promisify(pipeline);\n try {\n await pipelinePromise(pack, res);\n this.logger.info('fetch.router, the response has been sent successfully to the client', req.headers);\n } catch (err: any) {\n if (req.aborted) {\n this.logger.warn('FetchRoute, the client aborted the request', err);\n } else {\n this.logger.error(\n `FetchRoute encountered an error during the pipeline streaming, this should never happen.\n make sure the error is caught in fromObjectStreamToTar and it streamed using the name \"ERROR\"`,\n err\n );\n }\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,UAAN,CAAkC;EACvCC,WAAW,CAASC,KAAT,EAAmCC,MAAnC,EAAmD;IAAA,KAA1CD,KAA0C,GAA1CA,KAA0C;IAAA,KAAhBC,MAAgB,GAAhBA,MAAgB;IAAA,+CAEtD,cAFsD;IAAA,gDAGrD,MAHqD;IAAA,8CAIvDC,eAAA,CAAKC,IAJkD;IAAA,qDAKhD,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;MACrCD,GAAG,CAACE,UAAJ,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,WAAjC;MACA,MAAMC,aAAa,GAAG,KAAKT,KAAL,CAAWU,eAAX,CACnBC,MADmB,GAEnBC,GAFmB,CAEdC,EAAD,IAAQA,EAAE,CAAC;QAAEC,GAAG,EAAEV,GAAG,CAACW,IAAJ,CAASD,GAAhB;QAAqBE,YAAY,EAAEZ,GAAG,CAACW,IAAJ,CAASC;MAA5C,CAAD,EAA6D;QAAEC,OAAO,EAAEb,GAAG,CAACa;MAAf,CAA7D,CAFK,CAAtB;MAIAC,OAAO,CAACC,GAAR,CAAYV,aAAZ,EAA2BW,KAA3B,CAAkCC,GAAD,IAAS;QACxC,KAAKpB,MAAL,CAAYqB,KAAZ,CAAkB,sFAAlB,EAA0GD,GAA1G;MACD,CAFD;MAIA,MAAME,QAAQ,GAAG,MAAM,IAAAC,cAAA,EAAM,KAAKxB,KAAL,CAAWyB,IAAjB,EAAuBrB,GAAG,CAACW,IAAJ,CAASD,GAAhC,EAAqCV,GAAG,CAACW,IAAJ,CAASC,YAA9C,CAAvB;;MACA,MAAMU,IAAI,GAAGC,wBAAA,CAAWC,qBAAX,CAAiCL,QAAjC,EAA2C,KAAKvB,KAAL,CAAW6B,IAAtD,CAAb;;MACA,MAAMC,eAAe,GAAG,IAAAC,iBAAA,EAAUC,kBAAV,CAAxB;;MACA,IAAI;QACF,MAAMF,eAAe,CAACJ,IAAD,EAAOrB,GAAP,CAArB;QACA,KAAKJ,MAAL,CAAYgC,IAAZ,CAAiB,qEAAjB,EAAwF7B,GAAG,CAACa,OAA5F;MACD,CAHD,CAGE,OAAOI,GAAP,EAAiB;QACjB,IAAIjB,GAAG,CAAC8B,OAAR,EAAiB;UACf,KAAKjC,MAAL,CAAYkC,IAAZ,CAAiB,4CAAjB,EAA+Dd,GAA/D;QACD,CAFD,MAEO;UACL,KAAKpB,MAAL,CAAYqB,KAAZ,CACG;AACb,gGAFU,EAGED,GAHF;QAKD;MACF;IACF,CA5BW,CALgD;EAAE;;AADzB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["export { FetchRoute } from './fetch.route';\nexport { PutRoute } from './put.route';\nexport { ActionRoute } from './action.route';\nexport { DeleteRoute } from './delete.route';\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { FetchRoute } from './fetch.route';\nexport { PutRoute } from './put.route';\nexport { ActionRoute } from './action.route';\nexport { DeleteRoute } from './delete.route';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["put.route.ts"],"names":["PutRoute","constructor","scope","postPutSlot","Verb","WRITE","req","res","setTimeout","config","httpTimeOut","pushOptionsStr","headers","Error","pushOptions","JSON","parse","objectList","ObjectList","fromTar","ids","path","Promise","all","map","id","resolveComponentId","json"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,QAAN,CAAgC;AACrCC,EAAAA,WAAW,CAASC,KAAT,EAAmCC,WAAnC,EAA+D;AAAA,SAAtDD,KAAsD,GAAtDA,KAAsD;AAAA,SAA5BC,WAA4B,GAA5BA,WAA4B;AAAA,oDAEjE,MAFiE;AAAA,mDAGlE,YAHkE;AAAA,kDAInEC,gBAAKC,KAJ8D;AAAA,yDAM5D,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;AACrCD,MAAAA,GAAG,CAACE,UAAJ,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,WAAjC;AACA,YAAMC,cAAc,GAAGL,GAAG,CAACM,OAAJ,CAAY,cAAZ,CAAvB;AACA,UAAI,CAACD,cAAL,EAAqB,MAAM,IAAIE,KAAJ,CAAU,yCAAV,CAAN;AACrB,YAAMC,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWL,cAAX,CAApB;AACA,YAAMM,UAAU,GAAG,MAAMC,yBAAWC,OAAX,CAAmBb,GAAnB,CAAzB;AACA,YAAMc,GAAG,GAAG,MAAM,kBAChB;AACEC,QAAAA,IAAI,EAAE,KAAKnB,KAAL,CAAWmB,IADnB;AAEEJ,QAAAA;AAFF,OADgB,EAKhBH,WALgB,CAAlB;AAQA,YAAMQ,OAAO,CAACC,GAAR,CACJH,GAAG,CAACI,GAAJ,CAASC,EAAD,IAAQ;AACd,eAAO,KAAKvB,KAAL,CAAWwB,kBAAX,CAA8BD,EAA9B,CAAP;AACD,OAFD,CADI,CAAN;AAMAlB,MAAAA,GAAG,CAACoB,IAAJ,CAASP,GAAT;AACD,KAtBW,CAN4D;AAAE;;AADvC","sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { put } from '@teambit/legacy/dist/api/scope';\nimport { OnPostPutSlot, ScopeMain } from '../scope.main.runtime';\n\nexport class PutRoute implements Route {\n constructor(private scope: ScopeMain, private postPutSlot: OnPostPutSlot) {}\n\n method = 'post';\n route = '/scope/put';\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n req.setTimeout(this.scope.config.httpTimeOut);\n const pushOptionsStr = req.headers['push-options'];\n if (!pushOptionsStr) throw new Error('http is missing the push-options header');\n const pushOptions = JSON.parse(pushOptionsStr as string);\n const objectList = await ObjectList.fromTar(req);\n const ids = await put(\n {\n path: this.scope.path,\n objectList,\n },\n pushOptions\n );\n\n await Promise.all(\n ids.map((id) => {\n return this.scope.resolveComponentId(id);\n })\n );\n\n res.json(ids);\n },\n ];\n}\n"]}
1
+ {"version":3,"names":["PutRoute","constructor","scope","postPutSlot","Verb","WRITE","req","res","setTimeout","config","httpTimeOut","pushOptionsStr","headers","Error","pushOptions","JSON","parse","objectList","ObjectList","fromTar","ids","put","path","Promise","all","map","id","resolveComponentId","json"],"sources":["put.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { put } from '@teambit/legacy/dist/api/scope';\nimport { OnPostPutSlot, ScopeMain } from '../scope.main.runtime';\n\nexport class PutRoute implements Route {\n constructor(private scope: ScopeMain, private postPutSlot: OnPostPutSlot) {}\n\n method = 'post';\n route = '/scope/put';\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n req.setTimeout(this.scope.config.httpTimeOut);\n const pushOptionsStr = req.headers['push-options'];\n if (!pushOptionsStr) throw new Error('http is missing the push-options header');\n const pushOptions = JSON.parse(pushOptionsStr as string);\n const objectList = await ObjectList.fromTar(req);\n const ids = await put(\n {\n path: this.scope.path,\n objectList,\n },\n pushOptions\n );\n\n await Promise.all(\n ids.map((id) => {\n return this.scope.resolveComponentId(id);\n })\n );\n\n res.json(ids);\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,QAAN,CAAgC;EACrCC,WAAW,CAASC,KAAT,EAAmCC,WAAnC,EAA+D;IAAA,KAAtDD,KAAsD,GAAtDA,KAAsD;IAAA,KAA5BC,WAA4B,GAA5BA,WAA4B;IAAA,gDAEjE,MAFiE;IAAA,+CAGlE,YAHkE;IAAA,8CAInEC,eAAA,CAAKC,KAJ8D;IAAA,qDAM5D,CACZ,OAAOC,GAAP,EAAqBC,GAArB,KAAuC;MACrCD,GAAG,CAACE,UAAJ,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,WAAjC;MACA,MAAMC,cAAc,GAAGL,GAAG,CAACM,OAAJ,CAAY,cAAZ,CAAvB;MACA,IAAI,CAACD,cAAL,EAAqB,MAAM,IAAIE,KAAJ,CAAU,yCAAV,CAAN;MACrB,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWL,cAAX,CAApB;MACA,MAAMM,UAAU,GAAG,MAAMC,wBAAA,CAAWC,OAAX,CAAmBb,GAAnB,CAAzB;MACA,MAAMc,GAAG,GAAG,MAAM,IAAAC,YAAA,EAChB;QACEC,IAAI,EAAE,KAAKpB,KAAL,CAAWoB,IADnB;QAEEL;MAFF,CADgB,EAKhBH,WALgB,CAAlB;MAQA,MAAMS,OAAO,CAACC,GAAR,CACJJ,GAAG,CAACK,GAAJ,CAASC,EAAD,IAAQ;QACd,OAAO,KAAKxB,KAAL,CAAWyB,kBAAX,CAA8BD,EAA9B,CAAP;MACD,CAFD,CADI,CAAN;MAMAnB,GAAG,CAACqB,IAAJ,CAASR,GAAT;IACD,CAtBW,CAN4D;EAAE;;AADvC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope-cmd.ts"],"names":["ScopeCmd","report","unrecognizedSubcommand","chalk","red"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,QAAN,CAAkC;AAAA;AAAA,kDAChC,qBADgC;AAAA,mDAE/B,EAF+B;AAAA,yDAGzB,iCAHyB;AAAA,qDAI7B,EAJ6B;AAAA,mDAK/B,aAL+B;AAAA,sDAMjB,EANiB;AAAA;;AAQ3B,QAANC,MAAM,CAAC,CAACC,sBAAD,CAAD,EAAqC;AAC/C,WAAOC,iBAAMC,GAAN,CACJ,IAAGF,sBAAuB,yFADtB,CAAP;AAGD;;AAZsC","sourcesContent":["import { Command } from '@teambit/cli';\nimport chalk from 'chalk';\n\nexport class ScopeCmd implements Command {\n name = 'scope <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. manage scope-name';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"scope\", please run \"bit scope --help\" to list the subcommands`\n );\n }\n}\n"]}
1
+ {"version":3,"names":["ScopeCmd","report","unrecognizedSubcommand","chalk","red"],"sources":["scope-cmd.ts"],"sourcesContent":["import { Command } from '@teambit/cli';\nimport chalk from 'chalk';\n\nexport class ScopeCmd implements Command {\n name = 'scope <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. manage scope-name';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"scope\", please run \"bit scope --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,QAAN,CAAkC;EAAA;IAAA,8CAChC,qBADgC;IAAA,+CAE/B,EAF+B;IAAA,qDAGzB,iCAHyB;IAAA,iDAI7B,EAJ6B;IAAA,+CAK/B,aAL+B;IAAA,kDAMjB,EANiB;EAAA;;EAQ3B,MAANC,MAAM,CAAC,CAACC,sBAAD,CAAD,EAAqC;IAC/C,OAAOC,gBAAA,CAAMC,GAAN,CACJ,IAAGF,sBAAuB,yFADtB,CAAP;EAGD;;AAZsC"}
@@ -14,6 +14,10 @@ export declare class ScopeComponentLoader {
14
14
  * get a component from a remote without importing it
15
15
  */
16
16
  getRemoteComponent(id: ComponentID): Promise<Component>;
17
+ /**
18
+ * get components from a remote without importing it
19
+ */
20
+ getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]>;
17
21
  getState(id: ComponentID, hash: string): Promise<State>;
18
22
  getSnap(id: ComponentID, hash: string): Promise<Snap>;
19
23
  clearCache(): void;
@@ -29,6 +29,16 @@ function _component() {
29
29
  return data;
30
30
  }
31
31
 
32
+ function _pMapSeries() {
33
+ const data = _interopRequireDefault(require("p-map-series"));
34
+
35
+ _pMapSeries = function () {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
32
42
  function _semver() {
33
43
  const data = require("semver");
34
44
 
@@ -165,6 +175,23 @@ class ScopeComponentLoader {
165
175
  const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);
166
176
  return this.getFromConsumerComponent(consumerComponent);
167
177
  }
178
+ /**
179
+ * get components from a remote without importing it
180
+ */
181
+
182
+
183
+ async getManyRemoteComponents(ids) {
184
+ const compImport = new (_scopeComponentsImporter().default)(this.scope.legacyScope);
185
+ const legacyIds = ids.map(id => id._legacy);
186
+ const objectList = await compImport.getManyRemoteComponents(legacyIds); // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks
187
+ // for the consumerComponent from the legacyScope, it won't work.
188
+
189
+ objectList === null || objectList === void 0 ? void 0 : objectList.getAll().forEach(obj => this.scope.legacyScope.objects.setCache(obj));
190
+ return (0, _pMapSeries().default)(legacyIds, async legacyId => {
191
+ const consumerComponent = await this.scope.legacyScope.getConsumerComponent(legacyId);
192
+ return this.getFromConsumerComponent(consumerComponent);
193
+ });
194
+ }
168
195
 
169
196
  async getState(id, hash) {
170
197
  const version = await this.scope.legacyScope.objects.load(new (_objects().Ref)(hash));
@@ -1 +1 @@
1
- {"version":3,"sources":["scope-component-loader.ts"],"names":["ScopeComponentLoader","constructor","scope","logger","componentsCache","maxSize","importedComponentsCache","maxAge","get","id","importIfMissing","fromCache","getFromCache","idStr","toString","debug","legacyId","_legacy","modelComponent","legacyScope","getModelComponentIfExist","hasScope","import","BitIds","fromArray","set","changeScope","name","undefined","versionStr","version","latest","newId","changeVersion","loadVersion","objects","snap","getHeadSnap","state","createStateFromVersion","tagMap","getTagMap","component","Component","getFromConsumerComponent","consumerComponent","getModelComponent","resolveComponentId","pendingVersion","getRemoteComponent","compImport","ScopeComponentsImporter","objectList","getAll","forEach","obj","setCache","getConsumerComponent","getState","hash","load","Ref","getSnap","getVersionObject","err","code","errMsg","error","Error","createSnapFromVersion","clearCache","deleteAll","isEqual","TagMap","allVersions","versionsIncludeOrphaned","Object","keys","tag","Tag","SemVer","head","getHeadRegardlessOfLane","Snap","Date","parseInt","log","date","parents","map","p","displayName","username","email","message","State","Config","mainFile","extensions","componentExtension","createAspectListFromLegacy","ComponentFS","fromVinyls","files","dependencies"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,oBAAN,CAA2B;AACmB;AAEnDC,EAAAA,WAAW,CAASC,KAAT,EAAmCC,MAAnC,EAAmD;AAAA,SAA1CD,KAA0C,GAA1CA,KAA0C;AAAA,SAAhBC,MAAgB,GAAhBA,MAAgB;AAAA;AAAA;AAC5D,SAAKC,eAAL,GAAuB,yCAAoB;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAApB,CAAvB;AACA,SAAKC,uBAAL,GAA+B,yCAAoB;AAAEC,MAAAA,MAAM,EAAE,OAAO,EAAP,GAAY;AAAtB,KAApB,CAA/B,CAF4D,CAEoB;AACjF;;AAEQ,QAAHC,GAAG,CAACC,EAAD,EAAkBC,eAAe,GAAG,IAApC,EAA0E;AACjF,UAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBH,EAAlB,CAAlB;;AACA,QAAIE,SAAJ,EAAe;AACb,aAAOA,SAAP;AACD;;AACD,UAAME,KAAK,GAAGJ,EAAE,CAACK,QAAH,EAAd;AACA,SAAKX,MAAL,CAAYY,KAAZ,CAAmB,qCAAoCF,KAAM,EAA7D;AACA,UAAMG,QAAQ,GAAGP,EAAE,CAACQ,OAApB;AACA,QAAIC,cAAc,GAAG,MAAM,KAAKhB,KAAL,CAAWiB,WAAX,CAAuBC,wBAAvB,CAAgDX,EAAE,CAACQ,OAAnD,CAA3B,CARiF,CASjF;;AACA,QACE,CAACC,cAAD,IACAR,eADA,IAEAD,EAAE,CAACQ,OAAH,CAAWI,QAAX,EAFA,IAGA,CAAC,KAAKf,uBAAL,CAA6BE,GAA7B,CAAiCC,EAAE,CAACK,QAAH,EAAjC,CAJH,EAKE;AACA,YAAM,KAAKZ,KAAL,CAAWiB,WAAX,CAAuBG,MAAvB,CAA8BC,gBAAOC,SAAP,CAAiB,CAACf,EAAE,CAACQ,OAAJ,CAAjB,CAA9B,CAAN;AACA,WAAKX,uBAAL,CAA6BmB,GAA7B,CAAiChB,EAAE,CAACK,QAAH,EAAjC,EAAgD,IAAhD;AACAI,MAAAA,cAAc,GAAG,MAAM,KAAKhB,KAAL,CAAWiB,WAAX,CAAuBC,wBAAvB,CAAgDX,EAAE,CAACQ,OAAnD,CAAvB;AACD,KAnBgF,CAoBjF;;;AACA,QAAI,CAACC,cAAD,IAAmB,CAACF,QAAQ,CAACd,KAAjC,EAAwC;AACtCO,MAAAA,EAAE,GAAGA,EAAE,CAACiB,WAAH,CAAe,KAAKxB,KAAL,CAAWyB,IAA1B,CAAL;AACAT,MAAAA,cAAc,GAAG,MAAM,KAAKhB,KAAL,CAAWiB,WAAX,CAAuBC,wBAAvB,CAAgDX,EAAE,CAACQ,OAAnD,CAAvB;AACD;;AACD,QAAI,CAACC,cAAL,EAAqB,OAAOU,SAAP;AAErB,UAAMC,UAAU,GAAGpB,EAAE,CAACqB,OAAH,IAAcrB,EAAE,CAACqB,OAAH,KAAe,QAA7B,GAAwCrB,EAAE,CAACqB,OAA3C,GAAqDZ,cAAc,CAACa,MAAf,EAAxE;AACA,UAAMC,KAAK,GAAGvB,EAAE,CAACwB,aAAH,CAAiBJ,UAAjB,CAAd;AACA,UAAMC,OAAO,GAAG,MAAMZ,cAAc,CAACgB,WAAf,CAA2BL,UAA3B,EAAuC,KAAK3B,KAAL,CAAWiB,WAAX,CAAuBgB,OAA9D,CAAtB;AACA,UAAMC,IAAI,GAAG,MAAM,KAAKC,WAAL,CAAiBnB,cAAjB,CAAnB;AACA,UAAMoB,KAAK,GAAG,MAAM,KAAKC,sBAAL,CAA4B9B,EAA5B,EAAgCqB,OAAhC,CAApB;AACA,UAAMU,MAAM,GAAG,KAAKC,SAAL,CAAevB,cAAf,CAAf;AAEA,UAAMwB,SAAS,GAAG,KAAIC,sBAAJ,EAAcX,KAAd,EAAqBI,IAArB,EAA2BE,KAA3B,EAAkCE,MAAlC,EAA0C,KAAKtC,KAA/C,CAAlB;AACA,SAAKE,eAAL,CAAqBqB,GAArB,CAAyBZ,KAAzB,EAAgC6B,SAAhC;AACA,WAAOA,SAAP;AACD;;AAE6B,QAAxBE,wBAAwB,CAACC,iBAAD,EAA2D;AACvF,UAAM7B,QAAQ,GAAG6B,iBAAiB,CAACpC,EAAnC;AACA,UAAMS,cAAc,GAAG,MAAM,KAAKhB,KAAL,CAAWiB,WAAX,CAAuB2B,iBAAvB,CAAyC9B,QAAzC,CAA7B,CAFuF,CAGvF;;AACA,UAAMP,EAAE,GAAG,MAAM,KAAKP,KAAL,CAAW6C,kBAAX,CAA8B/B,QAA9B,CAAjB;AACA,UAAMc,OAAO,GACXe,iBAAiB,CAACG,cAAlB,KACC,MAAM9B,cAAc,CAACgB,WAAf,CAA2BlB,QAAQ,CAACc,OAApC,EAAuD,KAAK5B,KAAL,CAAWiB,WAAX,CAAuBgB,OAA9E,CADP,CADF;AAGA,UAAMC,IAAI,GAAG,MAAM,KAAKC,WAAL,CAAiBnB,cAAjB,CAAnB;AACA,UAAMoB,KAAK,GAAG,MAAM,KAAKC,sBAAL,CAA4B9B,EAA5B,EAAgCqB,OAAhC,CAApB;AACA,UAAMU,MAAM,GAAG,KAAKC,SAAL,CAAevB,cAAf,CAAf;AAEA,WAAO,KAAIyB,sBAAJ,EAAclC,EAAd,EAAkB2B,IAAlB,EAAwBE,KAAxB,EAA+BE,MAA/B,EAAuC,KAAKtC,KAA5C,CAAP;AACD;AAED;AACF;AACA;;;AAC0B,QAAlB+C,kBAAkB,CAACxC,EAAD,EAAsC;AAC5D,UAAMyC,UAAU,GAAG,KAAIC,kCAAJ,EAA4B,KAAKjD,KAAL,CAAWiB,WAAvC,CAAnB;AACA,UAAMiC,UAAU,GAAG,MAAMF,UAAU,CAACD,kBAAX,CAA8BxC,EAAE,CAACQ,OAAjC,CAAzB,CAF4D,CAG5D;AACA;;AACAmC,IAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEC,MAAZ,GAAqBC,OAArB,CAA8BC,GAAD,IAAS,KAAKrD,KAAL,CAAWiB,WAAX,CAAuBgB,OAAvB,CAA+BqB,QAA/B,CAAwCD,GAAxC,CAAtC;AACA,UAAMV,iBAAiB,GAAG,MAAM,KAAK3C,KAAL,CAAWiB,WAAX,CAAuBsC,oBAAvB,CAA4ChD,EAAE,CAACQ,OAA/C,CAAhC;AACA,WAAO,KAAK2B,wBAAL,CAA8BC,iBAA9B,CAAP;AACD;;AAEa,QAARa,QAAQ,CAACjD,EAAD,EAAkBkD,IAAlB,EAAgD;AAC5D,UAAM7B,OAAO,GAAI,MAAM,KAAK5B,KAAL,CAAWiB,WAAX,CAAuBgB,OAAvB,CAA+ByB,IAA/B,CAAoC,KAAIC,cAAJ,EAAQF,IAAR,CAApC,CAAvB;AACA,WAAO,KAAKpB,sBAAL,CAA4B9B,EAA5B,EAAgCqB,OAAhC,CAAP;AACD;;AAEY,QAAPgC,OAAO,CAACrD,EAAD,EAAkBkD,IAAlB,EAA+C;AAC1D,UAAMI,gBAAgB,GAAG,YAA8B;AACrD,UAAI;AACF,cAAM3B,IAAI,GAAG,MAAM,KAAKlC,KAAL,CAAWiB,WAAX,CAAuBgB,OAAvB,CAA+ByB,IAA/B,CAAoC,KAAIC,cAAJ,EAAQF,IAAR,CAApC,EAAmD,IAAnD,CAAnB;AACA,eAAOvB,IAAP;AACD,OAHD,CAGE,OAAO4B,GAAP,EAAiB;AACjB,YAAIA,GAAG,CAACC,IAAJ,KAAa,QAAjB,EAA2B;AACzB,gBAAMC,MAAM,GAAI,gBAAeP,IAAK,yBAAwBlD,EAAE,CAACK,QAAH,EAAc,mCAA1E;AACA,eAAKX,MAAL,CAAYgE,KAAZ,CAAkBD,MAAlB,EAA0BF,GAA1B;AACA,gBAAM,IAAII,KAAJ,CAAUF,MAAV,CAAN;AACD,SAJD,MAIO;AACL,gBAAMF,GAAN;AACD;AACF;AACF,KAbD;;AAcA,UAAMlC,OAAO,GAAG,MAAMiC,gBAAgB,EAAtC;AACA,WAAO,KAAKM,qBAAL,CAA2BvC,OAA3B,CAAP;AACD;;AAEDwC,EAAAA,UAAU,GAAG;AACX,SAAKlE,eAAL,CAAqBmE,SAArB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;;;AACU3D,EAAAA,YAAY,CAACH,EAAD,EAAyC;AAC3D,UAAMI,KAAK,GAAGJ,EAAE,CAACK,QAAH,EAAd;AACA,UAAMH,SAAS,GAAG,KAAKP,eAAL,CAAqBI,GAArB,CAAyBK,KAAzB,CAAlB;;AACA,QAAIF,SAAS,IAAIA,SAAS,CAACF,EAAV,CAAaQ,OAAb,CAAqBuD,OAArB,CAA6B/D,EAAE,CAACQ,OAAhC,CAAjB,EAA2D;AACzD,aAAON,SAAP;AACD;;AACD,WAAOiB,SAAP;AACD;;AAEOa,EAAAA,SAAS,CAACvB,cAAD,EAAyC;AACxD,UAAMsB,MAAM,GAAG,KAAIiC,mBAAJ,GAAf;AACA,UAAMC,WAAW,GAAGxD,cAAc,CAACyD,uBAAnC;AACAC,IAAAA,MAAM,CAACC,IAAP,CAAYH,WAAZ,EAAyBpB,OAAzB,CAAkCzB,UAAD,IAAwB;AACvD,YAAMiD,GAAG,GAAG,KAAIC,gBAAJ,EAAQL,WAAW,CAAC7C,UAAD,CAAX,CAAwBf,QAAxB,EAAR,EAA4C,KAAIkE,gBAAJ,EAAWnD,UAAX,CAA5C,CAAZ;AACAW,MAAAA,MAAM,CAACf,GAAP,CAAWqD,GAAG,CAAChD,OAAf,EAAwBgD,GAAxB;AACD,KAHD;AAIA,WAAOtC,MAAP;AACD;;AAEwB,QAAXH,WAAW,CAACnB,cAAD,EAAuD;AAC9E,UAAM+D,IAAI,GAAG/D,cAAc,CAACgE,uBAAf,EAAb;;AACA,QAAI,CAACD,IAAL,EAAW;AACT;AACA,aAAO,IAAP;AACD;;AACD,UAAMnD,OAAO,GAAG,MAAMZ,cAAc,CAACgB,WAAf,CAA2B+C,IAAI,CAACnE,QAAL,EAA3B,EAA4C,KAAKZ,KAAL,CAAWiB,WAAX,CAAuBgB,OAAnE,EAA4E,KAA5E,CAAtB;;AACA,QAAI,CAACL,OAAL,EAAc;AACZ;AACA,aAAO,IAAP;AACD;;AACD,WAAO,KAAKuC,qBAAL,CAA2BvC,OAA3B,CAAP;AACD;;AAEOuC,EAAAA,qBAAqB,CAACvC,OAAD,EAAyB;AACpD,WAAO,KAAIqD,iBAAJ,EACLrD,OAAO,CAAC6B,IAAR,GAAe7C,QAAf,EADK,EAEL,IAAIsE,IAAJ,CAASC,QAAQ,CAACvD,OAAO,CAACwD,GAAR,CAAYC,IAAb,CAAjB,CAFK,EAGLzD,OAAO,CAAC0D,OAAR,CAAgBC,GAAhB,CAAqBC,CAAD,IAAOA,CAAC,CAAC5E,QAAF,EAA3B,CAHK,EAIL;AACE6E,MAAAA,WAAW,EAAE7D,OAAO,CAACwD,GAAR,CAAYM,QAAZ,IAAwB,SADvC;AAEEC,MAAAA,KAAK,EAAE/D,OAAO,CAACwD,GAAR,CAAYO,KAAZ,IAAqB;AAF9B,KAJK,EAQL/D,OAAO,CAACwD,GAAR,CAAYQ,OARP,CAAP;AAUD;;AAEmC,QAAtBvD,sBAAsB,CAAC9B,EAAD,EAAkBqB,OAAlB,EAAoD;AACtF,UAAMe,iBAAiB,GAAG,MAAM,KAAK3C,KAAL,CAAWiB,WAAX,CAAuBsC,oBAAvB,CAA4ChD,EAAE,CAACQ,OAA/C,CAAhC;AACA,UAAMqB,KAAK,GAAG,KAAIyD,kBAAJ,GACZ;AACA;AACA,SAAIC,mBAAJ,EAAWlE,OAAO,CAACmE,QAAnB,EAA6BpD,iBAAiB,CAACqD,UAA/C,CAHY,EAIZ;AACA;AACA,SAAKhG,KAAL,CAAWiG,kBAAX,CAA8BC,0BAA9B,CAAyDvD,iBAAiB,CAACqD,UAA3E,EAAuF,KAAKhG,KAAL,CAAWyB,IAAlG,CANY,EAOZ0E,yBAAYC,UAAZ,CAAuBzD,iBAAiB,CAAC0D,KAAzC,CAPY,EAQZzE,OAAO,CAAC0E,YARI,EASZ3D,iBATY,CAAd;AAWA,WAAOP,KAAP;AACD;;AA1K+B","sourcesContent":["import { Component, ComponentFS, ComponentID, Config, Snap, State, Tag, TagMap } from '@teambit/component';\nimport { Logger } from '@teambit/logger';\nimport { SemVer } from 'semver';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport { ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { getMaxSizeForComponents, InMemoryCache } from '@teambit/legacy/dist/cache/in-memory-cache';\nimport { createInMemoryCache } from '@teambit/legacy/dist/cache/cache-factory';\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeComponentLoader {\n private componentsCache: InMemoryCache<Component>; // cache loaded components\n private importedComponentsCache: InMemoryCache<boolean>;\n constructor(private scope: ScopeMain, private logger: Logger) {\n this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });\n this.importedComponentsCache = createInMemoryCache({ maxAge: 1000 * 60 * 30 }); // 30 min\n }\n\n async get(id: ComponentID, importIfMissing = true): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache) {\n return fromCache;\n }\n const idStr = id.toString();\n this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id._legacy;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n // import if missing\n if (\n !modelComponent &&\n importIfMissing &&\n id._legacy.hasScope() &&\n !this.importedComponentsCache.get(id.toString())\n ) {\n await this.scope.legacyScope.import(BitIds.fromArray([id._legacy]));\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n }\n // Search with scope name for bare scopes\n if (!modelComponent && !legacyId.scope) {\n id = id.changeScope(this.scope.name);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n }\n if (!modelComponent) return undefined;\n\n const versionStr = id.version && id.version !== 'latest' ? id.version : modelComponent.latest();\n const newId = id.changeVersion(versionStr);\n const version = await modelComponent.loadVersion(versionStr, this.scope.legacyScope.objects);\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version);\n const tagMap = this.getTagMap(modelComponent);\n\n const component = new Component(newId, snap, state, tagMap, this.scope);\n this.componentsCache.set(idStr, component);\n return component;\n }\n\n async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n const legacyId = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(legacyId);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const id = await this.scope.resolveComponentId(legacyId);\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(legacyId.version as string, this.scope.legacyScope.objects));\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version);\n const tagMap = this.getTagMap(modelComponent);\n\n return new Component(id, snap, state, tagMap, this.scope);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getRemoteComponent(id: ComponentID): Promise<Component> {\n const compImport = new ScopeComponentsImporter(this.scope.legacyScope);\n const objectList = await compImport.getRemoteComponent(id._legacy);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\n return this.getFromConsumerComponent(consumerComponent);\n }\n\n async getState(id: ComponentID, hash: string): Promise<State> {\n const version = (await this.scope.legacyScope.objects.load(new Ref(hash))) as Version;\n return this.createStateFromVersion(id, version);\n }\n\n async getSnap(id: ComponentID, hash: string): Promise<Snap> {\n const getVersionObject = async (): Promise<Version> => {\n try {\n const snap = await this.scope.legacyScope.objects.load(new Ref(hash), true);\n return snap as Version;\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n const errMsg = `fatal: snap \"${hash}\" file for component \"${id.toString()}\" was not found in the filesystem`;\n this.logger.error(errMsg, err);\n throw new Error(errMsg);\n } else {\n throw err;\n }\n }\n };\n const version = await getVersionObject();\n return this.createSnapFromVersion(version);\n }\n\n clearCache() {\n this.componentsCache.deleteAll();\n }\n\n /**\n * make sure that not only the id-str match, but also the legacy-id.\n * this is needed because the ComponentID.toString() is the same whether or not the legacy-id has\n * scope-name, as it includes the defaultScope if the scope is empty.\n * as a result, when out-of-sync is happening and the id is changed to include scope-name in the\n * legacy-id, the component is the cache has the old id.\n */\n private getFromCache(id: ComponentID): Component | undefined {\n const idStr = id.toString();\n const fromCache = this.componentsCache.get(idStr);\n if (fromCache && fromCache.id._legacy.isEqual(id._legacy)) {\n return fromCache;\n }\n return undefined;\n }\n\n private getTagMap(modelComponent: ModelComponent): TagMap {\n const tagMap = new TagMap();\n const allVersions = modelComponent.versionsIncludeOrphaned;\n Object.keys(allVersions).forEach((versionStr: string) => {\n const tag = new Tag(allVersions[versionStr].toString(), new SemVer(versionStr));\n tagMap.set(tag.version, tag);\n });\n return tagMap;\n }\n\n private async getHeadSnap(modelComponent: ModelComponent): Promise<Snap | null> {\n const head = modelComponent.getHeadRegardlessOfLane();\n if (!head) {\n // happens for example when on main and merging a lane.\n return null;\n }\n const version = await modelComponent.loadVersion(head.toString(), this.scope.legacyScope.objects, false);\n if (!version) {\n // might happen when the component is just a dependency and a previous version was needed.\n return null;\n }\n return this.createSnapFromVersion(version);\n }\n\n private createSnapFromVersion(version: Version): Snap {\n return new Snap(\n version.hash().toString(),\n new Date(parseInt(version.log.date)),\n version.parents.map((p) => p.toString()),\n {\n displayName: version.log.username || 'unknown',\n email: version.log.email || 'unknown@anywhere',\n },\n version.log.message\n );\n }\n\n private async createStateFromVersion(id: ComponentID, version: Version): Promise<State> {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\n const state = new State(\n // We use here the consumerComponent.extensions instead of version.extensions\n // because as part of the conversion to consumer component the artifacts are initialized as Artifact instances\n new Config(version.mainFile, consumerComponent.extensions),\n // todo: see the comment of this \"createAspectListFromLegacy\" method. the aspect ids may be incorrect.\n // find a better way to get the ids correctly.\n this.scope.componentExtension.createAspectListFromLegacy(consumerComponent.extensions, this.scope.name),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"]}
1
+ {"version":3,"names":["ScopeComponentLoader","constructor","scope","logger","componentsCache","createInMemoryCache","maxSize","getMaxSizeForComponents","importedComponentsCache","maxAge","get","id","importIfMissing","fromCache","getFromCache","idStr","toString","debug","legacyId","_legacy","modelComponent","legacyScope","getModelComponentIfExist","hasScope","import","BitIds","fromArray","set","changeScope","name","undefined","versionStr","version","latest","newId","changeVersion","loadVersion","objects","snap","getHeadSnap","state","createStateFromVersion","tagMap","getTagMap","component","Component","getFromConsumerComponent","consumerComponent","getModelComponent","resolveComponentId","pendingVersion","getRemoteComponent","compImport","ScopeComponentsImporter","objectList","getAll","forEach","obj","setCache","getConsumerComponent","getManyRemoteComponents","ids","legacyIds","map","pMapSeries","getState","hash","load","Ref","getSnap","getVersionObject","err","code","errMsg","error","Error","createSnapFromVersion","clearCache","deleteAll","isEqual","TagMap","allVersions","versionsIncludeOrphaned","Object","keys","tag","Tag","SemVer","head","getHeadRegardlessOfLane","Snap","Date","parseInt","log","date","parents","p","displayName","username","email","message","State","Config","mainFile","extensions","componentExtension","createAspectListFromLegacy","ComponentFS","fromVinyls","files","dependencies"],"sources":["scope-component-loader.ts"],"sourcesContent":["import { Component, ComponentFS, ComponentID, Config, Snap, State, Tag, TagMap } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport { Logger } from '@teambit/logger';\nimport { SemVer } from 'semver';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport { ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { getMaxSizeForComponents, InMemoryCache } from '@teambit/legacy/dist/cache/in-memory-cache';\nimport { createInMemoryCache } from '@teambit/legacy/dist/cache/cache-factory';\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeComponentLoader {\n private componentsCache: InMemoryCache<Component>; // cache loaded components\n private importedComponentsCache: InMemoryCache<boolean>;\n constructor(private scope: ScopeMain, private logger: Logger) {\n this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });\n this.importedComponentsCache = createInMemoryCache({ maxAge: 1000 * 60 * 30 }); // 30 min\n }\n\n async get(id: ComponentID, importIfMissing = true): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache) {\n return fromCache;\n }\n const idStr = id.toString();\n this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id._legacy;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n // import if missing\n if (\n !modelComponent &&\n importIfMissing &&\n id._legacy.hasScope() &&\n !this.importedComponentsCache.get(id.toString())\n ) {\n await this.scope.legacyScope.import(BitIds.fromArray([id._legacy]));\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n }\n // Search with scope name for bare scopes\n if (!modelComponent && !legacyId.scope) {\n id = id.changeScope(this.scope.name);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n }\n if (!modelComponent) return undefined;\n\n const versionStr = id.version && id.version !== 'latest' ? id.version : modelComponent.latest();\n const newId = id.changeVersion(versionStr);\n const version = await modelComponent.loadVersion(versionStr, this.scope.legacyScope.objects);\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version);\n const tagMap = this.getTagMap(modelComponent);\n\n const component = new Component(newId, snap, state, tagMap, this.scope);\n this.componentsCache.set(idStr, component);\n return component;\n }\n\n async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n const legacyId = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(legacyId);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const id = await this.scope.resolveComponentId(legacyId);\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(legacyId.version as string, this.scope.legacyScope.objects));\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version);\n const tagMap = this.getTagMap(modelComponent);\n\n return new Component(id, snap, state, tagMap, this.scope);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getRemoteComponent(id: ComponentID): Promise<Component> {\n const compImport = new ScopeComponentsImporter(this.scope.legacyScope);\n const objectList = await compImport.getRemoteComponent(id._legacy);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\n return this.getFromConsumerComponent(consumerComponent);\n }\n\n /**\n * get components from a remote without importing it\n */\n async getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]> {\n const compImport = new ScopeComponentsImporter(this.scope.legacyScope);\n const legacyIds = ids.map((id) => id._legacy);\n const objectList = await compImport.getManyRemoteComponents(legacyIds);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n return pMapSeries(legacyIds, async (legacyId) => {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(legacyId);\n return this.getFromConsumerComponent(consumerComponent);\n });\n }\n\n async getState(id: ComponentID, hash: string): Promise<State> {\n const version = (await this.scope.legacyScope.objects.load(new Ref(hash))) as Version;\n return this.createStateFromVersion(id, version);\n }\n\n async getSnap(id: ComponentID, hash: string): Promise<Snap> {\n const getVersionObject = async (): Promise<Version> => {\n try {\n const snap = await this.scope.legacyScope.objects.load(new Ref(hash), true);\n return snap as Version;\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n const errMsg = `fatal: snap \"${hash}\" file for component \"${id.toString()}\" was not found in the filesystem`;\n this.logger.error(errMsg, err);\n throw new Error(errMsg);\n } else {\n throw err;\n }\n }\n };\n const version = await getVersionObject();\n return this.createSnapFromVersion(version);\n }\n\n clearCache() {\n this.componentsCache.deleteAll();\n }\n\n /**\n * make sure that not only the id-str match, but also the legacy-id.\n * this is needed because the ComponentID.toString() is the same whether or not the legacy-id has\n * scope-name, as it includes the defaultScope if the scope is empty.\n * as a result, when out-of-sync is happening and the id is changed to include scope-name in the\n * legacy-id, the component is the cache has the old id.\n */\n private getFromCache(id: ComponentID): Component | undefined {\n const idStr = id.toString();\n const fromCache = this.componentsCache.get(idStr);\n if (fromCache && fromCache.id._legacy.isEqual(id._legacy)) {\n return fromCache;\n }\n return undefined;\n }\n\n private getTagMap(modelComponent: ModelComponent): TagMap {\n const tagMap = new TagMap();\n const allVersions = modelComponent.versionsIncludeOrphaned;\n Object.keys(allVersions).forEach((versionStr: string) => {\n const tag = new Tag(allVersions[versionStr].toString(), new SemVer(versionStr));\n tagMap.set(tag.version, tag);\n });\n return tagMap;\n }\n\n private async getHeadSnap(modelComponent: ModelComponent): Promise<Snap | null> {\n const head = modelComponent.getHeadRegardlessOfLane();\n if (!head) {\n // happens for example when on main and merging a lane.\n return null;\n }\n const version = await modelComponent.loadVersion(head.toString(), this.scope.legacyScope.objects, false);\n if (!version) {\n // might happen when the component is just a dependency and a previous version was needed.\n return null;\n }\n return this.createSnapFromVersion(version);\n }\n\n private createSnapFromVersion(version: Version): Snap {\n return new Snap(\n version.hash().toString(),\n new Date(parseInt(version.log.date)),\n version.parents.map((p) => p.toString()),\n {\n displayName: version.log.username || 'unknown',\n email: version.log.email || 'unknown@anywhere',\n },\n version.log.message\n );\n }\n\n private async createStateFromVersion(id: ComponentID, version: Version): Promise<State> {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\n const state = new State(\n // We use here the consumerComponent.extensions instead of version.extensions\n // because as part of the conversion to consumer component the artifacts are initialized as Artifact instances\n new Config(version.mainFile, consumerComponent.extensions),\n // todo: see the comment of this \"createAspectListFromLegacy\" method. the aspect ids may be incorrect.\n // find a better way to get the ids correctly.\n this.scope.componentExtension.createAspectListFromLegacy(consumerComponent.extensions, this.scope.name),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.aspect.ts"],"names":["ScopeAspect","Aspect","create","id"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,WAAW,GAAGC,kBAAOC,MAAP,CAAc;AACvCC,EAAAA,EAAE,EAAE;AADmC,CAAd,CAApB","sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const ScopeAspect = Aspect.create({\n id: 'teambit.scope/scope',\n});\n"]}
1
+ {"version":3,"names":["ScopeAspect","Aspect","create","id"],"sources":["scope.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const ScopeAspect = Aspect.create({\n id: 'teambit.scope/scope',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,WAAW,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EACvCC,EAAE,EAAE;AADmC,CAAd,CAApB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.composition.tsx"],"names":["Logo","height","display","justifyContent","width"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,IAAI,GAAG,mBAClB;AAAK,EAAA,KAAK,EAAE;AAAEC,IAAAA,MAAM,EAAE,MAAV;AAAkBC,IAAAA,OAAO,EAAE,MAA3B;AAAmCC,IAAAA,cAAc,EAAE;AAAnD;AAAZ,gBACE;AAAK,EAAA,KAAK,EAAE;AAAEC,IAAAA,KAAK,EAAE;AAAT,GAAZ;AAA2B,EAAA,GAAG,EAAC;AAA/B,EADF,CADK","sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/scope.svg\" />\n </div>\n);\n"]}
1
+ {"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["scope.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/scope.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAV;IAAkBC,OAAO,EAAE,MAA3B;IAAmCC,cAAc,EAAE;EAAnD;AAAZ,gBACE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAT,CAAZ;EAA2B,GAAG,EAAC;AAA/B,EADF,CADK"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.graphql.ts"],"names":["scopeSchema","scopeMain","typeDefs","resolvers","Scope","name","scope","description","icon","backgroundIconColor","components","props","list","includeCache","get","id","ComponentID","fromString","_getLegacy","resolvedId","resolveId","component","state","_consumer","toString","_legacyLatestVersions","ids","path","_legacyList","namespaces","listData","forEach","data","getLogs","getMany","map","str","Query"],"mappings":"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","sourcesContent":["import { ComponentID } from '@teambit/component';\nimport gql from 'graphql-tag';\nimport { latestVersions } from '@teambit/legacy/dist/api/scope';\nimport list from '@teambit/legacy/dist/api/scope/lib/scope-list';\nimport { ScopeMain } from './scope.main.runtime';\n\nexport function scopeSchema(scopeMain: ScopeMain) {\n return {\n typeDefs: gql`\n type Scope {\n # name of the scope.\n name: String\n\n # description of the scope.\n description: String\n\n # icon of the scope.\n icon: String\n\n # background color of the icon.\n backgroundIconColor: String\n\n # path of the scope.\n path: String\n\n # list of components contained in the scope.\n components(offset: Int, limit: Int, includeCache: Boolean, namespaces: [String!]): [Component]\n\n # get a specific component.\n get(id: String!): Component\n\n # get serialized legacy component. deprecated. PLEASE DO NOT USE THIS API.\n _getLegacy(id: String!): String\n\n # get logs.\n getLogs(id: String!): [Log]\n\n # get many components by ID.\n getMany(ids: [String]!): [Component]\n\n # get serialized legacy component ids with versions. deprecated. PLEASE DO NOT USE THIS API.\n _legacyLatestVersions(ids: [String]!): [String]\n\n # get serialized list component of components. deprecated. PLEASE DO NOT USE THIS API.\n _legacyList(namespaces: String): [LegacyMeta] @deprecated(reason: \"Use the component query on Scope\")\n }\n\n type Log {\n message: String\n username: String\n email: String\n date: String\n hash: String!\n tag: String\n }\n\n type LegacyMeta {\n id: String\n deprecated: Boolean\n }\n\n type Query {\n scope: Scope\n }\n `,\n resolvers: {\n Scope: {\n name: (scope: ScopeMain) => {\n return scope.name;\n },\n description: (scope: ScopeMain) => {\n return scope.description;\n },\n icon: (scope: ScopeMain) => {\n return scope.icon;\n },\n backgroundIconColor: (scope: ScopeMain) => {\n return scope.backgroundIconColor;\n },\n components: (\n scope: ScopeMain,\n props?: { offset: number; limit: number; includeCache?: boolean; namespaces?: string[] }\n ) => {\n if (!props) return scope.list();\n return scope.list({ ...props }, props.includeCache);\n },\n\n get: async (scope: ScopeMain, { id }: { id: string }) => {\n return scope.get(ComponentID.fromString(id));\n },\n\n _getLegacy: async (scope: ScopeMain, { id }: { id: string }) => {\n const resolvedId = await scope.resolveId(id);\n const component = await scope.get(resolvedId);\n if (!component) return null;\n return component.state._consumer.toString();\n },\n\n _legacyLatestVersions: async (scope: ScopeMain, { ids }: { ids: string[] }) => {\n return latestVersions(scope.path, ids);\n },\n\n _legacyList: async (scope: ScopeMain, { namespaces }: { namespaces: string }) => {\n const listData: any = await list(scope.path, namespaces);\n listData.forEach((data) => {\n data.id = data.id.toString();\n });\n return listData;\n },\n\n getLogs: async (scope: ScopeMain, { id }: { id: string }) => {\n return scope.getLogs(ComponentID.fromString(id));\n },\n\n getMany: async (scope: ScopeMain, { ids }: { ids: string[] }) => {\n return scope.getMany(ids.map((str) => ComponentID.fromString(str)));\n },\n // delete: async (scope: ScopeMain, props: { }) => {\n\n // }\n },\n Query: {\n scope: () => scopeMain,\n },\n },\n };\n}\n"]}
1
+ {"version":3,"names":["scopeSchema","scopeMain","typeDefs","gql","resolvers","Scope","name","scope","description","icon","backgroundIconColor","components","props","list","includeCache","get","id","ComponentID","fromString","_getLegacy","resolvedId","resolveId","component","state","_consumer","toString","_legacyLatestVersions","ids","latestVersions","path","_legacyList","namespaces","listData","forEach","data","getLogs","getMany","map","str","Query"],"sources":["scope.graphql.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport gql from 'graphql-tag';\nimport { latestVersions } from '@teambit/legacy/dist/api/scope';\nimport list from '@teambit/legacy/dist/api/scope/lib/scope-list';\nimport { ScopeMain } from './scope.main.runtime';\n\nexport function scopeSchema(scopeMain: ScopeMain) {\n return {\n typeDefs: gql`\n type Scope {\n # name of the scope.\n name: String\n\n # description of the scope.\n description: String\n\n # icon of the scope.\n icon: String\n\n # background color of the icon.\n backgroundIconColor: String\n\n # path of the scope.\n path: String\n\n # list of components contained in the scope.\n components(offset: Int, limit: Int, includeCache: Boolean, namespaces: [String!]): [Component]\n\n # get a specific component.\n get(id: String!): Component\n\n # get serialized legacy component. deprecated. PLEASE DO NOT USE THIS API.\n _getLegacy(id: String!): String\n\n # get logs.\n getLogs(id: String!): [Log]\n\n # get many components by ID.\n getMany(ids: [String]!): [Component]\n\n # get serialized legacy component ids with versions. deprecated. PLEASE DO NOT USE THIS API.\n _legacyLatestVersions(ids: [String]!): [String]\n\n # get serialized list component of components. deprecated. PLEASE DO NOT USE THIS API.\n _legacyList(namespaces: String): [LegacyMeta] @deprecated(reason: \"Use the component query on Scope\")\n }\n\n type Log {\n message: String\n username: String\n email: String\n date: String\n hash: String!\n tag: String\n }\n\n type LegacyMeta {\n id: String\n deprecated: Boolean\n }\n\n type Query {\n scope: Scope\n }\n `,\n resolvers: {\n Scope: {\n name: (scope: ScopeMain) => {\n return scope.name;\n },\n description: (scope: ScopeMain) => {\n return scope.description;\n },\n icon: (scope: ScopeMain) => {\n return scope.icon;\n },\n backgroundIconColor: (scope: ScopeMain) => {\n return scope.backgroundIconColor;\n },\n components: (\n scope: ScopeMain,\n props?: { offset: number; limit: number; includeCache?: boolean; namespaces?: string[] }\n ) => {\n if (!props) return scope.list();\n return scope.list({ ...props }, props.includeCache);\n },\n\n get: async (scope: ScopeMain, { id }: { id: string }) => {\n return scope.get(ComponentID.fromString(id));\n },\n\n _getLegacy: async (scope: ScopeMain, { id }: { id: string }) => {\n const resolvedId = await scope.resolveId(id);\n const component = await scope.get(resolvedId);\n if (!component) return null;\n return component.state._consumer.toString();\n },\n\n _legacyLatestVersions: async (scope: ScopeMain, { ids }: { ids: string[] }) => {\n return latestVersions(scope.path, ids);\n },\n\n _legacyList: async (scope: ScopeMain, { namespaces }: { namespaces: string }) => {\n const listData: any = await list(scope.path, namespaces);\n listData.forEach((data) => {\n data.id = data.id.toString();\n });\n return listData;\n },\n\n getLogs: async (scope: ScopeMain, { id }: { id: string }) => {\n return scope.getLogs(ComponentID.fromString(id));\n },\n\n getMany: async (scope: ScopeMain, { ids }: { ids: string[] }) => {\n return scope.getMany(ids.map((str) => ComponentID.fromString(str)));\n },\n // delete: async (scope: ScopeMain, props: { }) => {\n\n // }\n },\n Query: {\n scope: () => scopeMain,\n },\n },\n };\n}\n"],"mappings":"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"}
@@ -216,6 +216,10 @@ export declare class ScopeMain implements ComponentFactory {
216
216
  * get a component from a remote without importing it
217
217
  */
218
218
  getRemoteComponent(id: ComponentID): Promise<Component>;
219
+ /**
220
+ * get a component from a remote without importing it
221
+ */
222
+ getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]>;
219
223
  /**
220
224
  * list all components in the scope.
221
225
  */
@@ -277,6 +281,10 @@ export declare class ScopeMain implements ComponentFactory {
277
281
  resumeExport(exportId: string, remotes: string[]): Promise<string[]>;
278
282
  resolveId(id: string): Promise<ComponentID>;
279
283
  _legacyRemotes(): Promise<Remotes>;
284
+ /**
285
+ * list all component ids from a remote-scope
286
+ */
287
+ listRemoteScope(scopeName: string): Promise<ComponentID[]>;
280
288
  /**
281
289
  * get a component and load its aspect
282
290
  */
@@ -1045,6 +1045,14 @@ needed-for: ${(neededFor === null || neededFor === void 0 ? void 0 : neededFor.t
1045
1045
  async getRemoteComponent(id) {
1046
1046
  return this.componentLoader.getRemoteComponent(id);
1047
1047
  }
1048
+ /**
1049
+ * get a component from a remote without importing it
1050
+ */
1051
+
1052
+
1053
+ async getManyRemoteComponents(ids) {
1054
+ return this.componentLoader.getManyRemoteComponents(ids);
1055
+ }
1048
1056
  /**
1049
1057
  * list all components in the scope.
1050
1058
  */
@@ -1228,6 +1236,19 @@ needed-for: ${(neededFor === null || neededFor === void 0 ? void 0 : neededFor.t
1228
1236
  async _legacyRemotes() {
1229
1237
  return (0, _scopeRemotes().getScopeRemotes)(this.legacyScope);
1230
1238
  }
1239
+ /**
1240
+ * list all component ids from a remote-scope
1241
+ */
1242
+
1243
+
1244
+ async listRemoteScope(scopeName) {
1245
+ const remotes = await this._legacyRemotes();
1246
+ const remote = await remotes.resolve(scopeName, this.legacyScope);
1247
+ const results = await remote.list();
1248
+ return results.map(({
1249
+ id
1250
+ }) => _component().ComponentID.fromLegacy(id));
1251
+ }
1231
1252
  /**
1232
1253
  * get a component and load its aspect
1233
1254
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.main.runtime.ts"],"names":["ScopeMain","constructor","harmony","legacyScope","componentExtension","config","tagRegistry","postPutSlot","postDeleteSlot","postExportSlot","postObjectsPersist","preFetchObjects","isolator","aspectLoader","logger","envs","componentLoader","ScopeComponentLoader","name","icon","backgroundIconColor","description","path","isLegacy","onTag","tagFn","host","getHost","legacyOnTagFunc","legacyComponents","options","isolateOptions","reloadAspectsWithNewVersion","components","getManyByLegacy","builderDataMap","builderDataMapToLegacyOnTagResults","push","register","getUserAspectsIdsWithoutRootIds","allUserAspectIds","getUserAspects","rootIds","Object","keys","toObject","diffIds","getAspectsByPreviouslyUsedVersion","harmonyIds","aspectsIds","aspectsP","map","component","newId","resolveComponentId","id","previouslyUsedVersion","version","newIdWithPreviouslyUsedVersion","changeVersion","includes","toString","Promise","all","idsToLoad","loadAspects","getFromConsumerComponent","clearCache","debug","objects","builderDataComponentMap","builderDataToLegacyExtension","builderData","existingBuilder","state","aspects","get","BuilderAspect","legacy","builderExtension","ExtensionDataEntry","undefined","data","toArray","_legacy","onPostPut","postPutFn","onPostDelete","postDeleteFn","registerOnPostExport","postExportFn","registerOnPreFetchObjects","preFetchObjectsFn","registerOnPostObjectsPersist","postObjectsPersistFn","fetch","ids","persist","delete","force","lanes","headers","authData","authorization","result","fns","values","metadata","auth","componentIds","ComponentID","fromString","fn","err","error","toObjectList","types","list","ObjectList","fromBitObjects","toJs","str","endsWith","replace","parseLocalAspect","localAspects","dirPaths","localAspect","nonExistsDirPaths","filter","forEach","warn","existsDirPaths","findRuntime","dirPath","runtime","files","find","loadAspectFromPath","manifests","scopeRuntime","module","require","default","loadExtensionsByManifests","throwOnError","neededFor","info","length","join","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","otherManifestsIds","other","concat","getNonLoadedAspects","envsIds","getEnvId","envId","isCoreEnv","scopeManifests","getManifestsGraphRecursively","manifest","visited","opts","nonVisitedId","requireAspects","depsToLoad","dependencies","_runtimes","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","aspectIds","startsWith","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","resolveLocalAspects","dirs","dir","runtimeManifest","AspectDefinition","getResolvedAspects","network","isolateComponents","c","baseDir","getAspectCapsulePath","skipIfExists","seedersOnly","includeFromNestedHosts","installOptions","copyPeerToRuntimeOnRoot","dedupe","packageManagerConfigRootDir","capsules","seedersCapsules","capsule","RequireableComponent","plugins","getPlugins","has","compileIfNoDist","load","MainRuntime","aspect","getRuntimePath","mainRuntime","runtimePath","env","getEnv","compiler","getCompiler","distDir","DEFAULT_DIST_DIRNAME","distExists","compiledCode","filesystem","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","code","newErr","resolvedAspectsAgain","manifestAgain","handleExtensionLoadingError","resolveUserAspects","runtimeName","userAspectsIds","getMany","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectPath","withoutLocalAspects","aspectId","fullName","userAspectsDefs","localResolved","coreAspects","getCoreAspectDefs","allDefs","uniqDefs","def","defs","getLegacyGraph","comp","legacyIds","bitId","hasScope","changeScope","legacyGraph","useCache","throwIfNotExist","legacyId","scope","withoutOwnScopeAndLocals","ComponentsIds","fromArray","consumerComponent","getRemoteComponent","includeCache","includeFromLanes","patternsWithScope","namespaces","pattern","componentsIds","listIds","limit","offset","listInvalid","patterns","allModelComponents","filterByCacheAndLanes","modelComponent","cacheFilter","exists","lanesFilter","hasHead","modelComponentsToList","fromLegacy","toBitIdWithLatestVersion","some","toStringWithoutVersion","match","JSON","stringify","hasId","componentId","includeOrphaned","includeVersion","hasIdNested","idsWithoutEmpty","componentsP","getOrThrow","loadMany","ComponentNotFound","getState","hash","getSnap","getLogs","shortHash","startsFrom","loadComponentLogs","idStr","loadModelComponentByIdStr","getIdToCheck","IdToCheck","BitId","getParsedId","byPattern","getExactVersionBySemverRange","range","getModelComponent","versions","listVersions","semver","maxSatisfying","includePrerelease","resumeExport","exportId","remotes","resolveId","_legacyRemotes","isAspectComponent","loadComponentsAspect","isModified","write","provider","componentExt","ui","graphql","cli","express","loggerMain","configMain","tagSlot","postObjectsPersistSlot","preFetchObjectsSlot","bitConfig","cwd","createLogger","ScopeAspect","registerOnStart","hasWorkspace","getNotLoadedConfiguredExtensions","ScopeCmd","onPutHook","getAuthData","token","Http","getToken","type","DEFAULT_AUTH_TYPE","credentials","onPostExportHook","onPostObjectsPersistHook","ExportPersist","PostSign","Scope","onPostExport","Repository","onPostObjectsPersist","registerPreAddingAspectsSlot","compIds","loadedIds","compId","loadedId","PutRoute","FetchRoute","ActionRoute","DeleteRoute","registerUiRoot","ScopeUIRoot","registerHost","Slot","withType","ComponentAspect","UIAspect","GraphqlAspect","CLIAspect","IsolatorAspect","AspectLoaderAspect","ExpressAspect","LoggerAspect","EnvsAspect","ConfigAspect","httpTimeOut","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;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","sourcesContent":["import mapSeries from 'p-map-series';\nimport semver from 'semver';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { TaskResultsList, BuilderData, BuilderAspect } from '@teambit/builder';\nimport { readdirSync, existsSync } from 'fs-extra';\nimport { resolve, join } from 'path';\nimport { AspectLoaderAspect, AspectDefinition } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport type { ComponentMain, ComponentMap } from '@teambit/component';\nimport { Component, ComponentAspect, ComponentFactory, ComponentID, Snap, State } from '@teambit/component';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { Harmony, Slot, SlotRegistry, ExtensionManifest, Aspect } from '@teambit/harmony';\nimport { Capsule, IsolatorAspect, IsolatorMain, IsolateComponentsOptions } 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 { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { BitIds as ComponentsIds } from '@teambit/legacy/dist/bit-id';\nimport { ModelComponent, Lane } from '@teambit/legacy/dist/scope/models';\nimport { Repository } from '@teambit/legacy/dist/scope/objects';\nimport LegacyScope, { LegacyOnTagResult, OnTagFunc, OnTagOpts } from '@teambit/legacy/dist/scope/scope';\nimport { ComponentLog } from '@teambit/legacy/dist/scope/models/model-component';\nimport { loadScopeIfExist } from '@teambit/legacy/dist/scope/scope-loader';\nimport { PersistOptions } from '@teambit/legacy/dist/scope/types';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport LegacyGraph from '@teambit/legacy/dist/scope/graph/graph';\nimport { ExportPersist, PostSign } from '@teambit/legacy/dist/scope/actions';\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 { ConfigMain, ConfigAspect } from '@teambit/config';\nimport { Scope } from '@teambit/legacy/dist/scope';\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 { Http, DEFAULT_AUTH_TYPE, AuthData, getAuthDataFromHeader } from '@teambit/legacy/dist/scope/network/http/http';\nimport { buildOneGraphForComponentsUsingScope } from '@teambit/legacy/dist/scope/graph/components-graph';\nimport { remove } from '@teambit/legacy/dist/api/scope';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { resumeExport } from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { Compiler } from '@teambit/compiler';\nimport { compact, uniq, slice, uniqBy, difference, groupBy } from 'lodash';\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';\n\ntype TagRegistry = SlotRegistry<OnTag>;\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type OnTagResults = { builderDataMap: ComponentMap<BuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTag = (\n components: Component[],\n options: OnTagOpts,\n isolateOptions?: IsolateComponentsOptions\n) => Promise<OnTagResults>;\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>;\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>;\n\nexport type ScopeConfig = {\n httpTimeOut: number;\n description?: string;\n icon?: string;\n backgroundIconColor?: string;\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 tagRegistry: TagRegistry,\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 isolator: IsolatorMain,\n\n private aspectLoader: AspectLoaderMain,\n\n private logger: Logger,\n\n private envs: EnvsMain\n ) {\n this.componentLoader = new ScopeComponentLoader(this, this.logger);\n }\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 /**\n * register to the tag slot.\n */\n onTag(tagFn: OnTag) {\n const host = this.componentExtension.getHost();\n const legacyOnTagFunc: OnTagFunc = async (\n legacyComponents: ConsumerComponent[],\n options: OnTagOpts,\n isolateOptions?: IsolateComponentsOptions\n ): Promise<LegacyOnTagResult[]> => {\n // Reload the aspects with their new version\n await this.reloadAspectsWithNewVersion(legacyComponents);\n const components = await host.getManyByLegacy(legacyComponents);\n const { builderDataMap } = await tagFn(components, options, isolateOptions);\n return this.builderDataMapToLegacyOnTagResults(builderDataMap);\n };\n this.legacyScope.onTag.push(legacyOnTagFunc);\n this.tagRegistry.register(tagFn);\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);\n }\n\n getManyByLegacy(components: ConsumerComponent[]): Promise<Component[]> {\n return mapSeries(components, async (component) => this.getFromConsumerComponent(component));\n }\n\n clearCache() {\n this.logger.debug('clearing the components and the legacy cache');\n this.componentLoader.clearCache();\n this.legacyScope.objects.clearCache();\n }\n\n builderDataMapToLegacyOnTagResults(builderDataComponentMap: ComponentMap<BuilderData>): LegacyOnTagResult[] {\n const builderDataToLegacyExtension = (component: Component, builderData: BuilderData) => {\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._legacy,\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 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 * @param {ComponentsIds} ids list of ids to fetch\n */\n fetch(ids: ComponentsIds) {} // 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 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 private parseLocalAspect(localAspects: string[]) {\n const dirPaths = localAspects.map((localAspect) => resolve(localAspect.replace('file://', '')));\n const nonExistsDirPaths = dirPaths.filter((path) => !existsSync(path));\n nonExistsDirPaths.forEach((path) => this.logger.warn(`no such file or directory: ${path}`));\n const existsDirPaths = dirPaths.filter((path) => existsSync(path));\n return existsDirPaths;\n }\n\n private findRuntime(dirPath: string, runtime: string) {\n const files = readdirSync(join(dirPath, 'dist'));\n return files.find((path) => path.includes(`${runtime}.runtime.js`));\n }\n\n private async loadAspectFromPath(localAspects: string[]) {\n const dirPaths = this.parseLocalAspect(localAspects);\n const manifests = dirPaths.map((dirPath) => {\n const scopeRuntime = this.findRuntime(dirPath, 'scope');\n if (scopeRuntime) {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const module = require(join(dirPath, 'dist', scopeRuntime));\n return module.default || module;\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const module = require(dirPath);\n return module.default || module;\n });\n\n await this.aspectLoader.loadExtensionsByManifests(manifests, true);\n }\n\n private localAspects: string[] = [];\n\n async loadAspects(ids: string[], throwOnError = false, neededFor?: ComponentID): Promise<string[]> {\n this.logger.info(`loadAspects, loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor?.toString() || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError);\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError);\n return envsManifestsIds.concat(otherManifestsIds);\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n async groupAspectIdsByEnvOfTheList(ids: string[]): Promise<{ envs: string[]; other: string[] }> {\n const components = await this.getNonLoadedAspects(ids);\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(ids: string[], throwOnError = false): Promise<string[]> {\n const scopeManifests = await this.getManifestsGraphRecursively(ids, [], throwOnError);\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n return compact(scopeManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n opts: {\n packageManagerConfigRootDir?: string;\n } = {}\n ): Promise<ManifestOrAspect[]> {\n ids = uniq(ids);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return [];\n }\n const components = await this.getNonLoadedAspects(nonVisitedId);\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, opts);\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n const loaded = await this.getManifestsGraphRecursively(depIds, visited, throwOnError);\n manifests.push(...loaded);\n });\n return manifests;\n }\n\n private async getNonLoadedAspects(ids: string[]): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.localAspects = this.localAspects.concat(localAspects);\n // load local aspects for debugging purposes.\n await this.loadAspectFromPath(localAspects);\n const componentIds = await this.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n const components = await this.import(componentIds, { reFetchUnBuiltVersion: false });\n\n return components;\n }\n\n private async resolveLocalAspects(ids: string[], runtime?: string) {\n const dirs = this.parseLocalAspect(ids);\n\n return dirs.map((dir) => {\n const runtimeManifest = runtime ? this.findRuntime(dir, runtime) : undefined;\n return new AspectDefinition(\n dir,\n runtimeManifest ? join(dir, 'dist', runtimeManifest) : null,\n undefined,\n undefined,\n true\n );\n });\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n {\n baseDir: this.getAspectCapsulePath(),\n skipIfExists: opts?.skipIfExists ?? true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n dedupe: false,\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n },\n this.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n const env = this.envs.getEnv(component);\n const compiler: Compiler = env.env.getCompiler();\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n\n const compiledCode = component.filesystem.files.flatMap((file) => {\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ];\n }\n\n if (compiler.transpileFile) {\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n });\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch (err) {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n getAspectCapsulePath() {\n return `${this.path}-aspects`;\n }\n\n private async resolveUserAspects(runtimeName?: string, userAspectsIds?: ComponentID[]): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.getMany(userAspectsIds);\n const network = await this.isolator.isolateComponents(\n userAspectsIds,\n {\n baseDir: this.getAspectCapsulePath(),\n skipIfExists: true,\n // for some reason this needs to be false, otherwise tagging components in some workspaces\n // result in error during Preview task:\n // \"No matching version found for <some-component-on-the-workspace>\"\n seedersOnly: true,\n includeFromNestedHosts: true,\n installOptions: { copyPeerToRuntimeOnRoot: true, dedupe: false },\n host: this,\n },\n this.legacyScope\n );\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n\n return {\n aspectPath: localPath,\n runtimePath: runtimeName ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName) : null,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(runtimeName?: string, componentIds?: ComponentID[]): Promise<AspectDefinition[]> {\n const userAspectsIds = componentIds || (await this.resolveMultipleComponentIds(this.aspectLoader.getUserAspects()));\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !this.localAspects.find((localAspect) => {\n return localAspect.includes(aspectId.fullName.replace('/', '.'));\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects);\n const localResolved = await this.resolveLocalAspects(this.localAspects, runtimeName);\n const coreAspects = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspects).concat(localResolved);\n const uniqDefs = uniqBy(allDefs, (def) => `${def.aspectPath}-${def.runtimePath}`);\n let defs = uniqDefs;\n if (runtimeName) {\n defs = defs.filter((def) => def.runtimePath);\n }\n return defs;\n }\n\n async getLegacyGraph(ids?: ComponentID[]): Promise<LegacyGraph> {\n if (!ids || ids.length < 1) ids = (await this.list()).map((comp) => comp.id) || [];\n const legacyIds = ids.map((id) => {\n let bitId = id._legacy;\n // The resolve bitId in scope will remove the scope name in case it's the same as the scope\n // We restore it back to use it correctly in the legacy code.\n if (!bitId.hasScope()) {\n bitId = bitId.changeScope(this.legacyScope?.name);\n }\n return bitId;\n });\n\n const legacyGraph = await buildOneGraphForComponentsUsingScope(legacyIds, this.legacyScope);\n return legacyGraph;\n }\n\n /**\n * import components into the scope.\n */\n async import(\n ids: ComponentID[],\n {\n useCache = true,\n throwIfNotExist = false,\n reFetchUnBuiltVersion = true,\n }: {\n /**\n * if the component exists locally, don't go to the server to search for updates.\n */\n useCache?: boolean;\n throwIfNotExist?: 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 ): Promise<Component[]> {\n const legacyIds = ids.map((id) => {\n const legacyId = id._legacy;\n if (legacyId.scope === this.name) return legacyId.changeScope(null);\n return legacyId;\n });\n\n const withoutOwnScopeAndLocals = legacyIds.filter((id) => {\n return id.scope !== this.name && id.hasScope();\n });\n await this.legacyScope.import(ComponentsIds.fromArray(withoutOwnScopeAndLocals), useCache, reFetchUnBuiltVersion);\n\n return this.getMany(ids, throwIfNotExist);\n }\n\n async get(id: ComponentID): Promise<Component | undefined> {\n return this.componentLoader.get(id);\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 * 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 ): 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 return this.getMany(\n filter && filter.limit ? slice(componentsIds, filter.offset, filter.offset + filter.limit) : componentsIds\n );\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: componentsIds after filter scope: ${JSON.stringify(ids, undefined, 2)}`);\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 includeOrphaned: true,\n includeVersion: true,\n };\n\n return this.legacyScope.hasId(componentId._legacy, 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 * load components from a scope and load their aspects\n */\n async loadMany(ids: ComponentID[]): Promise<Component[]> {\n const components = await mapSeries(ids, (id) => this.load(id));\n return compact(components);\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 return this.componentLoader.getSnap(id, hash);\n }\n\n async getLogs(id: ComponentID, shortHash = false, startsFrom?: string): Promise<ComponentLog[]> {\n return this.legacyScope.loadComponentLogs(id._legacy, shortHash, startsFrom);\n }\n\n /**\n * resolve a component ID.\n * @param id component ID.\n */\n async resolveComponentId(id: string | ComponentID | BitId): Promise<ComponentID> {\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 = id instanceof BitId ? id : await this.legacyScope.getParsedId(IdToCheck);\n if (!legacyId.scope) return ComponentID.fromLegacy(legacyId, this.name);\n return ComponentID.fromLegacy(legacyId);\n }\n\n async resolveMultipleComponentIds(ids: Array<string | ComponentID | BitId>) {\n return Promise.all(ids.map(async (id) => this.resolveComponentId(id)));\n }\n\n /**\n * load components into the scope through a variants pattern.\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 async getExactVersionBySemverRange(id: ComponentID, range: string): Promise<string | undefined> {\n const modelComponent = await this.legacyScope.getModelComponent(id._legacy);\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 async resolveId(id: string): Promise<ComponentID> {\n const legacyId = await this.legacyScope.getParsedId(id);\n return ComponentID.fromLegacy(legacyId);\n }\n\n // TODO: add new API for this\n async _legacyRemotes(): Promise<Remotes> {\n return getScopeRemotes(this.legacyScope);\n }\n\n /**\n * get a component and load its aspect\n */\n async load(id: ComponentID): Promise<Component | undefined> {\n const component = await this.get(id);\n if (!component) return undefined;\n const aspectIds = component.state.aspects.ids;\n // load components from type aspects as aspects.\n if (this.aspectLoader.isAspectComponent(component)) {\n aspectIds.push(component.id.toString());\n }\n await this.loadAspects(aspectIds, true, id);\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);\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<OnTag>(),\n Slot.withType<OnPostPut>(),\n Slot.withType<OnPostDelete>(),\n Slot.withType<OnPostExport>(),\n Slot.withType<OnPostObjectsPersist>(),\n Slot.withType<OnPreFetchObjects>(),\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 ConfigAspect,\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, configMain]: [\n ComponentMain,\n UiMain,\n GraphqlMain,\n CLIMain,\n IsolatorMain,\n AspectLoaderMain,\n ExpressMain,\n LoggerMain,\n EnvsMain,\n ConfigMain\n ],\n config: ScopeConfig,\n [tagSlot, postPutSlot, postDeleteSlot, postExportSlot, postObjectsPersistSlot, preFetchObjectsSlot]: [\n TagRegistry,\n OnPostPutSlot,\n OnPostDeleteSlot,\n OnPostExportSlot,\n OnPostObjectsPersistSlot,\n OnPreFetchObjectsSlot\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 tagSlot,\n postPutSlot,\n postDeleteSlot,\n postExportSlot,\n postObjectsPersistSlot,\n preFetchObjectsSlot,\n isolator,\n aspectLoader,\n logger,\n envs\n );\n cli.registerOnStart(async (hasWorkspace: boolean) => {\n if (hasWorkspace) return;\n await scope.loadAspects(aspectLoader.getNotLoadedConfiguredExtensions());\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: BitId[], lanes: Lane[]): Promise<void> => {\n logger.debug(`onPostExportHook, started. (${ids.length} components)`);\n const componentIds = await scope.resolveMultipleComponentIds(ids);\n const fns = postExportSlot.values();\n const data = {\n ids: componentIds,\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\n configMain?.registerPreAddingAspectsSlot?.(async (compIds) => {\n const loadedIds = await scope.loadAspects(compIds, true);\n // find the full component-ids including versions in the load-aspects results.\n // we need it for bit-use to be added to the config file.\n return compIds.map((compId) => {\n const loaded = loadedIds.find((loadedId) => loadedId.startsWith(`${compId}@`));\n return loaded || compId;\n });\n });\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"]}
1
+ {"version":3,"names":["ScopeMain","constructor","harmony","legacyScope","componentExtension","config","tagRegistry","postPutSlot","postDeleteSlot","postExportSlot","postObjectsPersist","preFetchObjects","isolator","aspectLoader","logger","envs","componentLoader","ScopeComponentLoader","name","icon","backgroundIconColor","description","path","isLegacy","onTag","tagFn","host","getHost","legacyOnTagFunc","legacyComponents","options","isolateOptions","reloadAspectsWithNewVersion","components","getManyByLegacy","builderDataMap","builderDataMapToLegacyOnTagResults","push","register","getUserAspectsIdsWithoutRootIds","allUserAspectIds","getUserAspects","rootIds","Object","keys","toObject","diffIds","difference","getAspectsByPreviouslyUsedVersion","harmonyIds","aspectsIds","aspectsP","map","component","newId","resolveComponentId","id","previouslyUsedVersion","version","newIdWithPreviouslyUsedVersion","changeVersion","includes","toString","Promise","all","idsToLoad","loadAspects","mapSeries","getFromConsumerComponent","clearCache","debug","objects","builderDataComponentMap","builderDataToLegacyExtension","builderData","existingBuilder","state","aspects","get","BuilderAspect","legacy","builderExtension","ExtensionDataEntry","undefined","data","toArray","_legacy","onPostPut","postPutFn","onPostDelete","postDeleteFn","registerOnPostExport","postExportFn","registerOnPreFetchObjects","preFetchObjectsFn","registerOnPostObjectsPersist","postObjectsPersistFn","fetch","ids","persist","delete","force","lanes","headers","authData","getAuthDataFromHeader","authorization","result","remove","fns","values","metadata","auth","componentIds","ComponentID","fromString","fn","err","error","toObjectList","types","list","ObjectList","fromBitObjects","toJs","str","endsWith","replace","parseLocalAspect","localAspects","dirPaths","localAspect","resolve","nonExistsDirPaths","filter","existsSync","forEach","warn","existsDirPaths","findRuntime","dirPath","runtime","files","readdirSync","join","find","loadAspectFromPath","manifests","scopeRuntime","module","require","default","loadExtensionsByManifests","throwOnError","neededFor","info","length","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","otherManifestsIds","other","concat","getNonLoadedAspects","envsIds","uniq","getEnvId","envId","isCoreEnv","groupBy","scopeManifests","getManifestsGraphRecursively","compact","manifest","visited","opts","nonVisitedId","requireAspects","depsToLoad","dependencies","_runtimes","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","aspectIds","startsWith","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","resolveLocalAspects","dirs","dir","runtimeManifest","AspectDefinition","getResolvedAspects","network","isolateComponents","c","baseDir","getAspectCapsulePath","skipIfExists","seedersOnly","includeFromNestedHosts","installOptions","copyPeerToRuntimeOnRoot","dedupe","packageManagerConfigRootDir","capsules","seedersCapsules","capsule","RequireableComponent","plugins","getPlugins","has","compileIfNoDist","load","MainRuntime","aspect","getRuntimePath","mainRuntime","runtimePath","env","getEnv","compiler","getCompiler","distDir","DEFAULT_DIST_DIRNAME","distExists","compiledCode","filesystem","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","code","newErr","resolvedAspectsAgain","manifestAgain","handleExtensionLoadingError","resolveUserAspects","runtimeName","userAspectsIds","getMany","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectPath","withoutLocalAspects","aspectId","fullName","userAspectsDefs","localResolved","coreAspects","getCoreAspectDefs","allDefs","uniqDefs","uniqBy","def","defs","getLegacyGraph","comp","legacyIds","bitId","hasScope","changeScope","legacyGraph","buildOneGraphForComponentsUsingScope","useCache","throwIfNotExist","legacyId","scope","withoutOwnScopeAndLocals","ComponentsIds","fromArray","consumerComponent","getRemoteComponent","getManyRemoteComponents","includeCache","includeFromLanes","patternsWithScope","namespaces","pattern","componentsIds","listIds","limit","slice","offset","listInvalid","patterns","allModelComponents","filterByCacheAndLanes","modelComponent","cacheFilter","exists","lanesFilter","hasHead","modelComponentsToList","fromLegacy","toBitIdWithLatestVersion","some","isMatchNamespacePatternItem","toStringWithoutVersion","match","JSON","stringify","hasId","componentId","includeOrphaned","includeVersion","hasIdNested","idsWithoutEmpty","componentsP","getOrThrow","loadMany","ComponentNotFound","getState","hash","getSnap","getLogs","shortHash","startsFrom","loadComponentLogs","idStr","loadModelComponentByIdStr","getIdToCheck","IdToCheck","BitId","getParsedId","byPattern","getExactVersionBySemverRange","range","getModelComponent","versions","listVersions","semver","maxSatisfying","includePrerelease","resumeExport","exportId","remotes","resolveId","_legacyRemotes","getScopeRemotes","listRemoteScope","scopeName","remote","results","isAspectComponent","loadComponentsAspect","isModified","write","provider","componentExt","ui","graphql","cli","express","loggerMain","configMain","tagSlot","postObjectsPersistSlot","preFetchObjectsSlot","bitConfig","loadScopeIfExist","cwd","createLogger","ScopeAspect","registerOnStart","hasWorkspace","getNotLoadedConfiguredExtensions","ScopeCmd","onPutHook","getAuthData","token","Http","getToken","type","DEFAULT_AUTH_TYPE","credentials","onPostExportHook","onPostObjectsPersistHook","ExportPersist","PostSign","Scope","onPostExport","Repository","onPostObjectsPersist","registerPreAddingAspectsSlot","compIds","loadedIds","compId","loadedId","PutRoute","FetchRoute","ActionRoute","DeleteRoute","registerUiRoot","ScopeUIRoot","scopeSchema","registerHost","Slot","withType","ComponentAspect","UIAspect","GraphqlAspect","CLIAspect","IsolatorAspect","AspectLoaderAspect","ExpressAspect","LoggerAspect","EnvsAspect","ConfigAspect","httpTimeOut","addRuntime"],"sources":["scope.main.runtime.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport semver from 'semver';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { TaskResultsList, BuilderData, BuilderAspect } from '@teambit/builder';\nimport { readdirSync, existsSync } from 'fs-extra';\nimport { resolve, join } from 'path';\nimport { AspectLoaderAspect, AspectDefinition } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport type { ComponentMain, ComponentMap } from '@teambit/component';\nimport { Component, ComponentAspect, ComponentFactory, ComponentID, Snap, State } from '@teambit/component';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { Harmony, Slot, SlotRegistry, ExtensionManifest, Aspect } from '@teambit/harmony';\nimport { Capsule, IsolatorAspect, IsolatorMain, IsolateComponentsOptions } 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 { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { BitIds as ComponentsIds } from '@teambit/legacy/dist/bit-id';\nimport { ModelComponent, Lane } from '@teambit/legacy/dist/scope/models';\nimport { Repository } from '@teambit/legacy/dist/scope/objects';\nimport LegacyScope, { LegacyOnTagResult, OnTagFunc, OnTagOpts } from '@teambit/legacy/dist/scope/scope';\nimport { ComponentLog } from '@teambit/legacy/dist/scope/models/model-component';\nimport { loadScopeIfExist } from '@teambit/legacy/dist/scope/scope-loader';\nimport { PersistOptions } from '@teambit/legacy/dist/scope/types';\nimport { DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport LegacyGraph from '@teambit/legacy/dist/scope/graph/graph';\nimport { ExportPersist, PostSign } from '@teambit/legacy/dist/scope/actions';\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 { ConfigMain, ConfigAspect } from '@teambit/config';\nimport { Scope } from '@teambit/legacy/dist/scope';\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 { Http, DEFAULT_AUTH_TYPE, AuthData, getAuthDataFromHeader } from '@teambit/legacy/dist/scope/network/http/http';\nimport { buildOneGraphForComponentsUsingScope } from '@teambit/legacy/dist/scope/graph/components-graph';\nimport { remove } from '@teambit/legacy/dist/api/scope';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { resumeExport } from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { Compiler } from '@teambit/compiler';\nimport { compact, uniq, slice, uniqBy, difference, groupBy } from 'lodash';\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';\n\ntype TagRegistry = SlotRegistry<OnTag>;\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type OnTagResults = { builderDataMap: ComponentMap<BuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTag = (\n components: Component[],\n options: OnTagOpts,\n isolateOptions?: IsolateComponentsOptions\n) => Promise<OnTagResults>;\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>;\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>;\n\nexport type ScopeConfig = {\n httpTimeOut: number;\n description?: string;\n icon?: string;\n backgroundIconColor?: string;\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 tagRegistry: TagRegistry,\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 isolator: IsolatorMain,\n\n private aspectLoader: AspectLoaderMain,\n\n private logger: Logger,\n\n private envs: EnvsMain\n ) {\n this.componentLoader = new ScopeComponentLoader(this, this.logger);\n }\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 /**\n * register to the tag slot.\n */\n onTag(tagFn: OnTag) {\n const host = this.componentExtension.getHost();\n const legacyOnTagFunc: OnTagFunc = async (\n legacyComponents: ConsumerComponent[],\n options: OnTagOpts,\n isolateOptions?: IsolateComponentsOptions\n ): Promise<LegacyOnTagResult[]> => {\n // Reload the aspects with their new version\n await this.reloadAspectsWithNewVersion(legacyComponents);\n const components = await host.getManyByLegacy(legacyComponents);\n const { builderDataMap } = await tagFn(components, options, isolateOptions);\n return this.builderDataMapToLegacyOnTagResults(builderDataMap);\n };\n this.legacyScope.onTag.push(legacyOnTagFunc);\n this.tagRegistry.register(tagFn);\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);\n }\n\n getManyByLegacy(components: ConsumerComponent[]): Promise<Component[]> {\n return mapSeries(components, async (component) => this.getFromConsumerComponent(component));\n }\n\n clearCache() {\n this.logger.debug('clearing the components and the legacy cache');\n this.componentLoader.clearCache();\n this.legacyScope.objects.clearCache();\n }\n\n builderDataMapToLegacyOnTagResults(builderDataComponentMap: ComponentMap<BuilderData>): LegacyOnTagResult[] {\n const builderDataToLegacyExtension = (component: Component, builderData: BuilderData) => {\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._legacy,\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 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 * @param {ComponentsIds} ids list of ids to fetch\n */\n fetch(ids: ComponentsIds) {} // 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 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 private parseLocalAspect(localAspects: string[]) {\n const dirPaths = localAspects.map((localAspect) => resolve(localAspect.replace('file://', '')));\n const nonExistsDirPaths = dirPaths.filter((path) => !existsSync(path));\n nonExistsDirPaths.forEach((path) => this.logger.warn(`no such file or directory: ${path}`));\n const existsDirPaths = dirPaths.filter((path) => existsSync(path));\n return existsDirPaths;\n }\n\n private findRuntime(dirPath: string, runtime: string) {\n const files = readdirSync(join(dirPath, 'dist'));\n return files.find((path) => path.includes(`${runtime}.runtime.js`));\n }\n\n private async loadAspectFromPath(localAspects: string[]) {\n const dirPaths = this.parseLocalAspect(localAspects);\n const manifests = dirPaths.map((dirPath) => {\n const scopeRuntime = this.findRuntime(dirPath, 'scope');\n if (scopeRuntime) {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const module = require(join(dirPath, 'dist', scopeRuntime));\n return module.default || module;\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const module = require(dirPath);\n return module.default || module;\n });\n\n await this.aspectLoader.loadExtensionsByManifests(manifests, true);\n }\n\n private localAspects: string[] = [];\n\n async loadAspects(ids: string[], throwOnError = false, neededFor?: ComponentID): Promise<string[]> {\n this.logger.info(`loadAspects, loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor?.toString() || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError);\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError);\n return envsManifestsIds.concat(otherManifestsIds);\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n async groupAspectIdsByEnvOfTheList(ids: string[]): Promise<{ envs: string[]; other: string[] }> {\n const components = await this.getNonLoadedAspects(ids);\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(ids: string[], throwOnError = false): Promise<string[]> {\n const scopeManifests = await this.getManifestsGraphRecursively(ids, [], throwOnError);\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n return compact(scopeManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n opts: {\n packageManagerConfigRootDir?: string;\n } = {}\n ): Promise<ManifestOrAspect[]> {\n ids = uniq(ids);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return [];\n }\n const components = await this.getNonLoadedAspects(nonVisitedId);\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, opts);\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n const loaded = await this.getManifestsGraphRecursively(depIds, visited, throwOnError);\n manifests.push(...loaded);\n });\n return manifests;\n }\n\n private async getNonLoadedAspects(ids: string[]): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.localAspects = this.localAspects.concat(localAspects);\n // load local aspects for debugging purposes.\n await this.loadAspectFromPath(localAspects);\n const componentIds = await this.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n const components = await this.import(componentIds, { reFetchUnBuiltVersion: false });\n\n return components;\n }\n\n private async resolveLocalAspects(ids: string[], runtime?: string) {\n const dirs = this.parseLocalAspect(ids);\n\n return dirs.map((dir) => {\n const runtimeManifest = runtime ? this.findRuntime(dir, runtime) : undefined;\n return new AspectDefinition(\n dir,\n runtimeManifest ? join(dir, 'dist', runtimeManifest) : null,\n undefined,\n undefined,\n true\n );\n });\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n {\n baseDir: this.getAspectCapsulePath(),\n skipIfExists: opts?.skipIfExists ?? true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n dedupe: false,\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n },\n this.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n const env = this.envs.getEnv(component);\n const compiler: Compiler = env.env.getCompiler();\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n\n const compiledCode = component.filesystem.files.flatMap((file) => {\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ];\n }\n\n if (compiler.transpileFile) {\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n });\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch (err) {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n getAspectCapsulePath() {\n return `${this.path}-aspects`;\n }\n\n private async resolveUserAspects(runtimeName?: string, userAspectsIds?: ComponentID[]): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.getMany(userAspectsIds);\n const network = await this.isolator.isolateComponents(\n userAspectsIds,\n {\n baseDir: this.getAspectCapsulePath(),\n skipIfExists: true,\n // for some reason this needs to be false, otherwise tagging components in some workspaces\n // result in error during Preview task:\n // \"No matching version found for <some-component-on-the-workspace>\"\n seedersOnly: true,\n includeFromNestedHosts: true,\n installOptions: { copyPeerToRuntimeOnRoot: true, dedupe: false },\n host: this,\n },\n this.legacyScope\n );\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n\n return {\n aspectPath: localPath,\n runtimePath: runtimeName ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName) : null,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(runtimeName?: string, componentIds?: ComponentID[]): Promise<AspectDefinition[]> {\n const userAspectsIds = componentIds || (await this.resolveMultipleComponentIds(this.aspectLoader.getUserAspects()));\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !this.localAspects.find((localAspect) => {\n return localAspect.includes(aspectId.fullName.replace('/', '.'));\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects);\n const localResolved = await this.resolveLocalAspects(this.localAspects, runtimeName);\n const coreAspects = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspects).concat(localResolved);\n const uniqDefs = uniqBy(allDefs, (def) => `${def.aspectPath}-${def.runtimePath}`);\n let defs = uniqDefs;\n if (runtimeName) {\n defs = defs.filter((def) => def.runtimePath);\n }\n return defs;\n }\n\n async getLegacyGraph(ids?: ComponentID[]): Promise<LegacyGraph> {\n if (!ids || ids.length < 1) ids = (await this.list()).map((comp) => comp.id) || [];\n const legacyIds = ids.map((id) => {\n let bitId = id._legacy;\n // The resolve bitId in scope will remove the scope name in case it's the same as the scope\n // We restore it back to use it correctly in the legacy code.\n if (!bitId.hasScope()) {\n bitId = bitId.changeScope(this.legacyScope?.name);\n }\n return bitId;\n });\n\n const legacyGraph = await buildOneGraphForComponentsUsingScope(legacyIds, this.legacyScope);\n return legacyGraph;\n }\n\n /**\n * import components into the scope.\n */\n async import(\n ids: ComponentID[],\n {\n useCache = true,\n throwIfNotExist = false,\n reFetchUnBuiltVersion = true,\n }: {\n /**\n * if the component exists locally, don't go to the server to search for updates.\n */\n useCache?: boolean;\n throwIfNotExist?: 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 ): Promise<Component[]> {\n const legacyIds = ids.map((id) => {\n const legacyId = id._legacy;\n if (legacyId.scope === this.name) return legacyId.changeScope(null);\n return legacyId;\n });\n\n const withoutOwnScopeAndLocals = legacyIds.filter((id) => {\n return id.scope !== this.name && id.hasScope();\n });\n await this.legacyScope.import(ComponentsIds.fromArray(withoutOwnScopeAndLocals), useCache, reFetchUnBuiltVersion);\n\n return this.getMany(ids, throwIfNotExist);\n }\n\n async get(id: ComponentID): Promise<Component | undefined> {\n return this.componentLoader.get(id);\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 ): 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 return this.getMany(\n filter && filter.limit ? slice(componentsIds, filter.offset, filter.offset + filter.limit) : componentsIds\n );\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: componentsIds after filter scope: ${JSON.stringify(ids, undefined, 2)}`);\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 includeOrphaned: true,\n includeVersion: true,\n };\n\n return this.legacyScope.hasId(componentId._legacy, 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 * load components from a scope and load their aspects\n */\n async loadMany(ids: ComponentID[]): Promise<Component[]> {\n const components = await mapSeries(ids, (id) => this.load(id));\n return compact(components);\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 return this.componentLoader.getSnap(id, hash);\n }\n\n async getLogs(id: ComponentID, shortHash = false, startsFrom?: string): Promise<ComponentLog[]> {\n return this.legacyScope.loadComponentLogs(id._legacy, shortHash, startsFrom);\n }\n\n /**\n * resolve a component ID.\n * @param id component ID.\n */\n async resolveComponentId(id: string | ComponentID | BitId): Promise<ComponentID> {\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 = id instanceof BitId ? id : await this.legacyScope.getParsedId(IdToCheck);\n if (!legacyId.scope) return ComponentID.fromLegacy(legacyId, this.name);\n return ComponentID.fromLegacy(legacyId);\n }\n\n async resolveMultipleComponentIds(ids: Array<string | ComponentID | BitId>) {\n return Promise.all(ids.map(async (id) => this.resolveComponentId(id)));\n }\n\n /**\n * load components into the scope through a variants pattern.\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 async getExactVersionBySemverRange(id: ComponentID, range: string): Promise<string | undefined> {\n const modelComponent = await this.legacyScope.getModelComponent(id._legacy);\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 async resolveId(id: string): Promise<ComponentID> {\n const legacyId = await this.legacyScope.getParsedId(id);\n return ComponentID.fromLegacy(legacyId);\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 }) => ComponentID.fromLegacy(id));\n }\n\n /**\n * get a component and load its aspect\n */\n async load(id: ComponentID): Promise<Component | undefined> {\n const component = await this.get(id);\n if (!component) return undefined;\n const aspectIds = component.state.aspects.ids;\n // load components from type aspects as aspects.\n if (this.aspectLoader.isAspectComponent(component)) {\n aspectIds.push(component.id.toString());\n }\n await this.loadAspects(aspectIds, true, id);\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);\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<OnTag>(),\n Slot.withType<OnPostPut>(),\n Slot.withType<OnPostDelete>(),\n Slot.withType<OnPostExport>(),\n Slot.withType<OnPostObjectsPersist>(),\n Slot.withType<OnPreFetchObjects>(),\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 ConfigAspect,\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, configMain]: [\n ComponentMain,\n UiMain,\n GraphqlMain,\n CLIMain,\n IsolatorMain,\n AspectLoaderMain,\n ExpressMain,\n LoggerMain,\n EnvsMain,\n ConfigMain\n ],\n config: ScopeConfig,\n [tagSlot, postPutSlot, postDeleteSlot, postExportSlot, postObjectsPersistSlot, preFetchObjectsSlot]: [\n TagRegistry,\n OnPostPutSlot,\n OnPostDeleteSlot,\n OnPostExportSlot,\n OnPostObjectsPersistSlot,\n OnPreFetchObjectsSlot\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 tagSlot,\n postPutSlot,\n postDeleteSlot,\n postExportSlot,\n postObjectsPersistSlot,\n preFetchObjectsSlot,\n isolator,\n aspectLoader,\n logger,\n envs\n );\n cli.registerOnStart(async (hasWorkspace: boolean) => {\n if (hasWorkspace) return;\n await scope.loadAspects(aspectLoader.getNotLoadedConfiguredExtensions());\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: BitId[], lanes: Lane[]): Promise<void> => {\n logger.debug(`onPostExportHook, started. (${ids.length} components)`);\n const componentIds = await scope.resolveMultipleComponentIds(ids);\n const fns = postExportSlot.values();\n const data = {\n ids: componentIds,\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\n configMain?.registerPreAddingAspectsSlot?.(async (compIds) => {\n const loadedIds = await scope.loadAspects(compIds, true);\n // find the full component-ids including versions in the load-aspects results.\n // we need it for bit-use to be added to the config file.\n return compIds.map((compId) => {\n const loaded = loadedIds.find((loadedId) => loadedId.startsWith(`${compId}@`));\n return loaded || compId;\n });\n });\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;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.ui-root.ts"],"names":["ScopeUIRoot","constructor","scope","ssr","name","path","configFile","devServers","Promise","resolve","resolveAspects","runtime","resolvePattern"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIO,MAAMA,WAAN,CAAoC;AACzCC,EAAAA,WAAW;AACT;AACJ;AACA;AACYC,EAAAA,KAJC,EAKT;AAAA,SADQA,KACR,GADQA,KACR;AAAA,0DAkBa;AACbC,MAAAA,GAAG,EAAE;AADQ,KAlBb;AAAE;;AAEI,MAAJC,IAAI,GAAG;AACT,WAAO,KAAKF,KAAL,CAAWE,IAAlB;AACD;;AAEO,MAAJC,IAAI,GAAW;AACjB,WAAO,KAAKH,KAAL,CAAWG,IAAlB;AACD;;AAEa,MAAVC,UAAU,GAAW;AACvB,WAAO,aAAP;AACD;;AAEa,MAAVC,UAAU,GAAG;AACf,WAAOC,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAP;AACD;;AAMDC,EAAAA,cAAc,CAACC,OAAD,EAAkB;AAC9B,WAAO,KAAKT,KAAL,CAAWQ,cAAX,CAA0BC,OAA1B,CAAP;AACD;;AAEmB,QAAdC,cAAc,GAAG;AACrB,WAAO,EAAP;AACD;;AAlCwC","sourcesContent":["import { UIRoot } from '@teambit/ui';\n\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeUIRoot implements UIRoot {\n constructor(\n /**\n * scope extension.\n */\n private scope: ScopeMain\n ) {}\n\n get name() {\n return this.scope.name;\n }\n\n get path(): string {\n return this.scope.path;\n }\n\n get configFile(): string {\n return 'scope.jsonc';\n }\n\n get devServers() {\n return Promise.resolve([]);\n }\n\n buildOptions = {\n ssr: true,\n };\n\n resolveAspects(runtime: string) {\n return this.scope.resolveAspects(runtime);\n }\n\n async resolvePattern() {\n return [];\n }\n}\n"]}
1
+ {"version":3,"names":["ScopeUIRoot","constructor","scope","ssr","name","path","configFile","devServers","Promise","resolve","resolveAspects","runtime","resolvePattern"],"sources":["scope.ui-root.ts"],"sourcesContent":["import { UIRoot } from '@teambit/ui';\n\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeUIRoot implements UIRoot {\n constructor(\n /**\n * scope extension.\n */\n private scope: ScopeMain\n ) {}\n\n get name() {\n return this.scope.name;\n }\n\n get path(): string {\n return this.scope.path;\n }\n\n get configFile(): string {\n return 'scope.jsonc';\n }\n\n get devServers() {\n return Promise.resolve([]);\n }\n\n buildOptions = {\n ssr: true,\n };\n\n resolveAspects(runtime: string) {\n return this.scope.resolveAspects(runtime);\n }\n\n async resolvePattern() {\n return [];\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIO,MAAMA,WAAN,CAAoC;EACzCC,WAAW;EACT;AACJ;AACA;EACYC,KAJC,EAKT;IAAA,KADQA,KACR,GADQA,KACR;IAAA,sDAkBa;MACbC,GAAG,EAAE;IADQ,CAlBb;EAAE;;EAEI,IAAJC,IAAI,GAAG;IACT,OAAO,KAAKF,KAAL,CAAWE,IAAlB;EACD;;EAEO,IAAJC,IAAI,GAAW;IACjB,OAAO,KAAKH,KAAL,CAAWG,IAAlB;EACD;;EAEa,IAAVC,UAAU,GAAW;IACvB,OAAO,aAAP;EACD;;EAEa,IAAVC,UAAU,GAAG;IACf,OAAOC,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAP;EACD;;EAMDC,cAAc,CAACC,OAAD,EAAkB;IAC9B,OAAO,KAAKT,KAAL,CAAWQ,cAAX,CAA0BC,OAA1B,CAAP;EACD;;EAEmB,MAAdC,cAAc,GAAG;IACrB,OAAO,EAAP;EACD;;AAlCwC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.ui.drawer.tsx"],"names":["scopeDrawer","treeWidgets","filtersSlot","drawerWidgetSlot","customScopeTreeNodeRenderer","treeNodeSlot","TreeNode","props","children","node","payload","ScopePayload","map","childNode","id","ComponentsDrawer","order","name","plugins","tree","widgets","customRenderer","filters","drawerWidgets","emptyMessage","useComponents","scope","ScopeContext","loading","components"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAUO,MAAMA,WAAW,GAAG,CAAC;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,WAAf;AAA4BC,EAAAA;AAA5B,CAAD,KAAsE;AAC/F,QAAMC,2BAA2B,GAAIC,YAAD,IAClC,SAASC,QAAT,CAAkBC,KAAlB,EAAqD;AACnD,UAAMC,QAAQ,GAAGD,KAAK,CAACE,IAAN,CAAWD,QAA5B;AAEA,QAAI,CAACA,QAAL,EAAe,oBAAO,+BAAC,+BAAD,+BAAmBD,KAAnB;AAA0B,MAAA,YAAY,EAAEF;AAAxC,OAAP,CAHoC,CAKnD;;AACA,QAAIE,KAAK,CAACE,IAAN,CAAWC,OAAX,YAA8BC,8BAAlC,EAAgD;AAC9C,0BACE,gEACGH,QAAQ,CAACI,GAAT,CAAcC,SAAD,iBACZ,+BAAC,QAAD;AAAU,QAAA,GAAG,EAAEA,SAAS,CAACC;AAAzB,SAAiCP,KAAjC;AAAwC,QAAA,IAAI,EAAEM;AAA9C,SADD,CADH,CADF;AAOD;;AAED,wBAAO,+BAAC,mCAAD,EAAuBN,KAAvB,CAAP;AACD,GAlBH;;AAoBA,SAAO,KAAIQ,+BAAJ,EAAqB;AAC1BC,IAAAA,KAAK,EAAE,CADmB;AAE1BF,IAAAA,EAAE,EAAE,yBAFsB;AAG1BG,IAAAA,IAAI,EAAE,YAHoB;AAI1BC,IAAAA,OAAO,EAAE;AACPC,MAAAA,IAAI,EAAE;AACJC,QAAAA,OAAO,EAAEnB,WADL;AAEJoB,QAAAA,cAAc,EAAEjB;AAFZ,OADC;AAKPkB,MAAAA,OAAO,EAAEpB,WALF;AAMPqB,MAAAA,aAAa,EAAEpB;AANR,KAJiB;AAY1BqB,IAAAA,YAAY,EAAE,gBAZY;AAa1BC,IAAAA,aAAa,EAAE,MAAM;AACnB,YAAMC,KAAK,GAAG,yBAAWC,4BAAX,CAAd;AACA,aAAO;AACLC,QAAAA,OAAO,EAAE,CAACF,KADL;AAELG,QAAAA,UAAU,EAAEH,KAAK,CAACG,UAAN,IAAoB;AAF3B,OAAP;AAID;AAnByB,GAArB,CAAP;AAqBD,CA1CM","sourcesContent":["import React, { useContext } from 'react';\nimport { ComponentsDrawer, ComponentFiltersSlot, DrawerWidgetSlot } from '@teambit/component.ui.component-drawer';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport { ComponentView, NamespaceTreeNode, PayloadType, ScopePayload } from '@teambit/ui-foundation.ui.side-bar';\nimport { TreeNodeProps } from '@teambit/design.ui.tree';\nimport { SidebarSlot } from './scope.ui.runtime';\n\nexport type ScopeDrawerProps = {\n treeWidgets: SidebarSlot;\n filtersSlot: ComponentFiltersSlot;\n drawerWidgetSlot: DrawerWidgetSlot;\n};\n\nexport const scopeDrawer = ({ treeWidgets, filtersSlot, drawerWidgetSlot }: ScopeDrawerProps) => {\n const customScopeTreeNodeRenderer = (treeNodeSlot) =>\n function TreeNode(props: TreeNodeProps<PayloadType>) {\n const children = props.node.children;\n\n if (!children) return <ComponentView {...props} treeNodeSlot={treeNodeSlot} />;\n\n // skip over scope node and render only children\n if (props.node.payload instanceof ScopePayload) {\n return (\n <>\n {children.map((childNode) => (\n <TreeNode key={childNode.id} {...props} node={childNode}></TreeNode>\n ))}\n </>\n );\n }\n\n return <NamespaceTreeNode {...props} />;\n };\n\n return new ComponentsDrawer({\n order: 0,\n id: 'scope-components-drawer',\n name: 'COMPONENTS',\n plugins: {\n tree: {\n widgets: treeWidgets,\n customRenderer: customScopeTreeNodeRenderer,\n },\n filters: filtersSlot,\n drawerWidgets: drawerWidgetSlot,\n },\n emptyMessage: 'Scope is empty',\n useComponents: () => {\n const scope = useContext(ScopeContext);\n return {\n loading: !scope,\n components: scope.components || [],\n };\n },\n });\n};\n"]}
1
+ {"version":3,"names":["scopeDrawer","treeWidgets","filtersSlot","drawerWidgetSlot","customScopeTreeNodeRenderer","treeNodeSlot","TreeNode","props","children","node","payload","ScopePayload","map","childNode","id","ComponentsDrawer","order","name","plugins","tree","widgets","customRenderer","filters","drawerWidgets","emptyMessage","useComponents","scope","useContext","ScopeContext","loading","components"],"sources":["scope.ui.drawer.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ComponentsDrawer, ComponentFiltersSlot, DrawerWidgetSlot } from '@teambit/component.ui.component-drawer';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport { ComponentView, NamespaceTreeNode, PayloadType, ScopePayload } from '@teambit/ui-foundation.ui.side-bar';\nimport { TreeNodeProps } from '@teambit/design.ui.tree';\nimport { SidebarSlot } from './scope.ui.runtime';\n\nexport type ScopeDrawerProps = {\n treeWidgets: SidebarSlot;\n filtersSlot: ComponentFiltersSlot;\n drawerWidgetSlot: DrawerWidgetSlot;\n};\n\nexport const scopeDrawer = ({ treeWidgets, filtersSlot, drawerWidgetSlot }: ScopeDrawerProps) => {\n const customScopeTreeNodeRenderer = (treeNodeSlot) =>\n function TreeNode(props: TreeNodeProps<PayloadType>) {\n const children = props.node.children;\n\n if (!children) return <ComponentView {...props} treeNodeSlot={treeNodeSlot} />;\n\n // skip over scope node and render only children\n if (props.node.payload instanceof ScopePayload) {\n return (\n <>\n {children.map((childNode) => (\n <TreeNode key={childNode.id} {...props} node={childNode}></TreeNode>\n ))}\n </>\n );\n }\n\n return <NamespaceTreeNode {...props} />;\n };\n\n return new ComponentsDrawer({\n order: 0,\n id: 'scope-components-drawer',\n name: 'COMPONENTS',\n plugins: {\n tree: {\n widgets: treeWidgets,\n customRenderer: customScopeTreeNodeRenderer,\n },\n filters: filtersSlot,\n drawerWidgets: drawerWidgetSlot,\n },\n emptyMessage: 'Scope is empty',\n useComponents: () => {\n const scope = useContext(ScopeContext);\n return {\n loading: !scope,\n components: scope.components || [],\n };\n },\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAUO,MAAMA,WAAW,GAAG,CAAC;EAAEC,WAAF;EAAeC,WAAf;EAA4BC;AAA5B,CAAD,KAAsE;EAC/F,MAAMC,2BAA2B,GAAIC,YAAD,IAClC,SAASC,QAAT,CAAkBC,KAAlB,EAAqD;IACnD,MAAMC,QAAQ,GAAGD,KAAK,CAACE,IAAN,CAAWD,QAA5B;IAEA,IAAI,CAACA,QAAL,EAAe,oBAAO,+BAAC,+BAAD,+BAAmBD,KAAnB;MAA0B,YAAY,EAAEF;IAAxC,GAAP,CAHoC,CAKnD;;IACA,IAAIE,KAAK,CAACE,IAAN,CAAWC,OAAX,YAA8BC,8BAAlC,EAAgD;MAC9C,oBACE,gEACGH,QAAQ,CAACI,GAAT,CAAcC,SAAD,iBACZ,+BAAC,QAAD;QAAU,GAAG,EAAEA,SAAS,CAACC;MAAzB,GAAiCP,KAAjC;QAAwC,IAAI,EAAEM;MAA9C,GADD,CADH,CADF;IAOD;;IAED,oBAAO,+BAAC,mCAAD,EAAuBN,KAAvB,CAAP;EACD,CAlBH;;EAoBA,OAAO,KAAIQ,+BAAJ,EAAqB;IAC1BC,KAAK,EAAE,CADmB;IAE1BF,EAAE,EAAE,yBAFsB;IAG1BG,IAAI,EAAE,YAHoB;IAI1BC,OAAO,EAAE;MACPC,IAAI,EAAE;QACJC,OAAO,EAAEnB,WADL;QAEJoB,cAAc,EAAEjB;MAFZ,CADC;MAKPkB,OAAO,EAAEpB,WALF;MAMPqB,aAAa,EAAEpB;IANR,CAJiB;IAY1BqB,YAAY,EAAE,gBAZY;IAa1BC,aAAa,EAAE,MAAM;MACnB,MAAMC,KAAK,GAAG,IAAAC,mBAAA,EAAWC,4BAAX,CAAd;MACA,OAAO;QACLC,OAAO,EAAE,CAACH,KADL;QAELI,UAAU,EAAEJ,KAAK,CAACI,UAAN,IAAoB;MAF3B,CAAP;IAID;EAnByB,CAArB,CAAP;AAqBD,CA1CM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.ui.runtime.tsx"],"names":["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","registerOverviewLine","lines","registerRoutes","registerExplicitRoutes","registerMenuRoutes","path","routePath","children","getMenu","ScopeAspect","id","exact","getComponentUI","registerMenuWidget","registerCorner","corner","replaceOverview","replaceDescription","replaceMetadataSection","registerMetadataItem","replaceComponentGrid","registerMetadata","addContext","context","getContext","contexts","values","uiRoot","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","action","displayName","keybinding","setSidebarToggle","provider","ui","config","componentFiltersSlot","scopeUi","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","UIAspect","ComponentAspect","SidebarAspect","CommandBarAspect","UIRuntime","Slot","withType","addRuntime"],"mappings":"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","sourcesContent":["import flatten from 'lodash.flatten';\nimport type { ComponentUI, ComponentModel } from '@teambit/component';\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 {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentFilters, DeprecateFilter, EnvsFilter } from '@teambit/component.ui.component-filters';\n\nimport { ScopeMenu, ScopeUseBox } from './ui/menu';\nimport { ScopeAspect } from './scope.aspect';\nimport { Scope } from './ui/scope';\nimport { scopeDrawer } from './scope.ui.drawer';\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 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 /**\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 registerExplicitRoutes() {\n this.registerMenuRoutes([\n {\n path: this.componentUi.routePath,\n children: this.componentUi.getMenu(ScopeAspect.id),\n },\n {\n exact: true,\n path: '/',\n children: <ScopeMenu widgetSlot={this.menuWidgetSlot} menuItemSlot={this.menuItemSlot} />,\n },\n ]);\n this.registerRoutes([\n {\n path: this.componentUi.routePath,\n children: 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 /**\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() {\n const contexts = this.contextSlot.values();\n return flatten(contexts);\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 uiRoot(): UIRoot {\n this.sidebar.registerDrawer(\n scopeDrawer({\n treeWidgets: this.sidebarSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n })\n );\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 children: (\n <Scope\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}\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 /** 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 async provider(\n [ui, componentUi, sidebar, commandBarUI]: [UiUI, ComponentUI, SidebarUI, CommandBarUI],\n config,\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]);\n scopeUi.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(scopeUi.uiRoot.bind(scopeUi));\n scopeUi.registerMenuItem(scopeUi.menuItems);\n scopeUi.registerMenuWidget(() => <ScopeUseBox />);\n scopeUi.registerSidebarLink(() => (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>\n ));\n scopeUi.registerExplicitRoutes();\n\n return scopeUi;\n }\n}\n\nexport default ScopeUI;\n\nScopeAspect.addRuntime(ScopeUI);\n"]}
1
+ {"version":3,"names":["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","registerOverviewLine","lines","registerRoutes","registerExplicitRoutes","registerMenuRoutes","path","routePath","children","getMenu","ScopeAspect","id","exact","getComponentUI","registerMenuWidget","registerCorner","corner","replaceOverview","replaceDescription","replaceMetadataSection","registerMetadataItem","replaceComponentGrid","registerMetadata","addContext","context","getContext","contexts","values","flatten","uiRoot","scopeDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","action","displayName","keybinding","setSidebarToggle","provider","ui","config","componentFiltersSlot","scopeUi","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","UIAspect","ComponentAspect","SidebarAspect","CommandBarAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["scope.ui.runtime.tsx"],"sourcesContent":["import flatten from 'lodash.flatten';\nimport type { ComponentUI, ComponentModel } from '@teambit/component';\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 {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentFilters, DeprecateFilter, EnvsFilter } from '@teambit/component.ui.component-filters';\n\nimport { ScopeMenu, ScopeUseBox } from './ui/menu';\nimport { ScopeAspect } from './scope.aspect';\nimport { Scope } from './ui/scope';\nimport { scopeDrawer } from './scope.ui.drawer';\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 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 /**\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 registerExplicitRoutes() {\n this.registerMenuRoutes([\n {\n path: this.componentUi.routePath,\n children: this.componentUi.getMenu(ScopeAspect.id),\n },\n {\n exact: true,\n path: '/',\n children: <ScopeMenu widgetSlot={this.menuWidgetSlot} menuItemSlot={this.menuItemSlot} />,\n },\n ]);\n this.registerRoutes([\n {\n path: this.componentUi.routePath,\n children: 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 /**\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() {\n const contexts = this.contextSlot.values();\n return flatten(contexts);\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 uiRoot(): UIRoot {\n this.sidebar.registerDrawer(\n scopeDrawer({\n treeWidgets: this.sidebarSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n })\n );\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 children: (\n <Scope\n routeSlot={this.routeSlot}\n menuSlot={this.menuSlot}\n sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}\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 /** 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 async provider(\n [ui, componentUi, sidebar, commandBarUI]: [UiUI, ComponentUI, SidebarUI, CommandBarUI],\n config,\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]);\n scopeUi.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(scopeUi.uiRoot.bind(scopeUi));\n scopeUi.registerMenuItem(scopeUi.menuItems);\n scopeUi.registerMenuWidget(() => <ScopeUseBox />);\n scopeUi.registerSidebarLink(() => (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>\n ));\n scopeUi.registerExplicitRoutes();\n\n return scopeUi;\n }\n}\n\nexport default ScopeUI;\n\nScopeAspect.addRuntime(ScopeUI);\n"],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type Serializable = {\n toString(): string;\n};\n\nexport type Metadata = {\n [key: string]: Serializable;\n};\n\nexport type DataToPersist = {\n metadata: Metadata;\n files: string[];\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["export { ScopeMenu, ScopeUseBox } from './menu';\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ScopeMenu, ScopeUseBox } from './menu';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["menu.tsx"],"names":["ScopeMenu","className","rest","styles","scopMenu","ScopeUseBox","scope","ScopeContext","useBox","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAEA;AACA;AACA;AACO,SAASA,SAAT,OAAsD;AAAA,MAAnC;AAAEC,IAAAA;AAAF,GAAmC;AAAA,MAAnBC,IAAmB;AAC3D,sBAAO,+BAAC,sBAAD,+BAAUA,IAAV;AAAgB,IAAA,SAAS,EAAE,2BAAWC,sBAAOC,QAAlB,EAA4BH,SAA5B;AAA3B,KAAP;AACD;;AAEM,SAASI,WAAT,GAAuB;AAC5B,QAAMC,KAAK,GAAG,yBAAWC,4BAAX,CAAd;AACA,sBACE,+BAAC,sCAAD;AAAgB,IAAA,QAAQ,EAAC,YAAzB;AAAsC,IAAA,SAAS,EAAEJ,sBAAOK,MAAxD;AAAgE,IAAA,IAAI,eAAE,+BAAC,6BAAD;AAAiB,MAAA,SAAS,EAAEF,KAAK,CAACG;AAAlC;AAAtE,IADF;AAGD","sourcesContent":["import { Menu, MenuProps } from '@teambit/ui-foundation.ui.menu';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { Menu as ScopeUseBoxMenu } from '@teambit/ui-foundation.ui.use-box.scope-menu';\nimport styles from './menu.module.scss';\n\n/**\n * scope menu.\n */\nexport function ScopeMenu({ className, ...rest }: MenuProps) {\n return <Menu {...rest} className={classNames(styles.scopMenu, className)} />;\n}\n\nexport function ScopeUseBox() {\n const scope = useContext(ScopeContext);\n return (\n <UseBoxDropdown position=\"bottom-end\" className={styles.useBox} Menu={<ScopeUseBoxMenu scopeName={scope.name} />} />\n );\n}\n"]}
1
+ {"version":3,"names":["ScopeMenu","className","rest","classNames","styles","scopMenu","ScopeUseBox","scope","useContext","ScopeContext","useBox","name"],"sources":["menu.tsx"],"sourcesContent":["import { Menu, MenuProps } from '@teambit/ui-foundation.ui.menu';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { Menu as ScopeUseBoxMenu } from '@teambit/ui-foundation.ui.use-box.scope-menu';\nimport styles from './menu.module.scss';\n\n/**\n * scope menu.\n */\nexport function ScopeMenu({ className, ...rest }: MenuProps) {\n return <Menu {...rest} className={classNames(styles.scopMenu, className)} />;\n}\n\nexport function ScopeUseBox() {\n const scope = useContext(ScopeContext);\n return (\n <UseBoxDropdown position=\"bottom-end\" className={styles.useBox} Menu={<ScopeUseBoxMenu scopeName={scope.name} />} />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAEA;AACA;AACA;AACO,SAASA,SAAT,OAAsD;EAAA,IAAnC;IAAEC;EAAF,CAAmC;EAAA,IAAnBC,IAAmB;EAC3D,oBAAO,+BAAC,sBAAD,+BAAUA,IAAV;IAAgB,SAAS,EAAE,IAAAC,qBAAA,EAAWC,qBAAA,CAAOC,QAAlB,EAA4BJ,SAA5B;EAA3B,GAAP;AACD;;AAEM,SAASK,WAAT,GAAuB;EAC5B,MAAMC,KAAK,GAAG,IAAAC,mBAAA,EAAWC,4BAAX,CAAd;EACA,oBACE,+BAAC,sCAAD;IAAgB,QAAQ,EAAC,YAAzB;IAAsC,SAAS,EAAEL,qBAAA,CAAOM,MAAxD;IAAgE,IAAI,eAAE,+BAAC,6BAAD;MAAiB,SAAS,EAAEH,KAAK,CAACI;IAAlC;EAAtE,EADF;AAGD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './scope-overview';\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './scope-overview';\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope-overview.tsx"],"names":["ScopeOverview","badgeSlot","overviewSlot","scope","ScopeContext","components","length","name","styles","container","icon","backgroundIconColor","description","map","component","index","ScopeComponentCard","componentUrl","shouldShowPreview","compositions","id","fullName","environment","version"],"mappings":";;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAQO,SAASA,aAAT,CAAuB;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAvB,EAAwE;AAC7E,QAAMC,KAAK,GAAG,yBAAWC,4BAAX,CAAd;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAiBF,KAAvB;AACA,MAAI,CAACE,UAAD,IAAeA,UAAU,CAACC,MAAX,KAAsB,CAAzC,EAA4C,oBAAO,+BAAC,sBAAD;AAAY,IAAA,IAAI,EAAEH,KAAK,CAACI;AAAxB,IAAP;AAE5C,sBACE;AAAK,IAAA,SAAS,EAAEC,+BAAOC;AAAvB,kBACE,+BAAC,uBAAD;AACE,IAAA,SAAS,EAAEN,KAAK,CAACI,IADnB;AAEE,IAAA,IAAI,EAAEJ,KAAK,CAACO,IAFd;AAGE,IAAA,mBAAmB,EAAEP,KAAK,CAACQ,mBAH7B;AAIE,IAAA,SAAS,EAAEV,SAJb;AAKE,IAAA,YAAY,EAAEC,YALhB;AAME,IAAA,WAAW,EAAEC,KAAK,CAACS,WANrB;AAOE,IAAA,cAAc,EAAET,KAAK,CAACE,UAAN,CAAiBC;AAPnC,IADF,eAUE,+BAAC,mCAAD,QACGD,UAAU,CAACQ,GAAX,CAAe,CAACC,SAAD,EAAYC,KAAZ,KAAsB;AACpC,wBACE;AAAK,MAAA,GAAG,EAAEA;AAAV,oBACE,+BAAC,kBAAD;AAAoB,MAAA,SAAS,EAAED;AAA/B,MADF,CADF;AAKD,GANA,CADH,CAVF,CADF;AAsBD;;AAOM,SAASE,kBAAT,CAA4B;AAAEF,EAAAA,SAAF;AAAaG,EAAAA;AAAb,CAA5B,EAAkF;AAAA;;AACvF,QAAMC,iBAAiB,GAAGJ,SAAS,CAACK,YAAV,CAAuBb,MAAvB,GAAgC,CAA1D;AACA,sBACE,+BAAC,kCAAD;AACE,IAAA,EAAE,EAAEQ,SAAS,CAACM,EAAV,CAAaC,QADnB;AAEE,IAAA,OAAO,2BAAEP,SAAS,CAACQ,WAAZ,0DAAE,sBAAuBZ,IAFlC;AAGE,IAAA,WAAW,EAAEI,SAAS,CAACF,WAHzB;AAIE,IAAA,OAAO,EAAEE,SAAS,CAACS,OAJrB;AAKE,IAAA,IAAI,EAAEN,YALR;AAME,IAAA,OAAO,eAAE,+BAAC,+BAAD;AAAoB,MAAA,SAAS,EAAEH,SAA/B;AAA0C,MAAA,iBAAiB,EAAEI;AAA7D;AANX,IADF;AAUD","sourcesContent":["import React, { useContext } from 'react';\nimport { ComponentCard } from '@teambit/explorer.ui.gallery.component-card';\nimport { ComponentGrid } from '@teambit/explorer.ui.gallery.component-grid';\nimport { ScopeDetails } from '@teambit/scope.ui.scope-details';\nimport { PreviewPlaceholder } from '@teambit/preview.ui.preview-placeholder';\nimport { EmptyScope } from '@teambit/scope.ui.empty-scope';\nimport { ComponentModel } from '@teambit/component';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport styles from './scope-overview.module.scss';\nimport type { ScopeBadgeSlot, OverviewLineSlot } from '../../scope.ui.runtime';\n\nexport type ScopeOverviewProps = {\n badgeSlot: ScopeBadgeSlot;\n overviewSlot: OverviewLineSlot;\n};\n\nexport function ScopeOverview({ badgeSlot, overviewSlot }: ScopeOverviewProps) {\n const scope = useContext(ScopeContext);\n const { components } = scope;\n if (!components || components.length === 0) return <EmptyScope name={scope.name} />;\n\n return (\n <div className={styles.container}>\n <ScopeDetails\n scopeName={scope.name}\n icon={scope.icon}\n backgroundIconColor={scope.backgroundIconColor}\n badgeSlot={badgeSlot}\n overviewSlot={overviewSlot}\n description={scope.description}\n componentCount={scope.components.length}\n />\n <ComponentGrid>\n {components.map((component, index) => {\n return (\n <div key={index}>\n <ScopeComponentCard component={component} />\n </div>\n );\n })}\n </ComponentGrid>\n </div>\n );\n}\n\ntype ScopeComponentCardProps = {\n component: ComponentModel;\n componentUrl?: string;\n};\n\nexport function ScopeComponentCard({ component, componentUrl }: ScopeComponentCardProps) {\n const shouldShowPreview = component.compositions.length > 0;\n return (\n <ComponentCard\n id={component.id.fullName}\n envIcon={component.environment?.icon}\n description={component.description}\n version={component.version}\n href={componentUrl}\n preview={<PreviewPlaceholder component={component} shouldShowPreview={shouldShowPreview} />}\n />\n );\n}\n"]}
1
+ {"version":3,"names":["ScopeOverview","badgeSlot","overviewSlot","scope","useContext","ScopeContext","components","length","name","styles","container","icon","backgroundIconColor","description","map","component","index","ScopeComponentCard","componentUrl","shouldShowPreview","compositions","id","fullName","environment","version"],"sources":["scope-overview.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ComponentCard } from '@teambit/explorer.ui.gallery.component-card';\nimport { ComponentGrid } from '@teambit/explorer.ui.gallery.component-grid';\nimport { ScopeDetails } from '@teambit/scope.ui.scope-details';\nimport { PreviewPlaceholder } from '@teambit/preview.ui.preview-placeholder';\nimport { EmptyScope } from '@teambit/scope.ui.empty-scope';\nimport { ComponentModel } from '@teambit/component';\nimport { ScopeContext } from '@teambit/scope.ui.hooks.scope-context';\nimport styles from './scope-overview.module.scss';\nimport type { ScopeBadgeSlot, OverviewLineSlot } from '../../scope.ui.runtime';\n\nexport type ScopeOverviewProps = {\n badgeSlot: ScopeBadgeSlot;\n overviewSlot: OverviewLineSlot;\n};\n\nexport function ScopeOverview({ badgeSlot, overviewSlot }: ScopeOverviewProps) {\n const scope = useContext(ScopeContext);\n const { components } = scope;\n if (!components || components.length === 0) return <EmptyScope name={scope.name} />;\n\n return (\n <div className={styles.container}>\n <ScopeDetails\n scopeName={scope.name}\n icon={scope.icon}\n backgroundIconColor={scope.backgroundIconColor}\n badgeSlot={badgeSlot}\n overviewSlot={overviewSlot}\n description={scope.description}\n componentCount={scope.components.length}\n />\n <ComponentGrid>\n {components.map((component, index) => {\n return (\n <div key={index}>\n <ScopeComponentCard component={component} />\n </div>\n );\n })}\n </ComponentGrid>\n </div>\n );\n}\n\ntype ScopeComponentCardProps = {\n component: ComponentModel;\n componentUrl?: string;\n};\n\nexport function ScopeComponentCard({ component, componentUrl }: ScopeComponentCardProps) {\n const shouldShowPreview = component.compositions.length > 0;\n return (\n <ComponentCard\n id={component.id.fullName}\n envIcon={component.environment?.icon}\n description={component.description}\n version={component.version}\n href={componentUrl}\n preview={<PreviewPlaceholder component={component} shouldShowPreview={shouldShowPreview} />}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAQO,SAASA,aAAT,CAAuB;EAAEC,SAAF;EAAaC;AAAb,CAAvB,EAAwE;EAC7E,MAAMC,KAAK,GAAG,IAAAC,mBAAA,EAAWC,4BAAX,CAAd;EACA,MAAM;IAAEC;EAAF,IAAiBH,KAAvB;EACA,IAAI,CAACG,UAAD,IAAeA,UAAU,CAACC,MAAX,KAAsB,CAAzC,EAA4C,oBAAO,+BAAC,sBAAD;IAAY,IAAI,EAAEJ,KAAK,CAACK;EAAxB,EAAP;EAE5C,oBACE;IAAK,SAAS,EAAEC,8BAAA,CAAOC;EAAvB,gBACE,+BAAC,uBAAD;IACE,SAAS,EAAEP,KAAK,CAACK,IADnB;IAEE,IAAI,EAAEL,KAAK,CAACQ,IAFd;IAGE,mBAAmB,EAAER,KAAK,CAACS,mBAH7B;IAIE,SAAS,EAAEX,SAJb;IAKE,YAAY,EAAEC,YALhB;IAME,WAAW,EAAEC,KAAK,CAACU,WANrB;IAOE,cAAc,EAAEV,KAAK,CAACG,UAAN,CAAiBC;EAPnC,EADF,eAUE,+BAAC,mCAAD,QACGD,UAAU,CAACQ,GAAX,CAAe,CAACC,SAAD,EAAYC,KAAZ,KAAsB;IACpC,oBACE;MAAK,GAAG,EAAEA;IAAV,gBACE,+BAAC,kBAAD;MAAoB,SAAS,EAAED;IAA/B,EADF,CADF;EAKD,CANA,CADH,CAVF,CADF;AAsBD;;AAOM,SAASE,kBAAT,CAA4B;EAAEF,SAAF;EAAaG;AAAb,CAA5B,EAAkF;EAAA;;EACvF,MAAMC,iBAAiB,GAAGJ,SAAS,CAACK,YAAV,CAAuBb,MAAvB,GAAgC,CAA1D;EACA,oBACE,+BAAC,kCAAD;IACE,EAAE,EAAEQ,SAAS,CAACM,EAAV,CAAaC,QADnB;IAEE,OAAO,2BAAEP,SAAS,CAACQ,WAAZ,0DAAE,sBAAuBZ,IAFlC;IAGE,WAAW,EAAEI,SAAS,CAACF,WAHzB;IAIE,OAAO,EAAEE,SAAS,CAACS,OAJrB;IAKE,IAAI,EAAEN,YALR;IAME,OAAO,eAAE,+BAAC,+BAAD;MAAoB,SAAS,EAAEH,SAA/B;MAA0C,iBAAiB,EAAEI;IAA7D;EANX,EADF;AAUD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["scope.tsx"],"names":["Scope","routeSlot","menuSlot","sidebar","scopeUi","badgeSlot","overviewLineSlot","cornerSlot","context","onSidebarTogglerChange","scope","isMobile","isSidebarOpen","handleSidebarToggle","x","sidebarOpenness","Layout","row","right","CornerOverride","values","setComponents","components","Context","map","ctx","styles","topbar","name","whiteCorner","main","splitter","e","stopPropagation"],"mappings":"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","sourcesContent":["import 'reset-css';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { Composer, ComponentTuple } from '@teambit/base-ui.utils.composer';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\nimport React, { useReducer } from 'react';\nimport { Route } from 'react-router-dom';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';\nimport { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';\nimport { ScopeOverview } from './scope-overview';\nimport styles from './scope.module.scss';\nimport ScopeUI, { ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';\n\nexport type ScopeProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: JSX.Element;\n scopeUi: ScopeUI;\n badgeSlot: ScopeBadgeSlot;\n overviewLineSlot: OverviewLineSlot;\n cornerSlot: CornerSlot;\n context: ScopeContextType[];\n onSidebarTogglerChange: (callback: () => void) => void;\n};\n\n/**\n * root component of the scope\n */\nexport function Scope({\n routeSlot,\n menuSlot,\n sidebar,\n scopeUi,\n badgeSlot,\n overviewLineSlot,\n cornerSlot,\n context = [],\n onSidebarTogglerChange,\n}: ScopeProps) {\n const { scope } = useScopeQuery();\n const isMobile = useIsMobile();\n const [isSidebarOpen, handleSidebarToggle] = useReducer((x) => !x, !isMobile);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n if (!scope) {\n return <FullLoader />;\n }\n const CornerOverride = cornerSlot?.values()[0];\n scopeUi.setComponents(scope.components);\n const Context = context.map((ctx) => [ctx, { scope }] as ComponentTuple);\n\n onSidebarTogglerChange(handleSidebarToggle);\n\n return (\n <ScopeProvider scope={scope}>\n <Composer components={Context}>\n <div className={styles.scope}>\n <TopBar\n className={styles.topbar}\n Corner={() => {\n if (CornerOverride) return <CornerOverride />;\n return <Corner name={scope.name} className={styles.whiteCorner} />;\n }}\n menu={menuSlot}\n />\n\n <SplitPane className={styles.main} size={264} layout={sidebarOpenness}>\n <Pane className={styles.sidebar}>{sidebar}</Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n <Pane>\n <SlotRouter slot={routeSlot} />\n <Route exact path=\"/\">\n <ScopeOverview badgeSlot={badgeSlot} overviewSlot={overviewLineSlot} />\n </Route>\n </Pane>\n </SplitPane>\n </div>\n </Composer>\n </ScopeProvider>\n );\n}\n"]}
1
+ {"version":3,"names":["Scope","routeSlot","menuSlot","sidebar","scopeUi","badgeSlot","overviewLineSlot","cornerSlot","context","onSidebarTogglerChange","scope","useScopeQuery","isMobile","useIsMobile","isSidebarOpen","handleSidebarToggle","useReducer","x","sidebarOpenness","Layout","row","right","CornerOverride","values","setComponents","components","Context","map","ctx","styles","topbar","name","whiteCorner","main","splitter","e","stopPropagation"],"sources":["scope.tsx"],"sourcesContent":["import 'reset-css';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { Composer, ComponentTuple } from '@teambit/base-ui.utils.composer';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\nimport React, { useReducer } from 'react';\nimport { Route } from 'react-router-dom';\nimport { useIsMobile } from '@teambit/ui-foundation.ui.hooks.use-is-mobile';\nimport { ScopeProvider } from '@teambit/scope.ui.hooks.scope-context';\nimport { useScopeQuery } from '@teambit/scope.ui.hooks.use-scope';\nimport { ScopeOverview } from './scope-overview';\nimport styles from './scope.module.scss';\nimport ScopeUI, { ScopeBadgeSlot, ScopeContextType, CornerSlot, OverviewLineSlot } from '../scope.ui.runtime';\n\nexport type ScopeProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: JSX.Element;\n scopeUi: ScopeUI;\n badgeSlot: ScopeBadgeSlot;\n overviewLineSlot: OverviewLineSlot;\n cornerSlot: CornerSlot;\n context: ScopeContextType[];\n onSidebarTogglerChange: (callback: () => void) => void;\n};\n\n/**\n * root component of the scope\n */\nexport function Scope({\n routeSlot,\n menuSlot,\n sidebar,\n scopeUi,\n badgeSlot,\n overviewLineSlot,\n cornerSlot,\n context = [],\n onSidebarTogglerChange,\n}: ScopeProps) {\n const { scope } = useScopeQuery();\n const isMobile = useIsMobile();\n const [isSidebarOpen, handleSidebarToggle] = useReducer((x) => !x, !isMobile);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n if (!scope) {\n return <FullLoader />;\n }\n const CornerOverride = cornerSlot?.values()[0];\n scopeUi.setComponents(scope.components);\n const Context = context.map((ctx) => [ctx, { scope }] as ComponentTuple);\n\n onSidebarTogglerChange(handleSidebarToggle);\n\n return (\n <ScopeProvider scope={scope}>\n <Composer components={Context}>\n <div className={styles.scope}>\n <TopBar\n className={styles.topbar}\n Corner={() => {\n if (CornerOverride) return <CornerOverride />;\n return <Corner name={scope.name} className={styles.whiteCorner} />;\n }}\n menu={menuSlot}\n />\n\n <SplitPane className={styles.main} size={264} layout={sidebarOpenness}>\n <Pane className={styles.sidebar}>{sidebar}</Pane>\n <HoverSplitter className={styles.splitter}>\n <Collapser\n isOpen={isSidebarOpen}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n <Pane>\n <SlotRouter slot={routeSlot} />\n <Route exact path=\"/\">\n <ScopeOverview badgeSlot={badgeSlot} overviewSlot={overviewLineSlot} />\n </Route>\n </Pane>\n </SplitPane>\n </div>\n </Composer>\n </ScopeProvider>\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@teambit/scope",
3
- "version": "0.0.737",
3
+ "version": "0.0.740",
4
4
  "homepage": "https://bit.dev/teambit/scope/scope",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "scope",
9
- "version": "0.0.737"
9
+ "version": "0.0.740"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
+ "p-map-series": "2.1.0",
13
14
  "semver": "7.3.4",
14
15
  "graphql-tag": "2.12.1",
15
16
  "fs-extra": "10.0.0",
16
17
  "lodash": "4.17.21",
17
- "p-map-series": "2.1.0",
18
18
  "lodash.flatten": "4.4.0",
19
19
  "react-router-dom": "5.2.0",
20
20
  "reset-css": "5.0.1",
@@ -26,37 +26,37 @@
26
26
  "@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
27
27
  "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
28
28
  "@teambit/base-ui.utils.composer": "1.0.0",
29
- "@teambit/scope.models.scope-model": "0.0.142",
30
- "@teambit/scope.ui.hooks.scope-context": "0.0.142",
31
- "@teambit/cli": "0.0.491",
32
- "@teambit/component": "0.0.737",
33
- "@teambit/logger": "0.0.583",
34
- "@teambit/aspect-loader": "0.0.737",
35
- "@teambit/builder": "0.0.737",
36
- "@teambit/compiler": "0.0.737",
37
- "@teambit/config": "0.0.504",
38
- "@teambit/envs": "0.0.737",
39
- "@teambit/express": "0.0.587",
40
- "@teambit/graphql": "0.0.737",
29
+ "@teambit/scope.models.scope-model": "0.0.143",
30
+ "@teambit/scope.ui.hooks.scope-context": "0.0.143",
31
+ "@teambit/cli": "0.0.492",
32
+ "@teambit/component": "0.0.740",
33
+ "@teambit/logger": "0.0.584",
34
+ "@teambit/aspect-loader": "0.0.740",
35
+ "@teambit/builder": "0.0.740",
36
+ "@teambit/compiler": "0.0.740",
37
+ "@teambit/config": "0.0.505",
38
+ "@teambit/envs": "0.0.740",
39
+ "@teambit/express": "0.0.589",
40
+ "@teambit/graphql": "0.0.740",
41
41
  "@teambit/harmony.modules.requireable-component": "0.0.484",
42
- "@teambit/isolator": "0.0.737",
42
+ "@teambit/isolator": "0.0.740",
43
43
  "@teambit/legacy-bit-id": "0.0.399",
44
- "@teambit/ui": "0.0.737",
44
+ "@teambit/ui": "0.0.740",
45
45
  "@teambit/workspace.modules.match-pattern": "0.0.489",
46
- "@teambit/component.ui.component-drawer": "0.0.36",
46
+ "@teambit/component.ui.component-drawer": "0.0.37",
47
47
  "@teambit/design.ui.tree": "0.0.5",
48
- "@teambit/ui-foundation.ui.side-bar": "0.0.554",
49
- "@teambit/command-bar": "0.0.737",
50
- "@teambit/component-tree": "0.0.525",
48
+ "@teambit/ui-foundation.ui.side-bar": "0.0.555",
49
+ "@teambit/command-bar": "0.0.740",
50
+ "@teambit/component-tree": "0.0.528",
51
51
  "@teambit/component.ui.component-filters": "0.0.4",
52
- "@teambit/sidebar": "0.0.737",
52
+ "@teambit/sidebar": "0.0.740",
53
53
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.487",
54
54
  "@teambit/ui-foundation.ui.menu": "0.0.487",
55
55
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.489",
56
56
  "@teambit/ui-foundation.ui.tree.drawer": "0.0.499",
57
57
  "@teambit/bit-error": "0.0.394",
58
58
  "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.487",
59
- "@teambit/scope.ui.hooks.use-scope": "0.0.145",
59
+ "@teambit/scope.ui.hooks.use-scope": "0.0.146",
60
60
  "@teambit/ui-foundation.ui.buttons.collapser": "0.0.194",
61
61
  "@teambit/ui-foundation.ui.corner": "0.0.497",
62
62
  "@teambit/ui-foundation.ui.full-loader": "0.0.486",
@@ -86,7 +86,7 @@
86
86
  "@teambit/scope.content.scope-overview": "1.95.0"
87
87
  },
88
88
  "peerDependencies": {
89
- "@teambit/legacy": "1.0.271",
89
+ "@teambit/legacy": "1.0.272",
90
90
  "react-dom": "^16.8.0 || ^17.0.0",
91
91
  "react": "^16.8.0 || ^17.0.0"
92
92
  },
@@ -114,7 +114,7 @@
114
114
  "react": "-"
115
115
  },
116
116
  "peerDependencies": {
117
- "@teambit/legacy": "1.0.271",
117
+ "@teambit/legacy": "1.0.272",
118
118
  "react-dom": "^16.8.0 || ^17.0.0",
119
119
  "react": "^16.8.0 || ^17.0.0"
120
120
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@0.0.737/dist/scope.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@0.0.737/dist/scope.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@0.0.740/dist/scope.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@0.0.740/dist/scope.docs.mdx')]