@teambit/workspace 0.0.1096 → 0.0.1097
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/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/on-component-events.d.ts +1 -1
- package/dist/on-component-events.js.map +1 -1
- package/dist/{preview-1688440709035.js → preview-1688532377504.js} +2 -2
- package/dist/workspace-component/comp-files.d.ts +13 -1
- package/dist/workspace-component/comp-files.js +37 -1
- package/dist/workspace-component/comp-files.js.map +1 -1
- package/dist/workspace.d.ts +5 -2
- package/dist/workspace.js +19 -5
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.main.runtime.js +1 -1
- package/dist/workspace.main.runtime.js.map +1 -1
- package/dist/workspace.provider.d.ts +5 -2
- package/dist/workspace.provider.js +2 -2
- package/dist/workspace.provider.js.map +1 -1
- package/package-tar/teambit-workspace-0.0.1097.tgz +0 -0
- package/package.json +18 -18
- package/workspace-component/comp-files.ts +35 -0
- package/package-tar/teambit-workspace-0.0.1096.tgz +0 -0
|
@@ -135,7 +135,7 @@ const WorkspaceMain = {
|
|
|
135
135
|
name: _constants().EXT_NAME,
|
|
136
136
|
runtime: _cli().MainRuntime,
|
|
137
137
|
dependencies: [_pubsub().PubsubAspect, _cli().CLIAspect, _scope().ScopeAspect, _component().ComponentAspect, _isolator().IsolatorAspect, _dependencyResolver().DependencyResolverAspect, _variants().VariantsAspect, _logger().LoggerAspect, _graphql().GraphqlAspect, _ui().UIAspect, _bundler().BundlerAspect, _aspectLoader().AspectLoaderAspect, _envs().EnvsAspect, _globalConfig().default],
|
|
138
|
-
slots: [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()],
|
|
138
|
+
slots: [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()],
|
|
139
139
|
provider: _workspace2().default,
|
|
140
140
|
defineRuntime: 'browser'
|
|
141
141
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WorkspaceMain","name","EXT_NAME","runtime","MainRuntime","dependencies","PubsubAspect","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","DependencyResolverAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","GlobalConfigAspect","slots","Slot","withType","provider","workspaceProvider","defineRuntime","WorkspaceAspect","addRuntime"],"sources":["workspace.main.runtime.ts"],"sourcesContent":["import { PubsubAspect } from '@teambit/pubsub';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { BundlerAspect } from '@teambit/bundler';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { ComponentAspect } from '@teambit/component';\nimport { DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport { EnvsAspect } from '@teambit/envs';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { Slot } from '@teambit/harmony';\nimport { IsolatorAspect } from '@teambit/isolator';\nimport { LoggerAspect } from '@teambit/logger';\nimport { ScopeAspect } from '@teambit/scope';\nimport { UIAspect } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\nimport GlobalConfigAspect from '@teambit/global-config';\n\nimport { EXT_NAME } from './constants';\nimport { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport workspaceProvider, { OnAspectsResolve, OnRootAspectAdded } from './workspace.provider';\n\nexport const WorkspaceMain = {\n name: EXT_NAME,\n runtime: MainRuntime,\n 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 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 ],\n provider: workspaceProvider,\n defineRuntime: 'browser',\n};\n\nWorkspaceAspect.addRuntime(WorkspaceMain);\n\nexport default WorkspaceMain;\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,aAAa,GAAG;EAC3BC,IAAI,EAAEC,qBAAQ;EACdC,OAAO,EAAEC,kBAAW;EACpBC,YAAY,EAAE,CACZC,sBAAY,EACZC,gBAAS,EACTC,oBAAW,EACXC,4BAAe,EACfC,0BAAc,EACdC,8CAAwB,EACxBC,0BAAc,EACdC,sBAAY,EACZC,wBAAa,EACbC,cAAQ,EACRC,wBAAa,EACbC,kCAAkB,EAClBC,kBAAU,EACVC,uBAAkB,CACnB;EACDC,KAAK,EAAE,CACLC,eAAI,CAACC,QAAQ,EAAmB,EAChCD,eAAI,CAACC,QAAQ,EAAqB,EAClCD,eAAI,CAACC,QAAQ,EAAkB,EAC/BD,eAAI,CAACC,QAAQ,EAAqB,EAClCD,eAAI,CAACC,QAAQ,EAAoB,EACjCD,eAAI,CAACC,QAAQ,EAAqB,
|
|
1
|
+
{"version":3,"names":["WorkspaceMain","name","EXT_NAME","runtime","MainRuntime","dependencies","PubsubAspect","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","DependencyResolverAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","GlobalConfigAspect","slots","Slot","withType","provider","workspaceProvider","defineRuntime","WorkspaceAspect","addRuntime"],"sources":["workspace.main.runtime.ts"],"sourcesContent":["import { PubsubAspect } from '@teambit/pubsub';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { BundlerAspect } from '@teambit/bundler';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { ComponentAspect } from '@teambit/component';\nimport { DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport { EnvsAspect } from '@teambit/envs';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { Slot } from '@teambit/harmony';\nimport { IsolatorAspect } from '@teambit/isolator';\nimport { LoggerAspect } from '@teambit/logger';\nimport { ScopeAspect } from '@teambit/scope';\nimport { UIAspect } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\nimport GlobalConfigAspect from '@teambit/global-config';\n\nimport { EXT_NAME } from './constants';\nimport { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport workspaceProvider, { OnAspectsResolve, OnBitmapChange, OnRootAspectAdded } from './workspace.provider';\n\nexport const WorkspaceMain = {\n name: EXT_NAME,\n runtime: MainRuntime,\n 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 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 ],\n provider: workspaceProvider,\n defineRuntime: 'browser',\n};\n\nWorkspaceAspect.addRuntime(WorkspaceMain);\n\nexport default WorkspaceMain;\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,aAAa,GAAG;EAC3BC,IAAI,EAAEC,qBAAQ;EACdC,OAAO,EAAEC,kBAAW;EACpBC,YAAY,EAAE,CACZC,sBAAY,EACZC,gBAAS,EACTC,oBAAW,EACXC,4BAAe,EACfC,0BAAc,EACdC,8CAAwB,EACxBC,0BAAc,EACdC,sBAAY,EACZC,wBAAa,EACbC,cAAQ,EACRC,wBAAa,EACbC,kCAAkB,EAClBC,kBAAU,EACVC,uBAAkB,CACnB;EACDC,KAAK,EAAE,CACLC,eAAI,CAACC,QAAQ,EAAmB,EAChCD,eAAI,CAACC,QAAQ,EAAqB,EAClCD,eAAI,CAACC,QAAQ,EAAkB,EAC/BD,eAAI,CAACC,QAAQ,EAAqB,EAClCD,eAAI,CAACC,QAAQ,EAAoB,EACjCD,eAAI,CAACC,QAAQ,EAAqB,EAClCD,eAAI,CAACC,QAAQ,EAAkB,CAChC;EACDC,QAAQ,EAAEC,qBAAiB;EAC3BC,aAAa,EAAE;AACjB,CAAC;AAAC;AAEFC,4BAAe,CAACC,UAAU,CAAC3B,aAAa,CAAC;AAAC,eAE3BA,aAAa;AAAA"}
|
|
@@ -36,15 +36,18 @@ export declare type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;
|
|
|
36
36
|
export declare type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;
|
|
37
37
|
export declare type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;
|
|
38
38
|
export declare type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;
|
|
39
|
+
export declare type OnBitmapChange = () => Promise<void>;
|
|
40
|
+
export declare type OnBitmapChangeSlot = SlotRegistry<OnBitmapChange>;
|
|
39
41
|
export declare type OnAspectsResolve = (aspectsComponents: Component[]) => Promise<void>;
|
|
40
42
|
export declare type OnAspectsResolveSlot = SlotRegistry<OnAspectsResolve>;
|
|
41
43
|
export declare type OnRootAspectAdded = (aspectsId: ComponentID, inWs: boolean) => Promise<void>;
|
|
42
44
|
export declare type OnRootAspectAddedSlot = SlotRegistry<OnRootAspectAdded>;
|
|
43
|
-
export default function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs, globalConfig,]: WorkspaceDeps, config: WorkspaceExtConfig, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onAspectsResolveSlot, onRootAspectAddedSlot,]: [
|
|
45
|
+
export default function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs, globalConfig,]: WorkspaceDeps, config: WorkspaceExtConfig, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onAspectsResolveSlot, onRootAspectAddedSlot, onBitmapChangeSlot,]: [
|
|
44
46
|
OnComponentLoadSlot,
|
|
45
47
|
OnComponentChangeSlot,
|
|
46
48
|
OnComponentAddSlot,
|
|
47
49
|
OnComponentRemoveSlot,
|
|
48
50
|
OnAspectsResolveSlot,
|
|
49
|
-
OnRootAspectAddedSlot
|
|
51
|
+
OnRootAspectAddedSlot,
|
|
52
|
+
OnBitmapChangeSlot
|
|
50
53
|
], harmony: Harmony): Promise<Workspace | undefined>;
|
|
@@ -140,14 +140,14 @@ function _envsUpdate() {
|
|
|
140
140
|
};
|
|
141
141
|
return data;
|
|
142
142
|
}
|
|
143
|
-
async function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs, globalConfig], config, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onAspectsResolveSlot, onRootAspectAddedSlot], harmony) {
|
|
143
|
+
async function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs, globalConfig], config, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onAspectsResolveSlot, onRootAspectAddedSlot, onBitmapChangeSlot], harmony) {
|
|
144
144
|
var _envsCommand$commands, _envsCommand$commands2, _envsCommand$commands3, _envsCommand$commands4, _scopeCommand$command;
|
|
145
145
|
const bitConfig = harmony.config.get('teambit.harmony/bit');
|
|
146
146
|
const consumer = await getConsumer(bitConfig.cwd);
|
|
147
147
|
if (!consumer) return undefined;
|
|
148
148
|
// TODO: get the 'workspace' name in a better way
|
|
149
149
|
const logger = loggerExt.createLogger(_constants().EXT_NAME);
|
|
150
|
-
const workspace = new (_workspace().Workspace)(pubsub, config, consumer, scope, component, dependencyResolver, variants, aspectLoader, logger, undefined, harmony, onComponentLoadSlot, onComponentChangeSlot, envs, globalConfig, onComponentAddSlot, onComponentRemoveSlot, onAspectsResolveSlot, onRootAspectAddedSlot, graphql);
|
|
150
|
+
const workspace = new (_workspace().Workspace)(pubsub, config, consumer, scope, component, dependencyResolver, variants, aspectLoader, logger, undefined, harmony, onComponentLoadSlot, onComponentChangeSlot, envs, globalConfig, onComponentAddSlot, onComponentRemoveSlot, onAspectsResolveSlot, onRootAspectAddedSlot, graphql, onBitmapChangeSlot);
|
|
151
151
|
const configMergeFile = workspace.getConflictMergeFile();
|
|
152
152
|
await configMergeFile.loadIfNeeded();
|
|
153
153
|
const getWorkspacePolicyFromPackageJson = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","globalConfig","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onAspectsResolveSlot","onRootAspectAddedSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","configMergeFile","getConflictMergeFile","loadIfNeeded","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","getWorkspacePolicyFromMergeConfig","wsConfigMerge","getWorkspaceJsonConflictFromMergeConfig","policy","data","DependencyResolverAspect","id","forEach","depField","reduce","acc","current","name","version","wsPolicy","getWorkspacePolicyFromConfigObject","getRootPolicy","pkgJsonPolicy","configMergePolicy","mergeWorkspacePolices","registerRootPolicy","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","resolveComponentId","newComponent","state","_consumer","LegacyDependencyResolver","registerOnComponentAutoDetectOverridesGetter","configuredExtensions","legacyFiles","mergeVariantPolicies","depsDataOfMergeConfig","getDepsDataOfMergeConfig","policiesFromMergeConfig","VariantPolicy","fromConfigObject","mergePolices","toLegacyAutoDetectOverrides","registerOnComponentAutoDetectConfigMergeGetter","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","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","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 { DependencyResolverAspect, DependencyResolverMain, VariantPolicy } from '@teambit/dependency-resolver';\nimport type { ComponentMain, Component, ComponentID } from '@teambit/component';\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 { BitId } from '@teambit/legacy-bit-id';\nimport { GlobalConfigMain } from '@teambit/global-config';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { DependencyResolver as LegacyDependencyResolver } from '@teambit/legacy/dist/consumer/component/dependencies/dependency-resolver';\nimport { EXT_NAME } from './constants';\nimport EjectConfCmd from './eject-conf.cmd';\nimport { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } from './on-component-events';\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 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 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 globalConfig,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnAspectsResolveSlot,\n OnRootAspectAddedSlot\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 globalConfig,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n graphql\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 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?: { 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 LegacyDependencyResolver.registerOnComponentAutoDetectOverridesGetter(\n async (configuredExtensions: ExtensionDataList, id: BitId, legacyFiles: SourceFile[]) => {\n let policy = await dependencyResolver.mergeVariantPolicies(configuredExtensions, id, legacyFiles);\n const depsDataOfMergeConfig = workspace.getDepsDataOfMergeConfig(id);\n if (depsDataOfMergeConfig) {\n const policiesFromMergeConfig = VariantPolicy.fromConfigObject(depsDataOfMergeConfig, 'auto');\n policy = VariantPolicy.mergePolices([policy, policiesFromMergeConfig]);\n }\n return policy.toLegacyAutoDetectOverrides();\n }\n );\n\n LegacyDependencyResolver.registerOnComponentAutoDetectConfigMergeGetter((id: BitId) => {\n const depsDataOfMergeConfig = workspace.getDepsDataOfMergeConfig(id);\n if (depsDataOfMergeConfig) {\n const policy = VariantPolicy.fromConfigObject(depsDataOfMergeConfig, 'auto');\n return policy.toLegacyAutoDetectOverrides();\n }\n return undefined;\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(isolator, workspace);\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace),\n new CapsuleCreateCmd(workspace, isolator),\n new CapsuleDeleteCmd(isolator, workspace),\n ];\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\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","globalConfig","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onAspectsResolveSlot","onRootAspectAddedSlot","onBitmapChangeSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","configMergeFile","getConflictMergeFile","loadIfNeeded","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","getWorkspacePolicyFromMergeConfig","wsConfigMerge","getWorkspaceJsonConflictFromMergeConfig","policy","data","DependencyResolverAspect","id","forEach","depField","reduce","acc","current","name","version","wsPolicy","getWorkspacePolicyFromConfigObject","getRootPolicy","pkgJsonPolicy","configMergePolicy","mergeWorkspacePolices","registerRootPolicy","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","resolveComponentId","newComponent","state","_consumer","LegacyDependencyResolver","registerOnComponentAutoDetectOverridesGetter","configuredExtensions","legacyFiles","mergeVariantPolicies","depsDataOfMergeConfig","getDepsDataOfMergeConfig","policiesFromMergeConfig","VariantPolicy","fromConfigObject","mergePolices","toLegacyAutoDetectOverrides","registerOnComponentAutoDetectConfigMergeGetter","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","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","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 { DependencyResolverAspect, DependencyResolverMain, VariantPolicy } from '@teambit/dependency-resolver';\nimport type { ComponentMain, Component, ComponentID } from '@teambit/component';\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 { BitId } from '@teambit/legacy-bit-id';\nimport { GlobalConfigMain } from '@teambit/global-config';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { DependencyResolver as LegacyDependencyResolver } from '@teambit/legacy/dist/consumer/component/dependencies/dependency-resolver';\nimport { EXT_NAME } from './constants';\nimport EjectConfCmd from './eject-conf.cmd';\nimport { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } from './on-component-events';\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 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 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 globalConfig,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n onBitmapChangeSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnAspectsResolveSlot,\n OnRootAspectAddedSlot,\n OnBitmapChangeSlot\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 globalConfig,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n graphql,\n onBitmapChangeSlot\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 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?: { 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 LegacyDependencyResolver.registerOnComponentAutoDetectOverridesGetter(\n async (configuredExtensions: ExtensionDataList, id: BitId, legacyFiles: SourceFile[]) => {\n let policy = await dependencyResolver.mergeVariantPolicies(configuredExtensions, id, legacyFiles);\n const depsDataOfMergeConfig = workspace.getDepsDataOfMergeConfig(id);\n if (depsDataOfMergeConfig) {\n const policiesFromMergeConfig = VariantPolicy.fromConfigObject(depsDataOfMergeConfig, 'auto');\n policy = VariantPolicy.mergePolices([policy, policiesFromMergeConfig]);\n }\n return policy.toLegacyAutoDetectOverrides();\n }\n );\n\n LegacyDependencyResolver.registerOnComponentAutoDetectConfigMergeGetter((id: BitId) => {\n const depsDataOfMergeConfig = workspace.getDepsDataOfMergeConfig(id);\n if (depsDataOfMergeConfig) {\n const policy = VariantPolicy.fromConfigObject(depsDataOfMergeConfig, 'auto');\n return policy.toLegacyAutoDetectOverrides();\n }\n return undefined;\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(isolator, workspace);\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace),\n new CapsuleCreateCmd(workspace, isolator),\n new CapsuleDeleteCmd(isolator, workspace),\n ];\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\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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"}
|
|
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.1097",
|
|
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": "0.0.
|
|
9
|
+
"version": "0.0.1097"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -35,30 +35,30 @@
|
|
|
35
35
|
"@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
|
|
36
36
|
"@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
|
|
37
37
|
"@teambit/explorer.ui.gallery.component-grid": "0.0.496",
|
|
38
|
-
"@teambit/component": "0.0.
|
|
39
|
-
"@teambit/dependency-resolver": "0.0.
|
|
40
|
-
"@teambit/envs": "0.0.
|
|
38
|
+
"@teambit/component": "0.0.1097",
|
|
39
|
+
"@teambit/dependency-resolver": "0.0.1097",
|
|
40
|
+
"@teambit/envs": "0.0.1097",
|
|
41
41
|
"@teambit/bit-error": "0.0.402",
|
|
42
42
|
"@teambit/lane-id": "0.0.253",
|
|
43
43
|
"@teambit/logger": "0.0.829",
|
|
44
|
-
"@teambit/scope": "0.0.
|
|
45
|
-
"@teambit/graph": "0.0.
|
|
44
|
+
"@teambit/scope": "0.0.1097",
|
|
45
|
+
"@teambit/graph": "0.0.1097",
|
|
46
46
|
"@teambit/cli": "0.0.736",
|
|
47
|
-
"@teambit/isolator": "0.0.
|
|
48
|
-
"@teambit/component-tree": "0.0.
|
|
47
|
+
"@teambit/isolator": "0.0.1097",
|
|
48
|
+
"@teambit/component-tree": "0.0.885",
|
|
49
49
|
"@teambit/component.ui.component-status-resolver": "0.0.505",
|
|
50
50
|
"@teambit/harmony.modules.resolved-component": "0.0.491",
|
|
51
|
-
"@teambit/compiler": "0.0.
|
|
52
|
-
"@teambit/aspect-loader": "0.0.
|
|
51
|
+
"@teambit/compiler": "0.0.1097",
|
|
52
|
+
"@teambit/aspect-loader": "0.0.1097",
|
|
53
53
|
"@teambit/config": "0.0.750",
|
|
54
54
|
"@teambit/global-config": "0.0.738",
|
|
55
55
|
"@teambit/harmony.modules.requireable-component": "0.0.491",
|
|
56
56
|
"@teambit/toolbox.modules.module-resolver": "0.0.1",
|
|
57
57
|
"@teambit/workspace.modules.node-modules-linker": "0.0.80",
|
|
58
|
-
"@teambit/graphql": "0.0.
|
|
59
|
-
"@teambit/bundler": "0.0.
|
|
60
|
-
"@teambit/pubsub": "0.0.
|
|
61
|
-
"@teambit/ui": "0.0.
|
|
58
|
+
"@teambit/graphql": "0.0.1097",
|
|
59
|
+
"@teambit/bundler": "0.0.1097",
|
|
60
|
+
"@teambit/pubsub": "0.0.1097",
|
|
61
|
+
"@teambit/ui": "0.0.1097",
|
|
62
62
|
"@teambit/variants": "0.0.842",
|
|
63
63
|
"@teambit/component-issues": "0.0.92",
|
|
64
64
|
"@teambit/component-version": "0.0.409",
|
|
@@ -68,19 +68,19 @@
|
|
|
68
68
|
"@teambit/lanes.hooks.use-lanes": "0.0.200",
|
|
69
69
|
"@teambit/lanes.ui.models.lanes-model": "0.0.153",
|
|
70
70
|
"@teambit/ui-foundation.ui.side-bar": "0.0.812",
|
|
71
|
-
"@teambit/command-bar": "0.0.
|
|
71
|
+
"@teambit/command-bar": "0.0.1097",
|
|
72
72
|
"@teambit/component.ui.component-filters.component-filter-context": "0.0.160",
|
|
73
73
|
"@teambit/component.ui.component-filters.deprecate-filter": "0.0.160",
|
|
74
74
|
"@teambit/component.ui.component-filters.env-filter": "0.0.166",
|
|
75
75
|
"@teambit/component.ui.component-filters.show-main-filter": "0.0.153",
|
|
76
|
-
"@teambit/sidebar": "0.0.
|
|
76
|
+
"@teambit/sidebar": "0.0.1097",
|
|
77
77
|
"@teambit/ui-foundation.ui.main-dropdown": "0.0.497",
|
|
78
78
|
"@teambit/ui-foundation.ui.menu": "0.0.497",
|
|
79
79
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.501",
|
|
80
80
|
"@teambit/ui-foundation.ui.tree.drawer": "0.0.512",
|
|
81
81
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500",
|
|
82
82
|
"@teambit/component-descriptor": "0.0.305",
|
|
83
|
-
"@teambit/deprecation": "0.0.
|
|
83
|
+
"@teambit/deprecation": "0.0.1097",
|
|
84
84
|
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.499",
|
|
85
85
|
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.207",
|
|
86
86
|
"@teambit/ui-foundation.ui.corner": "0.0.508",
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { ComponentID } from '@teambit/component-id';
|
|
2
2
|
import { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';
|
|
3
3
|
import { SourceFileModel } from '@teambit/legacy/dist/scope/models/version';
|
|
4
|
+
import { Repository } from '@teambit/legacy/dist/scope/objects';
|
|
5
|
+
import { PathLinux } from '@teambit/legacy/dist/utils/path';
|
|
6
|
+
|
|
7
|
+
type FILE_STATUS = 'new' | 'modified' | 'deleted' | 'unchanged';
|
|
8
|
+
export type FilesStatus = { [pathRelativeToCompDir: PathLinux]: FILE_STATUS };
|
|
4
9
|
|
|
5
10
|
export class CompFiles {
|
|
6
11
|
constructor(
|
|
7
12
|
readonly id: ComponentID,
|
|
13
|
+
private repository: Repository,
|
|
8
14
|
private currentFiles: SourceFile[],
|
|
15
|
+
readonly compDir: PathLinux,
|
|
9
16
|
private headFiles: SourceFileModel[] = []
|
|
10
17
|
) {}
|
|
11
18
|
|
|
@@ -18,4 +25,32 @@ export class CompFiles {
|
|
|
18
25
|
return !headFile.file.isEqual(file.toSourceAsLinuxEOL().hash());
|
|
19
26
|
});
|
|
20
27
|
}
|
|
28
|
+
|
|
29
|
+
getCurrentFiles(): SourceFile[] {
|
|
30
|
+
return this.currentFiles;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async getHeadFiles(): Promise<SourceFile[]> {
|
|
34
|
+
return Promise.all(this.headFiles.map((file) => SourceFile.loadFromSourceFileModel(file, this.repository)));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
getFilesStatus(): FilesStatus {
|
|
38
|
+
const result = this.currentFiles.reduce((acc, file) => {
|
|
39
|
+
const headFile = this.headFiles.find((h) => h.relativePath === file.relative);
|
|
40
|
+
const getType = (): FILE_STATUS => {
|
|
41
|
+
if (!headFile) return 'new';
|
|
42
|
+
if (headFile.file.isEqual(file.toSourceAsLinuxEOL().hash())) return 'unchanged';
|
|
43
|
+
return 'modified';
|
|
44
|
+
};
|
|
45
|
+
acc[file.relative] = getType();
|
|
46
|
+
return acc;
|
|
47
|
+
}, {});
|
|
48
|
+
this.headFiles.forEach((headFile) => {
|
|
49
|
+
const currentFile = this.currentFiles.find((c) => c.relative === headFile.relativePath);
|
|
50
|
+
if (!currentFile) {
|
|
51
|
+
result[headFile.relativePath] = 'deleted';
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
21
56
|
}
|
|
Binary file
|