@teambit/workspace 0.0.648 → 0.0.652
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{__preview-1644895398222.js → __preview-1645372601675.js} +0 -0
- package/component-config-file/component-config-file.ts +40 -6
- package/dist/capsule.cmd.d.ts +0 -1
- package/dist/capsule.cmd.js +0 -4
- package/dist/capsule.cmd.js.map +1 -1
- package/dist/component-config-file/component-config-file.d.ts +7 -3
- package/dist/component-config-file/component-config-file.js +46 -6
- package/dist/component-config-file/component-config-file.js.map +1 -1
- package/dist/eject-conf.cmd.js +1 -1
- package/dist/eject-conf.cmd.js.map +1 -1
- package/dist/envs-subcommands/envs-replace.cmd.d.ts +11 -0
- package/dist/envs-subcommands/envs-replace.cmd.js +56 -0
- package/dist/envs-subcommands/envs-replace.cmd.js.map +1 -0
- package/dist/envs-subcommands/envs-set.cmd.js +0 -1
- package/dist/envs-subcommands/envs-set.cmd.js.map +1 -1
- package/dist/pattern.cmd.js +2 -2
- package/dist/pattern.cmd.js.map +1 -1
- package/dist/tag-cmd.js +1 -1
- package/dist/tag-cmd.js.map +1 -1
- package/dist/ui/workspace/workspace-model.d.ts +10 -1
- package/dist/ui/workspace/workspace-model.js +25 -3
- package/dist/ui/workspace/workspace-model.js.map +1 -1
- package/dist/workspace.d.ts +11 -3
- package/dist/workspace.js +94 -30
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.provider.js +13 -2
- package/dist/workspace.provider.js.map +1 -1
- package/eject-conf.cmd.tsx +1 -1
- package/envs-subcommands/envs-replace.cmd.ts +21 -0
- package/envs-subcommands/envs-set.cmd.ts +0 -1
- package/package-tar/teambit-workspace-0.0.652.tgz +0 -0
- package/package.json +50 -49
- package/ui/workspace/workspace-model.ts +14 -3
- package/package-tar/teambit-workspace-0.0.648.tgz +0 -0
|
@@ -231,8 +231,18 @@ function _pattern() {
|
|
|
231
231
|
return data;
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
function _envsReplace() {
|
|
235
|
+
const data = require("./envs-subcommands/envs-replace.cmd");
|
|
236
|
+
|
|
237
|
+
_envsReplace = function () {
|
|
238
|
+
return data;
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
return data;
|
|
242
|
+
}
|
|
243
|
+
|
|
234
244
|
async function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs], config, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot], harmony) {
|
|
235
|
-
var _envsCommand$commands, _envsCommand$commands2;
|
|
245
|
+
var _envsCommand$commands, _envsCommand$commands2, _envsCommand$commands3;
|
|
236
246
|
|
|
237
247
|
const bitConfig = harmony.config.get('teambit.harmony/bit');
|
|
238
248
|
const consumer = await getConsumer(bitConfig.cwd);
|
|
@@ -283,7 +293,6 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
|
|
|
283
293
|
extensions
|
|
284
294
|
} = await workspace.componentExtensions(componentId, componentFromScope);
|
|
285
295
|
const defaultScope = await workspace.componentDefaultScope(componentId);
|
|
286
|
-
await workspace.loadExtensions(extensions);
|
|
287
296
|
const extensionsWithLegacyIdsP = extensions.map(async extension => {
|
|
288
297
|
const legacyEntry = extension.clone();
|
|
289
298
|
|
|
@@ -339,6 +348,8 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
|
|
|
339
348
|
|
|
340
349
|
envsCommand === null || envsCommand === void 0 ? void 0 : (_envsCommand$commands2 = envsCommand.commands) === null || _envsCommand$commands2 === void 0 ? void 0 : _envsCommand$commands2.push(new (_envsUnset().EnvsUnsetCmd)(workspace)); // bit envs unset
|
|
341
350
|
|
|
351
|
+
envsCommand === null || envsCommand === void 0 ? void 0 : (_envsCommand$commands3 = envsCommand.commands) === null || _envsCommand$commands3 === void 0 ? void 0 : _envsCommand$commands3.push(new (_envsReplace().EnvsReplaceCmd)(workspace)); // bit envs replace
|
|
352
|
+
|
|
342
353
|
return workspace;
|
|
343
354
|
}
|
|
344
355
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["workspace.provider.ts"],"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","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","isLegacy","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","id","resolveComponentId","newComponent","state","_consumer","ConsumerComponent","registerOnComponentConfigLoading","componentId","componentFromScope","extensions","componentExtensions","defaultScope","componentDefaultScope","loadExtensions","extensionsWithLegacyIdsP","map","extension","legacyEntry","clone","extensionId","compId","_legacy","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","workspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","InstallCmd","UpdateCmd","UninstallCmd","EjectConfCmd","watcher","Watcher","unregister","WatchCommand","LinkCommand","Tag","PatternCommand","registerHost","registerOnStart","loadAspects","getNotLoadedConfiguredExtensions","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","path"],"mappings":"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","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 { 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 { Tag } from './tag-cmd';\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';\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];\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 ]: 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 if (!workspace.isLegacy) {\n LegacyComponentLoader.registerOnComponentLoadSubscriber(async (legacyComponent: ConsumerComponent) => {\n const id = await workspace.resolveComponentId(legacyComponent.id);\n const newComponent = await workspace.get(id, false, legacyComponent);\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 await workspace.loadExtensions(extensions);\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 && !workspace.consumer.isLegacy) {\n cli.unregister('watch');\n commands.push(new WatchCommand(pubsub, logger, watcher));\n cli.unregister('link');\n commands.push(new LinkCommand(workspace, logger));\n }\n commands.push(new Tag());\n commands.push(new PatternCommand(workspace));\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async () => {\n await workspace.loadAspects(aspectLoader.getNotLoadedConfiguredExtensions());\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\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"]}
|
|
1
|
+
{"version":3,"sources":["workspace.provider.ts"],"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","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","isLegacy","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","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","workspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","InstallCmd","UpdateCmd","UninstallCmd","EjectConfCmd","watcher","Watcher","unregister","WatchCommand","LinkCommand","Tag","PatternCommand","registerHost","registerOnStart","loadAspects","getNotLoadedConfiguredExtensions","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","path"],"mappings":"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","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 { 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 { Tag } from './tag-cmd';\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';\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];\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 ]: 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 if (!workspace.isLegacy) {\n LegacyComponentLoader.registerOnComponentLoadSubscriber(async (legacyComponent: ConsumerComponent) => {\n const id = await workspace.resolveComponentId(legacyComponent.id);\n const newComponent = await workspace.get(id, false, legacyComponent);\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 && !workspace.consumer.isLegacy) {\n cli.unregister('watch');\n commands.push(new WatchCommand(pubsub, logger, watcher));\n cli.unregister('link');\n commands.push(new LinkCommand(workspace, logger));\n }\n commands.push(new Tag());\n commands.push(new PatternCommand(workspace));\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async () => {\n await workspace.loadAspects(aspectLoader.getNotLoadedConfiguredExtensions());\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 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"]}
|
package/eject-conf.cmd.tsx
CHANGED
|
@@ -31,7 +31,7 @@ export default class EjectConfCmd implements Command {
|
|
|
31
31
|
const ejectResult = await this.json(args, options);
|
|
32
32
|
const [componentId] = args;
|
|
33
33
|
return (
|
|
34
|
-
<Text color="
|
|
34
|
+
<Text color="green">
|
|
35
35
|
successfully ejected config for component {componentId} in path {ejectResult.configPath}
|
|
36
36
|
</Text>
|
|
37
37
|
);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Command } from '@teambit/cli';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { Workspace } from '../workspace';
|
|
4
|
+
|
|
5
|
+
export class EnvsReplaceCmd implements Command {
|
|
6
|
+
name = 'replace <old-env> <new-env>';
|
|
7
|
+
description = 'replace an existing env with another env for all components using the old env';
|
|
8
|
+
options = [];
|
|
9
|
+
group = 'development';
|
|
10
|
+
|
|
11
|
+
constructor(private workspace: Workspace) {}
|
|
12
|
+
|
|
13
|
+
async report([oldEnv, env]: [string, string]) {
|
|
14
|
+
const envId = await this.workspace.resolveComponentId(env);
|
|
15
|
+
const components = await this.workspace.getComponentsUsingEnv(oldEnv, true);
|
|
16
|
+
const componentIds = components.map((comp) => comp.id);
|
|
17
|
+
await this.workspace.setEnvToComponents(envId, componentIds);
|
|
18
|
+
return `added ${chalk.bold(envId.toString())} env to the following component(s):
|
|
19
|
+
${componentIds.map((compId) => compId.toString()).join('\n')}`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -15,7 +15,6 @@ export class EnvsSetCmd implements Command {
|
|
|
15
15
|
async report([pattern, env]: [string, string]) {
|
|
16
16
|
const envId = await this.workspace.resolveComponentId(env);
|
|
17
17
|
const componentIds = await this.workspace.idsByPattern(pattern);
|
|
18
|
-
if (!componentIds.length) return chalk.yellow(`unable to find any matching for ${chalk.bold(pattern)} pattern`);
|
|
19
18
|
await this.workspace.setEnvToComponents(envId, componentIds);
|
|
20
19
|
return `added ${chalk.bold(envId.toString())} env to the following component(s):
|
|
21
20
|
${componentIds.map((compId) => compId.toString()).join('\n')}`;
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.652",
|
|
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.
|
|
9
|
+
"version": "0.0.652"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -41,53 +41,54 @@
|
|
|
41
41
|
"@teambit/component-id": "0.0.401",
|
|
42
42
|
"@teambit/bit-error": "0.0.394",
|
|
43
43
|
"@teambit/legacy-bit-id": "0.0.398",
|
|
44
|
-
"@teambit/logger": "0.0.
|
|
45
|
-
"@teambit/scope": "0.0.
|
|
46
|
-
"@teambit/cli": "0.0.
|
|
47
|
-
"@teambit/isolator": "0.0.
|
|
48
|
-
"@teambit/component-tree": "0.0.
|
|
49
|
-
"@teambit/component.ui.component-status-resolver": "0.0.
|
|
50
|
-
"@teambit/harmony.modules.resolved-component": "0.0.
|
|
51
|
-
"@teambit/dependency-resolver": "0.0.
|
|
52
|
-
"@teambit/compiler": "0.0.
|
|
53
|
-
"@teambit/component": "0.0.
|
|
54
|
-
"@teambit/graphql": "0.0.
|
|
55
|
-
"@teambit/aspect-loader": "0.0.
|
|
56
|
-
"@teambit/bundler": "0.0.
|
|
57
|
-
"@teambit/envs": "0.0.
|
|
58
|
-
"@teambit/pubsub": "0.0.
|
|
59
|
-
"@teambit/ui": "0.0.
|
|
60
|
-
"@teambit/variants": "0.0.
|
|
44
|
+
"@teambit/logger": "0.0.535",
|
|
45
|
+
"@teambit/scope": "0.0.652",
|
|
46
|
+
"@teambit/cli": "0.0.445",
|
|
47
|
+
"@teambit/isolator": "0.0.652",
|
|
48
|
+
"@teambit/component-tree": "0.0.440",
|
|
49
|
+
"@teambit/component.ui.component-status-resolver": "0.0.491",
|
|
50
|
+
"@teambit/harmony.modules.resolved-component": "0.0.484",
|
|
51
|
+
"@teambit/dependency-resolver": "0.0.652",
|
|
52
|
+
"@teambit/compiler": "0.0.652",
|
|
53
|
+
"@teambit/component": "0.0.652",
|
|
54
|
+
"@teambit/graphql": "0.0.652",
|
|
55
|
+
"@teambit/aspect-loader": "0.0.652",
|
|
56
|
+
"@teambit/bundler": "0.0.652",
|
|
57
|
+
"@teambit/envs": "0.0.652",
|
|
58
|
+
"@teambit/pubsub": "0.0.652",
|
|
59
|
+
"@teambit/ui": "0.0.652",
|
|
60
|
+
"@teambit/variants": "0.0.538",
|
|
61
61
|
"@teambit/component-issues": "0.0.46",
|
|
62
|
-
"@teambit/config": "0.0.
|
|
63
|
-
"@teambit/harmony.modules.requireable-component": "0.0.
|
|
64
|
-
"@teambit/importer": "0.0.
|
|
65
|
-
"@teambit/workspace.modules.match-pattern": "0.0.
|
|
66
|
-
"@teambit/command-bar": "0.0.
|
|
67
|
-
"@teambit/design.ui.surfaces.menu.link-item": "0.0.
|
|
68
|
-
"@teambit/graph": "0.0.
|
|
69
|
-
"@teambit/react-router": "0.0.
|
|
70
|
-
"@teambit/sidebar": "0.0.
|
|
71
|
-
"@teambit/ui-foundation.ui.main-dropdown": "0.0.
|
|
72
|
-
"@teambit/ui-foundation.ui.menu": "0.0.
|
|
73
|
-
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.
|
|
74
|
-
"@teambit/toolbox.time.time-format": "0.0.
|
|
75
|
-
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.
|
|
76
|
-
"@teambit/
|
|
77
|
-
"@teambit/
|
|
78
|
-
"@teambit/ui-foundation.ui.
|
|
79
|
-
"@teambit/ui-foundation.ui.
|
|
80
|
-
"@teambit/ui-foundation.ui.
|
|
81
|
-
"@teambit/ui-foundation.ui.
|
|
62
|
+
"@teambit/config": "0.0.458",
|
|
63
|
+
"@teambit/harmony.modules.requireable-component": "0.0.484",
|
|
64
|
+
"@teambit/importer": "0.0.81",
|
|
65
|
+
"@teambit/workspace.modules.match-pattern": "0.0.489",
|
|
66
|
+
"@teambit/command-bar": "0.0.652",
|
|
67
|
+
"@teambit/design.ui.surfaces.menu.link-item": "0.0.378",
|
|
68
|
+
"@teambit/graph": "0.0.652",
|
|
69
|
+
"@teambit/react-router": "0.0.652",
|
|
70
|
+
"@teambit/sidebar": "0.0.652",
|
|
71
|
+
"@teambit/ui-foundation.ui.main-dropdown": "0.0.486",
|
|
72
|
+
"@teambit/ui-foundation.ui.menu": "0.0.486",
|
|
73
|
+
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.488",
|
|
74
|
+
"@teambit/toolbox.time.time-format": "0.0.483",
|
|
75
|
+
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.487",
|
|
76
|
+
"@teambit/component-descriptor": "0.0.3",
|
|
77
|
+
"@teambit/deprecation": "0.0.652",
|
|
78
|
+
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.487",
|
|
79
|
+
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.193",
|
|
80
|
+
"@teambit/ui-foundation.ui.corner": "0.0.494",
|
|
81
|
+
"@teambit/ui-foundation.ui.notifications.notification-context": "0.0.487",
|
|
82
|
+
"@teambit/ui-foundation.ui.top-bar": "0.0.489",
|
|
82
83
|
"@teambit/design.ui.styles.ellipsis": "0.0.347",
|
|
83
84
|
"@teambit/design.ui.styles.muted-italic": "0.0.35",
|
|
84
85
|
"@teambit/design.ui.tree": "0.0.5",
|
|
85
|
-
"@teambit/ui-foundation.ui.full-loader": "0.0.
|
|
86
|
-
"@teambit/ui-foundation.ui.side-bar": "0.0.
|
|
87
|
-
"@teambit/ui-foundation.ui.tree.drawer": "0.0.
|
|
88
|
-
"@teambit/explorer.ui.gallery.component-grid": "0.0.
|
|
89
|
-
"@teambit/workspace.ui.empty-workspace": "0.0.
|
|
90
|
-
"@teambit/workspace.ui.workspace-component-card": "0.0.
|
|
86
|
+
"@teambit/ui-foundation.ui.full-loader": "0.0.486",
|
|
87
|
+
"@teambit/ui-foundation.ui.side-bar": "0.0.497",
|
|
88
|
+
"@teambit/ui-foundation.ui.tree.drawer": "0.0.490",
|
|
89
|
+
"@teambit/explorer.ui.gallery.component-grid": "0.0.486",
|
|
90
|
+
"@teambit/workspace.ui.empty-workspace": "0.0.489",
|
|
91
|
+
"@teambit/workspace.ui.workspace-component-card": "0.0.493"
|
|
91
92
|
},
|
|
92
93
|
"devDependencies": {
|
|
93
94
|
"@types/lodash": "4.14.165",
|
|
@@ -99,7 +100,7 @@
|
|
|
99
100
|
"@types/react-router-dom": "5.1.7",
|
|
100
101
|
"@types/pluralize": "0.0.29",
|
|
101
102
|
"@types/classnames": "2.2.11",
|
|
102
|
-
"@types/mocha": "
|
|
103
|
+
"@types/mocha": "9.1.0",
|
|
103
104
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
104
105
|
"@types/jest": "^26.0.0",
|
|
105
106
|
"@types/react-dom": "^17.0.5",
|
|
@@ -107,7 +108,7 @@
|
|
|
107
108
|
},
|
|
108
109
|
"peerDependencies": {
|
|
109
110
|
"@apollo/client": "^3.0.0",
|
|
110
|
-
"@teambit/legacy": "1.0.
|
|
111
|
+
"@teambit/legacy": "1.0.223",
|
|
111
112
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
112
113
|
"react": "^16.8.0 || ^17.0.0"
|
|
113
114
|
},
|
|
@@ -125,7 +126,7 @@
|
|
|
125
126
|
},
|
|
126
127
|
"devDependencies": {
|
|
127
128
|
"@teambit/legacy": "-",
|
|
128
|
-
"@types/mocha": "
|
|
129
|
+
"@types/mocha": "9.1.0",
|
|
129
130
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
130
131
|
"@types/jest": "^26.0.0",
|
|
131
132
|
"@types/react-dom": "^17.0.5",
|
|
@@ -135,7 +136,7 @@
|
|
|
135
136
|
"react": "-"
|
|
136
137
|
},
|
|
137
138
|
"peerDependencies": {
|
|
138
|
-
"@teambit/legacy": "1.0.
|
|
139
|
+
"@teambit/legacy": "1.0.223",
|
|
139
140
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
140
141
|
"react": "^16.8.0 || ^17.0.0"
|
|
141
142
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// import { ComponentMeta } from '@teambit/component';
|
|
2
2
|
import { ComponentID, ComponentModel, ComponentModelProps } from '@teambit/component';
|
|
3
|
+
import { ComponentDescriptor } from '@teambit/component-descriptor';
|
|
3
4
|
import { DeprecationInfo } from '@teambit/deprecation';
|
|
4
5
|
import { Descriptor } from '@teambit/envs';
|
|
5
6
|
|
|
@@ -39,7 +40,12 @@ export class Workspace {
|
|
|
39
40
|
/**
|
|
40
41
|
* components container in the workspace.
|
|
41
42
|
*/
|
|
42
|
-
readonly components: ComponentModel[]
|
|
43
|
+
readonly components: ComponentModel[],
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* components contained in the workspace.
|
|
47
|
+
*/
|
|
48
|
+
readonly componentDescriptors: ComponentDescriptor[]
|
|
43
49
|
) {}
|
|
44
50
|
|
|
45
51
|
/**
|
|
@@ -50,17 +56,22 @@ export class Workspace {
|
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
static from({ name, path, components, icon }: WorkspaceProps) {
|
|
59
|
+
const componentDescriptors = components.map((component) => {
|
|
60
|
+
const id = ComponentID.fromObject(component.id);
|
|
61
|
+
return ComponentDescriptor.fromObject({ id: id.toString() });
|
|
62
|
+
});
|
|
53
63
|
return new Workspace(
|
|
54
64
|
name,
|
|
55
65
|
path,
|
|
56
66
|
icon,
|
|
57
67
|
components.map((value) => {
|
|
58
68
|
return ComponentModel.from(value);
|
|
59
|
-
})
|
|
69
|
+
}),
|
|
70
|
+
componentDescriptors
|
|
60
71
|
);
|
|
61
72
|
}
|
|
62
73
|
|
|
63
74
|
static empty() {
|
|
64
|
-
return new Workspace('', '', '', []);
|
|
75
|
+
return new Workspace('', '', '', [], []);
|
|
65
76
|
}
|
|
66
77
|
}
|
|
Binary file
|