@teambit/workspace 0.0.843 → 0.0.846

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 (86) 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.d.ts +9 -60
  6. package/dist/workspace.js +37 -409
  7. package/dist/workspace.js.map +1 -1
  8. package/dist/workspace.main.runtime.js +1 -11
  9. package/dist/workspace.main.runtime.js.map +1 -1
  10. package/dist/workspace.provider.d.ts +2 -4
  11. package/dist/workspace.provider.js +3 -66
  12. package/dist/workspace.provider.js.map +1 -1
  13. package/dist/workspace.ui.runtime.d.ts +2 -1
  14. package/dist/workspace.ui.runtime.js +27 -6
  15. package/dist/workspace.ui.runtime.js.map +1 -1
  16. package/package-tar/teambit-workspace-0.0.846.tgz +0 -0
  17. package/package.json +33 -42
  18. package/{preview-1662089982043.js → preview-1662608124038.js} +2 -2
  19. package/ui/workspace/use-workspace.ts +3 -0
  20. package/workspace.ui.runtime.tsx +16 -6
  21. package/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -171
  22. package/dist/__snapshots__/pick-outdated-pkgs.spec.js.snap +0 -171
  23. package/dist/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -171
  24. package/dist/exceptions/dependency-type-not-supported-in-policy.d.ts +0 -4
  25. package/dist/exceptions/dependency-type-not-supported-in-policy.js +0 -27
  26. package/dist/exceptions/dependency-type-not-supported-in-policy.js.map +0 -1
  27. package/dist/exceptions/index.d.ts +0 -1
  28. package/dist/exceptions/index.js +0 -23
  29. package/dist/exceptions/index.js.map +0 -1
  30. package/dist/install.cmd.d.ts +0 -44
  31. package/dist/install.cmd.js +0 -85
  32. package/dist/install.cmd.js.map +0 -1
  33. package/dist/link/component-list-links.d.ts +0 -7
  34. package/dist/link/component-list-links.js +0 -98
  35. package/dist/link/component-list-links.js.map +0 -1
  36. package/dist/link/core-aspects-links.d.ts +0 -7
  37. package/dist/link/core-aspects-links.js +0 -95
  38. package/dist/link/core-aspects-links.js.map +0 -1
  39. package/dist/link/get-package-name-from-target.d.ts +0 -1
  40. package/dist/link/get-package-name-from-target.js +0 -16
  41. package/dist/link/get-package-name-from-target.js.map +0 -1
  42. package/dist/link/index.d.ts +0 -1
  43. package/dist/link/index.js +0 -23
  44. package/dist/link/index.js.map +0 -1
  45. package/dist/link/link-row.d.ts +0 -12
  46. package/dist/link/link-row.js +0 -38
  47. package/dist/link/link-row.js.map +0 -1
  48. package/dist/link/link-to-dir.d.ts +0 -2
  49. package/dist/link/link-to-dir.js +0 -45
  50. package/dist/link/link-to-dir.js.map +0 -1
  51. package/dist/link/link.cmd.d.ts +0 -44
  52. package/dist/link/link.cmd.js +0 -176
  53. package/dist/link/link.cmd.js.map +0 -1
  54. package/dist/link/nested-deps-in-nm-links.d.ts +0 -7
  55. package/dist/link/nested-deps-in-nm-links.js +0 -74
  56. package/dist/link/nested-deps-in-nm-links.js.map +0 -1
  57. package/dist/link/rewire-row.d.ts +0 -6
  58. package/dist/link/rewire-row.js +0 -31
  59. package/dist/link/rewire-row.js.map +0 -1
  60. package/dist/pick-outdated-pkgs.d.ts +0 -16
  61. package/dist/pick-outdated-pkgs.js +0 -308
  62. package/dist/pick-outdated-pkgs.js.map +0 -1
  63. package/dist/pick-outdated-pkgs.spec.d.ts +0 -1
  64. package/dist/pick-outdated-pkgs.spec.js +0 -121
  65. package/dist/pick-outdated-pkgs.spec.js.map +0 -1
  66. package/dist/uninstall.cmd.d.ts +0 -19
  67. package/dist/uninstall.cmd.js +0 -47
  68. package/dist/uninstall.cmd.js.map +0 -1
  69. package/dist/update.cmd.d.ts +0 -23
  70. package/dist/update.cmd.js +0 -47
  71. package/dist/update.cmd.js.map +0 -1
  72. package/exceptions/dependency-type-not-supported-in-policy.ts +0 -7
  73. package/exceptions/index.ts +0 -1
  74. package/install.cmd.tsx +0 -72
  75. package/link/component-list-links.ts +0 -50
  76. package/link/core-aspects-links.ts +0 -50
  77. package/link/get-package-name-from-target.ts +0 -5
  78. package/link/index.ts +0 -1
  79. package/link/link-row.ts +0 -20
  80. package/link/link-to-dir.ts +0 -13
  81. package/link/link.cmd.ts +0 -100
  82. package/link/nested-deps-in-nm-links.ts +0 -47
  83. package/link/rewire-row.ts +0 -17
  84. package/package-tar/teambit-workspace-0.0.843.tgz +0 -0
  85. package/uninstall.cmd.tsx +0 -23
  86. 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.843",
3
+ "version": "0.0.846",
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.843"
9
+ "version": "0.0.846"
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.81",
33
+ "@teambit/lane-id": "0.0.83",
43
34
  "@teambit/legacy-bit-id": "0.0.414",
