@teambit/component 0.0.880 → 0.0.882

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 (136) hide show
  1. package/dist/aspect-entry.js +3 -16
  2. package/dist/aspect-entry.js.map +1 -1
  3. package/dist/aspect-list.js +6 -35
  4. package/dist/aspect-list.js.map +1 -1
  5. package/dist/aspect.section.js +0 -16
  6. package/dist/aspect.section.js.map +1 -1
  7. package/dist/component-fs.js +2 -25
  8. package/dist/component-fs.js.map +1 -1
  9. package/dist/component-map/component-map.js +10 -26
  10. package/dist/component-map/component-map.js.map +1 -1
  11. package/dist/component-map/index.js +0 -3
  12. package/dist/component-map/index.js.map +1 -1
  13. package/dist/component-meta.js +1 -14
  14. package/dist/component-meta.js.map +1 -1
  15. package/dist/component.aspect.js +0 -5
  16. package/dist/component.aspect.js.map +1 -1
  17. package/dist/component.composition.js +0 -6
  18. package/dist/component.composition.js.map +1 -1
  19. package/dist/component.graphql.js +2 -26
  20. package/dist/component.graphql.js.map +1 -1
  21. package/dist/component.js +19 -90
  22. package/dist/component.js.map +1 -1
  23. package/dist/component.main.runtime.js +6 -64
  24. package/dist/component.main.runtime.js.map +1 -1
  25. package/dist/component.route.js +2 -14
  26. package/dist/component.route.js.map +1 -1
  27. package/dist/component.ui.runtime.js +3 -83
  28. package/dist/component.ui.runtime.js.map +1 -1
  29. package/dist/config.js +0 -3
  30. package/dist/config.js.map +1 -1
  31. package/dist/dependencies/dependencies.js +7 -32
  32. package/dist/dependencies/dependencies.js.map +1 -1
  33. package/dist/dependencies/index.js +0 -3
  34. package/dist/dependencies/index.js.map +1 -1
  35. package/dist/exceptions/could-not-find-latest.js +0 -4
  36. package/dist/exceptions/could-not-find-latest.js.map +1 -1
  37. package/dist/exceptions/host-not-found.js +0 -4
  38. package/dist/exceptions/host-not-found.js.map +1 -1
  39. package/dist/exceptions/index.js +0 -13
  40. package/dist/exceptions/index.js.map +1 -1
  41. package/dist/exceptions/main-file-not-found.js +0 -4
  42. package/dist/exceptions/main-file-not-found.js.map +1 -1
  43. package/dist/exceptions/nothing-to-snap.js +0 -2
  44. package/dist/exceptions/nothing-to-snap.js.map +1 -1
  45. package/dist/history-graph.js +0 -2
  46. package/dist/history-graph.js.map +1 -1
  47. package/dist/host/component-host-model.js +0 -7
  48. package/dist/host/component-host-model.js.map +1 -1
  49. package/dist/host/index.js +0 -5
  50. package/dist/host/index.js.map +1 -1
  51. package/dist/host/use-component-host.js +0 -14
  52. package/dist/host/use-component-host.js.map +1 -1
  53. package/dist/index.js +0 -63
  54. package/dist/index.js.map +1 -1
  55. package/dist/section/index.js +0 -3
  56. package/dist/section/index.js.map +1 -1
  57. package/dist/show/extensions.fragment.js +0 -8
  58. package/dist/show/extensions.fragment.js.map +1 -1
  59. package/dist/show/files.fragment.js +0 -11
  60. package/dist/show/files.fragment.js.map +1 -1
  61. package/dist/show/id.fragment.js +0 -10
  62. package/dist/show/id.fragment.js.map +1 -1
  63. package/dist/show/index.js +0 -24
  64. package/dist/show/index.js.map +1 -1
  65. package/dist/show/main-file.fragment.js +0 -9
  66. package/dist/show/main-file.fragment.js.map +1 -1
  67. package/dist/show/name.fragment.js +0 -9
  68. package/dist/show/name.fragment.js.map +1 -1
  69. package/dist/show/scope.fragment.js +0 -10
  70. package/dist/show/scope.fragment.js.map +1 -1
  71. package/dist/show/show.cmd.js +1 -33
  72. package/dist/show/show.cmd.js.map +1 -1
  73. package/dist/snap/index.js +0 -6
  74. package/dist/snap/index.js.map +1 -1
  75. package/dist/snap/snap.js +0 -5
  76. package/dist/snap/snap.js.map +1 -1
  77. package/dist/state.js +6 -24
  78. package/dist/state.js.map +1 -1
  79. package/dist/store.js +0 -5
  80. package/dist/store.js.map +1 -1
  81. package/dist/tag/index.js +0 -3
  82. package/dist/tag/index.js.map +1 -1
  83. package/dist/tag/tag.js +1 -9
  84. package/dist/tag/tag.js.map +1 -1
  85. package/dist/tag-map.js +4 -28
  86. package/dist/tag-map.js.map +1 -1
  87. package/dist/ui/aspect-page/aspect-page.js +2 -35
  88. package/dist/ui/aspect-page/aspect-page.js.map +1 -1
  89. package/dist/ui/aspect-page/index.js +0 -3
  90. package/dist/ui/aspect-page/index.js.map +1 -1
  91. package/dist/ui/component-error/component-error.js +0 -14
  92. package/dist/ui/component-error/component-error.js.map +1 -1
  93. package/dist/ui/component-error/index.js +0 -3
  94. package/dist/ui/component-error/index.js.map +1 -1
  95. package/dist/ui/component-model/component-model.js +2 -21
  96. package/dist/ui/component-model/component-model.js.map +1 -1
  97. package/dist/ui/component-model/index.js +0 -3
  98. package/dist/ui/component-model/index.js.map +1 -1
  99. package/dist/ui/component-searcher/component-result.js +0 -20
  100. package/dist/ui/component-searcher/component-result.js.map +1 -1
  101. package/dist/ui/component-searcher/component-searcher.js +0 -22
  102. package/dist/ui/component-searcher/component-searcher.js.map +1 -1
  103. package/dist/ui/component-searcher/index.js +0 -3
  104. package/dist/ui/component-searcher/index.js.map +1 -1
  105. package/dist/ui/component.js +5 -40
  106. package/dist/ui/component.js.map +1 -1
  107. package/dist/ui/context/component-context.js +0 -9
  108. package/dist/ui/context/component-context.js.map +1 -1
  109. package/dist/ui/context/component-provider.js +0 -9
  110. package/dist/ui/context/component-provider.js.map +1 -1
  111. package/dist/ui/context/index.js +0 -6
  112. package/dist/ui/context/index.js.map +1 -1
  113. package/dist/ui/index.js +0 -21
  114. package/dist/ui/index.js.map +1 -1
  115. package/dist/ui/menu/index.js +0 -3
  116. package/dist/ui/menu/index.js.map +1 -1
  117. package/dist/ui/menu/menu-nav.js +4 -23
  118. package/dist/ui/menu/menu-nav.js.map +1 -1
  119. package/dist/ui/menu/menu.js +0 -70
  120. package/dist/ui/menu/menu.js.map +1 -1
  121. package/dist/ui/menu/mobile-menu-nav.js +6 -49
  122. package/dist/ui/menu/mobile-menu-nav.js.map +1 -1
  123. package/dist/ui/top-bar-nav/index.js +0 -2
  124. package/dist/ui/top-bar-nav/index.js.map +1 -1
  125. package/dist/ui/top-bar-nav/top-bar-nav.js +8 -32
  126. package/dist/ui/top-bar-nav/top-bar-nav.js.map +1 -1
  127. package/dist/ui/use-component-from-location.js +0 -9
  128. package/dist/ui/use-component-from-location.js.map +1 -1
  129. package/dist/ui/use-component-query.js +12 -60
  130. package/dist/ui/use-component-query.js.map +1 -1
  131. package/dist/ui/use-component.js +0 -11
  132. package/dist/ui/use-component.js.map +1 -1
  133. package/package-tar/teambit-component-0.0.882.tgz +0 -0
  134. package/package.json +20 -20
  135. package/{preview-1666312873430.js → preview-1666496165706.js} +2 -2
  136. package/package-tar/teambit-component-0.0.880.tgz +0 -0
