@teambit/scope 1.0.506 → 1.0.508

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,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.506/dist/scope.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.506/dist/scope.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.508/dist/scope.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.508/dist/scope.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -21,7 +21,7 @@ function _scope() {
21
21
  async function runAction(actionName, remote, options = {}) {
22
22
  const scope = await (0, _legacy().loadScope)();
23
23
  const scopeRemotes = await (0, _scope().getScopeRemotes)(scope);
24
- const remoteObj = await scopeRemotes.resolve(remote, scope);
24
+ const remoteObj = await scopeRemotes.resolve(remote);
25
25
  return remoteObj.action(actionName, options);
26
26
  }
27
27
 
@@ -1 +1 @@
1
- {"version":3,"names":["_legacy","data","require","_scope","runAction","actionName","remote","options","scope","loadScope","scopeRemotes","getScopeRemotes","remoteObj","resolve","action"],"sources":["run-action.ts"],"sourcesContent":["import { loadScope, Scope } from '@teambit/legacy.scope';\nimport { getScopeRemotes } from '@teambit/scope.remotes';\n\nexport async function runAction(actionName: string, remote: string, options = {}): Promise<any> {\n const scope: Scope = await loadScope();\n const scopeRemotes = await getScopeRemotes(scope);\n const remoteObj = await scopeRemotes.resolve(remote, scope);\n return remoteObj.action(actionName, options);\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,eAAeG,SAASA,CAACC,UAAkB,EAAEC,MAAc,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAgB;EAC9F,MAAMC,KAAY,GAAG,MAAM,IAAAC,mBAAS,EAAC,CAAC;EACtC,MAAMC,YAAY,GAAG,MAAM,IAAAC,wBAAe,EAACH,KAAK,CAAC;EACjD,MAAMI,SAAS,GAAG,MAAMF,YAAY,CAACG,OAAO,CAACP,MAAM,EAAEE,KAAK,CAAC;EAC3D,OAAOI,SAAS,CAACE,MAAM,CAACT,UAAU,EAAEE,OAAO,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["_legacy","data","require","_scope","runAction","actionName","remote","options","scope","loadScope","scopeRemotes","getScopeRemotes","remoteObj","resolve","action"],"sources":["run-action.ts"],"sourcesContent":["import { loadScope, Scope } from '@teambit/legacy.scope';\nimport { getScopeRemotes } from '@teambit/scope.remotes';\n\nexport async function runAction(actionName: string, remote: string, options = {}): Promise<any> {\n const scope: Scope = await loadScope();\n const scopeRemotes = await getScopeRemotes(scope);\n const remoteObj = await scopeRemotes.resolve(remote);\n return remoteObj.action(actionName, options);\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,eAAeG,SAASA,CAACC,UAAkB,EAAEC,MAAc,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAgB;EAC9F,MAAMC,KAAY,GAAG,MAAM,IAAAC,mBAAS,EAAC,CAAC;EACtC,MAAMC,YAAY,GAAG,MAAM,IAAAC,wBAAe,EAACH,KAAK,CAAC;EACjD,MAAMI,SAAS,GAAG,MAAMF,YAAY,CAACG,OAAO,CAACP,MAAM,CAAC;EACpD,OAAOM,SAAS,CAACE,MAAM,CAACT,UAAU,EAAEE,OAAO,CAAC;AAC9C","ignoreList":[]}
@@ -13,7 +13,7 @@ export declare class ScopeComponentLoader {
13
13
  /**
14
14
  * get a component from a remote without importing it
15
15
  */
16
- getRemoteComponent(id: ComponentID): Promise<Component>;
16
+ getRemoteComponent(id: ComponentID, fromMain?: boolean): Promise<Component>;
17
17
  /**
18
18
  * get components from a remote without importing it
19
19
  */
@@ -116,13 +116,16 @@ class ScopeComponentLoader {
116
116
  /**
117
117
  * get a component from a remote without importing it
118
118
  */
119
- async getRemoteComponent(id) {
119
+ async getRemoteComponent(id, fromMain = false) {
120
120
  const compImport = this.scope.legacyScope.scopeImporter;
121
121
  const objectList = await compImport.getRemoteComponent(id);
122
122
  // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks
123
123
  // for the consumerComponent from the legacyScope, it won't work.
124
124
  objectList?.getAll().forEach(obj => this.scope.legacyScope.objects.setCache(obj));
125
- const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id);
125
+ const modelComponent = await this.scope.legacyScope.getModelComponent(id);
126
+ const headAsTag = modelComponent.getHeadAsTagIfExist();
127
+ const idToLoad = fromMain && headAsTag ? id.changeVersion(headAsTag) : id;
128
+ const consumerComponent = await this.scope.legacyScope.getConsumerComponent(idToLoad);
126
129
  return this.getFromConsumerComponent(consumerComponent);
127
130
  }
128
131
 
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_semver","_scope","_bitError","_harmonyModules","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeComponentLoader","constructor","scope","logger","componentsCache","createInMemoryCache","maxSize","getMaxSizeForComponents","importedComponentsCache","maxAge","get","id","importIfMissing","useCache","fromCache","getFromCache","idStr","toString","debug","legacyId","modelComponent","legacyScope","getModelComponentIfExist","isExported","import","reason","set","changeScope","name","undefined","versionStr","hasVersion","version","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","newId","changeVersion","loadVersion","objects","versionOriginId","originId","isEqualWithoutVersion","BitError","toStringWithoutVersion","snap","getHeadSnap","state","createStateFromVersion","tagMap","getTagMap","component","Component","getFromConsumerComponent","consumerComponent","getModelComponent","pendingVersion","getRemoteComponent","compImport","scopeImporter","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","keys","tag","Tag","SemVer","head","getHeadRegardlessOfLane","Snap","Date","parseInt","log","date","parents","p","displayName","username","email","message","consumerComponentOptional","State","Config","componentExtension","createAspectListFromLegacy","extensions","ComponentFS","fromVinyls","files","dependencies","exports"],"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.consumer-component';\nimport { VERSION_ZERO, Ref, ModelComponent, Version } from '@teambit/scope.objects';\nimport { BitError } from '@teambit/bit-error';\nimport { getMaxSizeForComponents, InMemoryCache, createInMemoryCache } from '@teambit/harmony.modules.in-memory-cache';\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(\n private scope: ScopeMain,\n private logger: Logger\n ) {\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, useCache = true): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache && useCache) {\n return fromCache;\n }\n const idStr = id.toString();\n this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n // import if missing\n if (\n !modelComponent &&\n importIfMissing &&\n this.scope.isExported(id) &&\n !this.importedComponentsCache.get(id.toString())\n ) {\n await this.scope.import([id], { reason: `${id.toString()} because it's missing from the local scope` });\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\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);\n }\n if (!modelComponent) return undefined;\n\n const versionStr = id.hasVersion()\n ? (id.version as string)\n : modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n\n if (versionStr === VERSION_ZERO) return undefined;\n const newId = id.changeVersion(versionStr);\n const version = await modelComponent.loadVersion(versionStr, this.scope.legacyScope.objects);\n const versionOriginId = version.originId;\n if (versionOriginId && !versionOriginId.isEqualWithoutVersion(id)) {\n throw new BitError(\n `version \"${versionStr}\" seem to be originated from \"${versionOriginId.toString()}\", not from \"${id.toStringWithoutVersion()}\"`\n );\n }\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 id = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(id.version as string, this.scope.legacyScope.objects));\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version, consumerComponent);\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 = this.scope.legacyScope.scopeImporter;\n const objectList = await compImport.getRemoteComponent(id);\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);\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 = this.scope.legacyScope.scopeImporter;\n const legacyIds = ids.map((id) => id);\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.isEqual(id)) {\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(\n id: ComponentID,\n version: Version,\n consumerComponentOptional?: ConsumerComponent\n ): Promise<State> {\n const consumerComponent = consumerComponentOptional || (await this.scope.legacyScope.getConsumerComponent(id));\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(consumerComponent),\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),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_semver","_scope","_bitError","_harmonyModules","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeComponentLoader","constructor","scope","logger","componentsCache","createInMemoryCache","maxSize","getMaxSizeForComponents","importedComponentsCache","maxAge","get","id","importIfMissing","useCache","fromCache","getFromCache","idStr","toString","debug","legacyId","modelComponent","legacyScope","getModelComponentIfExist","isExported","import","reason","set","changeScope","name","undefined","versionStr","hasVersion","version","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","newId","changeVersion","loadVersion","objects","versionOriginId","originId","isEqualWithoutVersion","BitError","toStringWithoutVersion","snap","getHeadSnap","state","createStateFromVersion","tagMap","getTagMap","component","Component","getFromConsumerComponent","consumerComponent","getModelComponent","pendingVersion","getRemoteComponent","fromMain","compImport","scopeImporter","objectList","getAll","forEach","obj","setCache","headAsTag","getHeadAsTagIfExist","idToLoad","getConsumerComponent","getManyRemoteComponents","ids","legacyIds","map","pMapSeries","getState","hash","load","Ref","getSnap","getVersionObject","err","code","errMsg","error","Error","createSnapFromVersion","clearCache","deleteAll","isEqual","TagMap","allVersions","versionsIncludeOrphaned","keys","tag","Tag","SemVer","head","getHeadRegardlessOfLane","Snap","Date","parseInt","log","date","parents","p","displayName","username","email","message","consumerComponentOptional","State","Config","componentExtension","createAspectListFromLegacy","extensions","ComponentFS","fromVinyls","files","dependencies","exports"],"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.consumer-component';\nimport { VERSION_ZERO, Ref, ModelComponent, Version } from '@teambit/scope.objects';\nimport { BitError } from '@teambit/bit-error';\nimport { getMaxSizeForComponents, InMemoryCache, createInMemoryCache } from '@teambit/harmony.modules.in-memory-cache';\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(\n private scope: ScopeMain,\n private logger: Logger\n ) {\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, useCache = true): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache && useCache) {\n return fromCache;\n }\n const idStr = id.toString();\n this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n // import if missing\n if (\n !modelComponent &&\n importIfMissing &&\n this.scope.isExported(id) &&\n !this.importedComponentsCache.get(id.toString())\n ) {\n await this.scope.import([id], { reason: `${id.toString()} because it's missing from the local scope` });\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\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);\n }\n if (!modelComponent) return undefined;\n\n const versionStr = id.hasVersion()\n ? (id.version as string)\n : modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n\n if (versionStr === VERSION_ZERO) return undefined;\n const newId = id.changeVersion(versionStr);\n const version = await modelComponent.loadVersion(versionStr, this.scope.legacyScope.objects);\n const versionOriginId = version.originId;\n if (versionOriginId && !versionOriginId.isEqualWithoutVersion(id)) {\n throw new BitError(\n `version \"${versionStr}\" seem to be originated from \"${versionOriginId.toString()}\", not from \"${id.toStringWithoutVersion()}\"`\n );\n }\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 id = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(id.version as string, this.scope.legacyScope.objects));\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version, consumerComponent);\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, fromMain = false): Promise<Component> {\n const compImport = this.scope.legacyScope.scopeImporter;\n const objectList = await compImport.getRemoteComponent(id);\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 modelComponent = await this.scope.legacyScope.getModelComponent(id);\n const headAsTag = modelComponent.getHeadAsTagIfExist();\n const idToLoad = fromMain && headAsTag ? id.changeVersion(headAsTag) : id;\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(idToLoad);\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 = this.scope.legacyScope.scopeImporter;\n const legacyIds = ids.map((id) => id);\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.isEqual(id)) {\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(\n id: ComponentID,\n version: Version,\n consumerComponentOptional?: ConsumerComponent\n ): Promise<State> {\n const consumerComponent = consumerComponentOptional || (await this.scope.legacyScope.getConsumerComponent(id));\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(consumerComponent),\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),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -254,8 +254,9 @@ export declare class ScopeMain implements ComponentFactory {
254
254
  getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component>;
255
255
  /**
256
256
  * get a component from a remote without importing it
257
+ * by default, when on a lane, it loads the component from the lane. unless `fromMain` is set to true.
257
258
  */
258
- getRemoteComponent(id: ComponentID): Promise<Component>;
259
+ getRemoteComponent(id: ComponentID, fromMain?: boolean): Promise<Component>;
259
260
  /**
260
261
  * get a component from a remote without importing it
261
262
  */
@@ -355,7 +356,11 @@ export declare class ScopeMain implements ComponentFactory {
355
356
  * @deprecated use `this.resolveComponentId` instead.
356
357
  */
357
358
  resolveId(id: string): Promise<ComponentID>;
359
+ /**
360
+ * @deprecated use `this.getRemoteScopes()` instead.
361
+ */
358
362
  _legacyRemotes(): Promise<Remotes>;
363
+ getRemoteScopes(): Promise<Remotes>;
359
364
  /**
360
365
  * list all component ids from a remote-scope
361
366
  */
@@ -840,9 +840,10 @@ class ScopeMain {
840
840
 
841
841
  /**
842
842
  * get a component from a remote without importing it
843
+ * by default, when on a lane, it loads the component from the lane. unless `fromMain` is set to true.
843
844
  */
844
- async getRemoteComponent(id) {
845
- return this.componentLoader.getRemoteComponent(id);
845
+ async getRemoteComponent(id, fromMain = false) {
846
+ return this.componentLoader.getRemoteComponent(id, fromMain);
846
847
  }
847
848
 
848
849
  /**
@@ -1131,17 +1132,22 @@ class ScopeMain {
1131
1132
  return this.resolveComponentId(id);
1132
1133
  }
1133
1134
 
1134
- // TODO: add new API for this
1135
+ /**
1136
+ * @deprecated use `this.getRemoteScopes()` instead.
1137
+ */
1135
1138
  async _legacyRemotes() {
1136
1139
  return (0, _scope3().getScopeRemotes)(this.legacyScope);
1137
1140
  }
1141
+ async getRemoteScopes() {
1142
+ return (0, _scope3().getScopeRemotes)(this.legacyScope);
1143
+ }
1138
1144
 
1139
1145
  /**
1140
1146
  * list all component ids from a remote-scope
1141
1147
  */
1142
1148
  async listRemoteScope(scopeName) {
1143
- const remotes = await this._legacyRemotes();
1144
- const remote = await remotes.resolve(scopeName, this.legacyScope);
1149
+ const remotes = await this.getRemoteScopes();
1150
+ const remote = await remotes.resolve(scopeName);
1145
1151
  const results = await remote.list();
1146
1152
  return results.map(({
1147
1153
  id