@teambit/graph 0.0.0-351b8797f220d8d6c242cfc30d4ecebaee07da45

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 (199) hide show
  1. package/component-graph/component-graph.ts +118 -0
  2. package/component-graph/index.ts +2 -0
  3. package/dist/component-graph/component-graph.d.ts +22 -0
  4. package/dist/component-graph/component-graph.js +125 -0
  5. package/dist/component-graph/component-graph.js.map +1 -0
  6. package/dist/component-graph/index.d.ts +1 -0
  7. package/dist/component-graph/index.js +20 -0
  8. package/dist/component-graph/index.js.map +1 -0
  9. package/dist/component-id-graph.d.ts +49 -0
  10. package/dist/component-id-graph.js +252 -0
  11. package/dist/component-id-graph.js.map +1 -0
  12. package/dist/duplicate-dependency.d.ts +11 -0
  13. package/dist/duplicate-dependency.js +22 -0
  14. package/dist/duplicate-dependency.js.map +1 -0
  15. package/dist/edge-type.d.ts +5 -0
  16. package/dist/edge-type.js +14 -0
  17. package/dist/edge-type.js.map +1 -0
  18. package/dist/esm.mjs +29 -0
  19. package/dist/graph-builder.d.ts +16 -0
  20. package/dist/graph-builder.js +71 -0
  21. package/dist/graph-builder.js.map +1 -0
  22. package/dist/graph-cmd.d.ts +28 -0
  23. package/dist/graph-cmd.js +147 -0
  24. package/dist/graph-cmd.js.map +1 -0
  25. package/dist/graph.aspect.d.ts +3 -0
  26. package/dist/graph.aspect.js +21 -0
  27. package/dist/graph.aspect.js.map +1 -0
  28. package/dist/graph.compare.section.d.ts +20 -0
  29. package/dist/graph.compare.section.js +50 -0
  30. package/dist/graph.compare.section.js.map +1 -0
  31. package/dist/graph.composition.d.ts +1 -0
  32. package/dist/graph.composition.js +29 -0
  33. package/dist/graph.composition.js.map +1 -0
  34. package/dist/graph.docs.md +4 -0
  35. package/dist/graph.graphql.d.ts +4 -0
  36. package/dist/graph.graphql.js +95 -0
  37. package/dist/graph.graphql.js.map +1 -0
  38. package/dist/graph.main.runtime.d.ts +34 -0
  39. package/dist/graph.main.runtime.js +158 -0
  40. package/dist/graph.main.runtime.js.map +1 -0
  41. package/dist/graph.ui.runtime.d.ts +33 -0
  42. package/dist/graph.ui.runtime.js +104 -0
  43. package/dist/graph.ui.runtime.js.map +1 -0
  44. package/dist/index.d.ts +17 -0
  45. package/dist/index.js +214 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/model/dependency/dependency.d.ts +6 -0
  48. package/dist/model/dependency/dependency.js +21 -0
  49. package/dist/model/dependency/dependency.js.map +1 -0
  50. package/dist/model/dependency/index.d.ts +1 -0
  51. package/dist/model/dependency/index.js +26 -0
  52. package/dist/model/dependency/index.js.map +1 -0
  53. package/dist/model/graph-filters/graph-filters.d.ts +1 -0
  54. package/dist/model/graph-filters/graph-filters.js +3 -0
  55. package/dist/model/graph-filters/graph-filters.js.map +1 -0
  56. package/dist/model/graph-filters/index.d.ts +1 -0
  57. package/dist/model/graph-filters/index.js +3 -0
  58. package/dist/model/graph-filters/index.js.map +1 -0
  59. package/dist/preview-1752263259534.js +7 -0
  60. package/dist/ui/component-node/component-node.d.ts +7 -0
  61. package/dist/ui/component-node/component-node.js +158 -0
  62. package/dist/ui/component-node/component-node.js.map +1 -0
  63. package/dist/ui/component-node/component-node.module.scss +73 -0
  64. package/dist/ui/component-node/index.d.ts +13 -0
  65. package/dist/ui/component-node/index.js +94 -0
  66. package/dist/ui/component-node/index.js.map +1 -0
  67. package/dist/ui/component-node/variants.d.ts +2 -0
  68. package/dist/ui/component-node/variants.js +30 -0
  69. package/dist/ui/component-node/variants.js.map +1 -0
  70. package/dist/ui/component-node/variants.module.scss +45 -0
  71. package/dist/ui/dependencies-compare/compare-graph-model.d.ts +7 -0
  72. package/dist/ui/dependencies-compare/compare-graph-model.js +23 -0
  73. package/dist/ui/dependencies-compare/compare-graph-model.js.map +1 -0
  74. package/dist/ui/dependencies-compare/compare-node-model.d.ts +9 -0
  75. package/dist/ui/dependencies-compare/compare-node-model.js +28 -0
  76. package/dist/ui/dependencies-compare/compare-node-model.js.map +1 -0
  77. package/dist/ui/dependencies-compare/dependencies-compare.d.ts +1 -0
  78. package/dist/ui/dependencies-compare/dependencies-compare.js +202 -0
  79. package/dist/ui/dependencies-compare/dependencies-compare.js.map +1 -0
  80. package/dist/ui/dependencies-compare/dependencies-compare.module.scss +14 -0
  81. package/dist/ui/dependencies-compare/dependency-compare-node.d.ts +6 -0
  82. package/dist/ui/dependencies-compare/dependency-compare-node.js +208 -0
  83. package/dist/ui/dependencies-compare/dependency-compare-node.js.map +1 -0
  84. package/dist/ui/dependencies-compare/dependency-compare-node.module.scss +21 -0
  85. package/dist/ui/dependencies-compare/dependency-compare-variants.module.scss +23 -0
  86. package/dist/ui/dependencies-compare/diff-graph.d.ts +4 -0
  87. package/dist/ui/dependencies-compare/diff-graph.js +65 -0
  88. package/dist/ui/dependencies-compare/diff-graph.js.map +1 -0
  89. package/dist/ui/dependencies-compare/index.d.ts +1 -0
  90. package/dist/ui/dependencies-compare/index.js +20 -0
  91. package/dist/ui/dependencies-compare/index.js.map +1 -0
  92. package/dist/ui/dependencies-graph/calc-elements.d.ts +14 -0
  93. package/dist/ui/dependencies-graph/calc-elements.js +83 -0
  94. package/dist/ui/dependencies-graph/calc-elements.js.map +1 -0
  95. package/dist/ui/dependencies-graph/calc-layout.d.ts +8 -0
  96. package/dist/ui/dependencies-graph/calc-layout.js +59 -0
  97. package/dist/ui/dependencies-graph/calc-layout.js.map +1 -0
  98. package/dist/ui/dependencies-graph/dep-edge/dep-edge.d.ts +3 -0
  99. package/dist/ui/dependencies-graph/dep-edge/dep-edge.js +48 -0
  100. package/dist/ui/dependencies-graph/dep-edge/dep-edge.js.map +1 -0
  101. package/dist/ui/dependencies-graph/dep-edge/edge.module.scss +10 -0
  102. package/dist/ui/dependencies-graph/dep-edge/index.d.ts +1 -0
  103. package/dist/ui/dependencies-graph/dep-edge/index.js +26 -0
  104. package/dist/ui/dependencies-graph/dep-edge/index.js.map +1 -0
  105. package/dist/ui/dependencies-graph/dependencies-graph.d.ts +13 -0
  106. package/dist/ui/dependencies-graph/dependencies-graph.js +183 -0
  107. package/dist/ui/dependencies-graph/dependencies-graph.js.map +1 -0
  108. package/dist/ui/dependencies-graph/dependencies-graph.module.scss +93 -0
  109. package/dist/ui/dependencies-graph/graph-context.d.ts +6 -0
  110. package/dist/ui/dependencies-graph/graph-context.js +18 -0
  111. package/dist/ui/dependencies-graph/graph-context.js.map +1 -0
  112. package/dist/ui/dependencies-graph/index.d.ts +12 -0
  113. package/dist/ui/dependencies-graph/index.js +116 -0
  114. package/dist/ui/dependencies-graph/index.js.map +1 -0
  115. package/dist/ui/dependencies-graph/minimap.d.ts +2 -0
  116. package/dist/ui/dependencies-graph/minimap.js +26 -0
  117. package/dist/ui/dependencies-graph/minimap.js.map +1 -0
  118. package/dist/ui/graph-page/graph-filters.d.ts +9 -0
  119. package/dist/ui/graph-page/graph-filters.js +46 -0
  120. package/dist/ui/graph-page/graph-filters.js.map +1 -0
  121. package/dist/ui/graph-page/graph-page.d.ts +6 -0
  122. package/dist/ui/graph-page/graph-page.js +111 -0
  123. package/dist/ui/graph-page/graph-page.js.map +1 -0
  124. package/dist/ui/graph-page/graph-page.module.scss +37 -0
  125. package/dist/ui/graph-page/index.d.ts +6 -0
  126. package/dist/ui/graph-page/index.js +50 -0
  127. package/dist/ui/graph-page/index.js.map +1 -0
  128. package/dist/ui/graph.section.d.ts +15 -0
  129. package/dist/ui/graph.section.js +43 -0
  130. package/dist/ui/graph.section.js.map +1 -0
  131. package/dist/ui/query/edge-model.d.ts +8 -0
  132. package/dist/ui/query/edge-model.js +26 -0
  133. package/dist/ui/query/edge-model.js.map +1 -0
  134. package/dist/ui/query/get-graph.query.d.ts +33 -0
  135. package/dist/ui/query/get-graph.query.js +60 -0
  136. package/dist/ui/query/get-graph.query.js.map +1 -0
  137. package/dist/ui/query/graph-model.d.ts +9 -0
  138. package/dist/ui/query/graph-model.js +34 -0
  139. package/dist/ui/query/graph-model.js.map +1 -0
  140. package/dist/ui/query/index.d.ts +6 -0
  141. package/dist/ui/query/index.js +85 -0
  142. package/dist/ui/query/index.js.map +1 -0
  143. package/dist/ui/query/node-model.d.ts +8 -0
  144. package/dist/ui/query/node-model.js +35 -0
  145. package/dist/ui/query/node-model.js.map +1 -0
  146. package/dist/ui/query/use-graph-query.d.ts +9 -0
  147. package/dist/ui/query/use-graph-query.js +96 -0
  148. package/dist/ui/query/use-graph-query.js.map +1 -0
  149. package/dist/ui/query/use-graph.d.ts +7 -0
  150. package/dist/ui/query/use-graph.js +26 -0
  151. package/dist/ui/query/use-graph.js.map +1 -0
  152. package/esm.mjs +29 -0
  153. package/graph.compare.section.tsx +23 -0
  154. package/graph.composition.tsx +7 -0
  155. package/graph.docs.md +4 -0
  156. package/graph.ui.runtime.tsx +61 -0
  157. package/model/dependency/dependency.ts +11 -0
  158. package/model/dependency/index.ts +1 -0
  159. package/model/graph-filters/graph-filters.ts +1 -0
  160. package/model/graph-filters/index.ts +1 -0
  161. package/package.json +94 -0
  162. package/types/asset.d.ts +41 -0
  163. package/types/style.d.ts +42 -0
  164. package/ui/component-node/component-node.module.scss +73 -0
  165. package/ui/component-node/component-node.tsx +66 -0
  166. package/ui/component-node/index.ts +8 -0
  167. package/ui/component-node/variants.module.scss +45 -0
  168. package/ui/component-node/variants.ts +5 -0
  169. package/ui/dependencies-compare/compare-graph-model.ts +11 -0
  170. package/ui/dependencies-compare/compare-node-model.ts +11 -0
  171. package/ui/dependencies-compare/dependencies-compare.module.scss +14 -0
  172. package/ui/dependencies-compare/dependencies-compare.tsx +140 -0
  173. package/ui/dependencies-compare/dependency-compare-node.module.scss +21 -0
  174. package/ui/dependencies-compare/dependency-compare-node.tsx +100 -0
  175. package/ui/dependencies-compare/dependency-compare-variants.module.scss +23 -0
  176. package/ui/dependencies-compare/diff-graph.ts +70 -0
  177. package/ui/dependencies-compare/index.ts +1 -0
  178. package/ui/dependencies-graph/calc-elements.tsx +53 -0
  179. package/ui/dependencies-graph/calc-layout.tsx +43 -0
  180. package/ui/dependencies-graph/dep-edge/dep-edge.tsx +28 -0
  181. package/ui/dependencies-graph/dep-edge/edge.module.scss +10 -0
  182. package/ui/dependencies-graph/dep-edge/index.ts +1 -0
  183. package/ui/dependencies-graph/dependencies-graph.module.scss +93 -0
  184. package/ui/dependencies-graph/dependencies-graph.tsx +139 -0
  185. package/ui/dependencies-graph/graph-context.ts +9 -0
  186. package/ui/dependencies-graph/index.ts +12 -0
  187. package/ui/dependencies-graph/minimap.ts +15 -0
  188. package/ui/graph-page/graph-filters.tsx +28 -0
  189. package/ui/graph-page/graph-page.module.scss +37 -0
  190. package/ui/graph-page/graph-page.tsx +56 -0
  191. package/ui/graph-page/index.ts +7 -0
  192. package/ui/graph.section.tsx +19 -0
  193. package/ui/query/edge-model.ts +16 -0
  194. package/ui/query/get-graph.query.ts +83 -0
  195. package/ui/query/graph-model.ts +16 -0
  196. package/ui/query/index.ts +7 -0
  197. package/ui/query/node-model.ts +18 -0
  198. package/ui/query/use-graph-query.ts +72 -0
  199. package/ui/query/use-graph.tsx +8 -0
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DependencyCompareNode = DependencyCompareNode;
7
+ function _baseUiRouting() {
8
+ const data = require("@teambit/base-ui.routing.nav-link");
9
+ _baseUiRouting = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _baseUiSurfaces() {
15
+ const data = require("@teambit/base-ui.surfaces.card");
16
+ _baseUiSurfaces = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _baseUiText() {
22
+ const data = require("@teambit/base-ui.text.muted-text");
23
+ _baseUiText = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _component() {
29
+ const data = require("@teambit/component");
30
+ _component = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _componentModules() {
36
+ const data = require("@teambit/component.modules.component-url");
37
+ _componentModules = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _componentUiComponentCompare() {
43
+ const data = require("@teambit/component.ui.component-compare.status-resolver");
44
+ _componentUiComponentCompare = function () {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ function _componentUi() {
50
+ const data = require("@teambit/component.ui.deprecation-icon");
51
+ _componentUi = function () {
52
+ return data;
53
+ };
54
+ return data;
55
+ }
56
+ function _designUiStyles() {
57
+ const data = require("@teambit/design.ui.styles.ellipsis");
58
+ _designUiStyles = function () {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
63
+ function _envsUi() {
64
+ const data = require("@teambit/envs.ui.env-icon");
65
+ _envsUi = function () {
66
+ return data;
67
+ };
68
+ return data;
69
+ }
70
+ function _classnames() {
71
+ const data = _interopRequireDefault(require("classnames"));
72
+ _classnames = function () {
73
+ return data;
74
+ };
75
+ return data;
76
+ }
77
+ function _react() {
78
+ const data = _interopRequireWildcard(require("react"));
79
+ _react = function () {
80
+ return data;
81
+ };
82
+ return data;
83
+ }
84
+ function _semver() {
85
+ const data = require("semver");
86
+ _semver = function () {
87
+ return data;
88
+ };
89
+ return data;
90
+ }
91
+ function _variants() {
92
+ const data = require("../../ui/component-node/variants");
93
+ _variants = function () {
94
+ return data;
95
+ };
96
+ return data;
97
+ }
98
+ function _componentNode() {
99
+ const data = require("../../ui/component-node");
100
+ _componentNode = function () {
101
+ return data;
102
+ };
103
+ return data;
104
+ }
105
+ function _dependencyCompareNodeModule() {
106
+ const data = _interopRequireDefault(require("./dependency-compare-node.module.scss"));
107
+ _dependencyCompareNodeModule = function () {
108
+ return data;
109
+ };
110
+ return data;
111
+ }
112
+ function _dependencyCompareVariantsModule() {
113
+ const data = _interopRequireDefault(require("./dependency-compare-variants.module.scss"));
114
+ _dependencyCompareVariantsModule = function () {
115
+ return data;
116
+ };
117
+ return data;
118
+ }
119
+ const _excluded = ["componentId", "className"];
120
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
121
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
122
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
123
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
124
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
125
+ function getVariant(nodeType) {
126
+ switch (nodeType) {
127
+ case 'defaultNode':
128
+ return _variants().defaultNode;
129
+ case 'root':
130
+ return _dependencyCompareVariantsModule().default[nodeType];
131
+ case 'external':
132
+ return _variants().external;
133
+ default:
134
+ return null;
135
+ }
136
+ }
137
+ function DependencyCompareNode(props) {
138
+ const {
139
+ node,
140
+ type = 'defaultNode'
141
+ } = props;
142
+ const {
143
+ id: baseIdStr,
144
+ component: baseComponent,
145
+ compareVersion,
146
+ status,
147
+ componentId
148
+ } = node;
149
+ const {
150
+ version: baseVersion
151
+ } = baseComponent || {
152
+ version: componentId.version
153
+ };
154
+ const baseId = _component().ComponentID.fromString(baseIdStr);
155
+ const versionDiff = (0, _react().useMemo)(() => (0, _semver().valid)(baseVersion) && (0, _semver().valid)(compareVersion) && (0, _semver().compare)(baseVersion, compareVersion), [baseVersion, compareVersion]);
156
+ return /*#__PURE__*/_react().default.createElement(_baseUiSurfaces().Card, {
157
+ className: (0, _classnames().default)(_componentNode().styles.compNode, getVariant(type)),
158
+ elevation: "none"
159
+ }, /*#__PURE__*/_react().default.createElement("div", {
160
+ className: _componentNode().styles.firstRow
161
+ }, baseComponent && /*#__PURE__*/_react().default.createElement(_envsUi().EnvIcon, {
162
+ component: baseComponent,
163
+ className: _componentNode().styles.envIcon
164
+ }), /*#__PURE__*/_react().default.createElement(Breadcrumbs, {
165
+ componentId: baseId,
166
+ className: _baseUiText().mutedText
167
+ })), /*#__PURE__*/_react().default.createElement("div", {
168
+ className: _componentNode().styles.nameLine
169
+ }, /*#__PURE__*/_react().default.createElement(_baseUiRouting().NavLink, {
170
+ className: _dependencyCompareNodeModule().default.link,
171
+ external: true,
172
+ href: _componentModules().ComponentUrl.toUrl(baseId, {
173
+ includeVersion: false
174
+ })
175
+ }, /*#__PURE__*/_react().default.createElement("span", {
176
+ className: (0, _classnames().default)(_componentNode().styles.name, _designUiStyles().ellipsis)
177
+ }, baseId.name)), baseId.version && /*#__PURE__*/_react().default.createElement("span", {
178
+ className: (0, _classnames().default)(_componentNode().styles.version, _designUiStyles().ellipsis)
179
+ }, baseId.version), versionDiff !== 0 && /*#__PURE__*/_react().default.createElement("img", {
180
+ className: (0, _classnames().default)([_dependencyCompareNodeModule().default.arrowIcon, _dependencyCompareNodeModule().default.versionUp]),
181
+ src: "https://static.bit.dev/bit-icons/version-bump.svg"
182
+ }), compareVersion && versionDiff !== 0 && /*#__PURE__*/_react().default.createElement("span", {
183
+ className: (0, _classnames().default)(_dependencyCompareNodeModule().default.version, _componentNode().styles.version, _designUiStyles().ellipsis, versionDiff === -1 && _dependencyCompareNodeModule().default.versionUp, versionDiff === 1 && _dependencyCompareNodeModule().default.versionDown)
184
+ }, compareVersion), /*#__PURE__*/_react().default.createElement("div", {
185
+ className: _dependencyCompareNodeModule().default.buffs
186
+ }, baseComponent && /*#__PURE__*/_react().default.createElement(_componentUi().DeprecationIcon, {
187
+ component: baseComponent
188
+ }), status !== undefined && /*#__PURE__*/_react().default.createElement(_componentUiComponentCompare().CompareStatusResolver, {
189
+ status: status
190
+ }))));
191
+ }
192
+ function Breadcrumbs(_ref) {
193
+ let {
194
+ componentId,
195
+ className
196
+ } = _ref,
197
+ rest = _objectWithoutProperties(_ref, _excluded);
198
+ const {
199
+ scope,
200
+ namespace
201
+ } = componentId;
202
+ const showSep = !!scope && !!namespace;
203
+ return /*#__PURE__*/_react().default.createElement("div", _extends({}, rest, {
204
+ className: (0, _classnames().default)(_dependencyCompareNodeModule().default.breadcrumbs, _designUiStyles().ellipsis, className)
205
+ }), scope, showSep && '/', namespace);
206
+ }
207
+
208
+ //# sourceMappingURL=dependency-compare-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_baseUiRouting","data","require","_baseUiSurfaces","_baseUiText","_component","_componentModules","_componentUiComponentCompare","_componentUi","_designUiStyles","_envsUi","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_semver","_variants","_componentNode","_dependencyCompareNodeModule","_dependencyCompareVariantsModule","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","getVariant","nodeType","defaultNode","variants","external","DependencyCompareNode","props","node","type","id","baseIdStr","component","baseComponent","compareVersion","status","componentId","version","baseVersion","baseId","ComponentID","fromString","versionDiff","useMemo","valid","compare","createElement","Card","className","classnames","componentNodeStyles","compNode","elevation","firstRow","EnvIcon","envIcon","Breadcrumbs","mutedText","nameLine","NavLink","styles","link","href","ComponentUrl","toUrl","includeVersion","name","ellipsis","arrowIcon","versionUp","src","versionDown","buffs","DeprecationIcon","undefined","CompareStatusResolver","_ref","rest","scope","namespace","showSep","breadcrumbs"],"sources":["dependency-compare-node.tsx"],"sourcesContent":["import { NavLink } from '@teambit/base-ui.routing.nav-link';\nimport { Card } from '@teambit/base-ui.surfaces.card';\nimport { mutedText } from '@teambit/base-ui.text.muted-text';\nimport { ComponentID } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { CompareStatusResolver } from '@teambit/component.ui.component-compare.status-resolver';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport classnames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { compare, valid } from 'semver';\nimport { defaultNode, external } from '../../ui/component-node/variants';\nimport { styles as componentNodeStyles } from '../../ui/component-node';\nimport { CompareNodeModel } from './compare-node-model';\nimport styles from './dependency-compare-node.module.scss';\nimport variants from './dependency-compare-variants.module.scss';\n\nfunction getVariant(nodeType?: string) {\n switch (nodeType) {\n case 'defaultNode':\n return defaultNode;\n case 'root':\n return variants[nodeType];\n case 'external':\n return external;\n default:\n return null;\n }\n}\n\nexport type DependencyCompareNodeProps = {\n node: CompareNodeModel;\n type?: string;\n};\n\nexport function DependencyCompareNode(props: DependencyCompareNodeProps) {\n const { node, type = 'defaultNode' } = props;\n const { id: baseIdStr, component: baseComponent, compareVersion, status, componentId } = node;\n const { version: baseVersion } = baseComponent || { version: componentId.version };\n const baseId = ComponentID.fromString(baseIdStr);\n const versionDiff = useMemo(\n () => valid(baseVersion) && valid(compareVersion) && compare(baseVersion, compareVersion),\n [baseVersion, compareVersion]\n );\n\n return (\n <Card className={classnames(componentNodeStyles.compNode, getVariant(type))} elevation=\"none\">\n <div className={componentNodeStyles.firstRow}>\n {baseComponent && <EnvIcon component={baseComponent} className={componentNodeStyles.envIcon} />}\n <Breadcrumbs componentId={baseId} className={mutedText} />\n </div>\n <div className={componentNodeStyles.nameLine}>\n <NavLink className={styles.link} external={true} href={ComponentUrl.toUrl(baseId, { includeVersion: false })}>\n <span className={classnames(componentNodeStyles.name, ellipsis)}>{baseId.name}</span>\n </NavLink>\n {baseId.version && <span className={classnames(componentNodeStyles.version, ellipsis)}>{baseId.version}</span>}\n {versionDiff !== 0 && (\n <img\n className={classnames([styles.arrowIcon, styles.versionUp])}\n src=\"https://static.bit.dev/bit-icons/version-bump.svg\"\n />\n )}\n {compareVersion && versionDiff !== 0 && (\n <span\n className={classnames(\n styles.version,\n componentNodeStyles.version,\n ellipsis,\n versionDiff === -1 && styles.versionUp,\n versionDiff === 1 && styles.versionDown\n )}\n >\n {compareVersion}\n </span>\n )}\n\n <div className={styles.buffs}>\n {baseComponent && <DeprecationIcon component={baseComponent} />}\n {status !== undefined && <CompareStatusResolver status={status} />}\n </div>\n </div>\n </Card>\n );\n}\n\ntype BreadcrumbsProps = { componentId: ComponentID } & React.HTMLAttributes<HTMLDivElement>;\n\nfunction Breadcrumbs({ componentId, className, ...rest }: BreadcrumbsProps) {\n const { scope, namespace } = componentId;\n const showSep = !!scope && !!namespace;\n\n return (\n <div {...rest} className={classnames(styles.breadcrumbs, ellipsis, className)}>\n {scope}\n {showSep && '/'}\n {namespace}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ .arrowIcon {
2
+ height: 16px;
3
+ padding-right: 8px;
4
+ }
5
+
6
+ .versionUp {
7
+ color: var(--positive-color, #37b26c);
8
+ }
9
+
10
+ .versionDown {
11
+ color: var(--negative-color, #e62e5c);
12
+ }
13
+
14
+ .link {
15
+ text-decoration: none;
16
+ color: var(--bit-text-color-heavyed);
17
+
18
+ &:hover {
19
+ text-decoration: underline;
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ $success: #37b26c;
2
+ $borderLabelHeight: 20px;
3
+
4
+ .root {
5
+ border-color: $success;
6
+ border-top-width: 20px;
7
+
8
+ border-radius: 10px;
9
+ box-shadow:
10
+ 0px 0px 0px 2px #d0f1de,
11
+ var(--bit-shadow-hover-medium);
12
+
13
+ &:before {
14
+ content: 'Current component';
15
+ position: absolute;
16
+ top: 1px;
17
+ left: 10px;
18
+
19
+ font-size: $borderLabelHeight * 0.5;
20
+ color: white;
21
+ line-height: $borderLabelHeight;
22
+ }
23
+ }
@@ -0,0 +1,4 @@
1
+ import { ComponentID } from '@teambit/component';
2
+ import { EdgeModel, GraphModel, NodeModel } from '../query';
3
+ import { CompareGraphModel } from './compare-graph-model';
4
+ export declare function diffGraph(baseGraph?: GraphModel<NodeModel, EdgeModel>, compareGraph?: GraphModel<NodeModel, EdgeModel>, baseId?: ComponentID): CompareGraphModel | null;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.diffGraph = diffGraph;
7
+ function _compareGraphModel() {
8
+ const data = require("./compare-graph-model");
9
+ _compareGraphModel = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ const toShortId = node => node.componentId.toStringWithoutVersion();
20
+
21
+ // this is to get a key with versions ignored so that we'll have a unique set of component nodes
22
+ const toShortIdFromNodeId = nodeId => nodeId.split('@')[0];
23
+ const delim = '::';
24
+ const getEdgeId = _e => {
25
+ return `${toShortIdFromNodeId(_e.sourceId)}${delim}${toShortIdFromNodeId(_e.targetId)}`;
26
+ };
27
+ function diffGraph(baseGraph, compareGraph, baseId) {
28
+ if (!baseGraph || !compareGraph || !baseId) return null;
29
+ const baseNodes = baseGraph.nodes;
30
+ const compareNodes = compareGraph.nodes;
31
+ const baseNodesMap = new Map(baseNodes.map(n => [toShortId(n), n]));
32
+ const compareNodesMap = new Map(compareNodes.map(n => [toShortId(n), n]));
33
+ const allNodes = [];
34
+ for (const baseNode of baseNodes) {
35
+ const compareNode = compareNodesMap.get(toShortId(baseNode));
36
+ if (compareNode) {
37
+ allNodes.push(_objectSpread(_objectSpread({}, baseNode), {}, {
38
+ compareVersion: compareNode.componentId.version,
39
+ status: compareNode.componentId.isEqual(baseNode.componentId) ? undefined : 'modified'
40
+ }));
41
+ } else {
42
+ allNodes.push(_objectSpread(_objectSpread({}, baseNode), {}, {
43
+ compareVersion: baseNode.componentId.version,
44
+ status: 'deleted'
45
+ }));
46
+ }
47
+ }
48
+ const newNodes = compareNodes.filter(n => !baseNodesMap.has(toShortId(n)));
49
+ for (const node of newNodes) {
50
+ allNodes.push(_objectSpread(_objectSpread({}, node), {}, {
51
+ compareVersion: '',
52
+ status: 'new'
53
+ }));
54
+ }
55
+ const allNodesMap = new Map(allNodes.map(n => [toShortId(n), n]));
56
+ const baseEdgesMap = new Map(baseGraph.edges.map(baseEdge => [getEdgeId(baseEdge), baseEdge]));
57
+ const edgesOnlyInCompare = compareGraph.edges.filter(compareEdge => !baseEdgesMap.has(getEdgeId(compareEdge))).map(compareEdge => _objectSpread(_objectSpread({}, compareEdge), {}, {
58
+ sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),
59
+ targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString()
60
+ }));
61
+ const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];
62
+ return new (_compareGraphModel().CompareGraphModel)(allNodes, allEdges);
63
+ }
64
+
65
+ //# sourceMappingURL=diff-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_compareGraphModel","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","toShortId","node","componentId","toStringWithoutVersion","toShortIdFromNodeId","nodeId","split","delim","getEdgeId","_e","sourceId","targetId","diffGraph","baseGraph","compareGraph","baseId","baseNodes","nodes","compareNodes","baseNodesMap","Map","map","n","compareNodesMap","allNodes","baseNode","compareNode","get","compareVersion","version","status","isEqual","undefined","newNodes","has","allNodesMap","baseEdgesMap","edges","baseEdge","edgesOnlyInCompare","compareEdge","id","toString","allEdges","CompareGraphModel"],"sources":["diff-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { EdgeModel, GraphModel, NodeModel } from '../query';\nimport { CompareGraphModel } from './compare-graph-model';\nimport { CompareNodeModel } from './compare-node-model';\n\nconst toShortId = (node: NodeModel) => node.componentId.toStringWithoutVersion();\n\n// this is to get a key with versions ignored so that we'll have a unique set of component nodes\nconst toShortIdFromNodeId = (nodeId: string) => nodeId.split('@')[0];\n\nconst delim = '::';\n\nconst getEdgeId = (_e: EdgeModel) => {\n return `${toShortIdFromNodeId(_e.sourceId)}${delim}${toShortIdFromNodeId(_e.targetId)}`;\n};\n\nexport function diffGraph(\n baseGraph?: GraphModel<NodeModel, EdgeModel>,\n compareGraph?: GraphModel<NodeModel, EdgeModel>,\n baseId?: ComponentID\n) {\n if (!baseGraph || !compareGraph || !baseId) return null;\n\n const baseNodes = baseGraph.nodes;\n const compareNodes = compareGraph.nodes;\n\n const baseNodesMap = new Map<string, NodeModel>(baseNodes.map((n) => [toShortId(n), n]));\n const compareNodesMap = new Map<string, NodeModel>(compareNodes.map((n) => [toShortId(n), n]));\n\n const allNodes: Array<CompareNodeModel> = [];\n for (const baseNode of baseNodes) {\n const compareNode = compareNodesMap.get(toShortId(baseNode));\n\n if (compareNode) {\n allNodes.push({\n ...baseNode,\n compareVersion: compareNode.componentId.version,\n status: compareNode.componentId.isEqual(baseNode.componentId) ? undefined : 'modified',\n });\n } else {\n allNodes.push({\n ...baseNode,\n compareVersion: baseNode.componentId.version,\n status: 'deleted',\n });\n }\n }\n\n const newNodes = compareNodes.filter((n) => !baseNodesMap.has(toShortId(n)));\n\n for (const node of newNodes) {\n allNodes.push({\n ...node,\n compareVersion: '',\n status: 'new',\n });\n }\n const allNodesMap = new Map<string, CompareNodeModel>(allNodes.map((n) => [toShortId(n), n]));\n\n const baseEdgesMap = new Map<string, EdgeModel>(baseGraph.edges.map((baseEdge) => [getEdgeId(baseEdge), baseEdge]));\n const edgesOnlyInCompare = compareGraph.edges\n .filter((compareEdge) => !baseEdgesMap.has(getEdgeId(compareEdge)))\n .map((compareEdge) => ({\n ...compareEdge,\n sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),\n targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString(),\n }));\n const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];\n return new CompareGraphModel(allNodes, allEdges);\n}\n"],"mappings":";;;;;;AAEA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0D,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAG1D,MAAM8B,SAAS,GAAIC,IAAe,IAAKA,IAAI,CAACC,WAAW,CAACC,sBAAsB,CAAC,CAAC;;AAEhF;AACA,MAAMC,mBAAmB,GAAIC,MAAc,IAAKA,MAAM,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAMC,KAAK,GAAG,IAAI;AAElB,MAAMC,SAAS,GAAIC,EAAa,IAAK;EACnC,OAAO,GAAGL,mBAAmB,CAACK,EAAE,CAACC,QAAQ,CAAC,GAAGH,KAAK,GAAGH,mBAAmB,CAACK,EAAE,CAACE,QAAQ,CAAC,EAAE;AACzF,CAAC;AAEM,SAASC,SAASA,CACvBC,SAA4C,EAC5CC,YAA+C,EAC/CC,MAAoB,EACpB;EACA,IAAI,CAACF,SAAS,IAAI,CAACC,YAAY,IAAI,CAACC,MAAM,EAAE,OAAO,IAAI;EAEvD,MAAMC,SAAS,GAAGH,SAAS,CAACI,KAAK;EACjC,MAAMC,YAAY,GAAGJ,YAAY,CAACG,KAAK;EAEvC,MAAME,YAAY,GAAG,IAAIC,GAAG,CAAoBJ,SAAS,CAACK,GAAG,CAAEC,CAAC,IAAK,CAACtB,SAAS,CAACsB,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC;EACxF,MAAMC,eAAe,GAAG,IAAIH,GAAG,CAAoBF,YAAY,CAACG,GAAG,CAAEC,CAAC,IAAK,CAACtB,SAAS,CAACsB,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC;EAE9F,MAAME,QAAiC,GAAG,EAAE;EAC5C,KAAK,MAAMC,QAAQ,IAAIT,SAAS,EAAE;IAChC,MAAMU,WAAW,GAAGH,eAAe,CAACI,GAAG,CAAC3B,SAAS,CAACyB,QAAQ,CAAC,CAAC;IAE5D,IAAIC,WAAW,EAAE;MACfF,QAAQ,CAAC9C,IAAI,CAAAE,aAAA,CAAAA,aAAA,KACR6C,QAAQ;QACXG,cAAc,EAAEF,WAAW,CAACxB,WAAW,CAAC2B,OAAO;QAC/CC,MAAM,EAAEJ,WAAW,CAACxB,WAAW,CAAC6B,OAAO,CAACN,QAAQ,CAACvB,WAAW,CAAC,GAAG8B,SAAS,GAAG;MAAU,EACvF,CAAC;IACJ,CAAC,MAAM;MACLR,QAAQ,CAAC9C,IAAI,CAAAE,aAAA,CAAAA,aAAA,KACR6C,QAAQ;QACXG,cAAc,EAAEH,QAAQ,CAACvB,WAAW,CAAC2B,OAAO;QAC5CC,MAAM,EAAE;MAAS,EAClB,CAAC;IACJ;EACF;EAEA,MAAMG,QAAQ,GAAGf,YAAY,CAAC3C,MAAM,CAAE+C,CAAC,IAAK,CAACH,YAAY,CAACe,GAAG,CAAClC,SAAS,CAACsB,CAAC,CAAC,CAAC,CAAC;EAE5E,KAAK,MAAMrB,IAAI,IAAIgC,QAAQ,EAAE;IAC3BT,QAAQ,CAAC9C,IAAI,CAAAE,aAAA,CAAAA,aAAA,KACRqB,IAAI;MACP2B,cAAc,EAAE,EAAE;MAClBE,MAAM,EAAE;IAAK,EACd,CAAC;EACJ;EACA,MAAMK,WAAW,GAAG,IAAIf,GAAG,CAA2BI,QAAQ,CAACH,GAAG,CAAEC,CAAC,IAAK,CAACtB,SAAS,CAACsB,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC;EAE7F,MAAMc,YAAY,GAAG,IAAIhB,GAAG,CAAoBP,SAAS,CAACwB,KAAK,CAAChB,GAAG,CAAEiB,QAAQ,IAAK,CAAC9B,SAAS,CAAC8B,QAAQ,CAAC,EAAEA,QAAQ,CAAC,CAAC,CAAC;EACnH,MAAMC,kBAAkB,GAAGzB,YAAY,CAACuB,KAAK,CAC1C9D,MAAM,CAAEiE,WAAW,IAAK,CAACJ,YAAY,CAACF,GAAG,CAAC1B,SAAS,CAACgC,WAAW,CAAC,CAAC,CAAC,CAClEnB,GAAG,CAAEmB,WAAW,IAAA5D,aAAA,CAAAA,aAAA,KACZ4D,WAAW;IACd9B,QAAQ,EAAEyB,WAAW,CAACR,GAAG,CAACvB,mBAAmB,CAACoC,WAAW,CAAC9B,QAAQ,CAAC,CAAC,EAAE+B,EAAE,CAACC,QAAQ,CAAC,CAAC,IAAI3B,MAAM,CAAC2B,QAAQ,CAAC,CAAC;IACxG/B,QAAQ,EAAEwB,WAAW,CAACR,GAAG,CAACvB,mBAAmB,CAACoC,WAAW,CAAC7B,QAAQ,CAAC,CAAC,EAAE8B,EAAE,CAACC,QAAQ,CAAC,CAAC,IAAI3B,MAAM,CAAC2B,QAAQ,CAAC;EAAC,EACxG,CAAC;EACL,MAAMC,QAAQ,GAAG,CAAC,GAAG9B,SAAS,CAACwB,KAAK,EAAE,GAAGE,kBAAkB,CAAC;EAC5D,OAAO,KAAIK,sCAAiB,EAACpB,QAAQ,EAAEmB,QAAQ,CAAC;AAClD","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { DependenciesCompare } from './dependencies-compare';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DependenciesCompare", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _dependenciesCompare().DependenciesCompare;
10
+ }
11
+ });
12
+ function _dependenciesCompare() {
13
+ const data = require("./dependencies-compare");
14
+ _dependenciesCompare = function () {
15
+ return data;
16
+ };
17
+ return data;
18
+ }
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_dependenciesCompare","data","require"],"sources":["index.ts"],"sourcesContent":["export { DependenciesCompare } from './dependencies-compare';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,qBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,oBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { Edge, Node } from 'reactflow';
2
+ import { ComponentID } from '@teambit/component';
3
+ import { EdgeModel, GraphModel, NodeModel } from '../query';
4
+ type ElementsOptions = {
5
+ rootNode?: ComponentID;
6
+ };
7
+ /**
8
+ * generate Nodes and Edges for the ReactFlowRenderer graph renderer
9
+ */
10
+ export declare function calcElements(graph: GraphModel<NodeModel, EdgeModel> | undefined, { rootNode }: ElementsOptions): {
11
+ nodes: Node[];
12
+ edges: Edge[];
13
+ };
14
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcElements = calcElements;
7
+ function _react() {
8
+ const data = require("react");
9
+ _react = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _reactflow() {
15
+ const data = require("reactflow");
16
+ _reactflow = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _calcLayout() {
22
+ const data = require("./calc-layout");
23
+ _calcLayout = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _depEdge() {
29
+ const data = require("./dep-edge");
30
+ _depEdge = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ /**
36
+ * generate Nodes and Edges for the ReactFlowRenderer graph renderer
37
+ */
38
+ function calcElements(graph, {
39
+ rootNode
40
+ }) {
41
+ return (0, _react().useMemo)(() => {
42
+ if (!graph) return {
43
+ nodes: [],
44
+ edges: []
45
+ };
46
+ const positions = (0, _calcLayout().calcLayout)(graph);
47
+ const nodes = Array.from(graph.nodes.values()).map(x => {
48
+ return {
49
+ id: x.id,
50
+ type: 'ComponentNode',
51
+ data: {
52
+ node: x,
53
+ type: rootNode && x.componentId.isEqual(rootNode, {
54
+ ignoreVersion: true
55
+ }) ? 'root' : undefined
56
+ },
57
+ position: positions.get(x.id) || {
58
+ x: 0,
59
+ y: 0
60
+ }
61
+ };
62
+ });
63
+ const edges = graph.edges.map(e => ({
64
+ id: `_${e.sourceId}__${e.targetId}`,
65
+ source: e.sourceId,
66
+ target: e.targetId,
67
+ label: (0, _depEdge().depTypeToLabel)(e.dependencyLifecycleType),
68
+ labelBgPadding: [4, 4],
69
+ type: 'smoothstep',
70
+ className: (0, _depEdge().depTypeToClass)(e.dependencyLifecycleType),
71
+ arrowHeadType: _reactflow().MarkerType.Arrow,
72
+ markerEnd: {
73
+ type: _reactflow().MarkerType.Arrow
74
+ }
75
+ }));
76
+ return {
77
+ nodes,
78
+ edges
79
+ };
80
+ }, [graph?.nodes.length, graph?.edges.length, rootNode?.toString(), graph?.nodes.some(n => n.component)]);
81
+ }
82
+
83
+ //# sourceMappingURL=calc-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","data","require","_reactflow","_calcLayout","_depEdge","calcElements","graph","rootNode","useMemo","nodes","edges","positions","calcLayout","Array","from","values","map","x","id","type","node","componentId","isEqual","ignoreVersion","undefined","position","get","y","e","sourceId","targetId","source","target","label","depTypeToLabel","dependencyLifecycleType","labelBgPadding","className","depTypeToClass","arrowHeadType","MarkerType","Arrow","markerEnd","length","toString","some","n","component"],"sources":["calc-elements.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { MarkerType, Edge, Node } from 'reactflow';\nimport { ComponentID } from '@teambit/component';\nimport { calcLayout } from './calc-layout';\nimport { EdgeModel, GraphModel, NodeModel } from '../query';\n\nimport { depTypeToClass, depTypeToLabel } from './dep-edge';\n\ntype ElementsOptions = {\n rootNode?: ComponentID;\n};\n\n/**\n * generate Nodes and Edges for the ReactFlowRenderer graph renderer\n */\nexport function calcElements(\n graph: GraphModel<NodeModel, EdgeModel> | undefined,\n { rootNode }: ElementsOptions\n): { nodes: Node[]; edges: Edge[] } {\n return useMemo(() => {\n if (!graph) return { nodes: [], edges: [] };\n\n const positions = calcLayout(graph);\n\n const nodes: Node[] = Array.from(graph.nodes.values()).map((x) => {\n return {\n id: x.id,\n type: 'ComponentNode',\n data: {\n node: x,\n type: rootNode && x.componentId.isEqual(rootNode, { ignoreVersion: true }) ? 'root' : undefined,\n },\n position: positions.get(x.id) || { x: 0, y: 0 },\n };\n });\n\n const edges: Edge[] = graph.edges.map((e) => ({\n id: `_${e.sourceId}__${e.targetId}`,\n source: e.sourceId,\n target: e.targetId,\n label: depTypeToLabel(e.dependencyLifecycleType),\n labelBgPadding: [4, 4],\n type: 'smoothstep',\n className: depTypeToClass(e.dependencyLifecycleType),\n arrowHeadType: MarkerType.Arrow,\n markerEnd: {\n type: MarkerType.Arrow,\n },\n }));\n\n return { nodes, edges };\n }, [graph?.nodes.length, graph?.edges.length, rootNode?.toString(), graph?.nodes.some((n) => n.component)]);\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA;AACA;AACA;AACO,SAASK,YAAYA,CAC1BC,KAAmD,EACnD;EAAEC;AAA0B,CAAC,EACK;EAClC,OAAO,IAAAC,gBAAO,EAAC,MAAM;IACnB,IAAI,CAACF,KAAK,EAAE,OAAO;MAAEG,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAG,CAAC;IAE3C,MAAMC,SAAS,GAAG,IAAAC,wBAAU,EAACN,KAAK,CAAC;IAEnC,MAAMG,KAAa,GAAGI,KAAK,CAACC,IAAI,CAACR,KAAK,CAACG,KAAK,CAACM,MAAM,CAAC,CAAC,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAK;MAChE,OAAO;QACLC,EAAE,EAAED,CAAC,CAACC,EAAE;QACRC,IAAI,EAAE,eAAe;QACrBnB,IAAI,EAAE;UACJoB,IAAI,EAAEH,CAAC;UACPE,IAAI,EAAEZ,QAAQ,IAAIU,CAAC,CAACI,WAAW,CAACC,OAAO,CAACf,QAAQ,EAAE;YAAEgB,aAAa,EAAE;UAAK,CAAC,CAAC,GAAG,MAAM,GAAGC;QACxF,CAAC;QACDC,QAAQ,EAAEd,SAAS,CAACe,GAAG,CAACT,CAAC,CAACC,EAAE,CAAC,IAAI;UAAED,CAAC,EAAE,CAAC;UAAEU,CAAC,EAAE;QAAE;MAChD,CAAC;IACH,CAAC,CAAC;IAEF,MAAMjB,KAAa,GAAGJ,KAAK,CAACI,KAAK,CAACM,GAAG,CAAEY,CAAC,KAAM;MAC5CV,EAAE,EAAE,IAAIU,CAAC,CAACC,QAAQ,KAAKD,CAAC,CAACE,QAAQ,EAAE;MACnCC,MAAM,EAAEH,CAAC,CAACC,QAAQ;MAClBG,MAAM,EAAEJ,CAAC,CAACE,QAAQ;MAClBG,KAAK,EAAE,IAAAC,yBAAc,EAACN,CAAC,CAACO,uBAAuB,CAAC;MAChDC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACtBjB,IAAI,EAAE,YAAY;MAClBkB,SAAS,EAAE,IAAAC,yBAAc,EAACV,CAAC,CAACO,uBAAuB,CAAC;MACpDI,aAAa,EAAEC,uBAAU,CAACC,KAAK;MAC/BC,SAAS,EAAE;QACTvB,IAAI,EAAEqB,uBAAU,CAACC;MACnB;IACF,CAAC,CAAC,CAAC;IAEH,OAAO;MAAEhC,KAAK;MAAEC;IAAM,CAAC;EACzB,CAAC,EAAE,CAACJ,KAAK,EAAEG,KAAK,CAACkC,MAAM,EAAErC,KAAK,EAAEI,KAAK,CAACiC,MAAM,EAAEpC,QAAQ,EAAEqC,QAAQ,CAAC,CAAC,EAAEtC,KAAK,EAAEG,KAAK,CAACoC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAAC,CAAC,CAAC;AAC7G","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { EdgeModel, GraphModel, NodeModel } from '../query';
2
+ /**
3
+ * calculate the specific location of each node in the graph
4
+ */
5
+ export declare function calcLayout(graph: GraphModel<NodeModel, EdgeModel>): Map<string, {
6
+ x: number;
7
+ y: number;
8
+ }>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcLayout = calcLayout;
7
+ function _dagre() {
8
+ const data = _interopRequireWildcard(require("@dagrejs/dagre"));
9
+ _dagre = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ const NODE_WIDTH = 260;
21
+ const NODE_HEIGHT = 90;
22
+ const TOP_TO_BOTTOM = 'TB';
23
+
24
+ /**
25
+ * calculate the specific location of each node in the graph
26
+ */
27
+ function calcLayout(graph) {
28
+ const g = new (_dagre().graphlib.Graph)();
29
+ g.setGraph({
30
+ rankdir: TOP_TO_BOTTOM,
31
+ nodesep: 25,
32
+ ranksep: 100,
33
+ edgesep: 100,
34
+ ranker: 'longest-path',
35
+ acyclicer: 'greedy'
36
+ });
37
+ g.setDefaultEdgeLabel(() => ({}));
38
+
39
+ // make a new instance of { width, height } per node, or dagre will get confused and place all nodes in the same spot
40
+ graph.nodes.forEach(n => g.setNode(n.id, _objectSpread(_objectSpread({}, n), {}, {
41
+ width: NODE_WIDTH,
42
+ height: NODE_HEIGHT
43
+ })));
44
+ graph.edges.forEach(e => g.setEdge(e.sourceId, e.targetId));
45
+
46
+ // position items in graph
47
+ _dagre().default.layout(g);
48
+ const positionsArr = g.nodes().map(nodeId => {
49
+ const node = g.node(nodeId);
50
+ const pos = {
51
+ x: node.x - node.width / 2,
52
+ y: node.y - node.height / 2
53
+ };
54
+ return [nodeId, pos];
55
+ });
56
+ return new Map(positionsArr);
57
+ }
58
+
59
+ //# sourceMappingURL=calc-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_dagre","data","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","NODE_WIDTH","NODE_HEIGHT","TOP_TO_BOTTOM","calcLayout","graph","g","graphlib","Graph","setGraph","rankdir","nodesep","ranksep","edgesep","ranker","acyclicer","setDefaultEdgeLabel","nodes","setNode","id","width","height","edges","setEdge","sourceId","targetId","dagre","layout","positionsArr","map","nodeId","node","pos","x","y","Map"],"sources":["calc-layout.tsx"],"sourcesContent":["import dagre, { graphlib } from '@dagrejs/dagre';\nimport { EdgeModel, GraphModel, NodeModel } from '../query';\n\nconst NODE_WIDTH = 260;\nconst NODE_HEIGHT = 90;\n\nconst TOP_TO_BOTTOM = 'TB';\n\n/**\n * calculate the specific location of each node in the graph\n */\nexport function calcLayout(graph: GraphModel<NodeModel, EdgeModel>) {\n const g = new graphlib.Graph();\n g.setGraph({\n rankdir: TOP_TO_BOTTOM,\n nodesep: 25,\n ranksep: 100,\n edgesep: 100,\n ranker: 'longest-path',\n acyclicer: 'greedy',\n });\n g.setDefaultEdgeLabel(() => ({}));\n\n // make a new instance of { width, height } per node, or dagre will get confused and place all nodes in the same spot\n graph.nodes.forEach((n) => g.setNode(n.id, { ...n, width: NODE_WIDTH, height: NODE_HEIGHT }));\n graph.edges.forEach((e) => g.setEdge(e.sourceId, e.targetId));\n\n // position items in graph\n dagre.layout(g);\n\n const positionsArr: [string, { x: number; y: number }][] = g.nodes().map((nodeId) => {\n const node = g.node(nodeId);\n\n const pos = {\n x: node.x - node.width / 2,\n y: node.y - node.height / 2,\n };\n\n return [nodeId, pos];\n });\n\n return new Map(positionsArr);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { EdgeType } from '../../../edge-type';
2
+ export declare function depTypeToClass(depType: string): string | undefined;
3
+ export declare function depTypeToLabel(type: EdgeType): string;