@teambit/scope 1.0.337 → 1.0.339

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.337/dist/scope.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.337/dist/scope.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.339/dist/scope.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.339/dist/scope.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -36,6 +36,7 @@ export declare class ScopeAspectsLoader {
36
36
  getManifestsGraphRecursively(ids: string[], visited?: string[], throwOnError?: boolean, lane?: Lane, opts?: {
37
37
  packageManagerConfigRootDir?: string;
38
38
  workspaceName?: string;
39
+ loadCustomEnvs?: string;
39
40
  }): Promise<{
40
41
  manifests: ManifestOrAspect[];
41
42
  potentialPluginsIds: string[];
@@ -120,6 +120,9 @@ needed-for: ${neededFor || '<unknown>'}`);
120
120
  }
121
121
  async getManifestsGraphRecursively(ids, visited = [], throwOnError = false, lane, opts = {}) {
122
122
  ids = (0, _lodash().uniq)(ids);
123
+ const optsWithDefaults = _objectSpread({
124
+ loadCustomEnvs: false
125
+ }, opts);
123
126
  this.logger.debug(`getManifestsGraphRecursively, ids:\n${ids.join('\n')}`);
124
127
  const nonVisitedId = ids.filter(id => !visited.includes(id));
125
128
  if (!nonVisitedId.length) {
@@ -129,16 +132,20 @@ needed-for: ${neededFor || '<unknown>'}`);
129
132
  };
130
133
  }
131
134
  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.
134
- // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env
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);
135
+ // This is usually not required, right now it required when signing aspects with custom envs.
136
+ // if you see another case where it's required, please consult @Gilad before passing it as true
137
+ // as it might have performance implications (like creating unnecessary capsules for aspects that are not needed
138
+ // during bit create for example, like loading the env of the env (aka bitdev.general/envs/bit-env) when
139
+ // loading the component's env.)
140
+ if (optsWithDefaults.loadCustomEnvs) {
141
+ // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env
142
+ const customEnvsIds = components.map(component => this.envs.getEnvId(component)).filter(envId => !this.aspectLoader.isCoreEnv(envId));
143
+
144
+ // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects
145
+ await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);
146
+ }
140
147
  visited.push(...nonVisitedId);
