@teambit/graph 1.0.208 → 1.0.210

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 (40) hide show
  1. package/artifacts/__bit_junit.xml +1 -1
  2. package/artifacts/preview/teambit_component_graph-preview.js +1 -1
  3. package/artifacts/schema.json +13 -13
  4. package/dist/component-graph/component-graph.js +1 -1
  5. package/dist/component-graph/component-graph.js.map +1 -1
  6. package/dist/component-id-graph.js +1 -1
  7. package/dist/component-id-graph.js.map +1 -1
  8. package/dist/duplicate-dependency.js +1 -1
  9. package/dist/graph-cmd.js +2 -2
  10. package/dist/graph-cmd.js.map +1 -1
  11. package/dist/graph.compare.section.js +1 -1
  12. package/dist/graph.compare.section.js.map +1 -1
  13. package/dist/graph.main.runtime.js +1 -1
  14. package/dist/graph.main.runtime.js.map +1 -1
  15. package/dist/graph.ui.runtime.js +1 -1
  16. package/dist/graph.ui.runtime.js.map +1 -1
  17. package/dist/model/dependency/dependency.js +1 -1
  18. package/dist/{preview-1711458141302.js → preview-1711617900376.js} +2 -2
  19. package/dist/ui/component-node/component-node.js +1 -1
  20. package/dist/ui/component-node/component-node.js.map +1 -1
  21. package/dist/ui/dependencies-compare/compare-node-model.js +1 -1
  22. package/dist/ui/dependencies-compare/compare-node-model.js.map +1 -1
  23. package/dist/ui/dependencies-compare/dependencies-compare.js +1 -1
  24. package/dist/ui/dependencies-compare/dependencies-compare.js.map +1 -1
  25. package/dist/ui/dependencies-compare/dependency-compare-node.js +1 -1
  26. package/dist/ui/dependencies-compare/dependency-compare-node.js.map +1 -1
  27. package/dist/ui/dependencies-compare/diff-graph.js +1 -1
  28. package/dist/ui/dependencies-compare/diff-graph.js.map +1 -1
  29. package/dist/ui/dependencies-graph/calc-layout.js +1 -1
  30. package/dist/ui/dependencies-graph/calc-layout.js.map +1 -1
  31. package/dist/ui/dependencies-graph/dependencies-graph.js +1 -1
  32. package/dist/ui/dependencies-graph/dependencies-graph.js.map +1 -1
  33. package/dist/ui/graph-page/graph-page.js +1 -1
  34. package/dist/ui/graph-page/graph-page.js.map +1 -1
  35. package/dist/ui/graph.section.js +1 -1
  36. package/dist/ui/graph.section.js.map +1 -1
  37. package/dist/ui/query/edge-model.js +1 -1
  38. package/dist/ui/query/node-model.js +1 -1
  39. package/dist/ui/query/node-model.js.map +1 -1
  40. package/package.json +10 -10
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.component/graph@1.0.208" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.component/graph@1.0.210" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.component/graph-preview"]=t():e["teambit.component/graph-preview"]=t()}(self,(()=>(()=>{"use strict";var e={92446:(e,t,o)=>{var r={id:"teambit.component/graph@1.0.208",homepage:"https://bit.cloud/teambit/component/graph",exported:!0};function n(){const e=i(o(41594));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const p=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/graph.svg"}));p.__bit_component=r,t.Logo=p},41594:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{compositions:()=>u,compositions_metadata:()=>l,overview:()=>f});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(92446);o(41594);const n=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var p=["components"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},a.apply(this,arguments)}var c={},s="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,p);return(0,n.mdx)(s,a({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const u=[t],f=[e],l={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.component/graph-preview"]=t():e["teambit.component/graph-preview"]=t()}(self,(()=>(()=>{"use strict";var e={89711:(e,t,o)=>{var r={id:"teambit.component/graph@1.0.210",homepage:"https://bit.cloud/teambit/component/graph",exported:!0};function n(){const e=i(o(41594));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const p=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/graph.svg"}));p.__bit_component=r,t.Logo=p},41594:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{compositions:()=>u,compositions_metadata:()=>l,overview:()=>f});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(89711);o(41594);const n=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var p=["components"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},a.apply(this,arguments)}var c={},s="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,p);return(0,n.mdx)(s,a({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const u=[t],f=[e],l={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),r})()));
@@ -140,7 +140,7 @@
140
140
  "line": 1,
141
141
  "character": 1
142
142
  },
143
- "signature": "type DependencyType = \"dev\" | \"runtime\" | \"peer\"",
143
+ "signature": "type DependencyType = \"dev\" | \"peer\" | \"runtime\"",
144
144
  "name": "DependencyType",
145
145
  "type": {
146
146
  "__schema": "TypeUnionSchema",
@@ -503,7 +503,7 @@
503
503
  "_legacy": {
504
504
  "scope": "teambit.component",
505
505
  "name": "graph",
506
- "version": "1.0.208"
506
+ "version": "1.0.210"
507
507
  },
508
508
  "_scope": "teambit.component"
509
509
  }
@@ -1765,7 +1765,7 @@
1765
1765
  "line": 7,
1766
1766
  "character": 1
1767
1767
  },
1768
- "signature": "type DepEdgeType = \"dev\" | \"prod\" | \"peer\" | \"ext\"",
1768
+ "signature": "type DepEdgeType = \"dev\" | \"peer\" | \"prod\" | \"ext\"",
1769
1769
  "name": "DepEdgeType",
1770
1770
  "type": {
1771
1771
  "__schema": "TypeUnionSchema",
@@ -2710,7 +2710,7 @@
2710
2710
  "_legacy": {
2711
2711
  "scope": "teambit.component",
2712
2712
  "name": "graph",
2713
- "version": "1.0.208"
2713
+ "version": "1.0.210"
2714
2714
  },
2715
2715
  "_scope": "teambit.component"
2716
2716
  }
@@ -3215,7 +3215,7 @@
3215
3215
  "_legacy": {
3216
3216
  "scope": "teambit.component",
3217
3217
  "name": "graph",
3218
- "version": "1.0.208"
3218
+ "version": "1.0.210"
3219
3219
  },
3220
3220
  "_scope": "teambit.component"
3221
3221
  }
@@ -3322,7 +3322,7 @@
3322
3322
  "_legacy": {
3323
3323
  "scope": "teambit.component",
3324
3324
  "name": "graph",
3325
- "version": "1.0.208"
3325
+ "version": "1.0.210"
3326
3326
  },
3327
3327
  "_scope": "teambit.component"
3328
3328
  }
@@ -4774,7 +4774,7 @@
4774
4774
  "_legacy": {
4775
4775
  "scope": "teambit.component",
4776
4776
  "name": "graph",
4777
- "version": "1.0.208"
4777
+ "version": "1.0.210"
4778
4778
  },
4779
4779
  "_scope": "teambit.component"
4780
4780
  }
@@ -6198,7 +6198,7 @@
6198
6198
  "line": 7,
6199
6199
  "character": 1
6200
6200
  },
6201
- "signature": "type DepEdgeType = \"dev\" | \"prod\" | \"peer\" | \"ext\"",
6201
+ "signature": "type DepEdgeType = \"dev\" | \"peer\" | \"prod\" | \"ext\"",
6202
6202
  "name": "DepEdgeType",
6203
6203
  "type": {
6204
6204
  "__schema": "TypeUnionSchema",
@@ -7192,7 +7192,7 @@
7192
7192
  "_legacy": {
7193
7193
  "scope": "teambit.component",
7194
7194
  "name": "graph",
7195
- "version": "1.0.208"
7195
+ "version": "1.0.210"
7196
7196
  },
7197
7197
  "_scope": "teambit.component"
7198
7198
  }
@@ -7805,7 +7805,7 @@
7805
7805
  "_legacy": {
7806
7806
  "scope": "teambit.component",
7807
7807
  "name": "graph",
7808
- "version": "1.0.208"
7808
+ "version": "1.0.210"
7809
7809
  },
7810
7810
  "_scope": "teambit.component"
7811
7811
  }
@@ -7967,7 +7967,7 @@
7967
7967
  "_legacy": {
7968
7968
  "scope": "teambit.component",
7969
7969
  "name": "graph",
7970
- "version": "1.0.208"
7970
+ "version": "1.0.210"
7971
7971
  },
7972
7972
  "_scope": "teambit.component"
7973
7973
  }
@@ -8763,7 +8763,7 @@
8763
8763
  "character": 6
8764
8764
  },
8765
8765
  "name": "rest",
8766
- "type": "{\n id?: string | undefined;\n hidden?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n defaultValue?: string | number | readonly string[] | undefined;\n suppressContentEditableWarning?: boolean | undefined;\n ... 303 more ...;\n onEdgeUpdate?: OnEdgeUpdateFunc | undefined;\n}",
8766
+ "type": "{\n title?: string | undefined;\n id?: string | undefined;\n defaultChecked?: boolean | undefined;\n defaultValue?: string | number | readonly string[] | undefined;\n suppressContentEditableWarning?: boolean | undefined;\n ... 303 more ...;\n onEdgeUpdate?: OnEdgeUpdateFunc | undefined;\n}",
8767
8767
  "isSpread": true
8768
8768
  }
8769
8769
  ],