44
- "@teambit/logger": "0.0.655",
45
- "@teambit/scope": "0.0.843",
46
- "@teambit/cli": "0.0.562",
47
- "@teambit/isolator": "0.0.843",
48
- "@teambit/component-tree": "0.0.631",
35
+ "@teambit/logger": "0.0.657",
36
+ "@teambit/scope": "0.0.846",
37
+ "@teambit/cli": "0.0.564",
38
+ "@teambit/isolator": "0.0.846",
39
+ "@teambit/component-tree": "0.0.634",
49
40
  "@teambit/component.ui.component-status-resolver": "0.0.499",
50
- "@teambit/lanes.hooks.use-lanes": "0.0.22",
41
+ "@teambit/lanes.hooks.use-lanes": "0.0.24",
51
42
  "@teambit/harmony.modules.resolved-component": "0.0.490",
52
- "@teambit/dependency-resolver": "0.0.843",
53
- "@teambit/compiler": "0.0.843",
54
- "@teambit/component": "0.0.843",
55
- "@teambit/graphql": "0.0.843",
56
- "@teambit/aspect-loader": "0.0.843",
57
- "@teambit/bundler": "0.0.843",
58
- "@teambit/community": "0.0.110",
59
- "@teambit/envs": "0.0.843",
60
- "@teambit/pubsub": "0.0.843",
61
- "@teambit/ui": "0.0.843",
62
- "@teambit/variants": "0.0.665",
43
+ "@teambit/compiler": "0.0.846",
44
+ "@teambit/component": "0.0.846",
45
+ "@teambit/harmony": "0.3.3",
46
+ "@teambit/graphql": "0.0.846",
47
+ "@teambit/aspect-loader": "0.0.846",
48
+ "@teambit/bundler": "0.0.846",
49
+ "@teambit/dependency-resolver": "0.0.846",
50
+ "@teambit/envs": "0.0.846",
51
+ "@teambit/pubsub": "0.0.846",
52
+ "@teambit/ui": "0.0.846",
53
+ "@teambit/variants": "0.0.667",
63
54
  "@teambit/component-issues": "0.0.72",
64
- "@teambit/config": "0.0.575",
55
+ "@teambit/config": "0.0.577",
65
56
  "@teambit/harmony.modules.requireable-component": "0.0.490",
66
- "@teambit/importer": "0.0.272",
67
57
  "@teambit/workspace.modules.match-pattern": "0.0.495",
68
- "@teambit/component.ui.component-drawer": "0.0.117",
58
+ "@teambit/component.ui.component-drawer": "0.0.119",
69
59
  "@teambit/design.ui.tree": "0.0.12",
70
- "@teambit/ui-foundation.ui.side-bar": "0.0.634",
71
- "@teambit/command-bar": "0.0.843",
60
+ "@teambit/ui-foundation.ui.side-bar": "0.0.636",
61
+ "@teambit/command-bar": "0.0.846",
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.843",
76
- "@teambit/sidebar": "0.0.843",
65
+ "@teambit/design.ui.surfaces.menu.link-item": "1.0.0",
66
+ "@teambit/graph": "0.0.846",
67
+ "@teambit/sidebar": "0.0.846",
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.131",
84
- "@teambit/deprecation": "0.0.843",
73
+ "@teambit/component-descriptor": "0.0.133",
74
+ "@teambit/deprecation": "0.0.846",
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.343",
103
+ "@teambit/legacy": "1.0.345",
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.843/dist/workspace.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.843/dist/workspace.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.846/dist/workspace.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.846/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
@@ -1,4 +1,5 @@
1
1
  import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';
2
+ import { compact, flatten } from 'lodash';
2
3
  import { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';
3
4
  import { Slot, SlotRegistry } from '@teambit/harmony';
4
5
  import { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
@@ -137,7 +138,7 @@ export class WorkspaceUI {
137
138
  <Workspace
138
139
  menuSlot={this.menuSlot}
139
140
  routeSlot={this.routeSlot}
140
- sidebar={<this.sidebar.render itemSlot={this.sidebarItemSlot} />}
141
+ sidebar={<this.sidebar.render items={this.listSidebarItems()} />}
141
142
  workspaceUI={this}
142
143
  onSidebarTogglerChange={this.setKeyBindHandler}
143
144
  />
@@ -147,6 +148,13 @@ export class WorkspaceUI {
147
148
  };
148
149
  }
149
150
 
151
+ listSidebarItems() {
152
+ const items = flatten(this.sidebarItemSlot.values());
153
+ return compact(items.map((item) => {
154
+ return item.component;
155
+ }));
156
+ }
157
+
150
158
  private menuItems: MenuItem[] = [
151
159
  {
152
160
  category: 'general',
@@ -221,11 +229,13 @@ export class WorkspaceUI {
221
229
  ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));
222
230
  workspaceUI.registerMenuItem(workspaceUI.menuItems);
223
231
 
224
- workspaceUI.registerSidebarLink(() => (
225
- <MenuLinkItem exact href="/" icon="comps">
226
- Gallery
227
- </MenuLinkItem>
228
- ));
232
+ workspaceUI.registerSidebarLink({
233
+ component: function Gallery() {
234
+ return <MenuLinkItem exact href="/" icon="comps">
235
+ Gallery
236
+ </MenuLinkItem>;
237
+ },
238
+ });
229
239
 
230
240
  workspaceUI.registerMenuRoutes([
231
241
  {