@teambit/workspace 0.0.844 → 0.0.847

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.
Files changed (89) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/ui/workspace/use-workspace.js +3 -0
  4. package/dist/ui/workspace/use-workspace.js.map +1 -1
  5. package/dist/workspace-component/workspace-component-loader.js +6 -0
  6. package/dist/workspace-component/workspace-component-loader.js.map +1 -1
  7. package/dist/workspace.d.ts +9 -60
  8. package/dist/workspace.js +29 -411
  9. package/dist/workspace.js.map +1 -1
  10. package/dist/workspace.main.runtime.js +1 -11
  11. package/dist/workspace.main.runtime.js.map +1 -1
  12. package/dist/workspace.provider.d.ts +2 -4
  13. package/dist/workspace.provider.js +3 -66
  14. package/dist/workspace.provider.js.map +1 -1
  15. package/dist/workspace.ui.runtime.d.ts +2 -1
  16. package/dist/workspace.ui.runtime.js +27 -6
  17. package/dist/workspace.ui.runtime.js.map +1 -1
  18. package/package-tar/teambit-workspace-0.0.847.tgz +0 -0
  19. package/package.json +33 -42
  20. package/{preview-1662281577904.js → preview-1662694416892.js} +2 -2
  21. package/ui/workspace/use-workspace.ts +3 -0
  22. package/workspace-component/workspace-component-loader.ts +5 -0
  23. package/workspace.ui.runtime.tsx +16 -6
  24. package/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -171
  25. package/dist/__snapshots__/pick-outdated-pkgs.spec.js.snap +0 -171
  26. package/dist/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -171
  27. package/dist/exceptions/dependency-type-not-supported-in-policy.d.ts +0 -4
  28. package/dist/exceptions/dependency-type-not-supported-in-policy.js +0 -27
  29. package/dist/exceptions/dependency-type-not-supported-in-policy.js.map +0 -1
  30. package/dist/exceptions/index.d.ts +0 -1
  31. package/dist/exceptions/index.js +0 -23
  32. package/dist/exceptions/index.js.map +0 -1
  33. package/dist/install.cmd.d.ts +0 -44
  34. package/dist/install.cmd.js +0 -85
  35. package/dist/install.cmd.js.map +0 -1
  36. package/dist/link/component-list-links.d.ts +0 -7
  37. package/dist/link/component-list-links.js +0 -98
  38. package/dist/link/component-list-links.js.map +0 -1
  39. package/dist/link/core-aspects-links.d.ts +0 -7
  40. package/dist/link/core-aspects-links.js +0 -95
  41. package/dist/link/core-aspects-links.js.map +0 -1
  42. package/dist/link/get-package-name-from-target.d.ts +0 -1
  43. package/dist/link/get-package-name-from-target.js +0 -16
  44. package/dist/link/get-package-name-from-target.js.map +0 -1
  45. package/dist/link/index.d.ts +0 -1
  46. package/dist/link/index.js +0 -23
  47. package/dist/link/index.js.map +0 -1
  48. package/dist/link/link-row.d.ts +0 -12
  49. package/dist/link/link-row.js +0 -38
  50. package/dist/link/link-row.js.map +0 -1
  51. package/dist/link/link-to-dir.d.ts +0 -2
  52. package/dist/link/link-to-dir.js +0 -45
  53. package/dist/link/link-to-dir.js.map +0 -1
  54. package/dist/link/link.cmd.d.ts +0 -44
  55. package/dist/link/link.cmd.js +0 -176
  56. package/dist/link/link.cmd.js.map +0 -1
  57. package/dist/link/nested-deps-in-nm-links.d.ts +0 -7
  58. package/dist/link/nested-deps-in-nm-links.js +0 -74
  59. package/dist/link/nested-deps-in-nm-links.js.map +0 -1
  60. package/dist/link/rewire-row.d.ts +0 -6
  61. package/dist/link/rewire-row.js +0 -31
  62. package/dist/link/rewire-row.js.map +0 -1
  63. package/dist/pick-outdated-pkgs.d.ts +0 -16
  64. package/dist/pick-outdated-pkgs.js +0 -308
  65. package/dist/pick-outdated-pkgs.js.map +0 -1
  66. package/dist/pick-outdated-pkgs.spec.d.ts +0 -1
  67. package/dist/pick-outdated-pkgs.spec.js +0 -121
  68. package/dist/pick-outdated-pkgs.spec.js.map +0 -1
  69. package/dist/uninstall.cmd.d.ts +0 -19
  70. package/dist/uninstall.cmd.js +0 -47
  71. package/dist/uninstall.cmd.js.map +0 -1
  72. package/dist/update.cmd.d.ts +0 -23
  73. package/dist/update.cmd.js +0 -47
  74. package/dist/update.cmd.js.map +0 -1
  75. package/exceptions/dependency-type-not-supported-in-policy.ts +0 -7
  76. package/exceptions/index.ts +0 -1
  77. package/install.cmd.tsx +0 -72
  78. package/link/component-list-links.ts +0 -50
  79. package/link/core-aspects-links.ts +0 -50
  80. package/link/get-package-name-from-target.ts +0 -5
  81. package/link/index.ts +0 -1
  82. package/link/link-row.ts +0 -20
  83. package/link/link-to-dir.ts +0 -13
  84. package/link/link.cmd.ts +0 -100
  85. package/link/nested-deps-in-nm-links.ts +0 -47
  86. package/link/rewire-row.ts +0 -17
  87. package/package-tar/teambit-workspace-0.0.844.tgz +0 -0
  88. package/uninstall.cmd.tsx +0 -23
  89. package/update.cmd.tsx +0 -29
