@teambit/workspace 1.0.220 → 1.0.222

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.
@@ -323,9 +323,12 @@ class WorkspaceMain {
323
323
  commands.push(new (_pattern().PatternCommand)(workspace));
324
324
  cli.register(...commands);
325
325
  component.registerHost(workspace);
326
+
327
+ // mini-status should be super fast. login/logout don't need loading aspects
328
+ const commandsToSkipLoadingAspects = ['mini-status', 'ms', 'login', 'logout'];
326
329
  cli.registerOnStart(async (_hasWorkspace, currentCommand) => {
327
- if (currentCommand === 'mini-status' || currentCommand === 'ms') {
328
- return; // mini-status should be super fast.
330
+ if (commandsToSkipLoadingAspects.includes(currentCommand)) {
331
+ return;
329
332
  }
330
333
  if (currentCommand === 'install') {
331
334
  workspace.inInstallContext = true;
@@ -1 +1 @@
1
- {"version":3,"names":["_pubsub","data","require","_aspectLoader","_bundler","_cli","_component","_envs","_graphql","_harmony","_isolator","_logger","_scope","_ui","_variants","_globalConfig","_dependencyResolver","_consumer","_component2","_interopRequireDefault","_extensionData","_componentLoader","_constants","_workspace","_ejectConf","_workspace2","_workspace3","_workspace4","_capsule","_envsSet","_envsUnset","_pattern","_envsReplace","_scopeSet","_use","_envsUpdate","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","WorkspaceMain","provider","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","globalConfig","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onAspectsResolveSlot","onRootAspectAddedSlot","onBitmapChangeSlot","onWorkspaceConfigChangeSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","capsuleCmd","getCapsulesCommands","undefined","register","logger","createLogger","EXT_NAME","workspace","Workspace","configMergeFile","getConflictMergeFile","loadIfNeeded","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","getWorkspacePolicyFromMergeConfig","wsConfigMerge","getWorkspaceJsonConflictFromMergeConfig","policy","DependencyResolverAspect","id","forEach","depField","reduce","acc","current","name","version","wsPolicy","getWorkspacePolicyFromConfigObject","getRootPolicy","pkgJsonPolicy","configMergePolicy","mergeWorkspacePolices","registerRootPolicy","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","originatedFromHarmony","newComponent","state","ConsumerComponent","registerOnComponentConfigLoading","loadOpts","componentId","resolveComponentId","componentFromScope","extensions","componentExtensions","defaultScope","componentDefaultScope","extensionsWithLegacyIdsP","map","extension","legacyEntry","clone","extensionId","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","registerPreStart","setComponentPathsRegExps","commands","EjectConfCmd","UseCmd","PatternCommand","registerHost","registerOnStart","_hasWorkspace","currentCommand","inInstallContext","importCurrentLaneIfMissing","loadAspectsOpts","runSubscribers","skipDeps","autoLoadAspectsDeps","aspects","loadAspects","getNotLoadedConfiguredExtensions","componentIds","resolveMultipleComponentIds","clearComponentCache","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","EnvsUpdateCmd","scopeCommand","ScopeSetCmd","exports","MainRuntime","PubsubAspect","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","GlobalConfigAspect","Slot","withType","CapsuleCmd","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","path","loadConsumerIfExist","WorkspaceAspect","addRuntime","_default"],"sources":["workspace.main.runtime.ts"],"sourcesContent":["import { PubsubAspect, PubsubMain } from '@teambit/pubsub';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { BundlerAspect, BundlerMain } from '@teambit/bundler';\nimport { CLIAspect, MainRuntime, CLIMain, CommandList } from '@teambit/cli';\nimport { ComponentAspect } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, Harmony, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { UIAspect, UiMain } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport type { VariantsMain } from '@teambit/variants';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport type { ComponentConfigLoadOptions } from '@teambit/legacy/dist/consumer/config';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport LegacyComponentLoader, { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { ComponentID } from '@teambit/component-id';\nimport { EXT_NAME } from './constants';\nimport { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport EjectConfCmd from './eject-conf.cmd';\nimport { WorkspaceExtConfig } from './types';\nimport { Workspace } 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';\nimport { EnvsUpdateCmd } from './envs-subcommands/envs-update.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 GlobalConfigMain\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 OnBitmapChange = () => Promise<void>;\nexport type OnBitmapChangeSlot = SlotRegistry<OnBitmapChange>;\n\nexport type OnWorkspaceConfigChange = () => Promise<void>;\nexport type OnWorkspaceConfigChangeSlot = SlotRegistry<OnWorkspaceConfigChange>;\n\nexport type OnAspectsResolve = (aspectsComponents: Component[]) => Promise<void>;\nexport type OnAspectsResolveSlot = SlotRegistry<OnAspectsResolve>;\n\nexport type OnRootAspectAdded = (aspectsId: ComponentID, inWs: boolean) => Promise<void>;\nexport type OnRootAspectAddedSlot = SlotRegistry<OnRootAspectAdded>;\n\nexport class WorkspaceMain {\n static runtime = MainRuntime;\n static dependencies = [\n PubsubAspect,\n CLIAspect,\n ScopeAspect,\n ComponentAspect,\n IsolatorAspect,\n DependencyResolverAspect,\n VariantsAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n BundlerAspect,\n AspectLoaderAspect,\n EnvsAspect,\n GlobalConfigAspect,\n ];\n static slots = [\n Slot.withType<OnComponentLoad>(),\n Slot.withType<OnComponentChange>(),\n Slot.withType<OnComponentAdd>(),\n Slot.withType<OnComponentRemove>(),\n Slot.withType<OnAspectsResolve>(),\n Slot.withType<OnRootAspectAdded>(),\n Slot.withType<OnBitmapChange>(),\n Slot.withType<OnWorkspaceConfigChange>(),\n ];\n static async provider(\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 globalConfig,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnAspectsResolveSlot,\n OnRootAspectAddedSlot,\n OnBitmapChangeSlot,\n OnWorkspaceConfigChangeSlot\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) {\n const capsuleCmd = getCapsulesCommands(isolator, scope, undefined);\n cli.register(capsuleCmd);\n return undefined;\n }\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 dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n globalConfig,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n graphql,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot\n );\n\n const configMergeFile = workspace.getConflictMergeFile();\n await configMergeFile.loadIfNeeded();\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n /**\n * @deprecated\n * see workspace.getWorkspaceJsonConflictFromMergeConfig\n */\n const getWorkspacePolicyFromMergeConfig = () => {\n const wsConfigMerge = workspace.getWorkspaceJsonConflictFromMergeConfig();\n const policy = wsConfigMerge.data?.[DependencyResolverAspect.id]?.policy || {};\n ['dependencies', 'peerDependencies'].forEach((depField) => {\n if (!policy[depField]) return;\n policy[depField] = policy[depField].reduce((acc, current) => {\n acc[current.name] = current.version;\n return acc;\n }, {});\n });\n const wsPolicy = dependencyResolver.getWorkspacePolicyFromConfigObject(policy);\n return wsPolicy;\n };\n\n const getRootPolicy = () => {\n const pkgJsonPolicy = getWorkspacePolicyFromPackageJson();\n const configMergePolicy = getWorkspacePolicyFromMergeConfig();\n return dependencyResolver.mergeWorkspacePolices([pkgJsonPolicy, configMergePolicy]);\n };\n\n dependencyResolver.registerRootPolicy(getRootPolicy());\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: ComponentLoadOptions) => {\n if (opts?.originatedFromHarmony) return legacyComponent;\n const id = 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, loadOpts: ComponentConfigLoadOptions) => {\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, undefined, loadOpts);\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 legacyEntry.newExtensionId = legacyEntry.extensionId;\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 const workspaceSchema = getWorkspaceSchema(workspace, graphql);\n ui.registerUiRoot(new WorkspaceUIRoot(workspace, bundler));\n ui.registerPreStart(async () => {\n return workspace.setComponentPathsRegExps();\n });\n graphql.register(workspaceSchema);\n const capsuleCmd = getCapsulesCommands(isolator, scope, workspace);\n const commands: CommandList = [new EjectConfCmd(workspace), capsuleCmd, new UseCmd(workspace)];\n\n commands.push(new PatternCommand(workspace));\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async (_hasWorkspace: boolean, currentCommand: string) => {\n if (currentCommand === 'mini-status' || currentCommand === 'ms') {\n return; // mini-status should be super fast.\n }\n if (currentCommand === 'install') {\n workspace.inInstallContext = true;\n }\n await workspace.importCurrentLaneIfMissing();\n const loadAspectsOpts = {\n runSubscribers: false,\n skipDeps: !config.autoLoadAspectsDeps,\n };\n const aspects = await workspace.loadAspects(\n aspectLoader.getNotLoadedConfiguredExtensions(),\n undefined,\n 'teambit.workspace/workspace (cli.registerOnStart)',\n loadAspectsOpts\n );\n // clear aspect cache.\n const componentIds = await workspace.resolveMultipleComponentIds(aspects);\n componentIds.forEach((id) => {\n workspace.clearComponentCache(id);\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 envsCommand?.commands?.push(new EnvsUpdateCmd(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 static defineRuntime = 'browser';\n}\n\nfunction getCapsulesCommands(isolator: IsolatorMain, scope: ScopeMain, workspace?: Workspace) {\n const capsuleCmd = new CapsuleCmd(isolator, workspace, scope);\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace, scope),\n new CapsuleCreateCmd(workspace, scope, isolator),\n new CapsuleDeleteCmd(isolator, scope, workspace),\n ];\n return capsuleCmd;\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\nWorkspaceAspect.addRuntime(WorkspaceMain);\n\nexport default WorkspaceMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pubsub","data","require","_aspectLoader","_bundler","_cli","_component","_envs","_graphql","_harmony","_isolator","_logger","_scope","_ui","_variants","_globalConfig","_dependencyResolver","_consumer","_component2","_interopRequireDefault","_extensionData","_componentLoader","_constants","_workspace","_ejectConf","_workspace2","_workspace3","_workspace4","_capsule","_envsSet","_envsUnset","_pattern","_envsReplace","_scopeSet","_use","_envsUpdate","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","WorkspaceMain","provider","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","globalConfig","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onAspectsResolveSlot","onRootAspectAddedSlot","onBitmapChangeSlot","onWorkspaceConfigChangeSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","capsuleCmd","getCapsulesCommands","undefined","register","logger","createLogger","EXT_NAME","workspace","Workspace","configMergeFile","getConflictMergeFile","loadIfNeeded","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","getWorkspacePolicyFromMergeConfig","wsConfigMerge","getWorkspaceJsonConflictFromMergeConfig","policy","DependencyResolverAspect","id","forEach","depField","reduce","acc","current","name","version","wsPolicy","getWorkspacePolicyFromConfigObject","getRootPolicy","pkgJsonPolicy","configMergePolicy","mergeWorkspacePolices","registerRootPolicy","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","originatedFromHarmony","newComponent","state","ConsumerComponent","registerOnComponentConfigLoading","loadOpts","componentId","resolveComponentId","componentFromScope","extensions","componentExtensions","defaultScope","componentDefaultScope","extensionsWithLegacyIdsP","map","extension","legacyEntry","clone","extensionId","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","registerPreStart","setComponentPathsRegExps","commands","EjectConfCmd","UseCmd","PatternCommand","registerHost","commandsToSkipLoadingAspects","registerOnStart","_hasWorkspace","currentCommand","includes","inInstallContext","importCurrentLaneIfMissing","loadAspectsOpts","runSubscribers","skipDeps","autoLoadAspectsDeps","aspects","loadAspects","getNotLoadedConfiguredExtensions","componentIds","resolveMultipleComponentIds","clearComponentCache","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","EnvsUpdateCmd","scopeCommand","ScopeSetCmd","exports","MainRuntime","PubsubAspect","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","GlobalConfigAspect","Slot","withType","CapsuleCmd","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","path","loadConsumerIfExist","WorkspaceAspect","addRuntime","_default"],"sources":["workspace.main.runtime.ts"],"sourcesContent":["import { PubsubAspect, PubsubMain } from '@teambit/pubsub';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { BundlerAspect, BundlerMain } from '@teambit/bundler';\nimport { CLIAspect, MainRuntime, CLIMain, CommandList } from '@teambit/cli';\nimport { ComponentAspect } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, Harmony, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { UIAspect, UiMain } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport type { VariantsMain } from '@teambit/variants';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport type { ComponentConfigLoadOptions } from '@teambit/legacy/dist/consumer/config';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport LegacyComponentLoader, { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { ComponentID } from '@teambit/component-id';\nimport { EXT_NAME } from './constants';\nimport { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport EjectConfCmd from './eject-conf.cmd';\nimport { WorkspaceExtConfig } from './types';\nimport { Workspace } 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';\nimport { EnvsUpdateCmd } from './envs-subcommands/envs-update.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 GlobalConfigMain\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 OnBitmapChange = () => Promise<void>;\nexport type OnBitmapChangeSlot = SlotRegistry<OnBitmapChange>;\n\nexport type OnWorkspaceConfigChange = () => Promise<void>;\nexport type OnWorkspaceConfigChangeSlot = SlotRegistry<OnWorkspaceConfigChange>;\n\nexport type OnAspectsResolve = (aspectsComponents: Component[]) => Promise<void>;\nexport type OnAspectsResolveSlot = SlotRegistry<OnAspectsResolve>;\n\nexport type OnRootAspectAdded = (aspectsId: ComponentID, inWs: boolean) => Promise<void>;\nexport type OnRootAspectAddedSlot = SlotRegistry<OnRootAspectAdded>;\n\nexport class WorkspaceMain {\n static runtime = MainRuntime;\n static dependencies = [\n PubsubAspect,\n CLIAspect,\n ScopeAspect,\n ComponentAspect,\n IsolatorAspect,\n DependencyResolverAspect,\n VariantsAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n BundlerAspect,\n AspectLoaderAspect,\n EnvsAspect,\n GlobalConfigAspect,\n ];\n static slots = [\n Slot.withType<OnComponentLoad>(),\n Slot.withType<OnComponentChange>(),\n Slot.withType<OnComponentAdd>(),\n Slot.withType<OnComponentRemove>(),\n Slot.withType<OnAspectsResolve>(),\n Slot.withType<OnRootAspectAdded>(),\n Slot.withType<OnBitmapChange>(),\n Slot.withType<OnWorkspaceConfigChange>(),\n ];\n static async provider(\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 globalConfig,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnAspectsResolveSlot,\n OnRootAspectAddedSlot,\n OnBitmapChangeSlot,\n OnWorkspaceConfigChangeSlot\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) {\n const capsuleCmd = getCapsulesCommands(isolator, scope, undefined);\n cli.register(capsuleCmd);\n return undefined;\n }\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 dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n globalConfig,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n graphql,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot\n );\n\n const configMergeFile = workspace.getConflictMergeFile();\n await configMergeFile.loadIfNeeded();\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n /**\n * @deprecated\n * see workspace.getWorkspaceJsonConflictFromMergeConfig\n */\n const getWorkspacePolicyFromMergeConfig = () => {\n const wsConfigMerge = workspace.getWorkspaceJsonConflictFromMergeConfig();\n const policy = wsConfigMerge.data?.[DependencyResolverAspect.id]?.policy || {};\n ['dependencies', 'peerDependencies'].forEach((depField) => {\n if (!policy[depField]) return;\n policy[depField] = policy[depField].reduce((acc, current) => {\n acc[current.name] = current.version;\n return acc;\n }, {});\n });\n const wsPolicy = dependencyResolver.getWorkspacePolicyFromConfigObject(policy);\n return wsPolicy;\n };\n\n const getRootPolicy = () => {\n const pkgJsonPolicy = getWorkspacePolicyFromPackageJson();\n const configMergePolicy = getWorkspacePolicyFromMergeConfig();\n return dependencyResolver.mergeWorkspacePolices([pkgJsonPolicy, configMergePolicy]);\n };\n\n dependencyResolver.registerRootPolicy(getRootPolicy());\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: ComponentLoadOptions) => {\n if (opts?.originatedFromHarmony) return legacyComponent;\n const id = 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, loadOpts: ComponentConfigLoadOptions) => {\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, undefined, loadOpts);\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 legacyEntry.newExtensionId = legacyEntry.extensionId;\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 const workspaceSchema = getWorkspaceSchema(workspace, graphql);\n ui.registerUiRoot(new WorkspaceUIRoot(workspace, bundler));\n ui.registerPreStart(async () => {\n return workspace.setComponentPathsRegExps();\n });\n graphql.register(workspaceSchema);\n const capsuleCmd = getCapsulesCommands(isolator, scope, workspace);\n const commands: CommandList = [new EjectConfCmd(workspace), capsuleCmd, new UseCmd(workspace)];\n\n commands.push(new PatternCommand(workspace));\n cli.register(...commands);\n component.registerHost(workspace);\n\n // mini-status should be super fast. login/logout don't need loading aspects\n const commandsToSkipLoadingAspects = ['mini-status', 'ms', 'login', 'logout'];\n\n cli.registerOnStart(async (_hasWorkspace: boolean, currentCommand: string) => {\n if (commandsToSkipLoadingAspects.includes(currentCommand)) {\n return;\n }\n if (currentCommand === 'install') {\n workspace.inInstallContext = true;\n }\n await workspace.importCurrentLaneIfMissing();\n const loadAspectsOpts = {\n runSubscribers: false,\n skipDeps: !config.autoLoadAspectsDeps,\n };\n const aspects = await workspace.loadAspects(\n aspectLoader.getNotLoadedConfiguredExtensions(),\n undefined,\n 'teambit.workspace/workspace (cli.registerOnStart)',\n loadAspectsOpts\n );\n // clear aspect cache.\n const componentIds = await workspace.resolveMultipleComponentIds(aspects);\n componentIds.forEach((id) => {\n workspace.clearComponentCache(id);\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 envsCommand?.commands?.push(new EnvsUpdateCmd(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 static defineRuntime = 'browser';\n}\n\nfunction getCapsulesCommands(isolator: IsolatorMain, scope: ScopeMain, workspace?: Workspace) {\n const capsuleCmd = new CapsuleCmd(isolator, workspace, scope);\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace, scope),\n new CapsuleCreateCmd(workspace, scope, isolator),\n new CapsuleDeleteCmd(isolator, scope, workspace),\n ];\n return capsuleCmd;\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\nWorkspaceAspect.addRuntime(WorkspaceMain);\n\nexport default WorkspaceMain;\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,cAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,KAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,IAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,MAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,KAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,UAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,SAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,IAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,GAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,UAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,SAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,cAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,aAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,oBAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,mBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAgB,UAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,SAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,YAAA;EAAA,MAAAjB,IAAA,GAAAkB,sBAAA,CAAAjB,OAAA;EAAAgB,WAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAmB,eAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,cAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,iBAAA;EAAA,MAAApB,IAAA,GAAAkB,sBAAA,CAAAjB,OAAA;EAAAmB,gBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAqB,WAAA;EAAA,MAAArB,IAAA,GAAAC,OAAA;EAAAoB,UAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAsB,WAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,UAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,WAAA;EAAA,MAAAvB,IAAA,GAAAkB,sBAAA,CAAAjB,OAAA;EAAAsB,UAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAwB,YAAA;EAAA,MAAAxB,IAAA,GAAAC,OAAA;EAAAuB,WAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,YAAA;EAAA,MAAAzB,IAAA,GAAAkB,sBAAA,CAAAjB,OAAA;EAAAwB,WAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,YAAA;EAAA,MAAA1B,IAAA,GAAAC,OAAA;EAAAyB,WAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,SAAA;EAAA,MAAA3B,IAAA,GAAAC,OAAA;EAAA0B,QAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,SAAA;EAAA,MAAA5B,IAAA,GAAAC,OAAA;EAAA2B,QAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,WAAA;EAAA,MAAA7B,IAAA,GAAAC,OAAA;EAAA4B,UAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,SAAA;EAAA,MAAA9B,IAAA,GAAAC,OAAA;EAAA6B,QAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,aAAA;EAAA,MAAA/B,IAAA,GAAAC,OAAA;EAAA8B,YAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgC,UAAA;EAAA,MAAAhC,IAAA,GAAAC,OAAA;EAAA+B,SAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiC,KAAA;EAAA,MAAAjC,IAAA,GAAAC,OAAA;EAAAgC,IAAA,YAAAA,CAAA;IAAA,OAAAjC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkC,YAAA;EAAA,MAAAlC,IAAA,GAAAC,OAAA;EAAAiC,WAAA,YAAAA,CAAA;IAAA,OAAAlC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmE,SAAAkB,uBAAAiB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAuC5D,MAAMW,aAAa,CAAC;EA4BzB,aAAaC,QAAQA,CACnB,CACEC,MAAM,EACNC,GAAG,EACHC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,kBAAkB,EAClBC,QAAQ,EACRC,SAAS,EACTC,OAAO,EACPC,EAAE,EACFC,OAAO,EACPC,YAAY,EACZC,IAAI,EACJC,YAAY,CACE,EAChBC,MAA0B,EAC1B,CACEC,mBAAmB,EACnBC,qBAAqB,EACrBC,kBAAkB,EAClBC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,EACrBC,kBAAkB,EAClBC,2BAA2B,CAU5B,EACDC,OAAgB,EAChB;IACA,MAAMC,SAAc,GAAGD,OAAO,CAACT,MAAM,CAACW,GAAG,CAAC,qBAAqB,CAAC;IAChE,MAAMC,QAAQ,GAAG,MAAMC,WAAW,CAACH,SAAS,CAACI,GAAG,CAAC;IACjD,IAAI,CAACF,QAAQ,EAAE;MACb,MAAMG,UAAU,GAAGC,mBAAmB,CAAC1B,QAAQ,EAAEF,KAAK,EAAE6B,SAAS,CAAC;MAClE9B,GAAG,CAAC+B,QAAQ,CAACH,UAAU,CAAC;MACxB,OAAOE,SAAS;IAClB;IACA;IACA,MAAME,MAAM,GAAG1B,SAAS,CAAC2B,YAAY,CAACC,qBAAQ,CAAC;IAC/C,MAAMC,SAAS,GAAG,KAAIC,uBAAS,EAC7BrC,MAAM,EACNc,MAAM,EACNY,QAAQ,EACRxB,KAAK,EACLC,SAAS,EACTE,kBAAkB,EAClBC,QAAQ,EACRK,YAAY,EACZsB,MAAM,EACNF,SAAS,EACTR,OAAO,EACPR,mBAAmB,EACnBC,qBAAqB,EACrBJ,IAAI,EACJC,YAAY,EACZI,kBAAkB,EAClBC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,EACrBZ,OAAO,EACPa,kBAAkB,EAClBC,2BACF,CAAC;IAED,MAAMgB,eAAe,GAAGF,SAAS,CAACG,oBAAoB,CAAC,CAAC;IACxD,MAAMD,eAAe,CAACE,YAAY,CAAC,CAAC;IAEpC,MAAMC,iCAAiC,GAAGA,CAAA,KAAM;MAC9C,MAAMC,WAAW,GAAGN,SAAS,CAACV,QAAQ,CAACgB,WAAW,EAAEC,iBAAiB,IAAI,CAAC,CAAC;MAC3E,MAAMC,qBAAqB,GAAGvC,kBAAkB,CAACoC,iCAAiC,CAACC,WAAW,CAAC;MAC/F,OAAOE,qBAAqB;IAC9B,CAAC;;IAED;AACJ;AACA;AACA;IACI,MAAMC,iCAAiC,GAAGA,CAAA,KAAM;MAC9C,MAAMC,aAAa,GAAGV,SAAS,CAACW,uCAAuC,CAAC,CAAC;MACzE,MAAMC,MAAM,GAAGF,aAAa,CAAC1G,IAAI,GAAG6G,8CAAwB,CAACC,EAAE,CAAC,EAAEF,MAAM,IAAI,CAAC,CAAC;MAC9E,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAACG,OAAO,CAAEC,QAAQ,IAAK;QACzD,IAAI,CAACJ,MAAM,CAACI,QAAQ,CAAC,EAAE;QACvBJ,MAAM,CAACI,QAAQ,CAAC,GAAGJ,MAAM,CAACI,QAAQ,CAAC,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;UAC3DD,GAAG,CAACC,OAAO,CAACC,IAAI,CAAC,GAAGD,OAAO,CAACE,OAAO;UACnC,OAAOH,GAAG;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;MACR,CAAC,CAAC;MACF,MAAMI,QAAQ,GAAGrD,kBAAkB,CAACsD,kCAAkC,CAACX,MAAM,CAAC;MAC9E,OAAOU,QAAQ;IACjB,CAAC;IAED,MAAME,aAAa,GAAGA,CAAA,KAAM;MAC1B,MAAMC,aAAa,GAAGpB,iCAAiC,CAAC,CAAC;MACzD,MAAMqB,iBAAiB,GAAGjB,iCAAiC,CAAC,CAAC;MAC7D,OAAOxC,kBAAkB,CAAC0D,qBAAqB,CAAC,CAACF,aAAa,EAAEC,iBAAiB,CAAC,CAAC;IACrF,CAAC;IAEDzD,kBAAkB,CAAC2D,kBAAkB,CAACJ,aAAa,CAAC,CAAC,CAAC;IAEtDlC,QAAQ,CAACuC,YAAY,CAACC,IAAI,CAAC,MAAM9B,SAAS,CAAC+B,UAAU,CAAC,CAAC,CAAC;IAExDC,0BAAqB,CAACC,iCAAiC,CACrD,OAAOC,eAAkC,EAAEC,IAA2B,KAAK;MACzE,IAAIA,IAAI,EAAEC,qBAAqB,EAAE,OAAOF,eAAe;MACvD,MAAMpB,EAAE,GAAGoB,eAAe,CAACpB,EAAE;MAC7B,MAAMuB,YAAY,GAAG,MAAMrC,SAAS,CAACX,GAAG,CAACyB,EAAE,EAAEoB,eAAe,EAAE,IAAI,EAAE,IAAI,EAAEC,IAAI,CAAC;MAC/E,OAAOE,YAAY,CAACC,KAAK,CAACtH,SAAS;IACrC,CACF,CAAC;IAEDuH,qBAAiB,CAACC,gCAAgC,CAACzC,qBAAQ,EAAE,OAAOe,EAAE,EAAE2B,QAAoC,KAAK;MAC/G,MAAMC,WAAW,GAAG,MAAM1C,SAAS,CAAC2C,kBAAkB,CAAC7B,EAAE,CAAC;MAC1D;MACA;MACA;MACA,MAAM8B,kBAAkB,GAAG,MAAM5C,SAAS,CAAClC,KAAK,CAACuB,GAAG,CAACqD,WAAW,CAAC;MACjE,MAAM;QAAEG;MAAW,CAAC,GAAG,MAAM7C,SAAS,CAAC8C,mBAAmB,CAACJ,WAAW,EAAEE,kBAAkB,EAAEjD,SAAS,EAAE8C,QAAQ,CAAC;MAChH,MAAMM,YAAY,GAAG,MAAM/C,SAAS,CAACgD,qBAAqB,CAACN,WAAW,CAAC;MAEvE,MAAMO,wBAAwB,GAAGJ,UAAU,CAACK,GAAG,CAAC,MAAOC,SAAS,IAAK;QACnE,MAAMC,WAAW,GAAGD,SAAS,CAACE,KAAK,CAAC,CAAC;QACrC,IAAID,WAAW,CAACE,WAAW,EAAE;UAC3BF,WAAW,CAACG,cAAc,GAAGH,WAAW,CAACE,WAAW;QACtD;QAEA,OAAOF,WAAW;MACpB,CAAC,CAAC;MACF,MAAMI,uBAAuB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACT,wBAAwB,CAAC;MAE3E,OAAO;QACLF,YAAY;QACZF,UAAU,EAAEc,kCAAiB,CAACC,SAAS,CAACJ,uBAAuB;MACjE,CAAC;IACH,CAAC,CAAC;IAEF,MAAMK,eAAe,GAAG,IAAAC,qBAAkB,EAAC9D,SAAS,EAAE5B,OAAO,CAAC;IAC9DC,EAAE,CAAC0F,cAAc,CAAC,KAAIC,6BAAe,EAAChE,SAAS,EAAE1B,OAAO,CAAC,CAAC;IAC1DD,EAAE,CAAC4F,gBAAgB,CAAC,YAAY;MAC9B,OAAOjE,SAAS,CAACkE,wBAAwB,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF9F,OAAO,CAACwB,QAAQ,CAACiE,eAAe,CAAC;IACjC,MAAMpE,UAAU,GAAGC,mBAAmB,CAAC1B,QAAQ,EAAEF,KAAK,EAAEkC,SAAS,CAAC;IAClE,MAAMmE,QAAqB,GAAG,CAAC,KAAIC,oBAAY,EAACpE,SAAS,CAAC,EAAEP,UAAU,EAAE,KAAI4E,aAAM,EAACrE,SAAS,CAAC,CAAC;IAE9FmE,QAAQ,CAACrC,IAAI,CAAC,KAAIwC,yBAAc,EAACtE,SAAS,CAAC,CAAC;IAC5CnC,GAAG,CAAC+B,QAAQ,CAAC,GAAGuE,QAAQ,CAAC;IACzBpG,SAAS,CAACwG,YAAY,CAACvE,SAAS,CAAC;;IAEjC;IACA,MAAMwE,4BAA4B,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;IAE7E3G,GAAG,CAAC4G,eAAe,CAAC,OAAOC,aAAsB,EAAEC,cAAsB,KAAK;MAC5E,IAAIH,4BAA4B,CAACI,QAAQ,CAACD,cAAc,CAAC,EAAE;QACzD;MACF;MACA,IAAIA,cAAc,KAAK,SAAS,EAAE;QAChC3E,SAAS,CAAC6E,gBAAgB,GAAG,IAAI;MACnC;MACA,MAAM7E,SAAS,CAAC8E,0BAA0B,CAAC,CAAC;MAC5C,MAAMC,eAAe,GAAG;QACtBC,cAAc,EAAE,KAAK;QACrBC,QAAQ,EAAE,CAACvG,MAAM,CAACwG;MACpB,CAAC;MACD,MAAMC,OAAO,GAAG,MAAMnF,SAAS,CAACoF,WAAW,CACzC7G,YAAY,CAAC8G,gCAAgC,CAAC,CAAC,EAC/C1F,SAAS,EACT,mDAAmD,EACnDoF,eACF,CAAC;MACD;MACA,MAAMO,YAAY,GAAG,MAAMtF,SAAS,CAACuF,2BAA2B,CAACJ,OAAO,CAAC;MACzEG,YAAY,CAACvE,OAAO,CAAED,EAAE,IAAK;QAC3Bd,SAAS,CAACwF,mBAAmB,CAAC1E,EAAE,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC,CAAC;;IAEF;IACA,MAAM2E,WAAW,GAAG5H,GAAG,CAAC6H,UAAU,CAAC,MAAM,CAAC;IAC1CD,WAAW,EAAEtB,QAAQ,EAAErC,IAAI,CAAC,KAAI6D,qBAAU,EAAC3F,SAAS,CAAC,CAAC,CAAC,CAAC;IACxDyF,WAAW,EAAEtB,QAAQ,EAAErC,IAAI,CAAC,KAAI8D,yBAAY,EAAC5F,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1DyF,WAAW,EAAEtB,QAAQ,EAAErC,IAAI,CAAC,KAAI+D,6BAAc,EAAC7F,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5DyF,WAAW,EAAEtB,QAAQ,EAAErC,IAAI,CAAC,KAAIgE,2BAAa,EAAC9F,SAAS,CAAC,CAAC,CAAC,CAAC;;IAE3D;IACA,MAAM+F,YAAY,GAAGlI,GAAG,CAAC6H,UAAU,CAAC,OAAO,CAAC;IAC5CK,YAAY,EAAE5B,QAAQ,EAAErC,IAAI,CAAC,KAAIkE,uBAAW,EAAChG,SAAS,CAAC,CAAC;IAExD,OAAOA,SAAS;EAClB;AAEF;AAACiG,OAAA,CAAAvI,aAAA,GAAAA,aAAA;AAAApB,eAAA,CAnOYoB,aAAa,aACPwI,kBAAW;AAAA5J,eAAA,CADjBoB,aAAa,kBAEF,CACpByI,sBAAY,EACZC,gBAAS,EACTC,oBAAW,EACXC,4BAAe,EACfC,0BAAc,EACd1F,8CAAwB,EACxB2F,0BAAc,EACdC,sBAAY,EACZC,wBAAa,EACbC,cAAQ,EACRC,wBAAa,EACbC,kCAAkB,EAClBC,kBAAU,EACVC,kCAAkB,CACnB;AAAAzK,eAAA,CAjBUoB,aAAa,WAkBT,CACbsJ,eAAI,CAACC,QAAQ,CAAkB,CAAC,EAChCD,eAAI,CAACC,QAAQ,CAAoB,CAAC,EAClCD,eAAI,CAACC,QAAQ,CAAiB,CAAC,EAC/BD,eAAI,CAACC,QAAQ,CAAoB,CAAC,EAClCD,eAAI,CAACC,QAAQ,CAAmB,CAAC,EACjCD,eAAI,CAACC,QAAQ,CAAoB,CAAC,EAClCD,eAAI,CAACC,QAAQ,CAAiB,CAAC,EAC/BD,eAAI,CAACC,QAAQ,CAA0B,CAAC,CACzC;AAAA3K,eAAA,CA3BUoB,aAAa,mBAkOD,SAAS;AAGlC,SAASgC,mBAAmBA,CAAC1B,QAAsB,EAAEF,KAAgB,EAAEkC,SAAqB,EAAE;EAC5F,MAAMP,UAAU,GAAG,KAAIyH,qBAAU,EAAClJ,QAAQ,EAAEgC,SAAS,EAAElC,KAAK,CAAC;EAC7D2B,UAAU,CAAC0E,QAAQ,GAAG,CACpB,KAAIgD,yBAAc,EAACnJ,QAAQ,EAAEgC,SAAS,EAAElC,KAAK,CAAC,EAC9C,KAAIsJ,2BAAgB,EAACpH,SAAS,EAAElC,KAAK,EAAEE,QAAQ,CAAC,EAChD,KAAIqJ,2BAAgB,EAACrJ,QAAQ,EAAEF,KAAK,EAAEkC,SAAS,CAAC,CACjD;EACD,OAAOP,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeF,WAAWA,CAAC+H,IAAa,EAAiC;EACvE,OAAO,IAAAC,+BAAmB,EAACD,IAAI,CAAC;AAClC;AAEAE,4BAAe,CAACC,UAAU,CAAC/J,aAAa,CAAC;AAAC,IAAAgK,QAAA,GAAAzB,OAAA,CAAA5J,OAAA,GAE3BqB,aAAa","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/workspace",
3
- "version": "1.0.220",
3
+ "version": "1.0.222",
4
4
  "homepage": "https://bit.cloud/teambit/workspace/workspace",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "workspace",
9
- "version": "1.0.220"
9
+ "version": "1.0.222"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -54,43 +54,43 @@
54
54
  "@teambit/explorer.ui.gallery.component-grid": "0.0.496",
55
55
  "@teambit/scopes.scope-id": "0.0.7",
56
56
  "@teambit/workspace.ui.empty-workspace": "0.0.508",
57
- "@teambit/component": "1.0.220",
58
- "@teambit/dependency-resolver": "1.0.220",
59
- "@teambit/envs": "1.0.220",
60
- "@teambit/logger": "0.0.951",
61
- "@teambit/scope": "1.0.220",
62
- "@teambit/graph": "1.0.220",
63
- "@teambit/cli": "0.0.858",
64
- "@teambit/isolator": "1.0.220",
65
- "@teambit/component-tree": "1.0.220",
57
+ "@teambit/component": "1.0.222",
58
+ "@teambit/dependency-resolver": "1.0.222",
59
+ "@teambit/envs": "1.0.222",
60
+ "@teambit/logger": "0.0.952",
61
+ "@teambit/scope": "1.0.222",
62
+ "@teambit/graph": "1.0.222",
63
+ "@teambit/cli": "0.0.859",
64
+ "@teambit/isolator": "1.0.222",
65
+ "@teambit/component-tree": "1.0.222",
66
66
  "@teambit/harmony.modules.resolved-component": "0.0.497",
67
- "@teambit/watcher": "1.0.220",
68
- "@teambit/aspect-loader": "1.0.220",
69
- "@teambit/config": "0.0.971",
70
- "@teambit/global-config": "0.0.861",
67
+ "@teambit/watcher": "1.0.222",
68
+ "@teambit/aspect-loader": "1.0.222",
69
+ "@teambit/config": "0.0.973",
70
+ "@teambit/global-config": "0.0.862",
71
71
  "@teambit/harmony.modules.requireable-component": "0.0.497",
72
72
  "@teambit/toolbox.modules.module-resolver": "0.0.7",
73
73
  "@teambit/workspace.modules.node-modules-linker": "0.0.166",
74
- "@teambit/graphql": "1.0.220",
75
- "@teambit/bundler": "1.0.220",
76
- "@teambit/pubsub": "1.0.220",
77
- "@teambit/ui": "1.0.220",
78
- "@teambit/variants": "0.0.1064",
74
+ "@teambit/graphql": "1.0.222",
75
+ "@teambit/bundler": "1.0.222",
76
+ "@teambit/pubsub": "1.0.222",
77
+ "@teambit/ui": "1.0.222",
78
+ "@teambit/variants": "0.0.1066",
79
79
  "@teambit/component-issues": "0.0.142",
80
80
  "@teambit/workspace.modules.match-pattern": "0.0.505",
81
81
  "@teambit/component.ui.component-drawer": "0.0.397",
82
82
  "@teambit/lanes.hooks.use-lane-components": "0.0.260",
83
83
  "@teambit/lanes.hooks.use-lanes": "0.0.264",
84
84
  "@teambit/lanes.ui.models.lanes-model": "0.0.216",
85
- "@teambit/command-bar": "1.0.220",
85
+ "@teambit/command-bar": "1.0.222",
86
86
  "@teambit/component.ui.component-filters.component-filter-context": "0.0.222",
87
87
  "@teambit/component.ui.component-filters.deprecate-filter": "0.0.220",
88
88
  "@teambit/component.ui.component-filters.env-filter": "0.0.228",
89
89
  "@teambit/component.ui.component-filters.show-main-filter": "0.0.213",
90
- "@teambit/sidebar": "1.0.220",
90
+ "@teambit/sidebar": "1.0.222",
91
91
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.508",
92
92
  "@teambit/component-descriptor": "0.0.417",
93
- "@teambit/deprecation": "1.0.220",
93
+ "@teambit/deprecation": "1.0.222",
94
94
  "@teambit/ui-foundation.ui.buttons.collapser": "0.0.219",
95
95
  "@teambit/cloud.hooks.use-cloud-scopes": "0.0.3",
96
96
  "@teambit/preview.ui.preview-placeholder": "0.0.516",
@@ -109,6 +109,8 @@ export class WorkspaceComponentLoader {
109
109
  }
110
110
 
111
111
  async getMany(ids: Array<ComponentID>, loadOpts?: ComponentLoadOptions, throwOnFailure = true): Promise<GetManyRes> {
112
+ const callId = Math.floor(Math.random() * 1000); // generate a random callId to be able to identify the call from the logs
113
+ this.logger.profile(`getMany-${callId}`);
112
114
  const idsWithoutEmpty = compact(ids);
113
115
  this.logger.setStatusLine(`loading ${ids.length} component(s)`);
114
116
  const loadOptsWithDefaults: ComponentLoadOptions = Object.assign(
@@ -134,7 +136,8 @@ export class WorkspaceComponentLoader {
134
136
 
135
137
  const { components: loadedComponents, invalidComponents } = await this.getAndLoadSlotOrdered(
136
138
  loadOrCached.idsToLoad || [],
137
- loadOptsWithDefaults
139
+ loadOptsWithDefaults,
140
+ callId
138
141
  );
139
142
 
140
143
  invalidComponents.forEach(({ err }) => {
@@ -147,24 +150,35 @@ export class WorkspaceComponentLoader {
147
150
  components.forEach((comp) => {
148
151
  this.saveInCache(comp, { loadExtensions: true, executeLoadSlot: true });
149
152
  });
153
+ this.logger.profile(`getMany-${callId}`);
150
154
  return { components, invalidComponents };
151
155
  }
152
156
 
153
- private async getAndLoadSlotOrdered(ids: ComponentID[], loadOpts: ComponentLoadOptions): Promise<GetManyRes> {
157
+ private async getAndLoadSlotOrdered(
158
+ ids: ComponentID[],
159
+ loadOpts: ComponentLoadOptions,
160
+ callId = 0
161
+ ): Promise<GetManyRes> {
154
162
  if (!ids?.length) return { components: [], invalidComponents: [] };
155
163
 
156
164
  const workspaceScopeIdsMap: WorkspaceScopeIdsMap = await this.groupAndUpdateIds(ids);
157
-
165
+ this.logger.profile('buildLoadGroups');
158
166
  const groupsToHandle = await this.buildLoadGroups(workspaceScopeIdsMap);
167
+ this.logger.profile('buildLoadGroups');
159
168
  // prefix your command with "BIT_LOG=*" to see the detailed groups
160
169
  if (process.env.BIT_LOG) {
161
170
  printGroupsToHandle(groupsToHandle, this.logger);
162
171
  }
163
172
  const groupsRes = compact(
164
- await mapSeries(groupsToHandle, async (group) => {
173
+ await mapSeries(groupsToHandle, async (group, index) => {
165
174
  const { scopeIds, workspaceIds, aspects, core, seeders } = group;
166
- if (!workspaceIds.length && !scopeIds.length) return undefined;
175
+ const groupDesc = `getMany-${callId} group ${index + 1}/${groupsToHandle.length} - ${loadGroupToStr(group)}`;
176
+ this.logger.profile(groupDesc);
177
+ if (!workspaceIds.length && !scopeIds.length) {
178
+ throw new Error('getAndLoadSlotOrdered - group has no ids to load');
179
+ }
167
180
  const res = await this.getAndLoadSlot(workspaceIds, scopeIds, { ...loadOpts, core, seeders, aspects });
181
+ this.logger.profile(groupDesc);
168
182
  // We don't want to return components that were not asked originally (we do want to load them)
169
183
  if (!group.seeders) return undefined;
170
184
  return res;
@@ -219,8 +233,8 @@ export class WorkspaceComponentLoader {
219
233
 
220
234
  await this.groupAndUpdateIds(extsNotFromTheList, workspaceScopeIdsMap);
221
235
 
222
- const layerdExtFromTheList = this.regroupExtIdsFromTheList(groupedByIsExtOfAnother.true);
223
- const layerdExtGroups = layerdExtFromTheList.map((ids) => {
236
+ const layeredExtFromTheList = this.regroupExtIdsFromTheList(groupedByIsExtOfAnother.true);
237
+ const layeredExtGroups = layeredExtFromTheList.map((ids) => {
224
238
  return {
225
239
  ids,
226
240
  core: false,
@@ -233,10 +247,11 @@ export class WorkspaceComponentLoader {
233
247
  // Always load first core envs
234
248
  { ids: groupedByIsCoreEnvs.true || [], core: true, aspects: true, seeders: true },
235
249
  { ids: extsNotFromTheList || [], core: false, aspects: true, seeders: false },
236
- ...layerdExtGroups,
250
+ ...layeredExtGroups,
237
251
  { ids: groupedByIsExtOfAnother.false || [], core: false, aspects: false, seeders: true },
238
252
  ];
239
253
  const groupsByWsScope = groupsToHandle.map((group) => {
254
+ if (!group.ids?.length) return undefined;
240
255
  const groupedByWsScope = groupBy(group.ids, (id) => {
241
256
  return workspaceScopeIdsMap.workspaceIds.has(id.toString());
242
257
  });
@@ -248,7 +263,7 @@ export class WorkspaceComponentLoader {
248
263
  seeders: group.seeders,
249
264
  };
250
265
  });
251
- return groupsByWsScope;
266
+ return compact(groupsByWsScope);
252
267
  }
253
268
 
254
269
  private regroupExtIdsFromTheList(ids: ComponentID[]): Array<ComponentID[]> {
@@ -281,12 +296,16 @@ export class WorkspaceComponentLoader {
281
296
  // Ensure we won't load the same extension many times
282
297
  // We don't want to ignore version here, as we do want to load different extensions with same id but different versions here
283
298
  const mergedExtensions = ExtensionDataList.mergeConfigs(allExtensions, false);
299
+ this.logger.profile('loadComponentsExtensions');
284
300
  await this.workspace.loadComponentsExtensions(mergedExtensions);
301
+ this.logger.profile('loadComponentsExtensions');
285
302
  let wsComponentsWithAspects = workspaceComponents;
286
303
  // if (loadOpts.seeders) {
304
+ this.logger.profile('executeLoadSlot');
287
305
  wsComponentsWithAspects = await pMapPool(workspaceComponents, (component) => this.executeLoadSlot(component), {
288
306
  concurrency: concurrentComponentsLimit(),
289
307
  });
308
+ this.logger.profile('executeLoadSlot');
290
309
  await this.warnAboutMisconfiguredEnvs(wsComponentsWithAspects);
291
310
  // }
292
311
 
@@ -295,6 +314,7 @@ export class WorkspaceComponentLoader {
295
314
  // It's important to load the workspace components as aspects here
296
315
  // otherwise the envs from the workspace won't be loaded at time
297
316
  // so we will get wrong dependencies from component who uses envs from the workspace
317
+ this.logger.profile('loadCompsAsAspects');
298
318
  if (loadOpts.loadSeedersAsAspects || (loadOpts.core && loadOpts.aspects)) {
299
319
  await this.loadCompsAsAspects(workspaceComponents.concat(scopeComponents), {
300
320
  loadApps: true,
@@ -305,6 +325,7 @@ export class WorkspaceComponentLoader {
305
325
  idsToNotLoadAsAspects: loadOpts.idsToNotLoadAsAspects,
306
326
  });
307
327
  }
328
+ this.logger.profile('loadCompsAsAspects');
308
329
 
309
330
  return { components: withAspects, invalidComponents };
310
331
  }
@@ -439,7 +460,7 @@ export class WorkspaceComponentLoader {
439
460
  workspaceIds.forEach((id) => {
440
461
  idsIndex[id.toString()] = id;
441
462
  });
442
-
463
+ this.logger.profile('consumer.loadComponents');
443
464
  const {
444
465
  components: legacyComponents,
445
466
  invalidComponents: legacyInvalidComponents,
@@ -449,6 +470,7 @@ export class WorkspaceComponentLoader {
449
470
  false,
450
471
  loadOptsWithDefaults
451
472
  );
473
+ this.logger.profile('consumer.loadComponents');
452
474
  const allLegacyComponents = legacyComponents.concat(removedComponents);
453
475
  legacyInvalidComponents.forEach((invalidComponent) => {
454
476
  const entry = { id: idsIndex[invalidComponent.id.toString()], err: invalidComponent.error };
@@ -849,3 +871,14 @@ function printGroupsToHandle(groupsToHandle: Array<LoadGroup>, logger: Logger):
849
871
  );
850
872
  });
851
873
  }
874
+
875
+ function loadGroupToStr(loadGroup: LoadGroup): string {
876
+ const { scopeIds, workspaceIds, aspects, core, seeders } = loadGroup;
877
+
878
+ const attr: string[] = [];
879
+ if (aspects) attr.push('aspects');
880
+ if (core) attr.push('core');
881
+ if (seeders) attr.push('seeders');
882
+
883
+ return `workspaceIds: ${workspaceIds.length}, scopeIds: ${scopeIds.length}, (${attr.join('+')})`;
884
+ }