@teambit/workspace 0.0.818 → 0.0.821

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.
@@ -287,7 +287,7 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
287
287
 
288
288
  _componentLoader().default.registerOnComponentLoadSubscriber(async (legacyComponent, opts) => {
289
289
  const id = await workspace.resolveComponentId(legacyComponent.id);
290
- const newComponent = await workspace.get(id, false, legacyComponent, true, true, opts);
290
+ const newComponent = await workspace.get(id, legacyComponent, true, true, opts);
291
291
  return newComponent.state._consumer;
292
292
  });
293
293
 
@@ -1 +1 @@
1
- {"version":3,"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","community","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onPreWatchSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","registerRootPolicy","ManyComponentsWriter","registerExternalInstaller","install","installOpts","dedupe","updateExisting","import","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","id","resolveComponentId","newComponent","state","_consumer","ConsumerComponent","registerOnComponentConfigLoading","componentId","componentFromScope","extensions","componentExtensions","defaultScope","componentDefaultScope","extensionsWithLegacyIdsP","map","extension","legacyEntry","clone","extensionId","compId","_legacy","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","registerDefaultScopeGetter","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","InstallCmd","UpdateCmd","UninstallCmd","EjectConfCmd","watcher","Watcher","WatchCommand","LinkCommand","getDocsDomain","UseCmd","PatternCommand","registerHost","registerOnStart","importCurrentLaneIfMissing","loadAspects","getNotLoadedConfiguredExtensions","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","scopeCommand","ScopeSetCmd","path","loadConsumerIfExist"],"sources":["workspace.provider.ts"],"sourcesContent":["import { PubsubMain } from '@teambit/pubsub';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BundlerMain } from '@teambit/bundler';\nimport { CLIMain, CommandList } from '@teambit/cli';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { EnvsMain } from '@teambit/envs';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorMain } from '@teambit/isolator';\nimport { LoggerMain } from '@teambit/logger';\nimport type { ScopeMain } from '@teambit/scope';\nimport { UiMain } from '@teambit/ui';\nimport type { VariantsMain } from '@teambit/variants';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { registerDefaultScopeGetter } from '@teambit/legacy/dist/api/consumer';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport LegacyComponentLoader from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { CommunityMain } from '@teambit/community';\nimport { EXT_NAME } from './constants';\nimport EjectConfCmd from './eject-conf.cmd';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\nimport { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } from './on-component-events';\nimport { WorkspaceExtConfig } from './types';\nimport { WatchCommand } from './watch/watch.cmd';\nimport { LinkCommand } from './link';\nimport { Watcher, WatchOptions } from './watch/watcher';\nimport { Workspace, WorkspaceInstallOptions } from './workspace';\nimport getWorkspaceSchema from './workspace.graphql';\nimport { WorkspaceUIRoot } from './workspace.ui-root';\nimport { CapsuleCmd, CapsuleCreateCmd, CapsuleDeleteCmd, CapsuleListCmd } from './capsule.cmd';\nimport { EnvsSetCmd } from './envs-subcommands/envs-set.cmd';\nimport { EnvsUnsetCmd } from './envs-subcommands/envs-unset.cmd';\nimport { PatternCommand } from './pattern.cmd';\nimport { EnvsReplaceCmd } from './envs-subcommands/envs-replace.cmd';\nimport { ScopeSetCmd } from './scope-subcommands/scope-set.cmd';\nimport { UseCmd } from './use.cmd';\n\nexport type WorkspaceDeps = [\n PubsubMain,\n CLIMain,\n ScopeMain,\n ComponentMain,\n IsolatorMain,\n DependencyResolverMain,\n VariantsMain,\n LoggerMain,\n GraphqlMain,\n UiMain,\n BundlerMain,\n AspectLoaderMain,\n EnvsMain,\n CommunityMain\n];\n\nexport type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;\n\nexport type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;\n\nexport type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;\n\nexport type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;\n\nexport type OnPreWatch = (components: Component[], watchOpts: WatchOptions) => Promise<void>;\nexport type OnPreWatchSlot = SlotRegistry<OnPreWatch>;\n\nexport default async function provideWorkspace(\n [\n pubsub,\n cli,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n loggerExt,\n graphql,\n ui,\n bundler,\n aspectLoader,\n envs,\n community,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnPreWatchSlot\n ],\n harmony: Harmony\n) {\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const consumer = await getConsumer(bitConfig.cwd);\n if (!consumer) return undefined;\n // TODO: get the 'workspace' name in a better way\n const logger = loggerExt.createLogger(EXT_NAME);\n const workspace = new Workspace(\n pubsub,\n config,\n consumer,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onPreWatchSlot,\n graphql\n );\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n dependencyResolver.registerRootPolicy(getWorkspacePolicyFromPackageJson());\n\n ManyComponentsWriter.registerExternalInstaller({\n install: async () => {\n // TODO: think how we should pass this options\n const installOpts: WorkspaceInstallOptions = {\n dedupe: true,\n updateExisting: false,\n import: false,\n };\n return workspace.install(undefined, installOpts);\n },\n });\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: { loadDocs?: boolean }) => {\n const id = await workspace.resolveComponentId(legacyComponent.id);\n const newComponent = await workspace.get(id, false, legacyComponent, true, true, opts);\n return newComponent.state._consumer;\n }\n );\n\n ConsumerComponent.registerOnComponentConfigLoading(EXT_NAME, async (id) => {\n const componentId = await workspace.resolveComponentId(id);\n // We call here directly workspace.scope.get instead of workspace.get because part of the workspace get is loading consumer component\n // which in turn run this event, which will make an infinite loop\n // This component from scope here are only used for merging the extensions with the workspace components\n const componentFromScope = await workspace.scope.get(componentId);\n const { extensions } = await workspace.componentExtensions(componentId, componentFromScope);\n const defaultScope = await workspace.componentDefaultScope(componentId);\n\n const extensionsWithLegacyIdsP = extensions.map(async (extension) => {\n const legacyEntry = extension.clone();\n if (legacyEntry.extensionId) {\n const compId = await workspace.resolveComponentId(legacyEntry.extensionId);\n legacyEntry.extensionId = compId._legacy;\n legacyEntry.newExtensionId = compId;\n }\n\n return legacyEntry;\n });\n const extensionsWithLegacyIds = await Promise.all(extensionsWithLegacyIdsP);\n\n return {\n defaultScope,\n extensions: ExtensionDataList.fromArray(extensionsWithLegacyIds),\n };\n });\n\n /**\n * Add default scope from harmony during export.\n */\n registerDefaultScopeGetter(async (id: BitId) => {\n const componentId = await workspace.resolveComponentId(id);\n const defaultScope = await workspace.componentDefaultScope(componentId);\n return defaultScope;\n });\n\n const workspaceSchema = getWorkspaceSchema(workspace, graphql);\n ui.registerUiRoot(new WorkspaceUIRoot(workspace, bundler));\n graphql.register(workspaceSchema);\n const capsuleCmd = new CapsuleCmd();\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace),\n new CapsuleCreateCmd(workspace, isolator),\n new CapsuleDeleteCmd(isolator, workspace),\n ];\n const commands: CommandList = [\n new InstallCmd(workspace, logger),\n new UpdateCmd(workspace),\n new UninstallCmd(workspace),\n new EjectConfCmd(workspace),\n capsuleCmd,\n ];\n const watcher = new Watcher(workspace, pubsub);\n if (workspace) {\n commands.push(new WatchCommand(pubsub, logger, watcher));\n commands.push(new LinkCommand(workspace, logger, community.getDocsDomain()));\n commands.push(new UseCmd(workspace));\n }\n commands.push(new PatternCommand(workspace));\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async () => {\n await workspace.importCurrentLaneIfMissing();\n await workspace.loadAspects(\n aspectLoader.getNotLoadedConfiguredExtensions(),\n undefined,\n 'workspace.cli.registerOnStart'\n );\n });\n\n // add sub-commands \"set\" and \"unset\" to envs command.\n const envsCommand = cli.getCommand('envs');\n envsCommand?.commands?.push(new EnvsSetCmd(workspace)); // bit envs set\n envsCommand?.commands?.push(new EnvsUnsetCmd(workspace)); // bit envs unset\n envsCommand?.commands?.push(new EnvsReplaceCmd(workspace)); // bit envs replace\n\n // add sub-command \"set\" to scope command.\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeSetCmd(workspace));\n\n return workspace;\n}\n\n/**\n * don't use loadConsumer() here, which throws ConsumerNotFound because some commands don't require\n * the consumer to be available. such as, `bit init` or `bit list --remote`.\n * most of the commands do need the consumer. the legacy commands that need the consumer throw an\n * error when is missing. in the new/Harmony commands, such as `bis compile`, the workspace object\n * is passed to the provider, so before using it, make sure it exists.\n * keep in mind that you can't verify it in the provider itself, because the provider is running\n * always for all commands before anything else is happening.\n */\nasync function getConsumer(path?: string): Promise<Consumer | undefined> {\n return loadConsumerIfExist(path);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","community","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onPreWatchSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","registerRootPolicy","ManyComponentsWriter","registerExternalInstaller","install","installOpts","dedupe","updateExisting","import","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","id","resolveComponentId","newComponent","state","_consumer","ConsumerComponent","registerOnComponentConfigLoading","componentId","componentFromScope","extensions","componentExtensions","defaultScope","componentDefaultScope","extensionsWithLegacyIdsP","map","extension","legacyEntry","clone","extensionId","compId","_legacy","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","registerDefaultScopeGetter","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","InstallCmd","UpdateCmd","UninstallCmd","EjectConfCmd","watcher","Watcher","WatchCommand","LinkCommand","getDocsDomain","UseCmd","PatternCommand","registerHost","registerOnStart","importCurrentLaneIfMissing","loadAspects","getNotLoadedConfiguredExtensions","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","scopeCommand","ScopeSetCmd","path","loadConsumerIfExist"],"sources":["workspace.provider.ts"],"sourcesContent":["import { PubsubMain } from '@teambit/pubsub';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BundlerMain } from '@teambit/bundler';\nimport { CLIMain, CommandList } from '@teambit/cli';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { EnvsMain } from '@teambit/envs';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorMain } from '@teambit/isolator';\nimport { LoggerMain } from '@teambit/logger';\nimport type { ScopeMain } from '@teambit/scope';\nimport { UiMain } from '@teambit/ui';\nimport type { VariantsMain } from '@teambit/variants';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { registerDefaultScopeGetter } from '@teambit/legacy/dist/api/consumer';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport LegacyComponentLoader from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { CommunityMain } from '@teambit/community';\nimport { EXT_NAME } from './constants';\nimport EjectConfCmd from './eject-conf.cmd';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\nimport { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } from './on-component-events';\nimport { WorkspaceExtConfig } from './types';\nimport { WatchCommand } from './watch/watch.cmd';\nimport { LinkCommand } from './link';\nimport { Watcher, WatchOptions } from './watch/watcher';\nimport { Workspace, WorkspaceInstallOptions } from './workspace';\nimport getWorkspaceSchema from './workspace.graphql';\nimport { WorkspaceUIRoot } from './workspace.ui-root';\nimport { CapsuleCmd, CapsuleCreateCmd, CapsuleDeleteCmd, CapsuleListCmd } from './capsule.cmd';\nimport { EnvsSetCmd } from './envs-subcommands/envs-set.cmd';\nimport { EnvsUnsetCmd } from './envs-subcommands/envs-unset.cmd';\nimport { PatternCommand } from './pattern.cmd';\nimport { EnvsReplaceCmd } from './envs-subcommands/envs-replace.cmd';\nimport { ScopeSetCmd } from './scope-subcommands/scope-set.cmd';\nimport { UseCmd } from './use.cmd';\n\nexport type WorkspaceDeps = [\n PubsubMain,\n CLIMain,\n ScopeMain,\n ComponentMain,\n IsolatorMain,\n DependencyResolverMain,\n VariantsMain,\n LoggerMain,\n GraphqlMain,\n UiMain,\n BundlerMain,\n AspectLoaderMain,\n EnvsMain,\n CommunityMain\n];\n\nexport type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;\n\nexport type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;\n\nexport type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;\n\nexport type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;\n\nexport type OnPreWatch = (components: Component[], watchOpts: WatchOptions) => Promise<void>;\nexport type OnPreWatchSlot = SlotRegistry<OnPreWatch>;\n\nexport default async function provideWorkspace(\n [\n pubsub,\n cli,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n loggerExt,\n graphql,\n ui,\n bundler,\n aspectLoader,\n envs,\n community,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnPreWatchSlot\n ],\n harmony: Harmony\n) {\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const consumer = await getConsumer(bitConfig.cwd);\n if (!consumer) return undefined;\n // TODO: get the 'workspace' name in a better way\n const logger = loggerExt.createLogger(EXT_NAME);\n const workspace = new Workspace(\n pubsub,\n config,\n consumer,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onPreWatchSlot,\n graphql\n );\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n dependencyResolver.registerRootPolicy(getWorkspacePolicyFromPackageJson());\n\n ManyComponentsWriter.registerExternalInstaller({\n install: async () => {\n // TODO: think how we should pass this options\n const installOpts: WorkspaceInstallOptions = {\n dedupe: true,\n updateExisting: false,\n import: false,\n };\n return workspace.install(undefined, installOpts);\n },\n });\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: { loadDocs?: boolean }) => {\n const id = await workspace.resolveComponentId(legacyComponent.id);\n const newComponent = await workspace.get(id, legacyComponent, true, true, opts);\n return newComponent.state._consumer;\n }\n );\n\n ConsumerComponent.registerOnComponentConfigLoading(EXT_NAME, async (id) => {\n const componentId = await workspace.resolveComponentId(id);\n // We call here directly workspace.scope.get instead of workspace.get because part of the workspace get is loading consumer component\n // which in turn run this event, which will make an infinite loop\n // This component from scope here are only used for merging the extensions with the workspace components\n const componentFromScope = await workspace.scope.get(componentId);\n const { extensions } = await workspace.componentExtensions(componentId, componentFromScope);\n const defaultScope = await workspace.componentDefaultScope(componentId);\n\n const extensionsWithLegacyIdsP = extensions.map(async (extension) => {\n const legacyEntry = extension.clone();\n if (legacyEntry.extensionId) {\n const compId = await workspace.resolveComponentId(legacyEntry.extensionId);\n legacyEntry.extensionId = compId._legacy;\n legacyEntry.newExtensionId = compId;\n }\n\n return legacyEntry;\n });\n const extensionsWithLegacyIds = await Promise.all(extensionsWithLegacyIdsP);\n\n return {\n defaultScope,\n extensions: ExtensionDataList.fromArray(extensionsWithLegacyIds),\n };\n });\n\n /**\n * Add default scope from harmony during export.\n */\n registerDefaultScopeGetter(async (id: BitId) => {\n const componentId = await workspace.resolveComponentId(id);\n const defaultScope = await workspace.componentDefaultScope(componentId);\n return defaultScope;\n });\n\n const workspaceSchema = getWorkspaceSchema(workspace, graphql);\n ui.registerUiRoot(new WorkspaceUIRoot(workspace, bundler));\n graphql.register(workspaceSchema);\n const capsuleCmd = new CapsuleCmd();\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace),\n new CapsuleCreateCmd(workspace, isolator),\n new CapsuleDeleteCmd(isolator, workspace),\n ];\n const commands: CommandList = [\n new InstallCmd(workspace, logger),\n new UpdateCmd(workspace),\n new UninstallCmd(workspace),\n new EjectConfCmd(workspace),\n capsuleCmd,\n ];\n const watcher = new Watcher(workspace, pubsub);\n if (workspace) {\n commands.push(new WatchCommand(pubsub, logger, watcher));\n commands.push(new LinkCommand(workspace, logger, community.getDocsDomain()));\n commands.push(new UseCmd(workspace));\n }\n commands.push(new PatternCommand(workspace));\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async () => {\n await workspace.importCurrentLaneIfMissing();\n await workspace.loadAspects(\n aspectLoader.getNotLoadedConfiguredExtensions(),\n undefined,\n 'workspace.cli.registerOnStart'\n );\n });\n\n // add sub-commands \"set\" and \"unset\" to envs command.\n const envsCommand = cli.getCommand('envs');\n envsCommand?.commands?.push(new EnvsSetCmd(workspace)); // bit envs set\n envsCommand?.commands?.push(new EnvsUnsetCmd(workspace)); // bit envs unset\n envsCommand?.commands?.push(new EnvsReplaceCmd(workspace)); // bit envs replace\n\n // add sub-command \"set\" to scope command.\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeSetCmd(workspace));\n\n return workspace;\n}\n\n/**\n * don't use loadConsumer() here, which throws ConsumerNotFound because some commands don't require\n * the consumer to be available. such as, `bit init` or `bit list --remote`.\n * most of the commands do need the consumer. the legacy commands that need the consumer throw an\n * error when is missing. in the new/Harmony commands, such as `bis compile`, the workspace object\n * is passed to the provider, so before using it, make sure it exists.\n * keep in mind that you can't verify it in the provider itself, because the provider is running\n * always for all commands before anything else is happening.\n */\nasync function getConsumer(path?: string): Promise<Consumer | undefined> {\n return loadConsumerIfExist(path);\n}\n"],"mappings":";;;;;;;;;;;;;AAcA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AA8Be,eAAeA,gBAAf,CACb,CACEC,MADF,EAEEC,GAFF,EAGEC,KAHF,EAIEC,SAJF,EAKEC,QALF,EAMEC,kBANF,EAOEC,QAPF,EAQEC,SARF,EASEC,OATF,EAUEC,EAVF,EAWEC,OAXF,EAYEC,YAZF,EAaEC,IAbF,EAcEC,SAdF,CADa,EAiBbC,MAjBa,EAkBb,CAACC,mBAAD,EAAsBC,qBAAtB,EAA6CC,kBAA7C,EAAiEC,qBAAjE,EAAwFC,cAAxF,CAlBa,EAyBbC,OAzBa,EA0Bb;EAAA;;EACA,MAAMC,SAAc,GAAGD,OAAO,CAACN,MAAR,CAAeQ,GAAf,CAAmB,qBAAnB,CAAvB;EACA,MAAMC,QAAQ,GAAG,MAAMC,WAAW,CAACH,SAAS,CAACI,GAAX,CAAlC;EACA,IAAI,CAACF,QAAL,EAAe,OAAOG,SAAP,CAHf,CAIA;;EACA,MAAMC,MAAM,GAAGpB,SAAS,CAACqB,YAAV,CAAuBC,qBAAvB,CAAf;EACA,MAAMC,SAAS,GAAG,KAAIC,sBAAJ,EAChB/B,MADgB,EAEhBc,MAFgB,EAGhBS,QAHgB,EAIhBrB,KAJgB,EAKhBC,SALgB,EAMhBC,QANgB,EAOhBC,kBAPgB,EAQhBC,QARgB,EAShBK,YATgB,EAUhBgB,MAVgB,EAWhBD,SAXgB,EAYhBN,OAZgB,EAahBL,mBAbgB,EAchBC,qBAdgB,EAehBJ,IAfgB,EAgBhBK,kBAhBgB,EAiBhBC,qBAjBgB,EAkBhBC,cAlBgB,EAmBhBX,OAnBgB,CAAlB;;EAsBA,MAAMwB,iCAAiC,GAAG,MAAM;IAAA;;IAC9C,MAAMC,WAAW,GAAG,0BAAAH,SAAS,CAACP,QAAV,CAAmBU,WAAnB,gFAAgCC,iBAAhC,KAAqD,EAAzE;IACA,MAAMC,qBAAqB,GAAG9B,kBAAkB,CAAC2B,iCAAnB,CAAqDC,WAArD,CAA9B;IACA,OAAOE,qBAAP;EACD,CAJD;;EAMA9B,kBAAkB,CAAC+B,kBAAnB,CAAsCJ,iCAAiC,EAAvE;;EAEAK,+BAAA,CAAqBC,yBAArB,CAA+C;IAC7CC,OAAO,EAAE,YAAY;MACnB;MACA,MAAMC,WAAoC,GAAG;QAC3CC,MAAM,EAAE,IADmC;QAE3CC,cAAc,EAAE,KAF2B;QAG3CC,MAAM,EAAE;MAHmC,CAA7C;MAKA,OAAOb,SAAS,CAACS,OAAV,CAAkBb,SAAlB,EAA6Bc,WAA7B,CAAP;IACD;EAT4C,CAA/C;;EAYAjB,QAAQ,CAACqB,YAAT,CAAsBC,IAAtB,CAA2B,MAAMf,SAAS,CAACgB,UAAV,EAAjC;;EAEAC,0BAAA,CAAsBC,iCAAtB,CACE,OAAOC,eAAP,EAA2CC,IAA3C,KAA6E;IAC3E,MAAMC,EAAE,GAAG,MAAMrB,SAAS,CAACsB,kBAAV,CAA6BH,eAAe,CAACE,EAA7C,CAAjB;IACA,MAAME,YAAY,GAAG,MAAMvB,SAAS,CAACR,GAAV,CAAc6B,EAAd,EAAkBF,eAAlB,EAAmC,IAAnC,EAAyC,IAAzC,EAA+CC,IAA/C,CAA3B;IACA,OAAOG,YAAY,CAACC,KAAb,CAAmBC,SAA1B;EACD,CALH;;EAQAC,oBAAA,CAAkBC,gCAAlB,CAAmD5B,qBAAnD,EAA6D,MAAOsB,EAAP,IAAc;IACzE,MAAMO,WAAW,GAAG,MAAM5B,SAAS,CAACsB,kBAAV,CAA6BD,EAA7B,CAA1B,CADyE,CAEzE;IACA;IACA;;IACA,MAAMQ,kBAAkB,GAAG,MAAM7B,SAAS,CAAC5B,KAAV,CAAgBoB,GAAhB,CAAoBoC,WAApB,CAAjC;IACA,MAAM;MAAEE;IAAF,IAAiB,MAAM9B,SAAS,CAAC+B,mBAAV,CAA8BH,WAA9B,EAA2CC,kBAA3C,CAA7B;IACA,MAAMG,YAAY,GAAG,MAAMhC,SAAS,CAACiC,qBAAV,CAAgCL,WAAhC,CAA3B;IAEA,MAAMM,wBAAwB,GAAGJ,UAAU,CAACK,GAAX,CAAe,MAAOC,SAAP,IAAqB;MACnE,MAAMC,WAAW,GAAGD,SAAS,CAACE,KAAV,EAApB;;MACA,IAAID,WAAW,CAACE,WAAhB,EAA6B;QAC3B,MAAMC,MAAM,GAAG,MAAMxC,SAAS,CAACsB,kBAAV,CAA6Be,WAAW,CAACE,WAAzC,CAArB;QACAF,WAAW,CAACE,WAAZ,GAA0BC,MAAM,CAACC,OAAjC;QACAJ,WAAW,CAACK,cAAZ,GAA6BF,MAA7B;MACD;;MAED,OAAOH,WAAP;IACD,CATgC,CAAjC;IAUA,MAAMM,uBAAuB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYX,wBAAZ,CAAtC;IAEA,OAAO;MACLF,YADK;MAELF,UAAU,EAAEgB,kCAAA,CAAkBC,SAAlB,CAA4BJ,uBAA5B;IAFP,CAAP;EAID,CAzBD;EA2BA;AACF;AACA;;;EACE,IAAAK,uCAAA,EAA2B,MAAO3B,EAAP,IAAqB;IAC9C,MAAMO,WAAW,GAAG,MAAM5B,SAAS,CAACsB,kBAAV,CAA6BD,EAA7B,CAA1B;IACA,MAAMW,YAAY,GAAG,MAAMhC,SAAS,CAACiC,qBAAV,CAAgCL,WAAhC,CAA3B;IACA,OAAOI,YAAP;EACD,CAJD;EAMA,MAAMiB,eAAe,GAAG,IAAAC,qBAAA,EAAmBlD,SAAnB,EAA8BtB,OAA9B,CAAxB;EACAC,EAAE,CAACwE,cAAH,CAAkB,KAAIC,6BAAJ,EAAoBpD,SAApB,EAA+BpB,OAA/B,CAAlB;EACAF,OAAO,CAAC2E,QAAR,CAAiBJ,eAAjB;EACA,MAAMK,UAAU,GAAG,KAAIC,qBAAJ,GAAnB;EACAD,UAAU,CAACE,QAAX,GAAsB,CACpB,KAAIC,yBAAJ,EAAmBnF,QAAnB,EAA6B0B,SAA7B,CADoB,EAEpB,KAAI0D,2BAAJ,EAAqB1D,SAArB,EAAgC1B,QAAhC,CAFoB,EAGpB,KAAIqF,2BAAJ,EAAqBrF,QAArB,EAA+B0B,SAA/B,CAHoB,CAAtB;EAKA,MAAMwD,QAAqB,GAAG,CAC5B,KAAII,kBAAJ,EAAe5D,SAAf,EAA0BH,MAA1B,CAD4B,EAE5B,KAAIgE,iBAAJ,EAAc7D,SAAd,CAF4B,EAG5B,KAAI8D,oBAAJ,EAAiB9D,SAAjB,CAH4B,EAI5B,KAAI+D,oBAAJ,EAAiB/D,SAAjB,CAJ4B,EAK5BsD,UAL4B,CAA9B;EAOA,MAAMU,OAAO,GAAG,KAAIC,kBAAJ,EAAYjE,SAAZ,EAAuB9B,MAAvB,CAAhB;;EACA,IAAI8B,SAAJ,EAAe;IACbwD,QAAQ,CAACzC,IAAT,CAAc,KAAImD,qBAAJ,EAAiBhG,MAAjB,EAAyB2B,MAAzB,EAAiCmE,OAAjC,CAAd;IACAR,QAAQ,CAACzC,IAAT,CAAc,KAAIoD,mBAAJ,EAAgBnE,SAAhB,EAA2BH,MAA3B,EAAmCd,SAAS,CAACqF,aAAV,EAAnC,CAAd;IACAZ,QAAQ,CAACzC,IAAT,CAAc,KAAIsD,aAAJ,EAAWrE,SAAX,CAAd;EACD;;EACDwD,QAAQ,CAACzC,IAAT,CAAc,KAAIuD,yBAAJ,EAAmBtE,SAAnB,CAAd;EACA7B,GAAG,CAACkF,QAAJ,CAAa,GAAGG,QAAhB;EACAnF,SAAS,CAACkG,YAAV,CAAuBvE,SAAvB;EAEA7B,GAAG,CAACqG,eAAJ,CAAoB,YAAY;IAC9B,MAAMxE,SAAS,CAACyE,0BAAV,EAAN;IACA,MAAMzE,SAAS,CAAC0E,WAAV,CACJ7F,YAAY,CAAC8F,gCAAb,EADI,EAEJ/E,SAFI,EAGJ,+BAHI,CAAN;EAKD,CAPD,EAxHA,CAiIA;;EACA,MAAMgF,WAAW,GAAGzG,GAAG,CAAC0G,UAAJ,CAAe,MAAf,CAApB;EACAD,WAAW,SAAX,IAAAA,WAAW,WAAX,qCAAAA,WAAW,CAAEpB,QAAb,gFAAuBzC,IAAvB,CAA4B,KAAI+D,qBAAJ,EAAe9E,SAAf,CAA5B,EAnIA,CAmIwD;;EACxD4E,WAAW,SAAX,IAAAA,WAAW,WAAX,sCAAAA,WAAW,CAAEpB,QAAb,kFAAuBzC,IAAvB,CAA4B,KAAIgE,yBAAJ,EAAiB/E,SAAjB,CAA5B,EApIA,CAoI0D;;EAC1D4E,WAAW,SAAX,IAAAA,WAAW,WAAX,sCAAAA,WAAW,CAAEpB,QAAb,kFAAuBzC,IAAvB,CAA4B,KAAIiE,6BAAJ,EAAmBhF,SAAnB,CAA5B,EArIA,CAqI4D;EAE5D;;EACA,MAAMiF,YAAY,GAAG9G,GAAG,CAAC0G,UAAJ,CAAe,OAAf,CAArB;EACAI,YAAY,SAAZ,IAAAA,YAAY,WAAZ,qCAAAA,YAAY,CAAEzB,QAAd,gFAAwBzC,IAAxB,CAA6B,KAAImE,uBAAJ,EAAgBlF,SAAhB,CAA7B;EAEA,OAAOA,SAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAeN,WAAf,CAA2ByF,IAA3B,EAAyE;EACvE,OAAO,IAAAC,+BAAA,EAAoBD,IAApB,CAAP;AACD"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/workspace",
3
- "version": "0.0.818",
3
+ "version": "0.0.821",
4
4
  "homepage": "https://bit.dev/teambit/workspace/workspace",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "workspace",