141
- const manifests = await this.requireAspects(components, throwOnError, opts);
148
+ const manifests = await this.requireAspects(components, throwOnError, optsWithDefaults);
142
149
  const potentialPluginsIds = (0, _lodash().compact)(manifests.map((manifest, index) => {
143
150
  if (this.aspectLoader.isValidAspect(manifest)) return undefined;
144
151
  // return index;
@@ -155,7 +162,7 @@ needed-for: ${neededFor || '<unknown>'}`);
155
162
  this.logger.debug(`getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`);
156
163
  const {
157
164
  manifests: loaded
158
- } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane);
165
+ } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane, opts);
159
166
  manifests.push(...loaded);
160
167
  });
161
168
  return {
@@ -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","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":[]}
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","optsWithDefaults","loadCustomEnvs","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 loadCustomEnvs?: string;\n } = {}\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n const optsWithDefaults = { loadCustomEnvs: false, ...opts };\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 // This is usually not required, right now it required when signing aspects with custom envs.\n // if you see another case where it's required, please consult @Gilad before passing it as true\n // as it might have performance implications (like creating unnecessary capsules for aspects that are not needed\n // during bit create for example, like loading the env of the env (aka bitdev.general/envs/bit-env) when\n // loading the component's env.)\n if (optsWithDefaults.loadCustomEnvs) {\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\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 }\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, optsWithDefaults);\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, opts);\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":[]}
@@ -13,6 +13,7 @@ export declare function scopeSchema(scopeMain: ScopeMain): {
13
13
  limit: number;
14
14
  includeCache?: boolean;
15
15
  namespaces?: string[];
16
+ includeDeleted?: boolean;
16
17
  }) => Promise<import("@teambit/component").Component[]>;
17
18
  get: (scope: ScopeMain, { id }: {
18
19
  id: string;
@@ -57,7 +57,13 @@ function scopeSchema(scopeMain) {
57
57
  path: String
58
58
 
59
59
  # list of components contained in the scope.
60
- components(offset: Int, limit: Int, includeCache: Boolean, namespaces: [String!]): [Component]
60
+ components(
61
+ offset: Int
62
+ limit: Int
63
+ includeCache: Boolean
64
+ includeDeleted: Boolean
65
+ namespaces: [String!]
66
+ ): [Component]
61
67
 
62
68
  # get a specific component.
63
69
  get(id: String!): Component
@@ -115,7 +121,7 @@ function scopeSchema(scopeMain) {
115
121
  },
116
122
  components: (scope, props) => {
117
123
  if (!props) return scope.list();
118
- return scope.list(_objectSpread({}, props), props.includeCache);
124
+ return scope.list(_objectSpread({}, props), props.includeCache, undefined, props.includeDeleted);
119
125
  },
120
126
  get: async (scope, {
121
127
  id
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_graphqlTag","_legacy","_bit","ownKeys","e","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","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","getLogs","getMany","map","str","hasObjects","hashes","getBitVersion","Query"],"sources":["scope.graphql.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { gql } from 'graphql-tag';\nimport { latestVersions } from '@teambit/legacy.scope-api';\nimport { LegacyComponentLog as ComponentLog } from '@teambit/legacy-component-log';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\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 # filter existing objects in the scope.\n hasObjects(hashes: [String]!): [String]\n\n # get bit version\n getBitVersion: String\n\n # get serialized legacy component ids with versions. deprecated. PLEASE DO NOT USE THIS API.\n _legacyLatestVersions(ids: [String]!): [String]\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 getLogs: async (scope: ScopeMain, { id }: { id: string }): Promise<ComponentLog[]> => {\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\n hasObjects: async (scope: ScopeMain, { hashes }: { hashes: string[] }) => {\n return scope.hasObjects(hashes);\n },\n\n getBitVersion: () => {\n return getBitVersion();\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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","ignoreList":[]}
1
+ {"version":3,"names":["_component","data","require","_graphqlTag","_legacy","_bit","ownKeys","e","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","scopeSchema","scopeMain","typeDefs","gql","resolvers","Scope","name","scope","description","icon","backgroundIconColor","components","props","list","includeCache","undefined","includeDeleted","get","id","ComponentID","fromString","_getLegacy","resolvedId","resolveId","component","state","_consumer","toString","_legacyLatestVersions","ids","latestVersions","path","getLogs","getMany","map","str","hasObjects","hashes","getBitVersion","Query"],"sources":["scope.graphql.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { gql } from 'graphql-tag';\nimport { latestVersions } from '@teambit/legacy.scope-api';\nimport { LegacyComponentLog as ComponentLog } from '@teambit/legacy-component-log';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\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(\n offset: Int\n limit: Int\n includeCache: Boolean\n includeDeleted: Boolean\n namespaces: [String!]\n ): [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 # filter existing objects in the scope.\n hasObjects(hashes: [String]!): [String]\n\n # get bit version\n getBitVersion: String\n\n # get serialized legacy component ids with versions. deprecated. PLEASE DO NOT USE THIS API.\n _legacyLatestVersions(ids: [String]!): [String]\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?: {\n offset: number;\n limit: number;\n includeCache?: boolean;\n namespaces?: string[];\n includeDeleted?: boolean;\n }\n ) => {\n if (!props) return scope.list();\n return scope.list({ ...props }, props.includeCache, undefined, props.includeDeleted);\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 getLogs: async (scope: ScopeMain, { id }: { id: string }): Promise<ComponentLog[]> => {\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\n hasObjects: async (scope: ScopeMain, { hashes }: { hashes: string[] }) => {\n return scope.hasObjects(hashes);\n },\n\n getBitVersion: () => {\n return getBitVersion();\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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","ignoreList":[]}
@@ -75,6 +75,12 @@ export type LoadOptions = {
75
75
  * as aspect but not its aspects)
76
76
  */
77
77
  loadCompAspects?: boolean;
78
+ /**
79
+ * Should we load the components' custom envs when loading from the scope
80
+ * This is usually not required unless you load an aspect with custom env from the scope
81
+ * usually when signing aspects
82
+ */
83
+ loadCustomEnvs?: boolean;
78
84
  };
79
85
  export type ScopeConfig = {
80
86
  httpTimeOut: number;
@@ -935,7 +935,8 @@ class ScopeMain {
935
935
  async loadMany(ids, lane, opts = {
936
936
  loadApps: true,
937
937
  loadEnvs: true,
938
- loadCompAspects: true
938
+ loadCompAspects: true,
939
+ loadCustomEnvs: false
939
940
  }) {
940
941
  const components = await (0, _pMapSeries().default)(ids, id => this.load(id, lane, opts));
941
942
  return (0, _lodash().compact)(components);
@@ -1187,7 +1188,8 @@ class ScopeMain {
1187
1188
  async load(id, lane, opts = {
1188
1189
  loadApps: true,
1189
1190
  loadEnvs: true,
1190
- loadCompAspects: true
1191
+ loadCompAspects: true,
1192
+ loadCustomEnvs: false
1191
1193
  }) {
1192
1194
  const component = await this.get(id);
1193
1195
  if (!component) return undefined;
@@ -1201,7 +1203,8 @@ class ScopeMain {
1201
1203
  async loadCompAspects(component, lane, opts = {
1202
1204
  loadApps: true,
1203
1205
  loadEnvs: true,
1204
- loadCompAspects: true
1206
+ loadCompAspects: true,
1207
+ loadCustomEnvs: false
1205
1208
  }) {
1206
1209
  const optsWithDefaults = _objectSpread({
1207
1210
  loadApps: true,
@@ -1225,7 +1228,9 @@ class ScopeMain {
1225
1228
  }
1226
1229
  }
1227
1230
  if (aspectIds && aspectIds.length) {
1228
- await this.loadAspects(aspectIds, true, component.id.toString(), lane);
1231
+ await this.loadAspects(aspectIds, true, component.id.toString(), lane, {
1232
+ loadCustomEnvs: optsWithDefaults.loadCustomEnvs
1233
+ });
1229
1234
  }
1230
1235
  return component;
1231
1236
  }