@@ -127,16 +127,6 @@ function _scope() {
127
127
  return data;
128
128
  }
129
129
 
130
- function _community() {
131
- const data = _interopRequireDefault(require("@teambit/community"));
132
-
133
- _community = function () {
134
- return data;
135
- };
136
-
137
- return data;
138
- }
139
-
140
130
  function _ui() {
141
131
  const data = require("@teambit/ui");
142
132
 
@@ -190,7 +180,7 @@ function _workspace2() {
190
180
  const WorkspaceMain = {
191
181
  name: _constants().EXT_NAME,
192
182
  runtime: _cli().MainRuntime,
193
- 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, _community().default],
183
+ 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],
194
184
  slots: [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()],
195
185
  provider: _workspace2().default,
196
186
  defineRuntime: 'browser'
@@ -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","CommunityAspect","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 CommunityAspect from '@teambit/community';\nimport { UIAspect } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\n\nimport { EXT_NAME } from './constants';\nimport { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport workspaceProvider, { OnPreWatch } 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 CommunityAspect,\n ],\n slots: [\n Slot.withType<OnComponentLoad>(),\n Slot.withType<OnComponentChange>(),\n Slot.withType<OnComponentAdd>(),\n Slot.withType<OnComponentRemove>(),\n Slot.withType<OnPreWatch>(),\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,qBADqB;EAE3BC,OAAO,EAAEC,kBAFkB;EAG3BC,YAAY,EAAE,CACZC,sBADY,EAEZC,gBAFY,EAGZC,oBAHY,EAIZC,4BAJY,EAKZC,0BALY,EAMZC,8CANY,EAOZC,0BAPY,EAQZC,sBARY,EASZC,wBATY,EAUZC,cAVY,EAWZC,wBAXY,EAYZC,kCAZY,EAaZC,kBAbY,EAcZC,oBAdY,CAHa;EAmB3BC,KAAK,EAAE,CACLC,eAAA,CAAKC,QAAL,EADK,EAELD,eAAA,CAAKC,QAAL,EAFK,EAGLD,eAAA,CAAKC,QAAL,EAHK,EAILD,eAAA,CAAKC,QAAL,EAJK,EAKLD,eAAA,CAAKC,QAAL,EALK,CAnBoB;EA0B3BC,QAAQ,EAAEC,qBA1BiB;EA2B3BC,aAAa,EAAE;AA3BY,CAAtB;;;AA8BPC,4BAAA,CAAgBC,UAAhB,CAA2B3B,aAA3B;;eAEeA,a"}
1
+ {"version":3,"names":["WorkspaceMain","name","EXT_NAME","runtime","MainRuntime","dependencies","PubsubAspect","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","DependencyResolverAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","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';\n\nimport { EXT_NAME } from './constants';\nimport { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport workspaceProvider, { OnPreWatch } 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 ],\n slots: [\n Slot.withType<OnComponentLoad>(),\n Slot.withType<OnComponentChange>(),\n Slot.withType<OnComponentAdd>(),\n Slot.withType<OnComponentRemove>(),\n Slot.withType<OnPreWatch>(),\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;;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,qBADqB;EAE3BC,OAAO,EAAEC,kBAFkB;EAG3BC,YAAY,EAAE,CACZC,sBADY,EAEZC,gBAFY,EAGZC,oBAHY,EAIZC,4BAJY,EAKZC,0BALY,EAMZC,8CANY,EAOZC,0BAPY,EAQZC,sBARY,EASZC,wBATY,EAUZC,cAVY,EAWZC,wBAXY,EAYZC,kCAZY,EAaZC,kBAbY,CAHa;EAkB3BC,KAAK,EAAE,CACLC,eAAA,CAAKC,QAAL,EADK,EAELD,eAAA,CAAKC,QAAL,EAFK,EAGLD,eAAA,CAAKC,QAAL,EAHK,EAILD,eAAA,CAAKC,QAAL,EAJK,EAKLD,eAAA,CAAKC,QAAL,EALK,CAlBoB;EAyB3BC,QAAQ,EAAEC,qBAzBiB;EA0B3BC,aAAa,EAAE;AA1BY,CAAtB;;;AA6BPC,4BAAA,CAAgBC,UAAhB,CAA2B1B,aAA3B;;eAEeA,a"}
@@ -12,7 +12,6 @@ import { LoggerMain } from '@teambit/logger';
12
12
  import type { ScopeMain } from '@teambit/scope';
13
13
  import { UiMain } from '@teambit/ui';
14
14
  import type { VariantsMain } from '@teambit/variants';
15
- import { CommunityMain } from '@teambit/community';
16
15
  import { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } from './on-component-events';
17
16
  import { WorkspaceExtConfig } from './types';
18
17
  import { WatchOptions } from './watch/watcher';
@@ -30,8 +29,7 @@ export declare type WorkspaceDeps = [
30
29
  UiMain,
31
30
  BundlerMain,
32
31
  AspectLoaderMain,
33
- EnvsMain,
34
- CommunityMain
32
+ EnvsMain
35
33
  ];
36
34
  export declare type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;
37
35
  export declare type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;
@@ -39,7 +37,7 @@ export declare type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;
39
37
  export declare type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;
40
38
  export declare type OnPreWatch = (components: Component[], watchOpts: WatchOptions) => Promise<void>;
41
39
  export declare type OnPreWatchSlot = SlotRegistry<OnPreWatch>;
42
- export default function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs, community,]: WorkspaceDeps, config: WorkspaceExtConfig, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot]: [
40
+ export default function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs,]: WorkspaceDeps, config: WorkspaceExtConfig, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot]: [
43
41
  OnComponentLoadSlot,
44
42
  OnComponentChangeSlot,
45
43
  OnComponentAddSlot,
@@ -31,16 +31,6 @@ function _component() {
31
31
  return data;
32
32
  }
33
33
 
34
- function _manyComponentsWriter() {
35
- const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component-ops/many-components-writer"));
36
-
37
- _manyComponentsWriter = function () {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
34
  function _componentLoader() {
45
35
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/component-loader"));
46
36
 
@@ -81,36 +71,6 @@ function _ejectConf() {
81
71
  return data;
82
72
  }
83
73
 
84
- function _install() {
85
- const data = _interopRequireDefault(require("./install.cmd"));
86
-
87
- _install = function () {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _uninstall() {
95
- const data = _interopRequireDefault(require("./uninstall.cmd"));
96
-
97
- _uninstall = function () {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _update() {
105
- const data = _interopRequireDefault(require("./update.cmd"));
106
-
107
- _update = function () {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
74
  function _watch() {
115
75
  const data = require("./watch/watch.cmd");
116
76
 
@@ -121,16 +81,6 @@ function _watch() {
121
81
  return data;
122
82
  }
123
83
 
124
- function _link() {
125
- const data = require("./link");
126
-
127
- _link = function () {
128
- return data;
129
- };
130
-
131
- return data;
132
- }
133
-
134
84
  function _watcher() {
135
85
  const data = require("./watch/watcher");
136
86
 
@@ -241,7 +191,7 @@ function _use() {
241
191
  return data;
242
192
  }
243
193
 
244
- async function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs, community], config, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot], harmony) {
194
+ async function provideWorkspace([pubsub, cli, scope, component, isolator, dependencyResolver, variants, loggerExt, graphql, ui, bundler, aspectLoader, envs], config, [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot], harmony) {
245
195
  var _envsCommand$commands, _envsCommand$commands2, _envsCommand$commands3, _scopeCommand$command;
246
196
 
247
197
  const bitConfig = harmony.config.get('teambit.harmony/bit');
@@ -249,7 +199,7 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
249
199
  if (!consumer) return undefined; // TODO: get the 'workspace' name in a better way
250
200
 
251
201
  const logger = loggerExt.createLogger(_constants().EXT_NAME);
252
- const workspace = new (_workspace().Workspace)(pubsub, config, consumer, scope, component, isolator, dependencyResolver, variants, aspectLoader, logger, undefined, harmony, onComponentLoadSlot, onComponentChangeSlot, envs, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot, graphql);
202
+ const workspace = new (_workspace().Workspace)(pubsub, config, consumer, scope, component, dependencyResolver, variants, aspectLoader, logger, undefined, harmony, onComponentLoadSlot, onComponentChangeSlot, envs, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot, graphql);
253
203
 
254
204
  const getWorkspacePolicyFromPackageJson = () => {
255
205
  var _workspace$consumer$p;
@@ -260,19 +210,6 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
260
210
  };
261
211
 
262
212
  dependencyResolver.registerRootPolicy(getWorkspacePolicyFromPackageJson());
263
-
264
- _manyComponentsWriter().default.registerExternalInstaller({
265
- install: async () => {
266
- // TODO: think how we should pass this options
267
- const installOpts = {
268
- dedupe: true,
269
- updateExisting: false,
270
- import: false
271
- };
272
- return workspace.install(undefined, installOpts);
273
- }
274
- });
275
-
276
213
  consumer.onCacheClear.push(() => workspace.clearCache());
277
214
 
278
215
  _componentLoader().default.registerOnComponentLoadSubscriber(async (legacyComponent, opts) => {
@@ -315,7 +252,7 @@ async function provideWorkspace([pubsub, cli, scope, component, isolator, depend
315
252
  const capsuleCmd = new (_capsule().CapsuleCmd)();
316
253
  capsuleCmd.commands = [new (_capsule().CapsuleListCmd)(isolator, workspace), new (_capsule().CapsuleCreateCmd)(workspace, isolator), new (_capsule().CapsuleDeleteCmd)(isolator, workspace)];
317
254
  const watcher = new (_watcher().Watcher)(workspace, pubsub);
318
- const commands = [new (_install().default)(workspace, logger), new (_update().default)(workspace), new (_uninstall().default)(workspace), new (_ejectConf().default)(workspace), capsuleCmd, new (_watch().WatchCommand)(pubsub, logger, watcher), new (_link().LinkCommand)(workspace, logger, community.getDocsDomain()), new (_use().UseCmd)(workspace)];
255
+ const commands = [new (_ejectConf().default)(workspace), capsuleCmd, new (_watch().WatchCommand)(pubsub, logger, watcher), new (_use().UseCmd)(workspace)];
319
256
  commands.push(new (_pattern().PatternCommand)(workspace));
320
257
  cli.register(...commands);
321
258
  component.registerHost(workspace);
@@ -1 +1 @@
1
- {"version":3,"names":["provideWorkspace","pubsub","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","community","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onPreWatchSlot","harmony","bitConfig","get","consumer","getConsumer","cwd","undefined","logger","createLogger","EXT_NAME","workspace","Workspace","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","registerRootPolicy","ManyComponentsWriter","registerExternalInstaller","install","installOpts","dedupe","updateExisting","import","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","id","resolveComponentId","newComponent","state","_consumer","ConsumerComponent","registerOnComponentConfigLoading","componentId","componentFromScope","extensions","componentExtensions","defaultScope","componentDefaultScope","extensionsWithLegacyIdsP","map","extension","legacyEntry","clone","extensionId","compId","_legacy","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","workspaceSchema","getWorkspaceSchema","registerUiRoot","WorkspaceUIRoot","register","capsuleCmd","CapsuleCmd","commands","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","watcher","Watcher","InstallCmd","UpdateCmd","UninstallCmd","EjectConfCmd","WatchCommand","LinkCommand","getDocsDomain","UseCmd","PatternCommand","registerHost","registerOnStart","importCurrentLaneIfMissing","loadAspects","getNotLoadedConfiguredExtensions","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","scopeCommand","ScopeSetCmd","path","loadConsumerIfExist"],"sources":["workspace.provider.ts"],"sourcesContent":["import { PubsubMain } from '@teambit/pubsub';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BundlerMain } from '@teambit/bundler';\nimport { CLIMain, CommandList } from '@teambit/cli';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { EnvsMain } from '@teambit/envs';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorMain } from '@teambit/isolator';\nimport { LoggerMain } from '@teambit/logger';\nimport type { ScopeMain } from '@teambit/scope';\nimport { UiMain } from '@teambit/ui';\nimport type { VariantsMain } from '@teambit/variants';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport LegacyComponentLoader from '@teambit/legacy/dist/consumer/component/component-loader';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { CommunityMain } from '@teambit/community';\nimport { EXT_NAME } from './constants';\nimport EjectConfCmd from './eject-conf.cmd';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\nimport { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } from './on-component-events';\nimport { WorkspaceExtConfig } from './types';\nimport { WatchCommand } from './watch/watch.cmd';\nimport { LinkCommand } from './link';\nimport { Watcher, WatchOptions } from './watch/watcher';\nimport { Workspace, WorkspaceInstallOptions } from './workspace';\nimport getWorkspaceSchema from './workspace.graphql';\nimport { WorkspaceUIRoot } from './workspace.ui-root';\nimport { CapsuleCmd, CapsuleCreateCmd, CapsuleDeleteCmd, CapsuleListCmd } from './capsule.cmd';\nimport { EnvsSetCmd } from './envs-subcommands/envs-set.cmd';\nimport { EnvsUnsetCmd } from './envs-subcommands/envs-unset.cmd';\nimport { PatternCommand } from './pattern.cmd';\nimport { EnvsReplaceCmd } from './envs-subcommands/envs-replace.cmd';\nimport { ScopeSetCmd } from './scope-subcommands/scope-set.cmd';\nimport { UseCmd } from './use.cmd';\n\nexport type WorkspaceDeps = [\n PubsubMain,\n CLIMain,\n ScopeMain,\n ComponentMain,\n IsolatorMain,\n DependencyResolverMain,\n VariantsMain,\n LoggerMain,\n GraphqlMain,\n UiMain,\n BundlerMain,\n AspectLoaderMain,\n EnvsMain,\n CommunityMain\n];\n\nexport type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;\n\nexport type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;\n\nexport type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;\n\nexport type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;\n\nexport type OnPreWatch = (components: Component[], watchOpts: WatchOptions) => Promise<void>;\nexport type OnPreWatchSlot = SlotRegistry<OnPreWatch>;\n\nexport default async function provideWorkspace(\n [\n pubsub,\n cli,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n loggerExt,\n graphql,\n ui,\n bundler,\n aspectLoader,\n envs,\n community,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [onComponentLoadSlot, onComponentChangeSlot, onComponentAddSlot, onComponentRemoveSlot, onPreWatchSlot]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnPreWatchSlot\n ],\n harmony: Harmony\n) {\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const consumer = await getConsumer(bitConfig.cwd);\n if (!consumer) return undefined;\n // TODO: get the 'workspace' name in a better way\n const logger = loggerExt.createLogger(EXT_NAME);\n const workspace = new Workspace(\n pubsub,\n config,\n consumer,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n aspectLoader,\n logger,\n undefined,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onPreWatchSlot,\n graphql\n );\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n dependencyResolver.registerRootPolicy(getWorkspacePolicyFromPackageJson());\n\n ManyComponentsWriter.registerExternalInstaller({\n install: async () => {\n // TODO: think how we should pass this options\n const installOpts: WorkspaceInstallOptions = {\n dedupe: true,\n updateExisting: false,\n import: false,\n };\n return workspace.install(undefined, installOpts);\n },\n });\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: { loadDocs?: boolean }) => {\n const id = await workspace.resolveComponentId(legacyComponent.id);\n const newComponent = await workspace.get(id, legacyComponent, true, true, opts);\n return newComponent.state._consumer;\n }\n );\n\n ConsumerComponent.registerOnComponentConfigLoading(EXT_NAME, async (id) => {\n const componentId = await workspace.resolveComponentId(id);\n // We call here directly workspace.scope.get instead of workspace.get because part of the workspace get is loading consumer component\n // which in turn run this event, which will make an infinite loop\n // This component from scope here are only used for merging the extensions with the workspace components\n const componentFromScope = await workspace.scope.get(componentId);\n const { extensions } = await workspace.componentExtensions(componentId, componentFromScope);\n const defaultScope = await workspace.componentDefaultScope(componentId);\n\n const extensionsWithLegacyIdsP = extensions.map(async (extension) => {\n const legacyEntry = extension.clone();\n if (legacyEntry.extensionId) {\n const compId = await workspace.resolveComponentId(legacyEntry.extensionId);\n legacyEntry.extensionId = compId._legacy;\n legacyEntry.newExtensionId = compId;\n }\n\n return legacyEntry;\n });\n const extensionsWithLegacyIds = await Promise.all(extensionsWithLegacyIdsP);\n\n return {\n defaultScope,\n extensions: ExtensionDataList.fromArray(extensionsWithLegacyIds),\n };\n });\n\n 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 InstallCmd(workspace, logger),\n new UpdateCmd(workspace),\n new UninstallCmd(workspace),\n new EjectConfCmd(workspace),\n capsuleCmd,\n new WatchCommand(pubsub, logger, watcher),\n new LinkCommand(workspace, logger, community.getDocsDomain()),\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","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 { OnComponentLoad, OnComponentAdd, OnComponentChange, OnComponentRemove } 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 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 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 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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"}
@@ -6,7 +6,7 @@ import { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';
6
6
  import { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';
7
7
  import { UIRootUI as UIRoot, UiUI } from '@teambit/ui';
8
8
  import { GraphUI } from '@teambit/graph';
9
- import { ReactNode } from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import { RouteProps } from 'react-router-dom';
11
11
  import { CommandBarUI } from '@teambit/command-bar';
12
12
  import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
@@ -70,6 +70,7 @@ export declare class WorkspaceUI {
70
70
  registerDrawerComponentFilters: (filters: ComponentFilters) => void;
71
71
  registerDrawerWidgets: (widgets: ReactNode[]) => void;
72
72
  uiRoot(): UIRoot;
73
+ listSidebarItems(): (React.ComponentClass<{}, any> | React.FunctionComponent<{}>)[];
73
74
  private menuItems;
74
75
  static dependencies: import("@teambit/harmony").Aspect[];
75
76
  static runtime: import("@teambit/harmony").RuntimeDefinition;
@@ -31,6 +31,16 @@ function _component() {
31
31
  return data;
32
32
  }
33
33
 
34
+ function _lodash() {
35
+ const data = require("lodash");
36
+
37
+ _lodash = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
34
44
  function _componentTree() {
35
45
  const data = require("@teambit/component-tree");
36
46
 
@@ -299,7 +309,7 @@ class WorkspaceUI {
299
309
  menuSlot: this.menuSlot,
300
310
  routeSlot: this.routeSlot,
301
311
  sidebar: /*#__PURE__*/_react().default.createElement(this.sidebar.render, {
302
- itemSlot: this.sidebarItemSlot
312
+ items: this.listSidebarItems()
303
313
  }),
304
314
  workspaceUI: this,
305
315
  onSidebarTogglerChange: this.setKeyBindHandler
@@ -308,6 +318,13 @@ class WorkspaceUI {
308
318
  };
309
319
  }
310
320
 
321
+ listSidebarItems() {
322
+ const items = (0, _lodash().flatten)(this.sidebarItemSlot.values());
323
+ return (0, _lodash().compact)(items.map(item => {
324
+ return item.component;
325
+ }));
326
+ }
327
+
311
328
  static async provider([ui, componentUi, sidebar, componentTree, commandBarUI, graphUI], config, [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]) {
312
329
  componentTree.registerTreeNode(new (_componentTree2().ComponentTreeWidget)());
313
330
  sidebarSlot.register(new (_componentTree2().ComponentTreeWidget)());
@@ -321,11 +338,15 @@ class WorkspaceUI {
321
338
  })]);
322
339
  ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));
323
340
  workspaceUI.registerMenuItem(workspaceUI.menuItems);
324
- workspaceUI.registerSidebarLink(() => /*#__PURE__*/_react().default.createElement(_designUiSurfacesMenu().MenuLinkItem, {
325
- exact: true,
326
- href: "/",
327
- icon: "comps"
328
- }, "Gallery"));
341
+ workspaceUI.registerSidebarLink({
342
+ component: function Gallery() {
343
+ return /*#__PURE__*/_react().default.createElement(_designUiSurfacesMenu().MenuLinkItem, {
344
+ exact: true,
345
+ href: "/",
346
+ icon: "comps"
347
+ }, "Gallery");
348
+ }
349
+ });
329
350
  workspaceUI.registerMenuRoutes([{
330
351
  path: '/',
331
352
  element: /*#__PURE__*/_react().default.createElement(_uiFoundationUi().Menu, {
@@ -1 +1 @@
1
- {"version":3,"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","commandBarUI","menuItems","register","routes","components","updateComponents","links","filters","widgets","category","title","keyChar","handler","run","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","workspaceDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","id","action","displayName","keybinding","path","element","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","registerMenuRoutes","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["workspace.ui.runtime.tsx"],"sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport SidebarAspect, { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport { GraphAspect, GraphUI } from '@teambit/graph';\nimport React, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\n\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport { workspaceDrawer } from './workspace.ui.drawer';\n\nexport type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;\n\nexport class WorkspaceUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n private drawerWidgetSlot: DrawerWidgetSlot,\n\n private drawerComponentsFiltersSlot: ComponentFiltersSlot,\n\n private commandBarUI: CommandBarUI\n ) {}\n\n private setKeyBindHandler: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a route to the workspace.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerDrawers(...drawers: DrawerType[]) {\n this.sidebar.registerDrawer(...drawers);\n return this;\n }\n\n registerSidebarWidget(componentTreeNode: ComponentTreeNode) {\n this.sidebarSlot.register(componentTreeNode);\n return this;\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n uiRoot(): UIRoot {\n this.registerDrawers(\n workspaceDrawer({\n treeWidgets: this.sidebarSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n })\n );\n\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [UIAspect, ComponentAspect, SidebarAspect, ComponentTreeAspect, CommandBarAspect, GraphAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n componentTree.registerTreeNode(new ComponentTreeWidget());\n sidebarSlot.register(new ComponentTreeWidget());\n graphUI.registerComponentWidget(new ComponentTreeWidget().widget);\n\n const workspaceUI = new WorkspaceUI(\n routeSlot,\n componentUi,\n menuSlot,\n menuItemSlot,\n sidebar,\n sidebarSlot,\n sidebarItemSlot,\n drawerWidgetSlot,\n drawerComponentsFiltersSlot,\n commandBarUI\n );\n\n workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter]);\n workspaceUI.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink(() => (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>\n ));\n\n workspaceUI.registerMenuRoutes([\n {\n path: '/',\n element: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"],"mappings":"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"}
1
+ {"version":3,"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","commandBarUI","menuItems","register","routes","components","updateComponents","links","filters","widgets","category","title","keyChar","handler","run","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","workspaceDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","id","action","displayName","keybinding","path","element","listSidebarItems","items","flatten","values","compact","map","item","component","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","Gallery","registerMenuRoutes","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["workspace.ui.runtime.tsx"],"sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport SidebarAspect, { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport { GraphAspect, GraphUI } from '@teambit/graph';\nimport React, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\n\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport { workspaceDrawer } from './workspace.ui.drawer';\n\nexport type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;\n\nexport class WorkspaceUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n private drawerWidgetSlot: DrawerWidgetSlot,\n\n private drawerComponentsFiltersSlot: ComponentFiltersSlot,\n\n private commandBarUI: CommandBarUI\n ) {}\n\n private setKeyBindHandler: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a route to the workspace.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerDrawers(...drawers: DrawerType[]) {\n this.sidebar.registerDrawer(...drawers);\n return this;\n }\n\n registerSidebarWidget(componentTreeNode: ComponentTreeNode) {\n this.sidebarSlot.register(componentTreeNode);\n return this;\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n uiRoot(): UIRoot {\n this.registerDrawers(\n workspaceDrawer({\n treeWidgets: this.sidebarSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n })\n );\n\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render items={this.listSidebarItems()} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarItems() {\n const items = flatten(this.sidebarItemSlot.values());\n return compact(items.map((item) => {\n return item.component;\n }));\n }\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [UIAspect, ComponentAspect, SidebarAspect, ComponentTreeAspect, CommandBarAspect, GraphAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n componentTree.registerTreeNode(new ComponentTreeWidget());\n sidebarSlot.register(new ComponentTreeWidget());\n graphUI.registerComponentWidget(new ComponentTreeWidget().widget);\n\n const workspaceUI = new WorkspaceUI(\n routeSlot,\n componentUi,\n menuSlot,\n menuItemSlot,\n sidebar,\n sidebarSlot,\n sidebarItemSlot,\n drawerWidgetSlot,\n drawerComponentsFiltersSlot,\n commandBarUI\n );\n\n workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter]);\n workspaceUI.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink({\n component: function Gallery() {\n return <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>;\n },\n });\n\n workspaceUI.registerMenuRoutes([\n {\n path: '/',\n element: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/workspace",
3
- "version": "0.0.844",
3
+ "version": "0.0.847",
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.844"
9
+ "version": "0.0.847"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -14,11 +14,6 @@
14
14
  "p-map-series": "2.1.0",
15
15
  "chalk": "2.4.2",
16
16
  "ink": "3.2.0",
17
- "@pnpm/colorize-semver-diff": "1.0.1",
18
- "@pnpm/semver-diff": "1.1.0",
19
- "enquirer": "2.3.6",
20
- "semver": "7.3.4",
21
- "table": "5.4.6",
22
17
  "graphql-tag": "2.12.1",
23
18
  "fs-extra": "10.0.0",
24
19
  "memoizee": "0.4.15",
@@ -33,69 +28,65 @@
33
28
  "reset-css": "5.0.1",
34
29
  "@babel/runtime": "7.12.18",
35
30
  "core-js": "^3.0.0",
36
- "@teambit/harmony": "0.3.3",
37
- "@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
38
- "@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
39
- "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
40
31
  "@teambit/bit-error": "0.0.400",
41
32
  "@teambit/component-id": "0.0.417",
42
- "@teambit/lane-id": "0.0.82",
33
+ "@teambit/lane-id": "0.0.84",
43
34
  "@teambit/legacy-bit-id": "0.0.414",
44
- "@teambit/logger": "0.0.656",
45
- "@teambit/scope": "0.0.844",
46
- "@teambit/cli": "0.0.563",
47
- "@teambit/isolator": "0.0.844",
48
- "@teambit/component-tree": "0.0.632",
35
+ "@teambit/logger": "0.0.658",
36
+ "@teambit/scope": "0.0.847",
37
+ "@teambit/cli": "0.0.565",
38
+ "@teambit/isolator": "0.0.847",
39
+ "@teambit/component-tree": "0.0.635",
49
40
  "@teambit/component.ui.component-status-resolver": "0.0.499",
50
- "@teambit/lanes.hooks.use-lanes": "0.0.23",
41
+ "@teambit/lanes.hooks.use-lanes": "0.0.26",
51
42
  "@teambit/harmony.modules.resolved-component": "0.0.490",
52
- "@teambit/dependency-resolver": "0.0.844",
53
- "@teambit/compiler": "0.0.844",
54
- "@teambit/component": "0.0.844",
55
- "@teambit/graphql": "0.0.844",
56
- "@teambit/aspect-loader": "0.0.844",
57
- "@teambit/bundler": "0.0.844",
58
- "@teambit/community": "0.0.111",
59
- "@teambit/envs": "0.0.844",
60
- "@teambit/pubsub": "0.0.844",
61
- "@teambit/ui": "0.0.844",
62
- "@teambit/variants": "0.0.666",
43
+ "@teambit/compiler": "0.0.847",
44
+ "@teambit/component": "0.0.847",
45
+ "@teambit/harmony": "0.3.3",
46
+ "@teambit/graphql": "0.0.847",
47
+ "@teambit/aspect-loader": "0.0.847",
48
+ "@teambit/bundler": "0.0.847",
49
+ "@teambit/dependency-resolver": "0.0.847",
50
+ "@teambit/envs": "0.0.847",
51
+ "@teambit/pubsub": "0.0.847",
52
+ "@teambit/ui": "0.0.847",
53
+ "@teambit/variants": "0.0.668",
63
54
  "@teambit/component-issues": "0.0.72",
64
- "@teambit/config": "0.0.576",
55
+ "@teambit/config": "0.0.578",
65
56
  "@teambit/harmony.modules.requireable-component": "0.0.490",
66
- "@teambit/importer": "0.0.273",
67
57
  "@teambit/workspace.modules.match-pattern": "0.0.495",
68
- "@teambit/component.ui.component-drawer": "0.0.118",
58
+ "@teambit/component.ui.component-drawer": "0.0.120",
69
59
  "@teambit/design.ui.tree": "0.0.12",
70
- "@teambit/ui-foundation.ui.side-bar": "0.0.635",
71
- "@teambit/command-bar": "0.0.844",
60
+ "@teambit/ui-foundation.ui.side-bar": "0.0.637",
61
+ "@teambit/command-bar": "0.0.847",
72
62
  "@teambit/component.ui.component-filters.component-filter-context": "0.0.7",
73
63
  "@teambit/component.ui.component-filters.deprecate-filter": "0.0.7",
74
64
  "@teambit/component.ui.component-filters.env-filter": "0.0.13",
75
- "@teambit/graph": "0.0.844",
76
- "@teambit/sidebar": "0.0.844",
65
+ "@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
66
+ "@teambit/graph": "0.0.847",
67
+ "@teambit/sidebar": "0.0.847",
77
68
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.493",
78
69
  "@teambit/ui-foundation.ui.menu": "0.0.493",
79
70
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.496",
80
71
  "@teambit/ui-foundation.ui.tree.drawer": "0.0.505",
81
- "@teambit/toolbox.time.time-format": "0.0.489",
82
72
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.496",
83
- "@teambit/component-descriptor": "0.0.132",
84
- "@teambit/deprecation": "0.0.844",
73
+ "@teambit/component-descriptor": "0.0.134",
74
+ "@teambit/deprecation": "0.0.847",
85
75
  "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.494",
76
+ "@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
77
+ "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
86
78
  "@teambit/ui-foundation.ui.buttons.collapser": "0.0.201",
87
79
  "@teambit/ui-foundation.ui.corner": "0.0.504",
88
80
  "@teambit/ui-foundation.ui.notifications.notification-context": "0.0.493",
89
81
  "@teambit/ui-foundation.ui.top-bar": "0.0.499",
90
82
  "@teambit/explorer.ui.gallery.component-grid": "0.0.492",
91
83
  "@teambit/workspace.ui.empty-workspace": "0.0.499",
92
- "@teambit/workspace.ui.workspace-component-card": "0.0.504"
84
+ "@teambit/workspace.ui.workspace-component-card": "0.0.505"
93
85
  },
94
86
  "devDependencies": {
95
87
  "@types/lodash": "4.14.165",
96
88
  "@types/lodash.compact": "3.0.6",
97
89
  "@types/react": "^17.0.8",
98
- "@types/semver": "7.3.4",
99
90
  "@types/fs-extra": "9.0.7",
100
91
  "@types/memoizee": "0.4.5",
101
92
  "@types/pluralize": "0.0.29",
@@ -109,7 +100,7 @@
109
100
  "peerDependencies": {
110
101
  "react-router-dom": "^6.0.0",
111
102
  "@apollo/client": "^3.6.0",
112
- "@teambit/legacy": "1.0.344",
103
+ "@teambit/legacy": "1.0.346",
113
104
  "react-dom": "^16.8.0 || ^17.0.0",
114
105
  "react": "^16.8.0 || ^17.0.0"
115
106
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.844/dist/workspace.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.844/dist/workspace.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.847/dist/workspace.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.847/dist/workspace.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -37,6 +37,9 @@ const wcComponentFields = gql`
37
37
  }
38
38
  isDeleted
39
39
  }
40
+ preview {
41
+ isScaling
42
+ }
40
43
  deprecation {
41
44
  isDeprecate
42
45
  newId
@@ -227,6 +227,11 @@ export class WorkspaceComponentLoader {
227
227
  }
228
228
 
229
229
  private async executeLoadSlot(component: Component, loadOpts?: ComponentLoadOptions) {
230
+ if (component.state._consumer.removed) {
231
+ // if it was soft-removed now, the component is not in the FS. loading aspects such as composition ends up with
232
+ // errors as they try to read component files from the filesystem.
233
+ return component;
234
+ }
230
235
  const entries = this.workspace.onComponentLoadSlot.toArray();
231
236
  const promises = entries.map(async ([extension, onLoad]) => {
232
237
  const data = await onLoad(component, loadOpts);