@@ -9624,7 +9624,7 @@
9624
9624
  "componentId": {
9625
9625
  "scope": "teambit.component",
9626
9626
  "name": "graph",
9627
- "version": "1.0.208"
9627
+ "version": "1.0.210"
9628
9628
  },
9629
9629
  "taggedModuleExports": []
9630
9630
  }
@@ -19,7 +19,7 @@ function _duplicateDependency() {
19
19
  return data;
20
20
  }
21
21
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
23
  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); }
24
24
  const DEPENDENCIES_TYPES = exports.DEPENDENCIES_TYPES = ['dependencies', 'devDependencies'];
25
25
  class ComponentGraph extends _graph().Graph {
@@ -1 +1 @@
1
- {"version":3,"names":["_graph","data","require","_duplicateDependency","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DEPENDENCIES_TYPES","exports","ComponentGraph","Graph","constructor","nodes","edges","create","findCycles","graph","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","map","id","toString","cyclesWithSeeders","filter","cycle","some","cycleIdStr","includes","findDuplicateDependencies","versionMap","calculateVersionMap","seederIdsNoVersions","toStringWithoutVersion","duplicateDependencies","Map","compFullName","versions","allVersionNodes","length","versionSubgraphs","notLatestVersions","version","latestVersionNode","forEach","predecessors","predecessorsSubgraph","immediatePredecessors","predecessor","subGraph","buildFromCleargraph","versionSubgraph","versionId","immediateDependents","push","isSeeder","shouldDisplayDueToBeingSeeder","duplicateDep","DuplicateDependency","set","runtimeOnly","componentIds","successorsSubgraph","edgeFilter","edge","attr","type","node","comp","compKey","has","get","prototype","hasOwnProperty","currentComp","latestComp","head","Date","timestamp"],"sources":["component-graph.ts"],"sourcesContent":["import { Component, ComponentID } from '@teambit/component';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\n\nimport { Dependency } from '../model/dependency';\nimport { DuplicateDependency, VersionSubgraph } from '../duplicate-dependency';\n\nexport const DEPENDENCIES_TYPES = ['dependencies', 'devDependencies'];\n\ntype ComponentNode = Node<Component>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class ComponentGraph extends Graph<Component, Dependency> {\n seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)\n constructor(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n\n protected create(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []): this {\n return new ComponentGraph(nodes, edges) as this;\n }\n\n /**\n * @deprecate use graph.getGraphIds().findCycles()\n */\n findCycles(graph?: this): string[][] {\n const cycles = super.findCycles(graph);\n if (!this.shouldLimitToSeedersOnly()) {\n return cycles;\n }\n const seederIdsStr = this.seederIds.map((id) => id.toString());\n const cyclesWithSeeders = cycles.filter((cycle) => {\n return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));\n });\n return cyclesWithSeeders;\n }\n\n findDuplicateDependencies(): Map<string, DuplicateDependency> {\n const versionMap = this.calculateVersionMap();\n const seederIdsNoVersions = this.seederIds.map((id) => id.toStringWithoutVersion());\n const duplicateDependencies: Map<string, DuplicateDependency> = new Map();\n for (const [compFullName, versions] of versionMap) {\n if (versions.allVersionNodes.length > 1) {\n const versionSubgraphs: VersionSubgraph[] = [];\n const notLatestVersions = versions.allVersionNodes.filter((version) => version !== versions.latestVersionNode);\n notLatestVersions.forEach((version) => {\n const predecessors = this.predecessorsSubgraph(version);\n const immediatePredecessors = this.predecessors(version).map((predecessor) => predecessor.id);\n const subGraph = this.buildFromCleargraph(predecessors);\n const versionSubgraph: VersionSubgraph = {\n versionId: version,\n subGraph,\n // TODO: validate that this is working correctly\n immediateDependents: immediatePredecessors,\n };\n versionSubgraphs.push(versionSubgraph);\n });\n const isSeeder = seederIdsNoVersions.includes(compFullName);\n const shouldDisplayDueToBeingSeeder = !this.shouldLimitToSeedersOnly() || isSeeder;\n if (shouldDisplayDueToBeingSeeder && versionSubgraphs.length > 0) {\n const duplicateDep = new DuplicateDependency(versions.latestVersionNode, versionSubgraphs);\n duplicateDependencies.set(compFullName, duplicateDep);\n }\n }\n }\n return duplicateDependencies;\n }\n\n buildFromCleargraph(graph: Graph<Component, Dependency>): ComponentGraph {\n return this.create(graph.nodes, graph.edges);\n }\n\n runtimeOnly(componentIds: string[]) {\n return this.successorsSubgraph(componentIds, {\n edgeFilter: (edge: DependencyEdge) => edge.attr.type === 'runtime',\n });\n }\n\n private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n\n private calculateVersionMap(): Map<string, { allVersionNodes: string[]; latestVersionNode: string }> {\n const versionMap: Map<string, { allVersionNodes: string[]; latestVersionNode: string }> = new Map();\n for (const node of this.nodes) {\n const comp = node.attr;\n const compKey = node.id;\n const compFullName = comp.id.toStringWithoutVersion();\n if (!versionMap.has(compFullName)) {\n versionMap.set(compFullName, {\n allVersionNodes: [compKey],\n latestVersionNode: compKey,\n });\n } else {\n const value = versionMap.get(compFullName);\n if (value) {\n if (Object.prototype.hasOwnProperty.call(value, 'allVersionNodes')) {\n value.allVersionNodes.push(compKey);\n }\n const currentComp = comp;\n const latestComp = this.node(value.latestVersionNode)?.attr;\n // @todo: this check won't work when the component doesn't have head.\n // it happens when a dependency is needed in an old version (not head). which Bit doesn't fetch the head\n // Version object, and as a result, the `Component.head` is empty.\n // for now it's probably good enough because it's used only for `findDuplicateDependencies`, which only\n // checks the components on the workspace.\n if (\n currentComp.head &&\n latestComp?.head &&\n new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)\n ) {\n value.latestVersionNode = compKey;\n }\n }\n }\n }\n return versionMap;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_graph","data","require","_duplicateDependency","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","DEPENDENCIES_TYPES","exports","ComponentGraph","Graph","constructor","nodes","edges","create","findCycles","graph","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","map","id","toString","cyclesWithSeeders","filter","cycle","some","cycleIdStr","includes","findDuplicateDependencies","versionMap","calculateVersionMap","seederIdsNoVersions","toStringWithoutVersion","duplicateDependencies","Map","compFullName","versions","allVersionNodes","length","versionSubgraphs","notLatestVersions","version","latestVersionNode","forEach","predecessors","predecessorsSubgraph","immediatePredecessors","predecessor","subGraph","buildFromCleargraph","versionSubgraph","versionId","immediateDependents","push","isSeeder","shouldDisplayDueToBeingSeeder","duplicateDep","DuplicateDependency","set","runtimeOnly","componentIds","successorsSubgraph","edgeFilter","edge","attr","type","node","comp","compKey","has","get","prototype","hasOwnProperty","currentComp","latestComp","head","Date","timestamp"],"sources":["component-graph.ts"],"sourcesContent":["import { Component, ComponentID } from '@teambit/component';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\n\nimport { Dependency } from '../model/dependency';\nimport { DuplicateDependency, VersionSubgraph } from '../duplicate-dependency';\n\nexport const DEPENDENCIES_TYPES = ['dependencies', 'devDependencies'];\n\ntype ComponentNode = Node<Component>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class ComponentGraph extends Graph<Component, Dependency> {\n seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)\n constructor(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n\n protected create(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []): this {\n return new ComponentGraph(nodes, edges) as this;\n }\n\n /**\n * @deprecate use graph.getGraphIds().findCycles()\n */\n findCycles(graph?: this): string[][] {\n const cycles = super.findCycles(graph);\n if (!this.shouldLimitToSeedersOnly()) {\n return cycles;\n }\n const seederIdsStr = this.seederIds.map((id) => id.toString());\n const cyclesWithSeeders = cycles.filter((cycle) => {\n return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));\n });\n return cyclesWithSeeders;\n }\n\n findDuplicateDependencies(): Map<string, DuplicateDependency> {\n const versionMap = this.calculateVersionMap();\n const seederIdsNoVersions = this.seederIds.map((id) => id.toStringWithoutVersion());\n const duplicateDependencies: Map<string, DuplicateDependency> = new Map();\n for (const [compFullName, versions] of versionMap) {\n if (versions.allVersionNodes.length > 1) {\n const versionSubgraphs: VersionSubgraph[] = [];\n const notLatestVersions = versions.allVersionNodes.filter((version) => version !== versions.latestVersionNode);\n notLatestVersions.forEach((version) => {\n const predecessors = this.predecessorsSubgraph(version);\n const immediatePredecessors = this.predecessors(version).map((predecessor) => predecessor.id);\n const subGraph = this.buildFromCleargraph(predecessors);\n const versionSubgraph: VersionSubgraph = {\n versionId: version,\n subGraph,\n // TODO: validate that this is working correctly\n immediateDependents: immediatePredecessors,\n };\n versionSubgraphs.push(versionSubgraph);\n });\n const isSeeder = seederIdsNoVersions.includes(compFullName);\n const shouldDisplayDueToBeingSeeder = !this.shouldLimitToSeedersOnly() || isSeeder;\n if (shouldDisplayDueToBeingSeeder && versionSubgraphs.length > 0) {\n const duplicateDep = new DuplicateDependency(versions.latestVersionNode, versionSubgraphs);\n duplicateDependencies.set(compFullName, duplicateDep);\n }\n }\n }\n return duplicateDependencies;\n }\n\n buildFromCleargraph(graph: Graph<Component, Dependency>): ComponentGraph {\n return this.create(graph.nodes, graph.edges);\n }\n\n runtimeOnly(componentIds: string[]) {\n return this.successorsSubgraph(componentIds, {\n edgeFilter: (edge: DependencyEdge) => edge.attr.type === 'runtime',\n });\n }\n\n private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n\n private calculateVersionMap(): Map<string, { allVersionNodes: string[]; latestVersionNode: string }> {\n const versionMap: Map<string, { allVersionNodes: string[]; latestVersionNode: string }> = new Map();\n for (const node of this.nodes) {\n const comp = node.attr;\n const compKey = node.id;\n const compFullName = comp.id.toStringWithoutVersion();\n if (!versionMap.has(compFullName)) {\n versionMap.set(compFullName, {\n allVersionNodes: [compKey],\n latestVersionNode: compKey,\n });\n } else {\n const value = versionMap.get(compFullName);\n if (value) {\n if (Object.prototype.hasOwnProperty.call(value, 'allVersionNodes')) {\n value.allVersionNodes.push(compKey);\n }\n const currentComp = comp;\n const latestComp = this.node(value.latestVersionNode)?.attr;\n // @todo: this check won't work when the component doesn't have head.\n // it happens when a dependency is needed in an old version (not head). which Bit doesn't fetch the head\n // Version object, and as a result, the `Component.head` is empty.\n // for now it's probably good enough because it's used only for `findDuplicateDependencies`, which only\n // checks the components on the workspace.\n if (\n currentComp.head &&\n latestComp?.head &&\n new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)\n ) {\n value.latestVersionNode = compKey;\n }\n }\n }\n }\n return versionMap;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,qBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+E,SAAAG,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAExE,MAAMW,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC;AAK9D,MAAME,cAAc,SAASC,cAAK,CAAwB;EAChC;EAC/BC,WAAWA,CAACC,KAAsB,GAAG,EAAE,EAAEC,KAAuB,GAAG,EAAE,EAAE;IACrE,KAAK,CAACD,KAAK,EAAEC,KAAK,CAAC;IAAC3B,eAAA,oBAFK,EAAE;EAG7B;EAEU4B,MAAMA,CAACF,KAAsB,GAAG,EAAE,EAAEC,KAAuB,GAAG,EAAE,EAAQ;IAChF,OAAO,IAAIJ,cAAc,CAACG,KAAK,EAAEC,KAAK,CAAC;EACzC;;EAEA;AACF;AACA;EACEE,UAAUA,CAACC,KAAY,EAAc;IACnC,MAAMC,MAAM,GAAG,KAAK,CAACF,UAAU,CAACC,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,CAACE,wBAAwB,CAAC,CAAC,EAAE;MACpC,OAAOD,MAAM;IACf;IACA,MAAME,YAAY,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC,CAAC;IAC9D,MAAMC,iBAAiB,GAAGP,MAAM,CAACQ,MAAM,CAAEC,KAAK,IAAK;MACjD,OAAOA,KAAK,CAACC,IAAI,CAAEC,UAAU,IAAKT,YAAY,CAACU,QAAQ,CAACD,UAAU,CAAC,CAAC;IACtE,CAAC,CAAC;IACF,OAAOJ,iBAAiB;EAC1B;EAEAM,yBAAyBA,CAAA,EAAqC;IAC5D,MAAMC,UAAU,GAAG,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAC7C,MAAMC,mBAAmB,GAAG,IAAI,CAACb,SAAS,CAACC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACY,sBAAsB,CAAC,CAAC,CAAC;IACnF,MAAMC,qBAAuD,GAAG,IAAIC,GAAG,CAAC,CAAC;IACzE,KAAK,MAAM,CAACC,YAAY,EAAEC,QAAQ,CAAC,IAAIP,UAAU,EAAE;MACjD,IAAIO,QAAQ,CAACC,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;QACvC,MAAMC,gBAAmC,GAAG,EAAE;QAC9C,MAAMC,iBAAiB,GAAGJ,QAAQ,CAACC,eAAe,CAACd,MAAM,CAAEkB,OAAO,IAAKA,OAAO,KAAKL,QAAQ,CAACM,iBAAiB,CAAC;QAC9GF,iBAAiB,CAACG,OAAO,CAAEF,OAAO,IAAK;UACrC,MAAMG,YAAY,GAAG,IAAI,CAACC,oBAAoB,CAACJ,OAAO,CAAC;UACvD,MAAMK,qBAAqB,GAAG,IAAI,CAACF,YAAY,CAACH,OAAO,CAAC,CAACtB,GAAG,CAAE4B,WAAW,IAAKA,WAAW,CAAC3B,EAAE,CAAC;UAC7F,MAAM4B,QAAQ,GAAG,IAAI,CAACC,mBAAmB,CAACL,YAAY,CAAC;UACvD,MAAMM,eAAgC,GAAG;YACvCC,SAAS,EAAEV,OAAO;YAClBO,QAAQ;YACR;YACAI,mBAAmB,EAAEN;UACvB,CAAC;UACDP,gBAAgB,CAACc,IAAI,CAACH,eAAe,CAAC;QACxC,CAAC,CAAC;QACF,MAAMI,QAAQ,GAAGvB,mBAAmB,CAACJ,QAAQ,CAACQ,YAAY,CAAC;QAC3D,MAAMoB,6BAA6B,GAAG,CAAC,IAAI,CAACvC,wBAAwB,CAAC,CAAC,IAAIsC,QAAQ;QAClF,IAAIC,6BAA6B,IAAIhB,gBAAgB,CAACD,MAAM,GAAG,CAAC,EAAE;UAChE,MAAMkB,YAAY,GAAG,KAAIC,0CAAmB,EAACrB,QAAQ,CAACM,iBAAiB,EAAEH,gBAAgB,CAAC;UAC1FN,qBAAqB,CAACyB,GAAG,CAACvB,YAAY,EAAEqB,YAAY,CAAC;QACvD;MACF;IACF;IACA,OAAOvB,qBAAqB;EAC9B;EAEAgB,mBAAmBA,CAACnC,KAAmC,EAAkB;IACvE,OAAO,IAAI,CAACF,MAAM,CAACE,KAAK,CAACJ,KAAK,EAAEI,KAAK,CAACH,KAAK,CAAC;EAC9C;EAEAgD,WAAWA,CAACC,YAAsB,EAAE;IAClC,OAAO,IAAI,CAACC,kBAAkB,CAACD,YAAY,EAAE;MAC3CE,UAAU,EAAGC,IAAoB,IAAKA,IAAI,CAACC,IAAI,CAACC,IAAI,KAAK;IAC3D,CAAC,CAAC;EACJ;EAEQjD,wBAAwBA,CAAA,EAAG;IACjC,OAAO,IAAI,CAACE,SAAS,CAACoB,MAAM;EAC9B;EAEQR,mBAAmBA,CAAA,EAA0E;IACnG,MAAMD,UAAiF,GAAG,IAAIK,GAAG,CAAC,CAAC;IACnG,KAAK,MAAMgC,IAAI,IAAI,IAAI,CAACxD,KAAK,EAAE;MAC7B,MAAMyD,IAAI,GAAGD,IAAI,CAACF,IAAI;MACtB,MAAMI,OAAO,GAAGF,IAAI,CAAC9C,EAAE;MACvB,MAAMe,YAAY,GAAGgC,IAAI,CAAC/C,EAAE,CAACY,sBAAsB,CAAC,CAAC;MACrD,IAAI,CAACH,UAAU,CAACwC,GAAG,CAAClC,YAAY,CAAC,EAAE;QACjCN,UAAU,CAAC6B,GAAG,CAACvB,YAAY,EAAE;UAC3BE,eAAe,EAAE,CAAC+B,OAAO,CAAC;UAC1B1B,iBAAiB,EAAE0B;QACrB,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAMjF,KAAK,GAAG0C,UAAU,CAACyC,GAAG,CAACnC,YAAY,CAAC;QAC1C,IAAIhD,KAAK,EAAE;UACT,IAAIE,MAAM,CAACkF,SAAS,CAACC,cAAc,CAACvE,IAAI,CAACd,KAAK,EAAE,iBAAiB,CAAC,EAAE;YAClEA,KAAK,CAACkD,eAAe,CAACgB,IAAI,CAACe,OAAO,CAAC;UACrC;UACA,MAAMK,WAAW,GAAGN,IAAI;UACxB,MAAMO,UAAU,GAAG,IAAI,CAACR,IAAI,CAAC/E,KAAK,CAACuD,iBAAiB,CAAC,EAAEsB,IAAI;UAC3D;UACA;UACA;UACA;UACA;UACA,IACES,WAAW,CAACE,IAAI,IAChBD,UAAU,EAAEC,IAAI,IAChB,IAAIC,IAAI,CAACH,WAAW,CAACE,IAAI,CAACE,SAAS,CAAC,GAAG,IAAID,IAAI,CAACF,UAAU,CAACC,IAAI,CAACE,SAAS,CAAC,EAC1E;YACA1F,KAAK,CAACuD,iBAAiB,GAAG0B,OAAO;UACnC;QACF;MACF;IACF;IACA,OAAOvC,UAAU;EACnB;AACF;AAACvB,OAAA,CAAAC,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -34,7 +34,7 @@ function _lodash() {
34
34
  }
35
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
36
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
37
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
38
38
  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); }