9
- "version": "0.0.818"
9
+ "version": "0.0.821"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -38,54 +38,54 @@
38
38
  "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
39
39
  "@teambit/bit-error": "0.0.394",
40
40
  "@teambit/component-id": "0.0.405",
41
- "@teambit/lane-id": "0.0.65",
41
+ "@teambit/lane-id": "0.0.68",
42
42
  "@teambit/legacy-bit-id": "0.0.402",
43
- "@teambit/logger": "0.0.639",
44
- "@teambit/scope": "0.0.818",
45
- "@teambit/cli": "0.0.546",
46
- "@teambit/isolator": "0.0.818",
47
- "@teambit/component-tree": "0.0.606",
43
+ "@teambit/logger": "0.0.642",
44
+ "@teambit/scope": "0.0.821",
45
+ "@teambit/cli": "0.0.549",
46
+ "@teambit/isolator": "0.0.821",
47
+ "@teambit/component-tree": "0.0.609",
48
48
  "@teambit/component.ui.component-status-resolver": "0.0.493",
49
- "@teambit/lanes.ui.lanes": "0.0.115",
49
+ "@teambit/lanes.hooks.use-lanes": "0.0.2",
50
50
  "@teambit/harmony.modules.resolved-component": "0.0.484",
51
- "@teambit/dependency-resolver": "0.0.818",
52
- "@teambit/compiler": "0.0.818",
53
- "@teambit/component": "0.0.818",
54
- "@teambit/graphql": "0.0.818",
55
- "@teambit/aspect-loader": "0.0.818",
56
- "@teambit/bundler": "0.0.818",
57
- "@teambit/community": "0.0.94",
58
- "@teambit/envs": "0.0.818",
59
- "@teambit/pubsub": "0.0.818",
60
- "@teambit/ui": "0.0.818",
61
- "@teambit/variants": "0.0.643",
51
+ "@teambit/dependency-resolver": "0.0.821",
52
+ "@teambit/compiler": "0.0.821",
53
+ "@teambit/component": "0.0.821",
54
+ "@teambit/graphql": "0.0.821",
55
+ "@teambit/aspect-loader": "0.0.821",
56
+ "@teambit/bundler": "0.0.821",
57
+ "@teambit/community": "0.0.97",
58
+ "@teambit/envs": "0.0.821",
59
+ "@teambit/pubsub": "0.0.821",
60
+ "@teambit/ui": "0.0.821",
61
+ "@teambit/variants": "0.0.646",
62
62
  "@teambit/component-issues": "0.0.60",
