@teambit/workspace 0.0.956 → 0.0.957
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/dist/aspects-merger.d.ts +43 -0
- package/dist/aspects-merger.js +347 -0
- package/dist/aspects-merger.js.map +1 -0
- package/dist/envs-subcommands/envs-update.cmd.d.ts +19 -0
- package/dist/envs-subcommands/envs-update.cmd.js +69 -0
- package/dist/envs-subcommands/envs-update.cmd.js.map +1 -0
- package/dist/{preview-1673407641139.js → preview-1673494106850.js} +2 -2
- package/dist/workspace.d.ts +10 -19
- package/dist/workspace.js +77 -277
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.provider.js +9 -1
- package/dist/workspace.provider.js.map +1 -1
- package/envs-subcommands/envs-update.cmd.ts +57 -0
- package/package-tar/teambit-workspace-0.0.957.tgz +0 -0
- package/package.json +21 -21
- package/package-tar/teambit-workspace-0.0.956.tgz +0 -0
|
@@ -133,8 +133,15 @@ function _use() {
|
|
|
133
133
|
};
|
|
134
134
|
return data;
|
|
135
135
|
}
|
|
136
|
+
function _envsUpdate() {
|
|
137
|
+
const data = require("./envs-subcommands/envs-update.cmd");
|
|
138
|
+
_envsUpdate = function () {
|
|
139
|
+
return data;
|
|
140
|
+
};
|
|
141
|
+
return data;
|
|
142
|
+
}
|
|
136
143
|
async function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs], config, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onMultipleComponentsAddSlot, onPreWatchSlot], harmony) {
|
|
137
|
-
var _envsCommand$commands, _envsCommand$commands2, _envsCommand$commands3, _scopeCommand$command;
|
|
144
|
+
var _envsCommand$commands, _envsCommand$commands2, _envsCommand$commands3, _envsCommand$commands4, _scopeCommand$command;
|
|
138
145
|
const bitConfig = harmony.config.get('teambit.harmony/bit');
|
|
139
146
|
const consumer = await getConsumer(bitConfig.cwd);
|
|
140
147
|
if (!consumer) return undefined;
|
|
@@ -199,6 +206,7 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
|
|
|
199
206
|
envsCommand === null || envsCommand === void 0 ? void 0 : (_envsCommand$commands = envsCommand.commands) === null || _envsCommand$commands === void 0 ? void 0 : _envsCommand$commands.push(new (_envsSet().EnvsSetCmd)(workspace)); // bit envs set
|
|
200
207
|
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
|
|
201
208
|
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
|
|
209
|
+
envsCommand === null || envsCommand === void 0 ? void 0 : (_envsCommand$commands4 = envsCommand.commands) === null || _envsCommand$commands4 === void 0 ? void 0 : _envsCommand$commands4.push(new (_envsUpdate().EnvsUpdateCmd)(workspace)); // bit envs replace
|
|
202
210
|
|
|
203
211
|
// add sub-command "set" to scope command.
|
|
204
212
|
const scopeCommand = cli.getCommand('scope');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onMultipleComponentsAddSlot","onPreWatchSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","registerRootPolicy","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","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","watcher","Watcher","EjectConfCmd","WatchCommand","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 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 {\n OnComponentLoad,\n OnComponentAdd,\n OnComponentChange,\n OnComponentRemove,\n OnMultipleComponentsAdd,\n} from './on-component-events';\nimport { WorkspaceExtConfig } from './types';\nimport { WatchCommand } from './watch/watch.cmd';\nimport { Watcher, WatchOptions } from './watch/watcher';\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';\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 OnMultipleComponentsAddSlot = SlotRegistry<OnMultipleComponentsAdd>;\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 [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onMultipleComponentsAddSlot,\n onPreWatchSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnMultipleComponentsAddSlot,\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 dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onMultipleComponentsAddSlot,\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 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 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 watcher = new Watcher(workspace, pubsub);\n const commands: CommandList = [\n new EjectConfCmd(workspace),\n capsuleCmd,\n new WatchCommand(pubsub, logger, watcher),\n new UseCmd(workspace),\n ];\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","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onMultipleComponentsAddSlot","onPreWatchSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","registerRootPolicy","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","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","watcher","Watcher","EjectConfCmd","WatchCommand","UseCmd","PatternCommand","registerHost","registerOnStart","importCurrentLaneIfMissing","loadAspects","getNotLoadedConfiguredExtensions","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","EnvsUpdateCmd","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 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 {\n OnComponentLoad,\n OnComponentAdd,\n OnComponentChange,\n OnComponentRemove,\n OnMultipleComponentsAdd,\n} from './on-component-events';\nimport { WorkspaceExtConfig } from './types';\nimport { WatchCommand } from './watch/watch.cmd';\nimport { Watcher, WatchOptions } from './watch/watcher';\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];\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 OnMultipleComponentsAddSlot = SlotRegistry<OnMultipleComponentsAdd>;\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 [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onMultipleComponentsAddSlot,\n onPreWatchSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnMultipleComponentsAddSlot,\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 dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onMultipleComponentsAddSlot,\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 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 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 watcher = new Watcher(workspace, pubsub);\n const commands: CommandList = [\n new EjectConfCmd(workspace),\n capsuleCmd,\n new WatchCommand(pubsub, logger, watcher),\n new UseCmd(workspace),\n ];\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 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\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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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Command } from '@teambit/cli';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { Workspace } from '../workspace';
|
|
4
|
+
|
|
5
|
+
export class EnvsUpdateCmd implements Command {
|
|
6
|
+
name = 'update [env-id] [pattern]';
|
|
7
|
+
description = 'update a version of an env for all components using that env';
|
|
8
|
+
arguments = [
|
|
9
|
+
{
|
|
10
|
+
name: 'env-id',
|
|
11
|
+
description:
|
|
12
|
+
'the environment id (defaults to all envs). optionally, add a version (id@version), otherwise, it finds the latest version on the remote.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'pattern',
|
|
16
|
+
description:
|
|
17
|
+
'the components to update (defaults to all components). use component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/**, !ui/button". wrap the pattern with quotes',
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
examples = [
|
|
21
|
+
{
|
|
22
|
+
cmd: 'envs update',
|
|
23
|
+
description: 'update all envs in the workspace to their latest version',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
cmd: "envs update scope.org/env '**/ui/**'",
|
|
27
|
+
description: 'update "ui" components that use scope.org/env to use its latest version',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
cmd: 'envs update scope.org/env@2.0.0',
|
|
31
|
+
description: 'update all components that use scope.org/env to version 2.0.0 (of this env).',
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
options = [];
|
|
35
|
+
group = 'development';
|
|
36
|
+
|
|
37
|
+
constructor(private workspace: Workspace) {}
|
|
38
|
+
|
|
39
|
+
async report([aspectId, pattern]: [string, string]) {
|
|
40
|
+
const { updated, alreadyUpToDate } = await this.workspace.updateEnvForComponents(aspectId, pattern);
|
|
41
|
+
if (Object.keys(updated).length) {
|
|
42
|
+
const body = Object.keys(updated)
|
|
43
|
+
.map((envId) => {
|
|
44
|
+
return `${chalk.bold(envId)}:\n${updated[envId].map((compId) => compId.toString()).join('\n')}`;
|
|
45
|
+
})
|
|
46
|
+
.join('\n\n');
|
|
47
|
+
const title = chalk.green(`the following component(s) have been successfully updated:\n`);
|
|
48
|
+
return title + body;
|
|
49
|
+
}
|
|
50
|
+
if (alreadyUpToDate.length) {
|
|
51
|
+
return chalk.green(
|
|
52
|
+
`all ${alreadyUpToDate.length} component(s) that use this env are already up to date. nothing to update`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
return chalk.yellow(`unable to find any component that use ${chalk.bold(aspectId)}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.957",
|
|
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.957"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
+
"fs-extra": "10.0.0",
|
|
12
13
|
"lodash": "4.17.21",
|
|
13
14
|
"lodash.compact": "3.0.1",
|
|
14
15
|
"p-map-series": "2.1.0",
|
|
15
16
|
"chalk": "2.4.2",
|
|
16
17
|
"ink": "3.2.0",
|
|
17
18
|
"graphql-tag": "2.12.1",
|
|
18
|
-
"fs-extra": "10.0.0",
|
|
19
19
|
"memoizee": "0.4.15",
|
|
20
20
|
"detect-indent": "5.0.0",
|
|
21
21
|
"detect-newline": "3.1.0",
|
|
@@ -28,32 +28,32 @@
|
|
|
28
28
|
"reset-css": "5.0.1",
|
|
29
29
|
"core-js": "^3.0.0",
|
|
30
30
|
"@babel/runtime": "7.20.0",
|
|
31
|
-
"@teambit/graph.cleargraph": "0.0.1",
|
|
32
31
|
"@teambit/harmony": "0.4.6",
|
|
32
|
+
"@teambit/graph.cleargraph": "0.0.1",
|
|
33
33
|
"@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
|
|
34
34
|
"@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
|
|
35
35
|
"@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
|
|
36
|
+
"@teambit/component": "0.0.957",
|
|
37
|
+
"@teambit/envs": "0.0.957",
|
|
36
38
|
"@teambit/bit-error": "0.0.402",
|
|
37
39
|
"@teambit/component-id": "0.0.425",
|
|
38
40
|
"@teambit/lane-id": "0.0.159",
|
|
39
|
-
"@teambit/
|
|
40
|
-
"@teambit/dependency-resolver": "0.0.956",
|
|
41
|
+
"@teambit/dependency-resolver": "0.0.957",
|
|
41
42
|
"@teambit/logger": "0.0.734",
|
|
42
|
-
"@teambit/scope": "0.0.
|
|
43
|
-
"@teambit/graph": "0.0.
|
|
43
|
+
"@teambit/scope": "0.0.957",
|
|
44
|
+
"@teambit/graph": "0.0.957",
|
|
44
45
|
"@teambit/cli": "0.0.641",
|
|
45
|
-
"@teambit/isolator": "0.0.
|
|
46
|
-
"@teambit/component-tree": "0.0.
|
|
46
|
+
"@teambit/isolator": "0.0.957",
|
|
47
|
+
"@teambit/component-tree": "0.0.745",
|
|
47
48
|
"@teambit/component.ui.component-status-resolver": "0.0.503",
|
|
48
49
|
"@teambit/lanes.hooks.use-lanes": "0.0.105",
|
|
49
50
|
"@teambit/harmony.modules.resolved-component": "0.0.491",
|
|
50
|
-
"@teambit/compiler": "0.0.
|
|
51
|
-
"@teambit/graphql": "0.0.
|
|
52
|
-
"@teambit/aspect-loader": "0.0.
|
|
53
|
-
"@teambit/bundler": "0.0.
|
|
54
|
-
"@teambit/
|
|
55
|
-
"@teambit/
|
|
56
|
-
"@teambit/ui": "0.0.956",
|
|
51
|
+
"@teambit/compiler": "0.0.957",
|
|
52
|
+
"@teambit/graphql": "0.0.957",
|
|
53
|
+
"@teambit/aspect-loader": "0.0.957",
|
|
54
|
+
"@teambit/bundler": "0.0.957",
|
|
55
|
+
"@teambit/pubsub": "0.0.957",
|
|
56
|
+
"@teambit/ui": "0.0.957",
|
|
57
57
|
"@teambit/variants": "0.0.746",
|
|
58
58
|
"@teambit/component-issues": "0.0.84",
|
|
59
59
|
"@teambit/config": "0.0.654",
|
|
@@ -64,19 +64,19 @@
|
|
|
64
64
|
"@teambit/design.ui.tree": "0.0.15",
|
|
65
65
|
"@teambit/lanes.hooks.use-lane-components": "0.0.104",
|
|
66
66
|
"@teambit/ui-foundation.ui.side-bar": "0.0.716",
|
|
67
|
-
"@teambit/command-bar": "0.0.
|
|
67
|
+
"@teambit/command-bar": "0.0.957",
|
|
68
68
|
"@teambit/component.ui.component-filters.component-filter-context": "0.0.74",
|
|
69
69
|
"@teambit/component.ui.component-filters.deprecate-filter": "0.0.74",
|
|
70
70
|
"@teambit/component.ui.component-filters.env-filter": "0.0.80",
|
|
71
71
|
"@teambit/component.ui.component-filters.show-main-filter": "0.0.67",
|
|
72
|
-
"@teambit/sidebar": "0.0.
|
|
72
|
+
"@teambit/sidebar": "0.0.957",
|
|
73
73
|
"@teambit/ui-foundation.ui.main-dropdown": "0.0.497",
|
|
74
74
|
"@teambit/ui-foundation.ui.menu": "0.0.497",
|
|
75
75
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.501",
|
|
76
76
|
"@teambit/ui-foundation.ui.tree.drawer": "0.0.510",
|
|
77
77
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500",
|
|
78
78
|
"@teambit/component-descriptor": "0.0.211",
|
|
79
|
-
"@teambit/deprecation": "0.0.
|
|
79
|
+
"@teambit/deprecation": "0.0.957",
|
|
80
80
|
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.498",
|
|
81
81
|
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.206",
|
|
82
82
|
"@teambit/ui-foundation.ui.corner": "0.0.507",
|
|
@@ -87,10 +87,10 @@
|
|
|
87
87
|
"@teambit/workspace.ui.workspace-component-card": "0.0.509"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
+
"@types/fs-extra": "9.0.7",
|
|
90
91
|
"@types/lodash": "4.14.165",
|
|
91
92
|
"@types/lodash.compact": "3.0.6",
|
|
92
93
|
"@types/react": "^17.0.8",
|
|
93
|
-
"@types/fs-extra": "9.0.7",
|
|
94
94
|
"@types/memoizee": "0.4.5",
|
|
95
95
|
"@types/pluralize": "0.0.29",
|
|
96
96
|
"@types/mocha": "9.1.0",
|
|
Binary file
|