39
39
  class ComponentIdGraph extends _graph().Graph {
40
40
  // component IDs that started the graph. (if from workspace, the .bitmap ids normally)
@@ -1 +1 @@
1
- {"version":3,"names":["_componentId","data","require","_graph","_graphlib","_interopRequireDefault","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentIdGraph","Graph","constructor","nodes","edges","graphLib","_graphLib","GraphLib","forEach","node","setNode","id","toString","edge","setEdge","sourceId","targetId","attr","create","findIdsFromSourcesToTargets","sources","targets","through","removeVerFromIdStr","idStr","split","sourcesStr","map","s","toStringWithoutVersion","targetsStr","allFlattened","source","successors","flat","allFlattenedIds","uniq","f","results","idWithNoVer","includes","allSuccessors","allSuccessorsWithNoVersion","find","push","componentIds","getNodes","n","length","resultsWithThrough","throughStr","allGraph","subgraph","allGraphWithNoVersion","every","findAllPathsFromSourcesToTargets","findAllPathsBFS","start","end","paths","visited","Set","queue","path","shift","add","outEdges","successor","has","allPaths","filter","pathWithVer","pathWithoutVer","p","filtered","firstDep","sort","a","b","findCycles","graph","includeDeps","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","cyclesWithSeeders","cycle","some","cycleIdStr","buildFromCleargraph","runtimeOnly","successorsSubgraph","edgeFilter","getDependenciesInfo","dijkstraResults","alg","dijkstra","dependencies","keys","distance","Infinity","predecessor","dependencyType","depth","parent","getDependenciesAsObjectTree","depsInfo","ComponentID","fromString","populateTreeItems","treeItems","children","depInfo","child","compId","label","currentNodes","tree","exports"],"sources":["component-id-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport type { DependenciesInfo } from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport GraphLib from 'graphlib';\nimport { uniq } from 'lodash';\n\nexport type DepEdgeType = 'prod' | 'dev' | 'ext' | 'peer';\n\ntype ComponentIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<DepEdgeType>;\nexport type CompIdGraph = Graph<ComponentID, DepEdgeType>;\n\nexport class ComponentIdGraph extends Graph<ComponentID, DepEdgeType> {\n private _graphLib: GraphLib.Graph;\n seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)\n constructor(nodes: ComponentIdNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n\n get graphLib() {\n if (!this._graphLib) {\n // convert clearGraph to graphLib\n this._graphLib = new GraphLib.Graph();\n this.nodes.forEach((node) => {\n this._graphLib.setNode(node.id.toString());\n });\n this.edges.forEach((edge) => {\n this._graphLib.setEdge(edge.sourceId.toString(), edge.targetId.toString(), edge.attr);\n });\n }\n return this._graphLib;\n }\n\n protected create(nodes: ComponentIdNode[] = [], edges: DependencyEdge[] = []): this {\n return new ComponentIdGraph(nodes, edges) as this;\n }\n\n /**\n * check all the routes from the sources to targets and return the components found during this traversal.\n * e.g.\n * A -> B -> C -> N.\n * A -> E -> N.\n * B -> F -> G.\n * given source: A, targets: N. The results will be: [B, C, E].\n *\n * if through is provided, it will only return the components that are connected to the through components.\n * with the example above, if through is B, the results will be: [B, C].\n */\n findIdsFromSourcesToTargets(sources: ComponentID[], targets: ComponentID[], through?: ComponentID[]): ComponentID[] {\n const removeVerFromIdStr = (idStr: string) => idStr.split('@')[0];\n const sourcesStr = sources.map((s) => s.toStringWithoutVersion());\n const targetsStr = targets.map((t) => t.toStringWithoutVersion());\n const allFlattened = sources.map((source) => this.successors(source.toString())).flat();\n const allFlattenedIds = uniq(allFlattened.map((f) => f.id));\n const results: string[] = [];\n allFlattenedIds.forEach((id) => {\n const idWithNoVer = removeVerFromIdStr(id);\n if (sourcesStr.includes(idWithNoVer) || targetsStr.includes(idWithNoVer)) return;\n const allSuccessors = this.successors(id);\n const allSuccessorsWithNoVersion = allSuccessors.map((s) => removeVerFromIdStr(s.id));\n if (allSuccessorsWithNoVersion.find((s) => targetsStr.includes(s))) results.push(id);\n });\n const componentIds = this.getNodes(results).map((n) => n.attr);\n\n if (!through?.length) {\n return componentIds;\n }\n\n const resultsWithThrough: ComponentID[] = [];\n const throughStr = through.map((t) => t.toStringWithoutVersion());\n componentIds.forEach((id) => {\n const allGraph = this.subgraph(id.toString()).nodes.map((n) => n.id); // successors and predecessors\n const allGraphWithNoVersion = allGraph.map((s) => removeVerFromIdStr(s));\n if (throughStr.every((t) => allGraphWithNoVersion.includes(t))) resultsWithThrough.push(id);\n });\n\n return resultsWithThrough;\n }\n\n /**\n * check all the routes from the sources to targets and return the components found during this traversal.\n * e.g.\n * A -> B -> C -> N.\n * A -> E -> N.\n * B -> F -> G.\n * given source: A, targets: N. The results will be: [B, C, E].\n *\n * if through is provided, it will only return the components that are connected to the through components.\n * with the example above, if through is B, the results will be: [B, C].\n */\n findAllPathsFromSourcesToTargets(\n sources: ComponentID[],\n targets: ComponentID[],\n through?: ComponentID[]\n ): string[][] {\n const removeVerFromIdStr = (idStr: string) => idStr.split('@')[0];\n\n const findAllPathsBFS = (start: string[], end: string[]): string[][] => {\n const paths: string[][] = [];\n const visited = new Set<string>();\n const queue: { node: string; path: string[] }[] = [];\n start.forEach((s) => queue.push({ node: s, path: [s] }));\n while (queue.length) {\n const { node, path } = queue.shift()!;\n if (end.includes(removeVerFromIdStr(node))) {\n paths.push([...path]);\n } else {\n visited.add(node);\n const successors = this.outEdges(node).map((e) => e.targetId);\n for (const successor of successors) {\n if (!visited.has(successor)) {\n queue.push({ node: successor, path: [...path, successor] });\n }\n }\n }\n }\n return paths;\n };\n\n const targetsStr = targets.map((t) => t.toStringWithoutVersion());\n const sourcesStr = sources.map((s) => s.toString());\n\n let allPaths = findAllPathsBFS(sourcesStr, targetsStr);\n\n if (through?.length) {\n allPaths = allPaths.filter((pathWithVer) => {\n const pathWithoutVer = pathWithVer.map((p) => removeVerFromIdStr(p));\n return through.every((t) => pathWithoutVer.includes(t.toStringWithoutVersion()));\n });\n }\n\n const filtered = allPaths.filter((path) => {\n if (path.length < 3) {\n // if length is 1, the source and target are the same.\n // if length is 2, the target is a direct dependency of the source. we don't care about it.\n return false;\n }\n const [, firstDep] = path;\n if (sourcesStr.includes(firstDep)) {\n // the first item is the source. the second item \"firstDep\" can be a direct dependency of one of the sources.\n // if this is the case, we have already an exact path without this firstDep.\n return true;\n }\n return true;\n });\n\n return filtered.sort((a, b) => a.length - b.length);\n }\n\n /**\n * overrides the super class to eliminate non-seeders components\n */\n findCycles(graph?: this, includeDeps = false): string[][] {\n const cycles = super.findCycles(graph);\n if (!this.shouldLimitToSeedersOnly() || includeDeps) {\n return cycles;\n }\n const seederIdsStr = this.seederIds.map((id) => id.toString());\n const cyclesWithSeeders = cycles.filter((cycle) => {\n return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));\n });\n return cyclesWithSeeders;\n }\n\n buildFromCleargraph(graph: Graph<ComponentID, DepEdgeType>): ComponentIdGraph {\n return this.create(graph.nodes, graph.edges);\n }\n\n runtimeOnly(componentIds: string[]) {\n return this.successorsSubgraph(componentIds, {\n edgeFilter: (edge: DependencyEdge) => edge.attr === 'prod',\n });\n }\n\n getDependenciesInfo(id: ComponentID): DependenciesInfo[] {\n const dijkstraResults = GraphLib.alg.dijkstra(this.graphLib, id.toString());\n const dependencies: DependenciesInfo[] = [];\n Object.keys(dijkstraResults).forEach((idStr) => {\n const distance = dijkstraResults[idStr].distance;\n if (distance === Infinity || distance === 0) {\n // there is no dependency or it's the same component (distance zero)\n return;\n }\n const predecessor = dijkstraResults[idStr].predecessor;\n const dependencyType = this.edge(predecessor, idStr);\n dependencies.push({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n id: this.node(idStr)!.attr,\n depth: distance,\n parent: predecessor,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n dependencyType: dependencyType!.attr,\n });\n });\n dependencies.sort((a, b) => a.depth - b.depth);\n return dependencies;\n }\n\n getDependenciesAsObjectTree(idStr: string): Record<string, any> {\n const depsInfo = this.getDependenciesInfo(ComponentID.fromString(idStr));\n const populateTreeItems = (id: string, treeItems: Array<{ label: string; nodes?: Array<Record<string, any>> }>) => {\n const children = depsInfo.filter((depInfo) => depInfo.parent === id);\n if (!children || children.length === 0) {\n return;\n }\n children.forEach((child) => {\n const { id: compId } = child;\n const label = compId.toString();\n const currentNodes = [];\n treeItems.push({ label, nodes: currentNodes });\n populateTreeItems(label, currentNodes);\n });\n };\n\n const currentNodes = [];\n const tree = { label: idStr, nodes: currentNodes };\n populateTreeItems(idStr, currentNodes);\n return tree;\n }\n\n private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_componentId","data","require","_graph","_graphlib","_interopRequireDefault","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","ComponentIdGraph","Graph","constructor","nodes","edges","graphLib","_graphLib","GraphLib","forEach","node","setNode","id","toString","edge","setEdge","sourceId","targetId","attr","create","findIdsFromSourcesToTargets","sources","targets","through","removeVerFromIdStr","idStr","split","sourcesStr","map","s","toStringWithoutVersion","targetsStr","allFlattened","source","successors","flat","allFlattenedIds","uniq","f","results","idWithNoVer","includes","allSuccessors","allSuccessorsWithNoVersion","find","push","componentIds","getNodes","n","length","resultsWithThrough","throughStr","allGraph","subgraph","allGraphWithNoVersion","every","findAllPathsFromSourcesToTargets","findAllPathsBFS","start","end","paths","visited","Set","queue","path","shift","add","outEdges","successor","has","allPaths","filter","pathWithVer","pathWithoutVer","p","filtered","firstDep","sort","a","b","findCycles","graph","includeDeps","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","cyclesWithSeeders","cycle","some","cycleIdStr","buildFromCleargraph","runtimeOnly","successorsSubgraph","edgeFilter","getDependenciesInfo","dijkstraResults","alg","dijkstra","dependencies","keys","distance","Infinity","predecessor","dependencyType","depth","parent","getDependenciesAsObjectTree","depsInfo","ComponentID","fromString","populateTreeItems","treeItems","children","depInfo","child","compId","label","currentNodes","tree","exports"],"sources":["component-id-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport type { DependenciesInfo } from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport GraphLib from 'graphlib';\nimport { uniq } from 'lodash';\n\nexport type DepEdgeType = 'prod' | 'dev' | 'ext' | 'peer';\n\ntype ComponentIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<DepEdgeType>;\nexport type CompIdGraph = Graph<ComponentID, DepEdgeType>;\n\nexport class ComponentIdGraph extends Graph<ComponentID, DepEdgeType> {\n private _graphLib: GraphLib.Graph;\n seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)\n constructor(nodes: ComponentIdNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n\n get graphLib() {\n if (!this._graphLib) {\n // convert clearGraph to graphLib\n this._graphLib = new GraphLib.Graph();\n this.nodes.forEach((node) => {\n this._graphLib.setNode(node.id.toString());\n });\n this.edges.forEach((edge) => {\n this._graphLib.setEdge(edge.sourceId.toString(), edge.targetId.toString(), edge.attr);\n });\n }\n return this._graphLib;\n }\n\n protected create(nodes: ComponentIdNode[] = [], edges: DependencyEdge[] = []): this {\n return new ComponentIdGraph(nodes, edges) as this;\n }\n\n /**\n * check all the routes from the sources to targets and return the components found during this traversal.\n * e.g.\n * A -> B -> C -> N.\n * A -> E -> N.\n * B -> F -> G.\n * given source: A, targets: N. The results will be: [B, C, E].\n *\n * if through is provided, it will only return the components that are connected to the through components.\n * with the example above, if through is B, the results will be: [B, C].\n */\n findIdsFromSourcesToTargets(sources: ComponentID[], targets: ComponentID[], through?: ComponentID[]): ComponentID[] {\n const removeVerFromIdStr = (idStr: string) => idStr.split('@')[0];\n const sourcesStr = sources.map((s) => s.toStringWithoutVersion());\n const targetsStr = targets.map((t) => t.toStringWithoutVersion());\n const allFlattened = sources.map((source) => this.successors(source.toString())).flat();\n const allFlattenedIds = uniq(allFlattened.map((f) => f.id));\n const results: string[] = [];\n allFlattenedIds.forEach((id) => {\n const idWithNoVer = removeVerFromIdStr(id);\n if (sourcesStr.includes(idWithNoVer) || targetsStr.includes(idWithNoVer)) return;\n const allSuccessors = this.successors(id);\n const allSuccessorsWithNoVersion = allSuccessors.map((s) => removeVerFromIdStr(s.id));\n if (allSuccessorsWithNoVersion.find((s) => targetsStr.includes(s))) results.push(id);\n });\n const componentIds = this.getNodes(results).map((n) => n.attr);\n\n if (!through?.length) {\n return componentIds;\n }\n\n const resultsWithThrough: ComponentID[] = [];\n const throughStr = through.map((t) => t.toStringWithoutVersion());\n componentIds.forEach((id) => {\n const allGraph = this.subgraph(id.toString()).nodes.map((n) => n.id); // successors and predecessors\n const allGraphWithNoVersion = allGraph.map((s) => removeVerFromIdStr(s));\n if (throughStr.every((t) => allGraphWithNoVersion.includes(t))) resultsWithThrough.push(id);\n });\n\n return resultsWithThrough;\n }\n\n /**\n * check all the routes from the sources to targets and return the components found during this traversal.\n * e.g.\n * A -> B -> C -> N.\n * A -> E -> N.\n * B -> F -> G.\n * given source: A, targets: N. The results will be: [B, C, E].\n *\n * if through is provided, it will only return the components that are connected to the through components.\n * with the example above, if through is B, the results will be: [B, C].\n */\n findAllPathsFromSourcesToTargets(\n sources: ComponentID[],\n targets: ComponentID[],\n through?: ComponentID[]\n ): string[][] {\n const removeVerFromIdStr = (idStr: string) => idStr.split('@')[0];\n\n const findAllPathsBFS = (start: string[], end: string[]): string[][] => {\n const paths: string[][] = [];\n const visited = new Set<string>();\n const queue: { node: string; path: string[] }[] = [];\n start.forEach((s) => queue.push({ node: s, path: [s] }));\n while (queue.length) {\n const { node, path } = queue.shift()!;\n if (end.includes(removeVerFromIdStr(node))) {\n paths.push([...path]);\n } else {\n visited.add(node);\n const successors = this.outEdges(node).map((e) => e.targetId);\n for (const successor of successors) {\n if (!visited.has(successor)) {\n queue.push({ node: successor, path: [...path, successor] });\n }\n }\n }\n }\n return paths;\n };\n\n const targetsStr = targets.map((t) => t.toStringWithoutVersion());\n const sourcesStr = sources.map((s) => s.toString());\n\n let allPaths = findAllPathsBFS(sourcesStr, targetsStr);\n\n if (through?.length) {\n allPaths = allPaths.filter((pathWithVer) => {\n const pathWithoutVer = pathWithVer.map((p) => removeVerFromIdStr(p));\n return through.every((t) => pathWithoutVer.includes(t.toStringWithoutVersion()));\n });\n }\n\n const filtered = allPaths.filter((path) => {\n if (path.length < 3) {\n // if length is 1, the source and target are the same.\n // if length is 2, the target is a direct dependency of the source. we don't care about it.\n return false;\n }\n const [, firstDep] = path;\n if (sourcesStr.includes(firstDep)) {\n // the first item is the source. the second item \"firstDep\" can be a direct dependency of one of the sources.\n // if this is the case, we have already an exact path without this firstDep.\n return true;\n }\n return true;\n });\n\n return filtered.sort((a, b) => a.length - b.length);\n }\n\n /**\n * overrides the super class to eliminate non-seeders components\n */\n findCycles(graph?: this, includeDeps = false): string[][] {\n const cycles = super.findCycles(graph);\n if (!this.shouldLimitToSeedersOnly() || includeDeps) {\n return cycles;\n }\n const seederIdsStr = this.seederIds.map((id) => id.toString());\n const cyclesWithSeeders = cycles.filter((cycle) => {\n return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));\n });\n return cyclesWithSeeders;\n }\n\n buildFromCleargraph(graph: Graph<ComponentID, DepEdgeType>): ComponentIdGraph {\n return this.create(graph.nodes, graph.edges);\n }\n\n runtimeOnly(componentIds: string[]) {\n return this.successorsSubgraph(componentIds, {\n edgeFilter: (edge: DependencyEdge) => edge.attr === 'prod',\n });\n }\n\n getDependenciesInfo(id: ComponentID): DependenciesInfo[] {\n const dijkstraResults = GraphLib.alg.dijkstra(this.graphLib, id.toString());\n const dependencies: DependenciesInfo[] = [];\n Object.keys(dijkstraResults).forEach((idStr) => {\n const distance = dijkstraResults[idStr].distance;\n if (distance === Infinity || distance === 0) {\n // there is no dependency or it's the same component (distance zero)\n return;\n }\n const predecessor = dijkstraResults[idStr].predecessor;\n const dependencyType = this.edge(predecessor, idStr);\n dependencies.push({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n id: this.node(idStr)!.attr,\n depth: distance,\n parent: predecessor,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n dependencyType: dependencyType!.attr,\n });\n });\n dependencies.sort((a, b) => a.depth - b.depth);\n return dependencies;\n }\n\n getDependenciesAsObjectTree(idStr: string): Record<string, any> {\n const depsInfo = this.getDependenciesInfo(ComponentID.fromString(idStr));\n const populateTreeItems = (id: string, treeItems: Array<{ label: string; nodes?: Array<Record<string, any>> }>) => {\n const children = depsInfo.filter((depInfo) => depInfo.parent === id);\n if (!children || children.length === 0) {\n return;\n }\n children.forEach((child) => {\n const { id: compId } = child;\n const label = compId.toString();\n const currentNodes = [];\n treeItems.push({ label, nodes: currentNodes });\n populateTreeItems(label, currentNodes);\n });\n };\n\n const currentNodes = [];\n const tree = { label: idStr, nodes: currentNodes };\n populateTreeItems(idStr, currentNodes);\n return tree;\n }\n\n private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DuplicateDependency = void 0;
7
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  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); }
10
10
  // eslint-disable-next-line import/no-cycle
11
11
 
package/dist/graph-cmd.js CHANGED
@@ -82,10 +82,10 @@ function _getRemoteByName() {
82
82
  return data;
83
83
  }
84
84
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
85
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
85
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
86
86
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87
87
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
88
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
88
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
89
89
  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); }