63
- "@teambit/config": "0.0.559",
63
+ "@teambit/config": "0.0.562",
64
64
  "@teambit/harmony.modules.requireable-component": "0.0.484",
65
- "@teambit/importer": "0.0.247",
65
+ "@teambit/importer": "0.0.250",
66
66
  "@teambit/workspace.modules.match-pattern": "0.0.489",
67
- "@teambit/component.ui.component-drawer": "0.0.95",
67
+ "@teambit/component.ui.component-drawer": "0.0.98",
68
68
  "@teambit/design.ui.tree": "0.0.6",
69
- "@teambit/ui-foundation.ui.side-bar": "0.0.612",
70
- "@teambit/command-bar": "0.0.818",
69
+ "@teambit/ui-foundation.ui.side-bar": "0.0.615",
70
+ "@teambit/command-bar": "0.0.821",
71
71
  "@teambit/component.ui.component-filters": "0.0.10",
72
- "@teambit/graph": "0.0.818",
73
- "@teambit/sidebar": "0.0.818",
72
+ "@teambit/graph": "0.0.821",
73
+ "@teambit/sidebar": "0.0.821",
74
74
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.487",
75
75
  "@teambit/ui-foundation.ui.menu": "0.0.487",
76
76
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.490",
77
77
  "@teambit/ui-foundation.ui.tree.drawer": "0.0.499",