@@ -1,200 +1,140 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.default = exports.ComponentUI = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _react() {
25
18
  const data = _interopRequireDefault(require("react"));
26
-
27
19
  _react = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _lodash() {
35
25
  const data = _interopRequireDefault(require("lodash.flatten"));
36
-
37
26
  _lodash = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  function _copyToClipboard() {
45
32
  const data = _interopRequireDefault(require("copy-to-clipboard"));
46
-
47
33
  _copyToClipboard = function () {
48
34
  return data;
49
35
  };
50
-
51
36
  return data;
52
37
  }
53
-
54
38
  function _commandBar() {
55
39
  const data = _interopRequireDefault(require("@teambit/command-bar"));
56
-
57
40
  _commandBar = function () {
58
41
  return data;
59
42
  };
60
-
61
43
  return data;
62
44
  }
63
-
64
45
  function _componentUi() {
65
46
  const data = require("@teambit/component.ui.deprecation-icon");
66
-
67
47
  _componentUi = function () {
68
48
  return data;
69
49
  };
70
-
71
50
  return data;
72
51
  }
73
-
74
52
  function _harmony() {
75
53
  const data = require("@teambit/harmony");
76
-
77
54
  _harmony = function () {
78
55
  return data;
79
56
  };
80
-
81
57
  return data;
82
58
  }
83
-
84
59
  function _preview() {
85
60
  const data = _interopRequireWildcard(require("@teambit/preview"));
86
-
87
61
  _preview = function () {
88
62
  return data;
89
63
  };
90
-
91
64
  return data;
92
65
  }
93
-
94
66
  function _pubsub() {
95
67
  const data = _interopRequireDefault(require("@teambit/pubsub"));
96
-
97
68
  _pubsub = function () {
98
69
  return data;
99
70
  };
100
-
101
71
  return data;
102
72
  }
103
-
104
73
  function _reactRouter() {
105
74
  const data = _interopRequireDefault(require("@teambit/react-router"));
106
-
107
75
  _reactRouter = function () {
108
76
  return data;
109
77
  };
110
-
111
78
  return data;
112
79
  }
113
-
114
80
  function _ui() {
115
81
  const data = require("@teambit/ui");
116
-
117
82
  _ui = function () {
118
83
  return data;
119
84
  };
120
-
121
85
  return data;
122
86
  }
123
-
124
87
  function _uiFoundationUi() {
125
88
  const data = require("@teambit/ui-foundation.ui.is-browser");
126
-
127
89
  _uiFoundationUi = function () {
128
90
  return data;
129
91
  };
130
-
131
92
  return data;
132
93
  }
133
-
134
94
  function _uiFoundationUiUseBox() {
135
95
  const data = require("@teambit/ui-foundation.ui.use-box.menu");
136
-
137
96
  _uiFoundationUiUseBox = function () {
138
97
  return data;
139
98
  };
140
-
141
99
  return data;
142
100
  }
143
-
144
101
  function _aspect() {
145
102
  const data = require("./aspect.section");
146
-
147
103
  _aspect = function () {
148
104
  return data;
149
105
  };
150
-
151
106
  return data;
152
107
  }
153
-
154
108
  function _component() {
155
109
  const data = require("./component.aspect");
156
-
157
110
  _component = function () {
158
111
  return data;
159
112
  };
160
-
161
113
  return data;
162
114
  }
163
-
164
115
  function _component2() {
165
116
  const data = require("./ui/component");
166
-
167
117
  _component2 = function () {
168
118
  return data;
169
119
  };
170
-
171
120
  return data;
172
121
  }
173
-
174
122
  function _componentSearcher() {
175
123
  const data = require("./ui/component-searcher");
176
-
177
124
  _componentSearcher = function () {
178
125
  return data;
179
126
  };
180
-
181
127
  return data;
182
128
  }
183
-
184
129
  function _menu() {
185
130
  const data = require("./ui/menu");
186
-
187
131
  _menu = function () {
188
132
  return data;
189
133
  };
190
-
191
134
  return data;
192
135
  }
193
-
194
136
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
195
-
196
137
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
197
-
198
138
  class ComponentUI {
199
139
  constructor(
200
140
  /**
@@ -219,12 +159,9 @@ class ComponentUI {
219
159
  (0, _defineProperty2().default)(this, "activeComponent", void 0);
220
160
  (0, _defineProperty2().default)(this, "copyNpmId", () => {
221
161
  var _this$activeComponent;
222
-
223
162
  const packageName = (_this$activeComponent = this.activeComponent) === null || _this$activeComponent === void 0 ? void 0 : _this$activeComponent.packageName;
224
-
225
163
  if (packageName) {
226
164
  var _this$activeComponent2;
227
-
228
165
  const version = (_this$activeComponent2 = this.activeComponent) === null || _this$activeComponent2 === void 0 ? void 0 : _this$activeComponent2.id.version;
229
166
  const versionString = version ? `@${version}` : '';
230
167
  (0, _copyToClipboard().default)(`${packageName}${versionString}`);
@@ -235,7 +172,6 @@ class ComponentUI {
235
172
  // TODO - extract to a component!
236
173
  action: () => {
237
174
  var _this$activeComponent3;
238
-
239
175
  (0, _copyToClipboard().default)(((_this$activeComponent3 = this.activeComponent) === null || _this$activeComponent3 === void 0 ? void 0 : _this$activeComponent3.id.toString()) || '');
240
176
  },
241
177
  displayName: 'Copy component ID',
@@ -253,7 +189,6 @@ class ComponentUI {
253
189
  keyChar: 'mod+k',
254
190
  handler: () => {
255
191
  var _this$commandBarUI;
256
-
257
192
  return (_this$commandBarUI = this.commandBarUI) === null || _this$commandBarUI === void 0 ? void 0 : _this$commandBarUI.run('command-bar.open');
258
193
  }
259
194
  }, {
@@ -262,7 +197,6 @@ class ComponentUI {
262
197
  keyChar: 'alt+s',
263
198
  handler: () => {
264
199
  var _this$commandBarUI2;
265
-
266
200
  return (_this$commandBarUI2 = this.commandBarUI) === null || _this$commandBarUI2 === void 0 ? void 0 : _this$commandBarUI2.run('sidebar.toggle');
267
201
  }
268
202
  }, {
@@ -271,7 +205,6 @@ class ComponentUI {
271
205
  keyChar: '.',
272
206
  handler: () => {
273
207
  var _this$commandBarUI3;
274
-
275
208
  return (_this$commandBarUI3 = this.commandBarUI) === null || _this$commandBarUI3 === void 0 ? void 0 : _this$commandBarUI3.run('component.copyBitId');
276
209
  }
277
210
  }, {
@@ -280,7 +213,6 @@ class ComponentUI {
280
213
  keyChar: ',',
281
214
  handler: () => {
282
215
  var _this$commandBarUI4;
283
-
284
216
  return (_this$commandBarUI4 = this.commandBarUI) === null || _this$commandBarUI4 === void 0 ? void 0 : _this$commandBarUI4.run('component.copyNpmId');
285
217
  }
286
218
  }]);
@@ -326,11 +258,11 @@ class ComponentUI {
326
258
  });
327
259
  if (_uiFoundationUi().isBrowser) this.registerPubSub();
328
260
  }
261
+
329
262
  /**
330
263
  * the current visible component
331
264
  */
332
265
 
333
-
334
266
  registerPubSub() {
335
267
  this.pubsub.sub(_preview().default.id, be => {
336
268
  if (be.type === _preview().ClickInsideAnIframeEvent.TYPE) {
@@ -344,7 +276,6 @@ class ComponentUI {
344
276
  }
345
277
  });
346
278
  }
347
-
348
279
  getComponentUI(host, options = {}) {
349
280
  return /*#__PURE__*/_react().default.createElement(_component2().Component, {
350
281
  routeSlot: this.routeSlot,
@@ -357,7 +288,6 @@ class ComponentUI {
357
288
  useComponentFilters: options.useComponentFilters
358
289
  });
359
290
  }
360
-
361
291
  getMenu(host, options = {}) {
362
292
  return /*#__PURE__*/_react().default.createElement(_menu().ComponentMenu, {
363
293
  navigationSlot: this.navSlot,
@@ -371,55 +301,46 @@ class ComponentUI {
371
301
  useComponentFilters: options.useComponentFilters
372
302
  });
373
303
  }
374
-
375
304
  registerRoute(routes) {
376
305
  this.routeSlot.register(routes);
377
306
  return this;
378
307
  }
379
-
380
308
  registerNavigation(nav, order) {
381
309
  this.navSlot.register({
382
310
  props: nav,
383
311
  order
384
312
  });
385
313
  }
386
-
387
314
  registerConsumeMethod(...consumeMethods) {
388
315
  this.consumeMethodSlot.register(consumeMethods);
389
316
  }
390
-
391
317
  registerWidget(widget, order) {
392
318
  this.widgetSlot.register({
393
319
  props: widget,
394
320
  order
395
321
  });
396
322
  }
397
-
398
323
  static async provider([pubsub, commandBarUI, reactRouterUI], config, [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]) {
399
324
  // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)
400
325
  // TODO: add contextual hook for ComponentHost @uri/@oded
401
326
  const componentUI = new ComponentUI(pubsub, routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot, commandBarUI, reactRouterUI);
402
- const aspectSection = new (_aspect().AspectSection)(); // @ts-ignore
403
-
327
+ const aspectSection = new (_aspect().AspectSection)();
328
+ // @ts-ignore
404
329
  componentUI.registerSearchResultWidget({
405
330
  key: 'deprecation',
406
331
  end: _componentUi().DeprecationIcon
407
332
  });
408
-
409
333
  if (componentUI.commandBarUI && config.commandBar) {
410
334
  componentUI.commandBarUI.addCommand(...componentUI.keyBindings);
411
335
  commandBarUI.addSearcher(componentUI.componentSearcher);
412
336
  }
413
-
414
337
  componentUI.registerMenuItem(componentUI.menuItems);
415
338
  componentUI.registerRoute(aspectSection.route);
416
339
  componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);
417
340
  componentUI.registerConsumeMethod(componentUI.bitMethod);
418
341
  return componentUI;
419
342
  }
420
-
421
343
  }
422
-
423
344
  exports.ComponentUI = ComponentUI;
424
345
  (0, _defineProperty2().default)(ComponentUI, "dependencies", [_pubsub().default, _commandBar().default, _reactRouter().default]);
425
346
  (0, _defineProperty2().default)(ComponentUI, "runtime", _ui().UIRuntime);
@@ -429,7 +350,6 @@ exports.ComponentUI = ComponentUI;
429
350
  });
430
351
  var _default = ComponentUI;
431
352
  exports.default = _default;
432
-
433
353
  _component().ComponentAspect.addRuntime(ComponentUI);
434
354
 
435
355
  //# sourceMappingURL=component.ui.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","comp","options","latest","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","path","useComponent","componentId","useComponentFilters","getMenu","registerRoute","routes","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","key","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\n\nimport type { LinkProps } from '@teambit/base-react.navigation.link';\nimport CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport PreviewAspect, { ClickInsideAnIframeEvent } from '@teambit/preview';\nimport PubsubAspect, { BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\n\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport { ConsumeMethodSlot, ConsumePlugin, ComponentMenu, NavPlugin, OrderedNavigationSlot } from './ui/menu';\nimport { GetComponentsOptions } from './get-component-opts';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type ComponentUIConfig = {\n commandBar: boolean;\n};\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport class ComponentUI {\n readonly routePath = `/*`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n private consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${version}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\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 category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${comp.version}`;\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${version}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string, options: GetComponentsOptions = {}) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n path={options.path}\n useComponent={options.useComponent}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n useComponent={options.useComponent}\n path={options.path}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n />\n );\n }\n\n registerRoute(routes: RouteProps[] | RouteProps) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerNavigation(nav: LinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: LinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components || []);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const aspectSection = new AspectSection();\n // @ts-ignore\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n if (componentUI.commandBarUI && config.commandBar) {\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n }\n\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(aspectSection.route);\n componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
1
+ {"version":3,"names":["ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","comp","options","latest","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","path","useComponent","componentId","useComponentFilters","getMenu","registerRoute","routes","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","key","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\n\nimport type { LinkProps } from '@teambit/base-react.navigation.link';\nimport CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport PreviewAspect, { ClickInsideAnIframeEvent } from '@teambit/preview';\nimport PubsubAspect, { BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\n\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport { ConsumeMethodSlot, ConsumePlugin, ComponentMenu, NavPlugin, OrderedNavigationSlot } from './ui/menu';\nimport { GetComponentsOptions } from './get-component-opts';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type ComponentUIConfig = {\n commandBar: boolean;\n};\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport class ComponentUI {\n readonly routePath = `/*`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n private consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${version}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\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 category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${comp.version}`;\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${version}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string, options: GetComponentsOptions = {}) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n path={options.path}\n useComponent={options.useComponent}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n useComponent={options.useComponent}\n path={options.path}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n />\n );\n }\n\n registerRoute(routes: RouteProps[] | RouteProps) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerNavigation(nav: LinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: LinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components || []);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const aspectSection = new AspectSection();\n // @ts-ignore\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n if (componentUI.commandBarUI && config.commandBar) {\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n }\n\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(aspectSection.route);\n componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
package/dist/config.js CHANGED
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  // import { CustomResolvedPath } from '@teambit/legacy/dist/consumer/component/consumer-component';
9
8
  // import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';
10
9
 
@@ -25,9 +24,7 @@ class Config {
25
24
  this.extensions = extensions;
26
25
  this.legacyProperties = legacyProperties;
27
26
  }
28
-
29
27
  }
30
-
31
28
  exports.default = Config;
32
29
 
33
30
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Config","constructor","main","extensions","legacyProperties"],"sources":["config.ts"],"sourcesContent":["import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinux } from '@teambit/legacy/dist/utils/path';\n// import { CustomResolvedPath } from '@teambit/legacy/dist/consumer/component/consumer-component';\n// import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\n\ntype LegacyConfigProps = {\n lang?: string;\n bindingPrefix: string;\n extensions?: ExtensionDataList;\n overrides?: ComponentOverridesData;\n};\n\n/**\n * in-memory representation of the component configuration.\n */\nexport default class Config {\n constructor(\n /**\n * version main file\n */\n readonly main: PathLinux,\n\n /**\n * configured extensions\n */\n readonly extensions: ExtensionDataList,\n\n readonly legacyProperties?: LegacyConfigProps\n ) {}\n}\n"],"mappings":";;;;;;;AAGA;AACA;;AASA;AACA;AACA;AACe,MAAMA,MAAN,CAAa;EAC1BC,WAAW;EACT;AACJ;AACA;EACaC,IAJA;EAMT;AACJ;AACA;EACaC,UATA,EAWAC,gBAXA,EAYT;IAAA,KARSF,IAQT,GARSA,IAQT;IAAA,KAHSC,UAGT,GAHSA,UAGT;IAAA,KADSC,gBACT,GADSA,gBACT;EAAE;;AAbsB"}
1
+ {"version":3,"names":["Config","constructor","main","extensions","legacyProperties"],"sources":["config.ts"],"sourcesContent":["import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinux } from '@teambit/legacy/dist/utils/path';\n// import { CustomResolvedPath } from '@teambit/legacy/dist/consumer/component/consumer-component';\n// import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\n\ntype LegacyConfigProps = {\n lang?: string;\n bindingPrefix: string;\n extensions?: ExtensionDataList;\n overrides?: ComponentOverridesData;\n};\n\n/**\n * in-memory representation of the component configuration.\n */\nexport default class Config {\n constructor(\n /**\n * version main file\n */\n readonly main: PathLinux,\n\n /**\n * configured extensions\n */\n readonly extensions: ExtensionDataList,\n\n readonly legacyProperties?: LegacyConfigProps\n ) {}\n}\n"],"mappings":";;;;;;AAGA;AACA;;AASA;AACA;AACA;AACe,MAAMA,MAAM,CAAC;EAC1BC,WAAW;EACT;AACJ;AACA;EACaC,IAAe;EAExB;AACJ;AACA;EACaC,UAA6B,EAE7BC,gBAAoC,EAC7C;IAAA,KARSF,IAAe,GAAfA,IAAe;IAAA,KAKfC,UAA6B,GAA7BA,UAA6B;IAAA,KAE7BC,gBAAoC,GAApCA,gBAAoC;EAC5C;AACL;AAAC"}
@@ -1,58 +1,45 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.array.iterator.js");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.PackageDependency = exports.DependencyList = exports.DependencyId = exports.Dependency = exports.Dependencies = exports.ComponentDependency = void 0;
9
-
10
8
  function _bitError() {
11
9
  const data = require("@teambit/bit-error");
12
-
13
10
  _bitError = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  function _legacyBitId() {
21
16
  const data = require("@teambit/legacy-bit-id");
22
-
23
17
  _legacyBitId = function () {
24
18
  return data;
25
19
  };
26
-
27
20
  return data;
28
21
  }
29
-
30
22
  /* eslint-disable max-classes-per-file */
23
+
31
24
  const DEV_ENV = 'development';
32
- const RUNTIME_ENV = 'runtime'; // type Environment = DEV_ENV | RUNTIME_ENV;
25
+ const RUNTIME_ENV = 'runtime';
26
+
27
+ // type Environment = DEV_ENV | RUNTIME_ENV;
33
28
 
34
29
  // type WrappingMethod = 'component' | 'package';
35
- class DependencyId extends _legacyBitId().BitId {}
36
30
 
31
+ class DependencyId extends _legacyBitId().BitId {}
37
32
  exports.DependencyId = DependencyId;
38
-
39
33
  class Dependency {
40
34
  constructor(id) {
41
35
  this.id = id;
42
36
  }
43
-
44
37
  }
45
-
46
38
  exports.Dependency = Dependency;
47
-
48
39
  class PackageDependency extends Dependency {}
49
-
50
40
  exports.PackageDependency = PackageDependency;
51
-
52
41
  class ComponentDependency extends Dependency {}
53
-
54
42
  exports.ComponentDependency = ComponentDependency;
55
-
56
43
  class DependencyList extends Array {
57
44
  /**
58
45
  * Get only package dependencies
@@ -63,62 +50,50 @@ class DependencyList extends Array {
63
50
  get packages() {
64
51
  return this.filter(dep => dep instanceof PackageDependency);
65
52
  }
66
-
67
53
  get components() {
68
54
  return this.filter(dep => dep instanceof ComponentDependency);
69
55
  }
70
-
71
56
  static fromArray(dependencies) {
72
57
  return new DependencyList(...dependencies);
73
58
  }
74
-
75
59
  }
76
-
77
60
  exports.DependencyList = DependencyList;
78
-
79
61
  class Dependencies {
80
62
  constructor(runtime, dev, peer) {
81
63
  this.runtime = runtime;
82
64
  this.dev = dev;
83
65
  this.peer = peer;
84
66
  }
85
-
86
67
  getByEnvironment(env) {
87
68
  if (env === DEV_ENV) {
88
69
  return DependencyList.fromArray(this.runtime.concat(this.dev).concat(this.peer));
89
70
  }
90
-
91
71
  if (env === RUNTIME_ENV) {
92
72
  return DependencyList.fromArray(this.runtime.concat(this.peer));
93
73
  }
94
-
95
74
  throw new (_bitError().BitError)(`env ${env} is not supported`);
96
75
  }
76
+
97
77
  /**
98
78
  * Get dependencies needed for development environnement such as runtime, dev and peer
99
79
  *
100
80
  * @returns {DependencyList}
101
81
  * @memberof Dependencies
102
82
  */
103
-
104
-
105
83
  computeDev() {
106
84
  return this.getByEnvironment(DEV_ENV);
107
85
  }
86
+
108
87
  /**
109
88
  * Get dependencies needed for runtime environnement such as runtime and peer
110
89
  *
111
90
  * @returns {DependencyList}
112
91
  * @memberof Dependencies
113
92
  */
114
-
115
-
116
93
  computeRuntime() {
117
94
  return this.getByEnvironment(RUNTIME_ENV);
118
95
  }
119
-
120
96
  }
121
-
122
97
  exports.Dependencies = Dependencies;
123
98
 
124
99
  //# sourceMappingURL=dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEV_ENV","RUNTIME_ENV","DependencyId","BitId","Dependency","constructor","id","PackageDependency","ComponentDependency","DependencyList","Array","packages","filter","dep","components","fromArray","dependencies","Dependencies","runtime","dev","peer","getByEnvironment","env","concat","BitError","computeDev","computeRuntime"],"sources":["dependencies.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\n\nconst DEV_ENV = 'development';\nconst RUNTIME_ENV = 'runtime';\n\n// type Environment = DEV_ENV | RUNTIME_ENV;\ntype Environment = 'development' | 'runtime';\n// type WrappingMethod = 'component' | 'package';\n\nexport class DependencyId extends BitId {}\n\nexport class Dependency {\n constructor(public id: DependencyId) {}\n}\n\nexport class PackageDependency extends Dependency {}\n\nexport class ComponentDependency extends Dependency {}\n\nexport class DependencyList extends Array<Dependency> {\n /**\n * Get only package dependencies\n *\n * @readonly\n * @memberof DependencyList\n */\n get packages(): PackageDependency[] {\n return this.filter((dep) => dep instanceof PackageDependency);\n }\n\n get components(): ComponentDependency[] {\n return this.filter((dep) => dep instanceof ComponentDependency);\n }\n\n static fromArray(dependencies: Dependency[]): DependencyList {\n return new DependencyList(...dependencies);\n }\n}\n\nexport class Dependencies {\n constructor(public runtime: DependencyList, public dev: DependencyList, public peer: DependencyList) {}\n\n private getByEnvironment(env: Environment): DependencyList {\n if (env === DEV_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.dev).concat(this.peer));\n }\n if (env === RUNTIME_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.peer));\n }\n throw new BitError(`env ${env} is not supported`);\n }\n\n /**\n * Get dependencies needed for development environnement such as runtime, dev and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeDev(): DependencyList {\n return this.getByEnvironment(DEV_ENV);\n }\n\n /**\n * Get dependencies needed for runtime environnement such as runtime and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeRuntime(): DependencyList {\n return this.getByEnvironment(RUNTIME_ENV);\n }\n}\n"],"mappings":";;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAFA;AAIA,MAAMA,OAAO,GAAG,aAAhB;AACA,MAAMC,WAAW,GAAG,SAApB,C,CAEA;;AAEA;AAEO,MAAMC,YAAN,SAA2BC,oBAA3B,CAAiC;;;;AAEjC,MAAMC,UAAN,CAAiB;EACtBC,WAAW,CAAQC,EAAR,EAA0B;IAAA,KAAlBA,EAAkB,GAAlBA,EAAkB;EAAE;;AADjB;;;;AAIjB,MAAMC,iBAAN,SAAgCH,UAAhC,CAA2C;;;;AAE3C,MAAMI,mBAAN,SAAkCJ,UAAlC,CAA6C;;;;AAE7C,MAAMK,cAAN,SAA6BC,KAA7B,CAA+C;EACpD;AACF;AACA;AACA;AACA;AACA;EACc,IAARC,QAAQ,GAAwB;IAClC,OAAO,KAAKC,MAAL,CAAaC,GAAD,IAASA,GAAG,YAAYN,iBAApC,CAAP;EACD;;EAEa,IAAVO,UAAU,GAA0B;IACtC,OAAO,KAAKF,MAAL,CAAaC,GAAD,IAASA,GAAG,YAAYL,mBAApC,CAAP;EACD;;EAEe,OAATO,SAAS,CAACC,YAAD,EAA6C;IAC3D,OAAO,IAAIP,cAAJ,CAAmB,GAAGO,YAAtB,CAAP;EACD;;AAjBmD;;;;AAoB/C,MAAMC,YAAN,CAAmB;EACxBZ,WAAW,CAAQa,OAAR,EAAwCC,GAAxC,EAAoEC,IAApE,EAA0F;IAAA,KAAlFF,OAAkF,GAAlFA,OAAkF;IAAA,KAAlDC,GAAkD,GAAlDA,GAAkD;IAAA,KAAtBC,IAAsB,GAAtBA,IAAsB;EAAE;;EAE/FC,gBAAgB,CAACC,GAAD,EAAmC;IACzD,IAAIA,GAAG,KAAKtB,OAAZ,EAAqB;MACnB,OAAOS,cAAc,CAACM,SAAf,CAAyB,KAAKG,OAAL,CAAaK,MAAb,CAAoB,KAAKJ,GAAzB,EAA8BI,MAA9B,CAAqC,KAAKH,IAA1C,CAAzB,CAAP;IACD;;IACD,IAAIE,GAAG,KAAKrB,WAAZ,EAAyB;MACvB,OAAOQ,cAAc,CAACM,SAAf,CAAyB,KAAKG,OAAL,CAAaK,MAAb,CAAoB,KAAKH,IAAzB,CAAzB,CAAP;IACD;;IACD,MAAM,KAAII,oBAAJ,EAAc,OAAMF,GAAI,mBAAxB,CAAN;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACEG,UAAU,GAAmB;IAC3B,OAAO,KAAKJ,gBAAL,CAAsBrB,OAAtB,CAAP;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE0B,cAAc,GAAmB;IAC/B,OAAO,KAAKL,gBAAL,CAAsBpB,WAAtB,CAAP;EACD;;AA/BuB"}
1
+ {"version":3,"names":["DEV_ENV","RUNTIME_ENV","DependencyId","BitId","Dependency","constructor","id","PackageDependency","ComponentDependency","DependencyList","Array","packages","filter","dep","components","fromArray","dependencies","Dependencies","runtime","dev","peer","getByEnvironment","env","concat","BitError","computeDev","computeRuntime"],"sources":["dependencies.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\n\nconst DEV_ENV = 'development';\nconst RUNTIME_ENV = 'runtime';\n\n// type Environment = DEV_ENV | RUNTIME_ENV;\ntype Environment = 'development' | 'runtime';\n// type WrappingMethod = 'component' | 'package';\n\nexport class DependencyId extends BitId {}\n\nexport class Dependency {\n constructor(public id: DependencyId) {}\n}\n\nexport class PackageDependency extends Dependency {}\n\nexport class ComponentDependency extends Dependency {}\n\nexport class DependencyList extends Array<Dependency> {\n /**\n * Get only package dependencies\n *\n * @readonly\n * @memberof DependencyList\n */\n get packages(): PackageDependency[] {\n return this.filter((dep) => dep instanceof PackageDependency);\n }\n\n get components(): ComponentDependency[] {\n return this.filter((dep) => dep instanceof ComponentDependency);\n }\n\n static fromArray(dependencies: Dependency[]): DependencyList {\n return new DependencyList(...dependencies);\n }\n}\n\nexport class Dependencies {\n constructor(public runtime: DependencyList, public dev: DependencyList, public peer: DependencyList) {}\n\n private getByEnvironment(env: Environment): DependencyList {\n if (env === DEV_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.dev).concat(this.peer));\n }\n if (env === RUNTIME_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.peer));\n }\n throw new BitError(`env ${env} is not supported`);\n }\n\n /**\n * Get dependencies needed for development environnement such as runtime, dev and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeDev(): DependencyList {\n return this.getByEnvironment(DEV_ENV);\n }\n\n /**\n * Get dependencies needed for runtime environnement such as runtime and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeRuntime(): DependencyList {\n return this.getByEnvironment(RUNTIME_ENV);\n }\n}\n"],"mappings":";;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAFA;;AAIA,MAAMA,OAAO,GAAG,aAAa;AAC7B,MAAMC,WAAW,GAAG,SAAS;;AAE7B;;AAEA;;AAEO,MAAMC,YAAY,SAASC,oBAAK,CAAC;AAAE;AAEnC,MAAMC,UAAU,CAAC;EACtBC,WAAW,CAAQC,EAAgB,EAAE;IAAA,KAAlBA,EAAgB,GAAhBA,EAAgB;EAAG;AACxC;AAAC;AAEM,MAAMC,iBAAiB,SAASH,UAAU,CAAC;AAAE;AAE7C,MAAMI,mBAAmB,SAASJ,UAAU,CAAC;AAAE;AAE/C,MAAMK,cAAc,SAASC,KAAK,CAAa;EACpD;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQ,GAAwB;IAClC,OAAO,IAAI,CAACC,MAAM,CAAEC,GAAG,IAAKA,GAAG,YAAYN,iBAAiB,CAAC;EAC/D;EAEA,IAAIO,UAAU,GAA0B;IACtC,OAAO,IAAI,CAACF,MAAM,CAAEC,GAAG,IAAKA,GAAG,YAAYL,mBAAmB,CAAC;EACjE;EAEA,OAAOO,SAAS,CAACC,YAA0B,EAAkB;IAC3D,OAAO,IAAIP,cAAc,CAAC,GAAGO,YAAY,CAAC;EAC5C;AACF;AAAC;AAEM,MAAMC,YAAY,CAAC;EACxBZ,WAAW,CAAQa,OAAuB,EAASC,GAAmB,EAASC,IAAoB,EAAE;IAAA,KAAlFF,OAAuB,GAAvBA,OAAuB;IAAA,KAASC,GAAmB,GAAnBA,GAAmB;IAAA,KAASC,IAAoB,GAApBA,IAAoB;EAAG;EAE9FC,gBAAgB,CAACC,GAAgB,EAAkB;IACzD,IAAIA,GAAG,KAAKtB,OAAO,EAAE;MACnB,OAAOS,cAAc,CAACM,SAAS,CAAC,IAAI,CAACG,OAAO,CAACK,MAAM,CAAC,IAAI,CAACJ,GAAG,CAAC,CAACI,MAAM,CAAC,IAAI,CAACH,IAAI,CAAC,CAAC;IAClF;IACA,IAAIE,GAAG,KAAKrB,WAAW,EAAE;MACvB,OAAOQ,cAAc,CAACM,SAAS,CAAC,IAAI,CAACG,OAAO,CAACK,MAAM,CAAC,IAAI,CAACH,IAAI,CAAC,CAAC;IACjE;IACA,MAAM,KAAII,oBAAQ,EAAE,OAAMF,GAAI,mBAAkB,CAAC;EACnD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEG,UAAU,GAAmB;IAC3B,OAAO,IAAI,CAACJ,gBAAgB,CAACrB,OAAO,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE0B,cAAc,GAAmB;IAC/B,OAAO,IAAI,CAACL,gBAAgB,CAACpB,WAAW,CAAC;EAC3C;AACF;AAAC"}
@@ -9,14 +9,11 @@ Object.defineProperty(exports, "Dependencies", {
9
9
  return _dependencies().Dependencies;
10
10
  }
11
11
  });
12
-
13
12
  function _dependencies() {
14
13
  const data = require("./dependencies");
15
-
16
14
  _dependencies = function () {
17
15
  return data;
18
16
  };
19
-
20
17
  return data;
21
18
  }
22
19
 
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { Dependencies } from './dependencies';\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { Dependencies } from './dependencies';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
@@ -4,18 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CouldNotFindLatest = void 0;
7
-
8
7
  class CouldNotFindLatest extends Error {
9
8
  constructor(semverArray) {
10
9
  super(`could not find latest semver in array: ${semverArray.join(', ')}`);
11
10
  }
12
-
13
11
  report() {
14
12
  return this.message;
15
13
  }
16
-
17
14
  }
18
-
19
15
  exports.CouldNotFindLatest = CouldNotFindLatest;
20
16
 
21
17
  //# sourceMappingURL=could-not-find-latest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CouldNotFindLatest","Error","constructor","semverArray","join","report","message"],"sources":["could-not-find-latest.ts"],"sourcesContent":["export class CouldNotFindLatest extends Error {\n constructor(semverArray: string[]) {\n super(`could not find latest semver in array: ${semverArray.join(', ')}`);\n }\n report() {\n return this.message;\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,kBAAN,SAAiCC,KAAjC,CAAuC;EAC5CC,WAAW,CAACC,WAAD,EAAwB;IACjC,MAAO,0CAAyCA,WAAW,CAACC,IAAZ,CAAiB,IAAjB,CAAuB,EAAvE;EACD;;EACDC,MAAM,GAAG;IACP,OAAO,KAAKC,OAAZ;EACD;;AAN2C"}
1
+ {"version":3,"names":["CouldNotFindLatest","Error","constructor","semverArray","join","report","message"],"sources":["could-not-find-latest.ts"],"sourcesContent":["export class CouldNotFindLatest extends Error {\n constructor(semverArray: string[]) {\n super(`could not find latest semver in array: ${semverArray.join(', ')}`);\n }\n report() {\n return this.message;\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,SAASC,KAAK,CAAC;EAC5CC,WAAW,CAACC,WAAqB,EAAE;IACjC,KAAK,CAAE,0CAAyCA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAE,EAAC,CAAC;EAC3E;EACAC,MAAM,GAAG;IACP,OAAO,IAAI,CAACC,OAAO;EACrB;AACF;AAAC"}