90
90
  class GraphCmd {
91
91
  constructor(componentAspect) {
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_os","path","_interopRequireWildcard","_graphlib","_componentId","_toolboxString","_vizgraph","_consumer","_scopeGraph","_exceptions","_getRemoteByName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","GraphCmd","constructor","componentAspect","report","id","remote","allVersions","layout","image","consumer","loadConsumerIfExist","ConsumerNotFound","graph","generateGraph","config","visualDependencyGraph","VisualDependencyGraph","loadFromGraphlib","join","os","tmpdir","generateRandomStr","result","chalk","green","getBitId","undefined","ComponentID","fromString","getParsedId","bitId","scopeName","scope","remoteScope","getRemoteByName","componentDepGraph","Error","onlyLatest","workspaceGraph","DependencyGraph","buildGraphFromWorkspace","dependencyGraph","componentGraph","getSubGraphOfConnectedComponents","json","GraphLib","write","exports"],"sources":["graph-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport os from 'os';\nimport * as path from 'path';\nimport GraphLib from 'graphlib';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentID } from '@teambit/component-id';\nimport { generateRandomStr } from '@teambit/toolbox.string.random';\nimport VisualDependencyGraph from '@teambit/legacy/dist/scope/graph/vizgraph';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { ComponentMain } from '@teambit/component';\n\ntype GraphOpt = {\n image?: string;\n remote?: string;\n allVersions?: boolean;\n layout?: string;\n json?: boolean;\n};\n\nexport class GraphCmd implements Command {\n name = 'graph [id]';\n description = \"generate an image file with the workspace components' dependencies graph\";\n extendedDescription: 'black arrow is a runtime dependency. red arrow is either dev or peer';\n group = 'discover';\n alias = '';\n options = [\n ['i', 'image <image>', 'image path and format. use one of the following extensions: [gif, png, svg, pdf]'],\n ['r', 'remote [remoteName]', 'remote name (name is optional, leave empty when id is specified)'],\n ['', 'all-versions', 'enter all components versions into the graph, not only latest'],\n [\n '',\n 'layout <name>',\n 'GraphVis layout. default to \"dot\". options are [circo, dot, fdp, neato, osage, patchwork, sfdp, twopi]',\n ],\n ['j', 'json', 'json format'],\n ] as CommandOptions;\n remoteOp = true;\n\n constructor(private componentAspect: ComponentMain) {}\n\n async report([id]: [string], { remote, allVersions, layout, image }: GraphOpt): Promise<string> {\n const consumer = await loadConsumerIfExist();\n if (!consumer && !remote) throw new ConsumerNotFound();\n\n const graph = await this.generateGraph(consumer, id, remote, allVersions);\n\n const config = {};\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (layout) config.layout = layout;\n const visualDependencyGraph = await VisualDependencyGraph.loadFromGraphlib(graph, config);\n\n image = image || path.join(os.tmpdir(), `${generateRandomStr()}.png`);\n const result = await visualDependencyGraph.image(image);\n\n return chalk.green(`image created at ${result}`);\n }\n\n private async generateGraph(\n consumer?: Consumer,\n id?: string,\n remote?: string,\n allVersions?: boolean\n ): Promise<GraphLib.Graph> {\n if (!consumer && !remote) throw new ConsumerNotFound();\n const getBitId = (): ComponentID | undefined => {\n if (!id) return undefined;\n if (remote) return ComponentID.fromString(id); // user used --remote so we know it has a scope\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return consumer.getParsedId(id);\n };\n const bitId = getBitId();\n if (remote) {\n if (id) {\n // @ts-ignore scope must be set as it came from a remote\n const scopeName: string = typeof remote === 'string' ? remote : bitId.scope;\n const remoteScope = await getRemoteByName(scopeName, consumer);\n const componentDepGraph = await remoteScope.graph(bitId);\n return componentDepGraph.graph;\n }\n if (typeof remote !== 'string') {\n throw new Error('please specify remote scope name or enter an id');\n }\n const remoteScope = await getRemoteByName(remote, consumer);\n const componentDepGraph = await remoteScope.graph();\n return componentDepGraph.graph;\n }\n\n const onlyLatest = !allVersions;\n // @ts-ignore consumer must be set here\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(consumer, onlyLatest);\n const dependencyGraph = new DependencyGraph(workspaceGraph);\n if (id) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const componentGraph = dependencyGraph.getSubGraphOfConnectedComponents(bitId);\n const componentDepGraph = new DependencyGraph(componentGraph);\n return componentDepGraph.graph;\n }\n return dependencyGraph.graph;\n }\n\n async json([id]: [string], { remote, allVersions }: GraphOpt) {\n const consumer = await loadConsumerIfExist();\n if (!consumer && !remote) throw new ConsumerNotFound();\n\n const graph = await this.generateGraph(consumer, id, remote, allVersions);\n return GraphLib.json.write(graph);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_os","path","_interopRequireWildcard","_graphlib","_componentId","_toolboxString","_vizgraph","_consumer","_scopeGraph","_exceptions","_getRemoteByName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","GraphCmd","constructor","componentAspect","report","id","remote","allVersions","layout","image","consumer","loadConsumerIfExist","ConsumerNotFound","graph","generateGraph","config","visualDependencyGraph","VisualDependencyGraph","loadFromGraphlib","join","os","tmpdir","generateRandomStr","result","chalk","green","getBitId","undefined","ComponentID","fromString","getParsedId","bitId","scopeName","scope","remoteScope","getRemoteByName","componentDepGraph","Error","onlyLatest","workspaceGraph","DependencyGraph","buildGraphFromWorkspace","dependencyGraph","componentGraph","getSubGraphOfConnectedComponents","json","GraphLib","write","exports"],"sources":["graph-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport os from 'os';\nimport * as path from 'path';\nimport GraphLib from 'graphlib';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentID } from '@teambit/component-id';\nimport { generateRandomStr } from '@teambit/toolbox.string.random';\nimport VisualDependencyGraph from '@teambit/legacy/dist/scope/graph/vizgraph';\nimport { Consumer, loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { ComponentMain } from '@teambit/component';\n\ntype GraphOpt = {\n image?: string;\n remote?: string;\n allVersions?: boolean;\n layout?: string;\n json?: boolean;\n};\n\nexport class GraphCmd implements Command {\n name = 'graph [id]';\n description = \"generate an image file with the workspace components' dependencies graph\";\n extendedDescription: 'black arrow is a runtime dependency. red arrow is either dev or peer';\n group = 'discover';\n alias = '';\n options = [\n ['i', 'image <image>', 'image path and format. use one of the following extensions: [gif, png, svg, pdf]'],\n ['r', 'remote [remoteName]', 'remote name (name is optional, leave empty when id is specified)'],\n ['', 'all-versions', 'enter all components versions into the graph, not only latest'],\n [\n '',\n 'layout <name>',\n 'GraphVis layout. default to \"dot\". options are [circo, dot, fdp, neato, osage, patchwork, sfdp, twopi]',\n ],\n ['j', 'json', 'json format'],\n ] as CommandOptions;\n remoteOp = true;\n\n constructor(private componentAspect: ComponentMain) {}\n\n async report([id]: [string], { remote, allVersions, layout, image }: GraphOpt): Promise<string> {\n const consumer = await loadConsumerIfExist();\n if (!consumer && !remote) throw new ConsumerNotFound();\n\n const graph = await this.generateGraph(consumer, id, remote, allVersions);\n\n const config = {};\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (layout) config.layout = layout;\n const visualDependencyGraph = await VisualDependencyGraph.loadFromGraphlib(graph, config);\n\n image = image || path.join(os.tmpdir(), `${generateRandomStr()}.png`);\n const result = await visualDependencyGraph.image(image);\n\n return chalk.green(`image created at ${result}`);\n }\n\n private async generateGraph(\n consumer?: Consumer,\n id?: string,\n remote?: string,\n allVersions?: boolean\n ): Promise<GraphLib.Graph> {\n if (!consumer && !remote) throw new ConsumerNotFound();\n const getBitId = (): ComponentID | undefined => {\n if (!id) return undefined;\n if (remote) return ComponentID.fromString(id); // user used --remote so we know it has a scope\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return consumer.getParsedId(id);\n };\n const bitId = getBitId();\n if (remote) {\n if (id) {\n // @ts-ignore scope must be set as it came from a remote\n const scopeName: string = typeof remote === 'string' ? remote : bitId.scope;\n const remoteScope = await getRemoteByName(scopeName, consumer);\n const componentDepGraph = await remoteScope.graph(bitId);\n return componentDepGraph.graph;\n }\n if (typeof remote !== 'string') {\n throw new Error('please specify remote scope name or enter an id');\n }\n const remoteScope = await getRemoteByName(remote, consumer);\n const componentDepGraph = await remoteScope.graph();\n return componentDepGraph.graph;\n }\n\n const onlyLatest = !allVersions;\n // @ts-ignore consumer must be set here\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(consumer, onlyLatest);\n const dependencyGraph = new DependencyGraph(workspaceGraph);\n if (id) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const componentGraph = dependencyGraph.getSubGraphOfConnectedComponents(bitId);\n const componentDepGraph = new DependencyGraph(componentGraph);\n return componentDepGraph.graph;\n }\n return dependencyGraph.graph;\n }\n\n async json([id]: [string], { remote, allVersions }: GraphOpt) {\n const consumer = await loadConsumerIfExist();\n if (!consumer && !remote) throw new ConsumerNotFound();\n\n const graph = await this.generateGraph(consumer, id, remote, allVersions);\n return GraphLib.json.write(graph);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -27,7 +27,7 @@ function _dependenciesCompare() {
27
27
  }
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
31
31
  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); }