78
78
  "@teambit/toolbox.time.time-format": "0.0.483",
79
79
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.488",
80
- "@teambit/component-descriptor": "0.0.109",
81
- "@teambit/deprecation": "0.0.818",
80
+ "@teambit/component-descriptor": "0.0.112",
81
+ "@teambit/deprecation": "0.0.821",
82
82
  "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.488",
83
83
  "@teambit/ui-foundation.ui.buttons.collapser": "0.0.195",
84
84
  "@teambit/ui-foundation.ui.corner": "0.0.498",
85
85
  "@teambit/ui-foundation.ui.notifications.notification-context": "0.0.487",
86
86
  "@teambit/ui-foundation.ui.top-bar": "0.0.493",
87
87
  "@teambit/explorer.ui.gallery.component-grid": "0.0.486",
88
- "@teambit/workspace.ui.empty-workspace": "0.0.492",
88
+ "@teambit/workspace.ui.empty-workspace": "0.0.493",
89
89
  "@teambit/workspace.ui.workspace-component-card": "0.0.498"
90
90
  },
91
91
  "devDependencies": {
@@ -105,7 +105,7 @@
105
105
  "peerDependencies": {
106
106
  "react-router-dom": "^6.0.0",
107
107
  "@apollo/client": "^3.0.0",
108
- "@teambit/legacy": "1.0.329",
108
+ "@teambit/legacy": "1.0.332",
109
109
  "react-dom": "^16.8.0 || ^17.0.0",
110
110
  "react": "^16.8.0 || ^17.0.0"
111
111
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.818/dist/workspace.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.818/dist/workspace.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.821/dist/workspace.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.821/dist/workspace.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -21,7 +21,6 @@ import { WorkspaceComponent } from './workspace-component';
21
21
 
22
22
  export class WorkspaceComponentLoader {
23
23
  private componentsCache: InMemoryCache<Component>; // cache loaded components
24
- private componentsCacheForCapsule: InMemoryCache<Component>; // cache loaded components for capsule, must not use the cache for the workspace
25
24
  constructor(
26
25
  private workspace: Workspace,
27
26
  private logger: Logger,
@@ -29,16 +28,15 @@ export class WorkspaceComponentLoader {
29
28
  private envs: EnvsMain
30
29
  ) {
31
30
  this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });
32
- this.componentsCacheForCapsule = createInMemoryCache({ maxSize: getMaxSizeForComponents() });
33
31
  }
34
32
 
35
- async getMany(ids: Array<ComponentID>, forCapsule = false): Promise<Component[]> {
33
+ async getMany(ids: Array<ComponentID>): Promise<Component[]> {
36
34
  const idsWithoutEmpty = compact(ids);
37
35
  const errors: { id: ComponentID; err: Error }[] = [];
38
36
  const longProcessLogger = this.logger.createLongProcessLogger('loading components', ids.length);
39
37
  const componentsP = mapSeries(idsWithoutEmpty, async (id: ComponentID) => {
40
38
  longProcessLogger.logProgress(id.toString());
41
- return this.get(id, forCapsule).catch((err) => {
39
+ return this.get(id).catch((err) => {
42
40
  if (this.isComponentNotExistsError(err)) {
43
41
  errors.push({
44
42
  id,
@@ -84,7 +82,6 @@ export class WorkspaceComponentLoader {
84
82
 
85
83
  async get(
86
84
  componentId: ComponentID,
87
- forCapsule = false,
88
85
  legacyComponent?: ConsumerComponent,
89
86
  useCache = true,
90
87
  storeInCache = true,
@@ -95,17 +92,17 @@ export class WorkspaceComponentLoader {
95
92
  componentId._legacy
96
93
  );
97
94
  const id = bitIdWithVersion.version ? componentId.changeVersion(bitIdWithVersion.version) : componentId;
98
- const fromCache = this.getFromCache(id, forCapsule, loadOpts);
95
+ const fromCache = this.getFromCache(id, loadOpts);
99
96
  if (fromCache && useCache) {
100
97
  return fromCache;
101
98
  }
102
- const consumerComponent = legacyComponent || (await this.getConsumerComponent(id, forCapsule));
99
+ const consumerComponent = legacyComponent || (await this.getConsumerComponent(id));
103
100
  // in case of out-of-sync, the id may changed during the load process
104
101
  const updatedId = consumerComponent ? ComponentID.fromLegacy(consumerComponent.id, id.scope) : id;
105
102
  const component = await this.loadOne(updatedId, consumerComponent, loadOpts);
106
103
  if (storeInCache) {
107
104
  this.addMultipleEnvsIssueIfNeeded(component); // it's in storeInCache block, otherwise, it wasn't fully loaded
108
- this.saveInCache(component, forCapsule, loadOpts);
105
+ this.saveInCache(component, loadOpts);
109
106
  }
110
107
  return component;
111
108
  }
@@ -132,7 +129,6 @@ export class WorkspaceComponentLoader {
132
129
 
133
130
  clearCache() {
134
131
  this.componentsCache.deleteAll();
135
- this.componentsCacheForCapsule.deleteAll();
136
132
  }
137
133
  clearComponentCache(id: ComponentID) {
138
134
  const idStr = id.toString();
@@ -141,11 +137,6 @@ export class WorkspaceComponentLoader {
141
137
  this.componentsCache.delete(cacheKey);
142
138
  }
143
139
  }
144
- for (const cacheKey of this.componentsCacheForCapsule.keys()) {
145
- if (cacheKey === idStr || cacheKey.startsWith(`${idStr}:`)) {
146
- this.componentsCacheForCapsule.delete(cacheKey);
147
- }
148
- }
149
140
  }
150
141
 
151
142
  private async loadOne(id: ComponentID, consumerComponent?: ConsumerComponent, loadOpts?: ComponentLoadOptions) {
@@ -189,13 +180,9 @@ export class WorkspaceComponentLoader {
189
180
  return this.executeLoadSlot(this.newComponentFromState(id, state), loadOpts);
190
181
  }
191
182
 
192
- private saveInCache(component: Component, forCapsule: boolean, loadOpts?: ComponentLoadOptions): void {
183
+ private saveInCache(component: Component, loadOpts?: ComponentLoadOptions): void {
193
184
  const cacheKey = createComponentCacheKey(component.id, loadOpts);
194
- if (forCapsule) {
195
- this.componentsCacheForCapsule.set(cacheKey, component);
196
- } else {
197
- this.componentsCache.set(cacheKey, component);
198
- }
185
+ this.componentsCache.set(cacheKey, component);
199
186
  }
200
187
 
201
188
  /**
@@ -205,22 +192,18 @@ export class WorkspaceComponentLoader {
205
192
  * as a result, when out-of-sync is happening and the id is changed to include scope-name in the
206
193
  * legacy-id, the component is the cache has the old id.
207
194
  */
208
- private getFromCache(id: ComponentID, forCapsule: boolean, loadOpts?: ComponentLoadOptions): Component | undefined {
195
+ private getFromCache(id: ComponentID, loadOpts?: ComponentLoadOptions): Component | undefined {
209
196
  const cacheKey = createComponentCacheKey(id, loadOpts);
210
- const fromCache = forCapsule ? this.componentsCacheForCapsule.get(cacheKey) : this.componentsCache.get(cacheKey);
197
+ const fromCache = this.componentsCache.get(cacheKey);
211
198
  if (fromCache && fromCache.id._legacy.isEqual(id._legacy)) {
212
199
  return fromCache;
213
200
  }
214
201
  return undefined;
215
202
  }
216
203
 
217
- private async getConsumerComponent(id: ComponentID, forCapsule = false): Promise<ConsumerComponent | undefined> {
204
+ private async getConsumerComponent(id: ComponentID): Promise<ConsumerComponent | undefined> {
218
205
  try {
219
- return forCapsule
220
- ? // eslint-disable-next-line @typescript-eslint/return-await
221
- await this.workspace.consumer.loadComponentForCapsule(id._legacy)
222
- : // eslint-disable-next-line @typescript-eslint/return-await
223
- await this.workspace.consumer.loadComponent(id._legacy);
206
+ return await this.workspace.consumer.loadComponent(id._legacy);
224
207
  } catch (err: any) {
225
208
  // don't return undefined for any error. otherwise, if the component is invalid (e.g. main
226
209
  // file is missing) it returns the model component later unexpectedly, or if it's new, it