@teambit/scope 1.0.311 → 1.0.312
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.
- package/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_scope_scope-preview.js +1 -1
- package/artifacts/schema.json +1475 -1444
- package/dist/{preview-1719137078208.js → preview-1719154175406.js} +2 -2
- package/dist/scope-aspects-loader.js +7 -3
- package/dist/scope-aspects-loader.js.map +1 -1
- package/dist/scope.main.runtime.d.ts +5 -0
- package/dist/scope.main.runtime.js +20 -7
- package/dist/scope.main.runtime.js.map +1 -1
- package/package.json +19 -19
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.312/dist/scope.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.312/dist/scope.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -129,10 +129,14 @@ needed-for: ${neededFor || '<unknown>'}`);
|
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
const components = await this.getNonLoadedAspects(nonVisitedId, lane);
|
|
132
|
+
// Removing this part for now as it's not needed for now
|
|
133
|
+
// If you see a case where it's needed, please consult Gilad.
|
|
132
134
|
// Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env
|
|
133
|
-
const customEnvsIds = components
|
|
134
|
-
//
|
|
135
|
-
|
|
135
|
+
// const customEnvsIds = components
|
|
136
|
+
// .map((component) => this.envs.getEnvId(component))
|
|
137
|
+
// .filter((envId) => !this.aspectLoader.isCoreEnv(envId));
|
|
138
|
+
// // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects
|
|
139
|
+
// await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);
|
|
136
140
|
visited.push(...nonVisitedId);
|
|
137
141
|
const manifests = await this.requireAspects(components, throwOnError, opts);
|
|
138
142
|
const potentialPluginsIds = (0, _lodash().compact)(manifests.map((manifest, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_fsExtra","_path","_constants","_lodash","_cli","_harmonyModules","_bitError","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeAspectsLoader","constructor","scope","aspectLoader","envs","isolator","logger","globalConfig","loadAspects","ids","throwOnError","neededFor","lane","opts","callId","Math","floor","random","loggerPrefix","info","join","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","other","otherManifestsIds","debug","concat","components","getNonLoadedAspects","envsIds","uniq","map","component","getEnvId","envId","isCoreEnv","groupBy","id","includes","manifests","scopeManifests","potentialPluginsIds","getManifestsGraphRecursively","loadExtensionsByManifests","scopePluginsManifests","allManifests","compact","manifest","visited","nonVisitedId","customEnvsIds","undefined","requireAspects","index","isValidAspect","toString","depsToLoad","mapSeries","dependencies","_runtimes","runtime","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","difference","aspectIds","startsWith","localAspects","loadAspectFromPath","componentIds","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","reason","getMany","getResolvedAspects","isolateOpts","getIsolateOpts","network","isolateComponents","c","legacyScope","capsules","seedersCapsules","capsule","RequireableComponent","plugins","getPlugins","path","has","compileIfNoDist","load","MainRuntime","name","aspect","scopeRuntime","getRuntimePath","mainRuntime","runtimePath","compiler","env","getEnv","getCompiler","err","message","distDir","DEFAULT_DIST_DIRNAME","distExists","existsSync","BitError","compiledCode","Promise","all","filesystem","files","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","flat","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","error","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","code","newErr","warn","resolvedAspectsAgain","skipIfExists","manifestAgain","handleExtensionLoadingError","shouldUseDatedCapsules","getSync","CFG_USE_DATED_CAPSULES","shouldCacheLockFileOnly","CFG_CACHE_LOCK_ONLY_CAPSULES","getAspectCapsulePath","defaultPath","isGlobalScope","CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR","CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR","shouldUseHashForCapsules","getAspectsPackageManager","aspectsPackageManager","getAspectsNodeLinker","aspectsNodeLinker","resolveUserAspects","runtimeName","userAspectsIds","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectFilePath","getAspectFilePath","aspectPath","originalStringIds","defaultOpts","excludeCore","requestedOnly","filterByRuntime","mergedOpts","coreAspectsIds","groupedByIsCore","false","getUserAspects","localResolved","resolveLocalAspects","withoutLocalAspects","aspectId","find","localAspect","toStringWithoutVersion","userAspectsDefs","coreAspectsDefs","getCoreAspectDefs","allDefs","filteredDefs","filterAspectDefs","overrideOpts","installOptions","packageManagerConfigRootDir","context","workspaceName","defaultsDeep","getDefaultIsolateOpts","useHash","useDatedDirs","cacheLockFileOnly","nodeLinker","datedDirId","baseDir","packageManager","seedersOnly","includeFromNestedHosts","host","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","aspects","exports"],"sources":["scope-aspects-loader.ts"],"sourcesContent":["import { GlobalConfigMain } from '@teambit/global-config';\nimport mapSeries from 'p-map-series';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { existsSync } from 'fs-extra';\nimport { join } from 'path';\nimport {\n DEFAULT_DIST_DIRNAME,\n CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR,\n CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR,\n CFG_USE_DATED_CAPSULES,\n CFG_CACHE_LOCK_ONLY_CAPSULES,\n} from '@teambit/legacy/dist/constants';\nimport { Compiler, TranspileFileOutputOneFile } from '@teambit/compiler';\nimport { Capsule, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';\nimport { compact, uniq, difference, groupBy, defaultsDeep } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { ExtensionManifest, Aspect } from '@teambit/harmony';\nimport { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';\nimport { Logger } from '@teambit/logger';\nimport { EnvsMain } from '@teambit/envs';\nimport { NodeLinker } from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { ScopeMain } from './scope.main.runtime';\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type ScopeLoadAspectsOptions = LoadAspectsOptions & {\n useScopeAspectsCapsule?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n};\n\nexport class ScopeAspectsLoader {\n constructor(\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private envs: EnvsMain,\n private isolator: IsolatorMain,\n private logger: Logger,\n private globalConfig: GlobalConfigMain\n ) {}\n\n async loadAspects(\n ids: string[],\n throwOnError = false,\n neededFor?: string,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n if (!ids.length) return [];\n // generate a random callId to be able to identify the call from the logs\n const callId = Math.floor(Math.random() * 1000);\n const loggerPrefix = `[${callId}] loadAspects,`;\n this.logger.info(`${loggerPrefix} loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);\n this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts);\n this.logger.info(\n `${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`\n );\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts);\n this.logger.debug(`${loggerPrefix} finish loading aspects`);\n return envsManifestsIds.concat(otherManifestsIds);\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n async groupAspectIdsByEnvOfTheList(ids: string[], lane?: Lane): Promise<{ envs?: string[]; other?: string[] }> {\n const components = await this.getNonLoadedAspects(ids, lane);\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(\n ids: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const { manifests: scopeManifests, potentialPluginsIds } = await this.getManifestsGraphRecursively(\n ids,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n const { manifests: scopePluginsManifests } = await this.getManifestsGraphRecursively(\n potentialPluginsIds,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);\n const allManifests = scopeManifests.concat(scopePluginsManifests);\n return compact(allManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts: {\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n } = {}\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n this.logger.debug(`getManifestsGraphRecursively, ids:\\n${ids.join('\\n')}`);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return { manifests: [], potentialPluginsIds: [] };\n }\n const components = await this.getNonLoadedAspects(nonVisitedId, lane);\n // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env\n const customEnvsIds = components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId));\n // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects\n await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, opts);\n const potentialPluginsIds = compact(\n manifests.map((manifest, index) => {\n if (this.aspectLoader.isValidAspect(manifest)) return undefined;\n // return index;\n return components[index].id.toString();\n })\n );\n\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n this.logger.debug(\n `getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`\n );\n const { manifests: loaded } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane);\n manifests.push(...loaded);\n });\n\n return { manifests, potentialPluginsIds };\n }\n\n private async getNonLoadedAspects(ids: string[], lane?: Lane): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.scope.localAspects = uniq(this.scope.localAspects.concat(localAspects));\n // load local aspects for debugging purposes.\n await this.aspectLoader.loadAspectFromPath(localAspects);\n const componentIds = await this.scope.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n await this.scope.import(componentIds, {\n reFetchUnBuiltVersion: false,\n lane,\n reason: 'for loading aspects from the scope',\n });\n const components = await this.scope.getMany(componentIds);\n\n return components;\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n isolateOpts,\n this.scope.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n let compiler: Compiler | undefined;\n try {\n const env = this.envs.getEnv(component);\n compiler = env.env.getCompiler();\n } catch (err: any) {\n this.logger.info(\n `compileIfNoDist: failed loading compiler for ${component.id.toString()} in capsule ${capsule.path}, error: ${\n err.message\n }`\n );\n }\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n if (!compiler) {\n throw new BitError(`unable to compile aspect/env ${component.id.toString()}, no compiler found`);\n }\n\n const compiledCode = (\n await Promise.all(\n component.filesystem.files.flatMap(async (file) => {\n // @ts-ignore - we know it's not null, we have throw error above if yes\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ] as TranspileFileOutputOneFile[];\n }\n // @ts-ignore - we know it's not null, we have throw error above if yes\n if (compiler.transpileFile) {\n // @ts-ignore - we know it's not null, we have throw error above if yes\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n })\n )\n ).flat();\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n // @ts-ignore - we know it's not null, we have throw error above if yes\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string; workspaceName?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch (err) {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n ...opts,\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n shouldUseDatedCapsules(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_USE_DATED_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n shouldCacheLockFileOnly(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_CACHE_LOCK_ONLY_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n getAspectCapsulePath() {\n const defaultPath = `${this.scope.path}-aspects`;\n if (this.scope.isGlobalScope) {\n return this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR) || defaultPath;\n }\n return this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR) || defaultPath;\n }\n\n shouldUseHashForCapsules(): boolean {\n if (this.scope.isGlobalScope) {\n return !this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR);\n }\n return !this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR);\n }\n\n getAspectsPackageManager(): string | undefined {\n return this.scope.aspectsPackageManager;\n }\n\n getAspectsNodeLinker(): NodeLinker | undefined {\n return this.scope.aspectsNodeLinker;\n }\n\n private async resolveUserAspects(\n runtimeName?: string,\n userAspectsIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.scope.getMany(userAspectsIds);\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(userAspectsIds, isolateOpts, this.scope.legacyScope);\n\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n const runtimePath = runtimeName\n ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName)\n : null;\n const aspectFilePath = await this.aspectLoader.getAspectFilePath(component, localPath);\n\n this.logger.debug(\n `scope resolveUserAspects, resolving id: ${component.id.toString()}, localPath: ${localPath}, runtimePath: ${runtimePath}`\n );\n\n return {\n id: capsule.component.id,\n aspectPath: localPath,\n aspectFilePath,\n runtimePath,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(\n runtimeName?: string,\n componentIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n const originalStringIds = componentIds?.map((id) => id.toString());\n this.logger.debug(`scope resolveAspects, runtimeName: ${runtimeName}, componentIds: ${originalStringIds}`);\n\n const defaultOpts: ResolveAspectsOptions = {\n excludeCore: false,\n requestedOnly: false,\n filterByRuntime: true,\n };\n const mergedOpts = { ...defaultOpts, ...opts };\n const coreAspectsIds = this.aspectLoader.getCoreAspectIds();\n let userAspectsIds: ComponentID[];\n // let requestedCoreStringIds;\n if (componentIds && componentIds.length) {\n const groupedByIsCore = groupBy(componentIds, (id) => coreAspectsIds.includes(id.toString()));\n userAspectsIds = groupedByIsCore.false || [];\n // requestedCoreStringIds = groupedByIsCore.true?.map((id) => id.toStringWithoutVersion()) || [];\n } else {\n userAspectsIds = await this.scope.resolveMultipleComponentIds(this.aspectLoader.getUserAspects());\n }\n const localResolved = await this.aspectLoader.resolveLocalAspects(this.scope.localAspects, runtimeName);\n\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !localResolved.find((localAspect) => {\n return localAspect.id === aspectId.toStringWithoutVersion();\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects, opts);\n const coreAspectsDefs = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspectsDefs).concat(localResolved);\n // const userAspectsIdsWithoutVersion = userAspectsIds.map((aspectId) => aspectId.toStringWithoutVersion());\n // const userAspectsIdsWithoutVersionAndCoreRequested = userAspectsIdsWithoutVersion.concat(requestedCoreStringIds);\n const filteredDefs = this.aspectLoader.filterAspectDefs(\n allDefs,\n componentIds || userAspectsIds,\n runtimeName,\n mergedOpts\n );\n return filteredDefs;\n }\n\n getIsolateOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const overrideOpts = {\n skipIfExists: opts?.skipIfExists ?? true,\n installOptions: {\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n context: {\n workspaceName: opts?.workspaceName,\n },\n };\n const isolateOpts = defaultsDeep(overrideOpts, this.getDefaultIsolateOpts());\n return isolateOpts;\n }\n\n getDefaultIsolateOpts() {\n const useHash = this.shouldUseHashForCapsules();\n const useDatedDirs = this.shouldUseDatedCapsules();\n const cacheLockFileOnly = this.shouldCacheLockFileOnly();\n const nodeLinker = this.getAspectsNodeLinker();\n\n const opts = {\n datedDirId: this.scope.name,\n baseDir: this.getAspectCapsulePath(),\n useHash,\n packageManager: this.getAspectsPackageManager(),\n nodeLinker,\n useDatedDirs,\n cacheLockFileOnly,\n skipIfExists: true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n host: this.scope,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n },\n context: {\n aspects: true,\n },\n };\n return opts;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_fsExtra","_path","_constants","_lodash","_cli","_harmonyModules","_bitError","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeAspectsLoader","constructor","scope","aspectLoader","envs","isolator","logger","globalConfig","loadAspects","ids","throwOnError","neededFor","lane","opts","callId","Math","floor","random","loggerPrefix","info","join","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","other","otherManifestsIds","debug","concat","components","getNonLoadedAspects","envsIds","uniq","map","component","getEnvId","envId","isCoreEnv","groupBy","id","includes","manifests","scopeManifests","potentialPluginsIds","getManifestsGraphRecursively","loadExtensionsByManifests","scopePluginsManifests","allManifests","compact","manifest","visited","nonVisitedId","requireAspects","index","isValidAspect","undefined","toString","depsToLoad","mapSeries","dependencies","_runtimes","runtime","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","difference","aspectIds","startsWith","localAspects","loadAspectFromPath","componentIds","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","reason","getMany","getResolvedAspects","isolateOpts","getIsolateOpts","network","isolateComponents","c","legacyScope","capsules","seedersCapsules","capsule","RequireableComponent","plugins","getPlugins","path","has","compileIfNoDist","load","MainRuntime","name","aspect","scopeRuntime","getRuntimePath","mainRuntime","runtimePath","compiler","env","getEnv","getCompiler","err","message","distDir","DEFAULT_DIST_DIRNAME","distExists","existsSync","BitError","compiledCode","Promise","all","filesystem","files","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","flat","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","error","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","code","newErr","warn","resolvedAspectsAgain","skipIfExists","manifestAgain","handleExtensionLoadingError","shouldUseDatedCapsules","getSync","CFG_USE_DATED_CAPSULES","shouldCacheLockFileOnly","CFG_CACHE_LOCK_ONLY_CAPSULES","getAspectCapsulePath","defaultPath","isGlobalScope","CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR","CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR","shouldUseHashForCapsules","getAspectsPackageManager","aspectsPackageManager","getAspectsNodeLinker","aspectsNodeLinker","resolveUserAspects","runtimeName","userAspectsIds","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectFilePath","getAspectFilePath","aspectPath","originalStringIds","defaultOpts","excludeCore","requestedOnly","filterByRuntime","mergedOpts","coreAspectsIds","groupedByIsCore","false","getUserAspects","localResolved","resolveLocalAspects","withoutLocalAspects","aspectId","find","localAspect","toStringWithoutVersion","userAspectsDefs","coreAspectsDefs","getCoreAspectDefs","allDefs","filteredDefs","filterAspectDefs","overrideOpts","installOptions","packageManagerConfigRootDir","context","workspaceName","defaultsDeep","getDefaultIsolateOpts","useHash","useDatedDirs","cacheLockFileOnly","nodeLinker","datedDirId","baseDir","packageManager","seedersOnly","includeFromNestedHosts","host","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","aspects","exports"],"sources":["scope-aspects-loader.ts"],"sourcesContent":["import { GlobalConfigMain } from '@teambit/global-config';\nimport mapSeries from 'p-map-series';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { existsSync } from 'fs-extra';\nimport { join } from 'path';\nimport {\n DEFAULT_DIST_DIRNAME,\n CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR,\n CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR,\n CFG_USE_DATED_CAPSULES,\n CFG_CACHE_LOCK_ONLY_CAPSULES,\n} from '@teambit/legacy/dist/constants';\nimport { Compiler, TranspileFileOutputOneFile } from '@teambit/compiler';\nimport { Capsule, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';\nimport { compact, uniq, difference, groupBy, defaultsDeep } from 'lodash';\nimport { MainRuntime } from '@teambit/cli';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { ExtensionManifest, Aspect } from '@teambit/harmony';\nimport { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';\nimport { Logger } from '@teambit/logger';\nimport { EnvsMain } from '@teambit/envs';\nimport { NodeLinker } from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { ScopeMain } from './scope.main.runtime';\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type ScopeLoadAspectsOptions = LoadAspectsOptions & {\n useScopeAspectsCapsule?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n};\n\nexport class ScopeAspectsLoader {\n constructor(\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private envs: EnvsMain,\n private isolator: IsolatorMain,\n private logger: Logger,\n private globalConfig: GlobalConfigMain\n ) {}\n\n async loadAspects(\n ids: string[],\n throwOnError = false,\n neededFor?: string,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n if (!ids.length) return [];\n // generate a random callId to be able to identify the call from the logs\n const callId = Math.floor(Math.random() * 1000);\n const loggerPrefix = `[${callId}] loadAspects,`;\n this.logger.info(`${loggerPrefix} loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);\n this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts);\n this.logger.info(\n `${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`\n );\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts);\n this.logger.debug(`${loggerPrefix} finish loading aspects`);\n return envsManifestsIds.concat(otherManifestsIds);\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n async groupAspectIdsByEnvOfTheList(ids: string[], lane?: Lane): Promise<{ envs?: string[]; other?: string[] }> {\n const components = await this.getNonLoadedAspects(ids, lane);\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(\n ids: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const { manifests: scopeManifests, potentialPluginsIds } = await this.getManifestsGraphRecursively(\n ids,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n const { manifests: scopePluginsManifests } = await this.getManifestsGraphRecursively(\n potentialPluginsIds,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);\n const allManifests = scopeManifests.concat(scopePluginsManifests);\n return compact(allManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts: {\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n } = {}\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n this.logger.debug(`getManifestsGraphRecursively, ids:\\n${ids.join('\\n')}`);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return { manifests: [], potentialPluginsIds: [] };\n }\n const components = await this.getNonLoadedAspects(nonVisitedId, lane);\n // Removing this part for now as it's not needed for now\n // If you see a case where it's needed, please consult Gilad.\n // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env\n // const customEnvsIds = components\n // .map((component) => this.envs.getEnvId(component))\n // .filter((envId) => !this.aspectLoader.isCoreEnv(envId));\n // // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects\n // await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, opts);\n const potentialPluginsIds = compact(\n manifests.map((manifest, index) => {\n if (this.aspectLoader.isValidAspect(manifest)) return undefined;\n // return index;\n return components[index].id.toString();\n })\n );\n\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n this.logger.debug(\n `getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`\n );\n const { manifests: loaded } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane);\n manifests.push(...loaded);\n });\n\n return { manifests, potentialPluginsIds };\n }\n\n private async getNonLoadedAspects(ids: string[], lane?: Lane): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.scope.localAspects = uniq(this.scope.localAspects.concat(localAspects));\n // load local aspects for debugging purposes.\n await this.aspectLoader.loadAspectFromPath(localAspects);\n const componentIds = await this.scope.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n await this.scope.import(componentIds, {\n reFetchUnBuiltVersion: false,\n lane,\n reason: 'for loading aspects from the scope',\n });\n const components = await this.scope.getMany(componentIds);\n\n return components;\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n isolateOpts,\n this.scope.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n let compiler: Compiler | undefined;\n try {\n const env = this.envs.getEnv(component);\n compiler = env.env.getCompiler();\n } catch (err: any) {\n this.logger.info(\n `compileIfNoDist: failed loading compiler for ${component.id.toString()} in capsule ${capsule.path}, error: ${\n err.message\n }`\n );\n }\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n if (!compiler) {\n throw new BitError(`unable to compile aspect/env ${component.id.toString()}, no compiler found`);\n }\n\n const compiledCode = (\n await Promise.all(\n component.filesystem.files.flatMap(async (file) => {\n // @ts-ignore - we know it's not null, we have throw error above if yes\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ] as TranspileFileOutputOneFile[];\n }\n // @ts-ignore - we know it's not null, we have throw error above if yes\n if (compiler.transpileFile) {\n // @ts-ignore - we know it's not null, we have throw error above if yes\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n })\n )\n ).flat();\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n // @ts-ignore - we know it's not null, we have throw error above if yes\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string; workspaceName?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch (err) {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n ...opts,\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n shouldUseDatedCapsules(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_USE_DATED_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n shouldCacheLockFileOnly(): boolean {\n const globalConfig = this.globalConfig.getSync(CFG_CACHE_LOCK_ONLY_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n getAspectCapsulePath() {\n const defaultPath = `${this.scope.path}-aspects`;\n if (this.scope.isGlobalScope) {\n return this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR) || defaultPath;\n }\n return this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR) || defaultPath;\n }\n\n shouldUseHashForCapsules(): boolean {\n if (this.scope.isGlobalScope) {\n return !this.globalConfig.getSync(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR);\n }\n return !this.globalConfig.getSync(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR);\n }\n\n getAspectsPackageManager(): string | undefined {\n return this.scope.aspectsPackageManager;\n }\n\n getAspectsNodeLinker(): NodeLinker | undefined {\n return this.scope.aspectsNodeLinker;\n }\n\n private async resolveUserAspects(\n runtimeName?: string,\n userAspectsIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.scope.getMany(userAspectsIds);\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(userAspectsIds, isolateOpts, this.scope.legacyScope);\n\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n const runtimePath = runtimeName\n ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName)\n : null;\n const aspectFilePath = await this.aspectLoader.getAspectFilePath(component, localPath);\n\n this.logger.debug(\n `scope resolveUserAspects, resolving id: ${component.id.toString()}, localPath: ${localPath}, runtimePath: ${runtimePath}`\n );\n\n return {\n id: capsule.component.id,\n aspectPath: localPath,\n aspectFilePath,\n runtimePath,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(\n runtimeName?: string,\n componentIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n const originalStringIds = componentIds?.map((id) => id.toString());\n this.logger.debug(`scope resolveAspects, runtimeName: ${runtimeName}, componentIds: ${originalStringIds}`);\n\n const defaultOpts: ResolveAspectsOptions = {\n excludeCore: false,\n requestedOnly: false,\n filterByRuntime: true,\n };\n const mergedOpts = { ...defaultOpts, ...opts };\n const coreAspectsIds = this.aspectLoader.getCoreAspectIds();\n let userAspectsIds: ComponentID[];\n // let requestedCoreStringIds;\n if (componentIds && componentIds.length) {\n const groupedByIsCore = groupBy(componentIds, (id) => coreAspectsIds.includes(id.toString()));\n userAspectsIds = groupedByIsCore.false || [];\n // requestedCoreStringIds = groupedByIsCore.true?.map((id) => id.toStringWithoutVersion()) || [];\n } else {\n userAspectsIds = await this.scope.resolveMultipleComponentIds(this.aspectLoader.getUserAspects());\n }\n const localResolved = await this.aspectLoader.resolveLocalAspects(this.scope.localAspects, runtimeName);\n\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !localResolved.find((localAspect) => {\n return localAspect.id === aspectId.toStringWithoutVersion();\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects, opts);\n const coreAspectsDefs = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspectsDefs).concat(localResolved);\n // const userAspectsIdsWithoutVersion = userAspectsIds.map((aspectId) => aspectId.toStringWithoutVersion());\n // const userAspectsIdsWithoutVersionAndCoreRequested = userAspectsIdsWithoutVersion.concat(requestedCoreStringIds);\n const filteredDefs = this.aspectLoader.filterAspectDefs(\n allDefs,\n componentIds || userAspectsIds,\n runtimeName,\n mergedOpts\n );\n return filteredDefs;\n }\n\n getIsolateOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const overrideOpts = {\n skipIfExists: opts?.skipIfExists ?? true,\n installOptions: {\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n context: {\n workspaceName: opts?.workspaceName,\n },\n };\n const isolateOpts = defaultsDeep(overrideOpts, this.getDefaultIsolateOpts());\n return isolateOpts;\n }\n\n getDefaultIsolateOpts() {\n const useHash = this.shouldUseHashForCapsules();\n const useDatedDirs = this.shouldUseDatedCapsules();\n const cacheLockFileOnly = this.shouldCacheLockFileOnly();\n const nodeLinker = this.getAspectsNodeLinker();\n\n const opts = {\n datedDirId: this.scope.name,\n baseDir: this.getAspectCapsulePath(),\n useHash,\n packageManager: this.getAspectsPackageManager(),\n nodeLinker,\n useDatedDirs,\n cacheLockFileOnly,\n skipIfExists: true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n host: this.scope,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n },\n context: {\n aspects: true,\n },\n };\n return opts;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,6 +70,11 @@ export type LoadOptions = {
|
|
|
70
70
|
* In case the component we are loading is env, whether to load it as env (in a scope aspects capsule)
|
|
71
71
|
*/
|
|
72
72
|
loadEnvs?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Should we load the components' aspects (this useful when you only want sometime to load the component itself
|
|
75
|
+
* as aspect but not its aspects)
|
|
76
|
+
*/
|
|
77
|
+
loadCompAspects?: boolean;
|
|
73
78
|
};
|
|
74
79
|
export type ScopeConfig = {
|
|
75
80
|
httpTimeOut: number;
|
|
@@ -906,7 +906,8 @@ class ScopeMain {
|
|
|
906
906
|
*/
|
|
907
907
|
async loadMany(ids, lane, opts = {
|
|
908
908
|
loadApps: true,
|
|
909
|
-
loadEnvs: true
|
|
909
|
+
loadEnvs: true,
|
|
910
|
+
loadCompAspects: true
|
|
910
911
|
}) {
|
|
911
912
|
const components = await (0, _pMapSeries().default)(ids, id => this.load(id, lane, opts));
|
|
912
913
|
return (0, _lodash().compact)(components);
|
|
@@ -1157,27 +1158,39 @@ class ScopeMain {
|
|
|
1157
1158
|
*/
|
|
1158
1159
|
async load(id, lane, opts = {
|
|
1159
1160
|
loadApps: true,
|
|
1160
|
-
loadEnvs: true
|
|
1161
|
+
loadEnvs: true,
|
|
1162
|
+
loadCompAspects: true
|
|
1161
1163
|
}) {
|
|
1162
1164
|
const component = await this.get(id);
|
|
1163
1165
|
if (!component) return undefined;
|
|
1164
|
-
|
|
1166
|
+
const optsWithDefaults = _objectSpread({
|
|
1167
|
+
loadApps: true,
|
|
1168
|
+
loadEnvs: true,
|
|
1169
|
+
loadCompAspects: true
|
|
1170
|
+
}, opts);
|
|
1171
|
+
return this.loadCompAspects(component, lane, optsWithDefaults);
|
|
1165
1172
|
}
|
|
1166
1173
|
async loadCompAspects(component, lane, opts = {
|
|
1167
1174
|
loadApps: true,
|
|
1168
|
-
loadEnvs: true
|
|
1175
|
+
loadEnvs: true,
|
|
1176
|
+
loadCompAspects: true
|
|
1169
1177
|
}) {
|
|
1170
|
-
const
|
|
1178
|
+
const optsWithDefaults = _objectSpread({
|
|
1179
|
+
loadApps: true,
|
|
1180
|
+
loadEnvs: true,
|
|
1181
|
+
loadCompAspects: true
|
|
1182
|
+
}, opts);
|
|
1183
|
+
const aspectIds = optsWithDefaults.loadCompAspects ? component.state.aspects.ids : [];
|
|
1171
1184
|
// load components from type aspects as aspects.
|
|
1172
1185
|
// important! previously, this was running for any aspect, not only apps. (the if statement was `this.aspectLoader.isAspectComponent(component)`)
|
|
1173
1186
|
// Ran suggests changing it and if it breaks something, we'll document is and fix it.
|
|
1174
|
-
if (
|
|
1187
|
+
if (optsWithDefaults.loadApps) {
|
|
1175
1188
|
const appData = component.state.aspects.get('teambit.harmony/application');
|
|
1176
1189
|
if (appData?.data?.appName) {
|
|
1177
1190
|
aspectIds.push(component.id.toString());
|
|
1178
1191
|
}
|
|
1179
1192
|
}
|
|
1180
|
-
if (
|
|
1193
|
+
if (optsWithDefaults.loadEnvs) {
|
|
1181
1194
|
const envsData = component.state.aspects.get(_envs().EnvsAspect.id);
|
|
1182
1195
|
if (envsData?.data?.services || envsData?.data?.self || envsData?.data?.type === 'env') {
|
|
1183
1196
|
aspectIds.push(component.id.toString());
|