32
32
  class GraphCompareSection {
33
33
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_componentUiComponentCompareModels","_dependenciesCompare","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","GraphCompareSection","constructor","href","children","navigationLink","path","element","createElement","DependenciesCompare","ChangeType","DEPENDENCY","exports"],"sources":["graph.compare.section.tsx"],"sourcesContent":["import React from 'react';\nimport { Section } from '@teambit/component';\nimport { ChangeType } from '@teambit/component.ui.component-compare.models.component-compare-change-type';\nimport { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';\nimport { DependenciesCompare } from './ui/dependencies-compare';\n\nexport class GraphCompareSection implements Section, TabItem {\n navigationLink = {\n href: 'dependencies',\n children: 'Dependencies',\n };\n\n props = this.navigationLink;\n\n route = {\n path: 'dependencies/*',\n element: <DependenciesCompare />,\n };\n\n order = 25;\n changeType = ChangeType.DEPENDENCY;\n id = 'dependencies';\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,mCAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kCAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,qBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,oBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgE,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEzD,MAAMW,mBAAmB,CAA6B;EAAAC,YAAA;IAAArB,eAAA,yBAC1C;MACfsB,IAAI,EAAE,cAAc;MACpBC,QAAQ,EAAE;IACZ,CAAC;IAAAvB,eAAA,gBAEO,IAAI,CAACwB,cAAc;IAAAxB,eAAA,gBAEnB;MACNyB,IAAI,EAAE,gBAAgB;MACtBC,OAAO,eAAEnC,MAAA,GAAAQ,OAAA,CAAA4B,aAAA,CAAC/B,oBAAA,GAAAgC,mBAAmB,MAAE;IACjC,CAAC;IAAA5B,eAAA,gBAEO,EAAE;IAAAA,eAAA,qBACG6B,+CAAU,CAACC,UAAU;IAAA9B,eAAA,aAC7B,cAAc;EAAA;AACrB;AAAC+B,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_componentUiComponentCompareModels","_dependenciesCompare","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","GraphCompareSection","constructor","href","children","navigationLink","path","element","createElement","DependenciesCompare","ChangeType","DEPENDENCY","exports"],"sources":["graph.compare.section.tsx"],"sourcesContent":["import React from 'react';\nimport { Section } from '@teambit/component';\nimport { ChangeType } from '@teambit/component.ui.component-compare.models.component-compare-change-type';\nimport { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';\nimport { DependenciesCompare } from './ui/dependencies-compare';\n\nexport class GraphCompareSection implements Section, TabItem {\n navigationLink = {\n href: 'dependencies',\n children: 'Dependencies',\n };\n\n props = this.navigationLink;\n\n route = {\n path: 'dependencies/*',\n element: <DependenciesCompare />,\n };\n\n order = 25;\n changeType = ChangeType.DEPENDENCY;\n id = 'dependencies';\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,mCAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kCAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,qBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,oBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgE,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAEzD,MAAMW,mBAAmB,CAA6B;EAAAC,YAAA;IAAArB,eAAA,yBAC1C;MACfsB,IAAI,EAAE,cAAc;MACpBC,QAAQ,EAAE;IACZ,CAAC;IAAAvB,eAAA,gBAEO,IAAI,CAACwB,cAAc;IAAAxB,eAAA,gBAEnB;MACNyB,IAAI,EAAE,gBAAgB;MACtBC,OAAO,eAAEnC,MAAA,GAAAQ,OAAA,CAAA4B,aAAA,CAAC/B,oBAAA,GAAAgC,mBAAmB,MAAE;IACjC,CAAC;IAAA5B,eAAA,gBAEO,EAAE;IAAAA,eAAA,qBACG6B,+CAAU,CAACC,UAAU;IAAA9B,eAAA,aAC7B,cAAc;EAAA;AACrB;AAAC+B,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -61,7 +61,7 @@ function _graphCmd() {
61
61
  return data;
62
62
  }
63
63
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
64
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
64
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
65
65
  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); }
66
66
  class GraphMain {
67
67
  constructor(componentAspect, logger) {
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_component","_graphql","_logger","_graphBuilder","_graph","_graph2","_graphCmd","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","GraphMain","constructor","componentAspect","logger","getGraph","ids","opts","graphBuilder","GraphBuilder","getGraphIds","provider","graphql","cli","loggerMain","createLogger","GraphAspect","id","register","graphSchema","graphMain","GraphCmd","exports","GraphqlAspect","ComponentAspect","CLIAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["graph.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ComponentMain, ComponentAspect, ComponentID } from '@teambit/component';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { GetGraphOpts, GraphBuilder } from './graph-builder';\nimport { graphSchema } from './graph.graphql';\nimport { GraphAspect } from './graph.aspect';\nimport { GraphCmd } from './graph-cmd';\nimport { ComponentGraph } from './component-graph';\nimport { ComponentIdGraph } from './component-id-graph';\n\nexport class GraphMain {\n constructor(private componentAspect: ComponentMain, private logger: Logger) {}\n\n /**\n * important - prefer using `getGraphIds()` it's way better in terms of performance.\n */\n async getGraph(ids?: ComponentID[], opts: GetGraphOpts = {}): Promise<ComponentGraph> {\n const graphBuilder = new GraphBuilder(this.componentAspect);\n return graphBuilder.getGraph(ids, opts);\n }\n\n async getGraphIds(ids?: ComponentID[], opts: GetGraphOpts = {}): Promise<ComponentIdGraph> {\n const graphBuilder = new GraphBuilder(this.componentAspect);\n return graphBuilder.getGraphIds(ids, opts);\n }\n\n static slots = [];\n static dependencies = [GraphqlAspect, ComponentAspect, CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([graphql, componentAspect, cli, loggerMain]: [\n GraphqlMain,\n ComponentMain,\n CLIMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(GraphAspect.id);\n\n const graphBuilder = new GraphBuilder(componentAspect);\n graphql.register(graphSchema(graphBuilder, componentAspect));\n\n const graphMain = new GraphMain(componentAspect, logger);\n cli.register(new GraphCmd(componentAspect));\n\n return graphMain;\n }\n}\n\nGraphAspect.addRuntime(GraphMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_component","_graphql","_logger","_graphBuilder","_graph","_graph2","_graphCmd","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","GraphMain","constructor","componentAspect","logger","getGraph","ids","opts","graphBuilder","GraphBuilder","getGraphIds","provider","graphql","cli","loggerMain","createLogger","GraphAspect","id","register","graphSchema","graphMain","GraphCmd","exports","GraphqlAspect","ComponentAspect","CLIAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["graph.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ComponentMain, ComponentAspect, ComponentID } from '@teambit/component';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { GetGraphOpts, GraphBuilder } from './graph-builder';\nimport { graphSchema } from './graph.graphql';\nimport { GraphAspect } from './graph.aspect';\nimport { GraphCmd } from './graph-cmd';\nimport { ComponentGraph } from './component-graph';\nimport { ComponentIdGraph } from './component-id-graph';\n\nexport class GraphMain {\n constructor(private componentAspect: ComponentMain, private logger: Logger) {}\n\n /**\n * important - prefer using `getGraphIds()` it's way better in terms of performance.\n */\n async getGraph(ids?: ComponentID[], opts: GetGraphOpts = {}): Promise<ComponentGraph> {\n const graphBuilder = new GraphBuilder(this.componentAspect);\n return graphBuilder.getGraph(ids, opts);\n }\n\n async getGraphIds(ids?: ComponentID[], opts: GetGraphOpts = {}): Promise<ComponentIdGraph> {\n const graphBuilder = new GraphBuilder(this.componentAspect);\n return graphBuilder.getGraphIds(ids, opts);\n }\n\n static slots = [];\n static dependencies = [GraphqlAspect, ComponentAspect, CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([graphql, componentAspect, cli, loggerMain]: [\n GraphqlMain,\n ComponentMain,\n CLIMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(GraphAspect.id);\n\n const graphBuilder = new GraphBuilder(componentAspect);\n graphql.register(graphSchema(graphBuilder, componentAspect));\n\n const graphMain = new GraphMain(componentAspect, logger);\n cli.register(new GraphCmd(componentAspect));\n\n return graphMain;\n }\n}\n\nGraphAspect.addRuntime(GraphMain);\n"],"mappings":"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","ignoreList":[]}
@@ -61,7 +61,7 @@ function _dependenciesGraph() {
61
61
  return data;
62
62
  }
63
63
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
64
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
64
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
65
65
  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); }
66
66
  /**
67
67
  * Presents dependencies graph in the component page
@@ -1 +1 @@
1
- {"version":3,"names":["_ui","data","require","_harmony","_componentCompare","_component","_graph","_graph2","_graphCompare","_dependenciesGraph","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","GraphUI","getDependenciesGraph","DependenciesGraph","registerComponentWidget","componentWidgetSlot","register","constructor","provider","componentUI","componentCompare","config","graphUI","section","GraphSection","graphSection","GraphCompareSection","componentTab","registerNavigation","navigationLink","order","registerRoute","route","registerRoutes","exports","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","GraphAspect","addRuntime"],"sources":["graph.ui.runtime.tsx"],"sourcesContent":["import { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { GraphAspect } from './graph.aspect';\nimport { GraphSection } from './ui/graph.section';\nimport { GraphCompareSection } from './graph.compare.section';\nimport { DependenciesGraph } from './ui/dependencies-graph';\n\nexport interface ComponentWidgetProps extends React.HTMLAttributes<HTMLDivElement> {\n component: ComponentModel;\n}\nexport type ComponentWidget = ComponentType<ComponentWidgetProps>;\nexport type ComponentWidgetSlot = SlotRegistry<ComponentWidget>;\n\nexport type GraphUIConfig = {\n componentTab: boolean;\n};\n\n/**\n * Presents dependencies graph in the component page\n */\nexport class GraphUI {\n getDependenciesGraph() {\n return DependenciesGraph;\n }\n\n /**\n * adds plugins to component nodes\n * @param value\n */\n registerComponentWidget(value: ComponentWidget) {\n this.componentWidgetSlot.register(value);\n }\n\n constructor(private componentWidgetSlot: ComponentWidgetSlot) {}\n static dependencies = [ComponentAspect, ComponentCompareAspect];\n static runtime = UIRuntime;\n static slots = [Slot.withType<ComponentWidget>()];\n static defaultConfig = {\n componentTab: true,\n };\n\n static async provider(\n [componentUI, componentCompare]: [ComponentUI, ComponentCompareUI],\n config: GraphUIConfig,\n [componentWidgetSlot]: [ComponentWidgetSlot]\n ) {\n const graphUI = new GraphUI(componentWidgetSlot);\n const section = new GraphSection(componentWidgetSlot);\n const graphSection = new GraphCompareSection();\n if (config.componentTab) componentUI.registerNavigation(section.navigationLink, section.order);\n componentUI.registerRoute(section.route);\n componentCompare.registerNavigation(graphSection);\n componentCompare.registerRoutes([graphSection.route]);\n return graphUI;\n }\n}\n\nGraphAspect.addRuntime(GraphUI);\n"],"mappings":";;;;;;AACA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,kBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,OAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,cAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,aAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,mBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,kBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4D,SAAAS,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAY5D;AACA;AACA;AACO,MAAMW,OAAO,CAAC;EACnBC,oBAAoBA,CAAA,EAAG;IACrB,OAAOC,sCAAiB;EAC1B;;EAEA;AACF;AACA;AACA;EACEC,uBAAuBA,CAACrB,KAAsB,EAAE;IAC9C,IAAI,CAACsB,mBAAmB,CAACC,QAAQ,CAACvB,KAAK,CAAC;EAC1C;EAEAwB,WAAWA,CAASF,mBAAwC,EAAE;IAAA,KAA1CA,mBAAwC,GAAxCA,mBAAwC;EAAG;EAQ/D,aAAaG,QAAQA,CACnB,CAACC,WAAW,EAAEC,gBAAgB,CAAoC,EAClEC,MAAqB,EACrB,CAACN,mBAAmB,CAAwB,EAC5C;IACA,MAAMO,OAAO,GAAG,IAAIX,OAAO,CAACI,mBAAmB,CAAC;IAChD,MAAMQ,OAAO,GAAG,KAAIC,sBAAY,EAACT,mBAAmB,CAAC;IACrD,MAAMU,YAAY,GAAG,KAAIC,mCAAmB,EAAC,CAAC;IAC9C,IAAIL,MAAM,CAACM,YAAY,EAAER,WAAW,CAACS,kBAAkB,CAACL,OAAO,CAACM,cAAc,EAAEN,OAAO,CAACO,KAAK,CAAC;IAC9FX,WAAW,CAACY,aAAa,CAACR,OAAO,CAACS,KAAK,CAAC;IACxCZ,gBAAgB,CAACQ,kBAAkB,CAACH,YAAY,CAAC;IACjDL,gBAAgB,CAACa,cAAc,CAAC,CAACR,YAAY,CAACO,KAAK,CAAC,CAAC;IACrD,OAAOV,OAAO;EAChB;AACF;AAACY,OAAA,CAAAvB,OAAA,GAAAA,OAAA;AAAArB,eAAA,CAnCYqB,OAAO,kBAcI,CAACwB,4BAAe,EAAEC,0CAAsB,CAAC;AAAA9C,eAAA,CAdpDqB,OAAO,aAeD0B,eAAS;AAAA/C,eAAA,CAffqB,OAAO,WAgBH,CAAC2B,eAAI,CAACC,QAAQ,CAAkB,CAAC,CAAC;AAAAjD,eAAA,CAhBtCqB,OAAO,mBAiBK;EACrBgB,YAAY,EAAE;AAChB,CAAC;AAkBHa,oBAAW,CAACC,UAAU,CAAC9B,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_ui","data","require","_harmony","_componentCompare","_component","_graph","_graph2","_graphCompare","_dependenciesGraph","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","GraphUI","getDependenciesGraph","DependenciesGraph","registerComponentWidget","componentWidgetSlot","register","constructor","provider","componentUI","componentCompare","config","graphUI","section","GraphSection","graphSection","GraphCompareSection","componentTab","registerNavigation","navigationLink","order","registerRoute","route","registerRoutes","exports","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","GraphAspect","addRuntime"],"sources":["graph.ui.runtime.tsx"],"sourcesContent":["import { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { GraphAspect } from './graph.aspect';\nimport { GraphSection } from './ui/graph.section';\nimport { GraphCompareSection } from './graph.compare.section';\nimport { DependenciesGraph } from './ui/dependencies-graph';\n\nexport interface ComponentWidgetProps extends React.HTMLAttributes<HTMLDivElement> {\n component: ComponentModel;\n}\nexport type ComponentWidget = ComponentType<ComponentWidgetProps>;\nexport type ComponentWidgetSlot = SlotRegistry<ComponentWidget>;\n\nexport type GraphUIConfig = {\n componentTab: boolean;\n};\n\n/**\n * Presents dependencies graph in the component page\n */\nexport class GraphUI {\n getDependenciesGraph() {\n return DependenciesGraph;\n }\n\n /**\n * adds plugins to component nodes\n * @param value\n */\n registerComponentWidget(value: ComponentWidget) {\n this.componentWidgetSlot.register(value);\n }\n\n constructor(private componentWidgetSlot: ComponentWidgetSlot) {}\n static dependencies = [ComponentAspect, ComponentCompareAspect];\n static runtime = UIRuntime;\n static slots = [Slot.withType<ComponentWidget>()];\n static defaultConfig = {\n componentTab: true,\n };\n\n static async provider(\n [componentUI, componentCompare]: [ComponentUI, ComponentCompareUI],\n config: GraphUIConfig,\n [componentWidgetSlot]: [ComponentWidgetSlot]\n ) {\n const graphUI = new GraphUI(componentWidgetSlot);\n const section = new GraphSection(componentWidgetSlot);\n const graphSection = new GraphCompareSection();\n if (config.componentTab) componentUI.registerNavigation(section.navigationLink, section.order);\n componentUI.registerRoute(section.route);\n componentCompare.registerNavigation(graphSection);\n componentCompare.registerRoutes([graphSection.route]);\n return graphUI;\n }\n}\n\nGraphAspect.addRuntime(GraphUI);\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Dependency = void 0;
7
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  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); }
10
10
  class Dependency {
11
11
  constructor(type) {
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.208/dist/graph.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.208/dist/graph.docs.md';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.210/dist/graph.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.210/dist/graph.docs.md';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -92,7 +92,7 @@ const _excluded = ["node", "type"],
92
92
  _excluded2 = ["componentId", "className"]; // keep order: styles, then variants
93
93
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
94
94
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
95
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
95
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
96
96
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
97
97
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
98
98
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }