@teambit/graph 1.0.106 → 1.0.108

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 (55) hide show
  1. package/component-id-graph.ts +76 -0
  2. package/dist/component-graph/component-graph.d.ts +2 -2
  3. package/dist/component-graph/component-graph.js +2 -3
  4. package/dist/component-graph/component-graph.js.map +1 -1
  5. package/dist/component-id-graph.d.ts +4 -4
  6. package/dist/duplicate-dependency.d.ts +1 -1
  7. package/dist/graph-builder.d.ts +1 -1
  8. package/dist/graph-cmd.d.ts +1 -1
  9. package/dist/graph.compare.section.d.ts +2 -2
  10. package/dist/graph.composition.d.ts +2 -2
  11. package/dist/graph.main.runtime.d.ts +1 -1
  12. package/dist/graph.ui.runtime.d.ts +3 -3
  13. package/dist/model/dependency/dependency.d.ts +1 -1
  14. package/dist/model/graph-filters/graph-filters.d.ts +1 -1
  15. package/dist/object-list-to-graph.d.ts +2 -2
  16. package/dist/object-list-to-graph.js +2 -2
  17. package/dist/object-list-to-graph.js.map +1 -1
  18. package/dist/{preview-1703505948637.js → preview-1703647408454.js} +2 -2
  19. package/dist/ui/component-node/component-node.d.ts +2 -2
  20. package/dist/ui/dependencies-compare/compare-node-model.d.ts +1 -1
  21. package/dist/ui/dependencies-compare/dependencies-compare.d.ts +2 -2
  22. package/dist/ui/dependencies-compare/dependencies-compare.js +9 -13
  23. package/dist/ui/dependencies-compare/dependencies-compare.js.map +1 -1
  24. package/dist/ui/dependencies-compare/dependency-compare-node.d.ts +3 -3
  25. package/dist/ui/dependencies-compare/diff-graph.d.ts +1 -1
  26. package/dist/ui/dependencies-compare/diff-graph.js +4 -7
  27. package/dist/ui/dependencies-compare/diff-graph.js.map +1 -1
  28. package/dist/ui/dependencies-graph/calc-elements.d.ts +1 -1
  29. package/dist/ui/dependencies-graph/dep-edge/dep-edge.d.ts +1 -1
  30. package/dist/ui/dependencies-graph/dependencies-graph.d.ts +3 -3
  31. package/dist/ui/dependencies-graph/dependencies-graph.js +4 -5
  32. package/dist/ui/dependencies-graph/dependencies-graph.js.map +1 -1
  33. package/dist/ui/dependencies-graph/graph-context.d.ts +2 -2
  34. package/dist/ui/dependencies-graph/minimap.js +1 -2
  35. package/dist/ui/dependencies-graph/minimap.js.map +1 -1
  36. package/dist/ui/graph-page/graph-filters.d.ts +3 -3
  37. package/dist/ui/graph-page/graph-page.d.ts +3 -3
  38. package/dist/ui/graph.section.d.ts +2 -2
  39. package/dist/ui/query/get-graph.query.d.ts +4 -4
  40. package/dist/ui/query/use-graph-query.d.ts +2 -2
  41. package/dist/ui/query/use-graph-query.js +1 -1
  42. package/dist/ui/query/use-graph-query.js.map +1 -1
  43. package/dist/ui/query/use-graph.d.ts +2 -2
  44. package/duplicate-dependency.ts +18 -0
  45. package/edge-type.ts +5 -0
  46. package/graph-builder.ts +47 -0
  47. package/graph-cmd.ts +111 -0
  48. package/graph.aspect.ts +9 -0
  49. package/graph.graphql.ts +94 -0
  50. package/graph.main.runtime.ts +49 -0
  51. package/index.ts +25 -0
  52. package/object-list-to-graph.ts +66 -0
  53. package/package.json +20 -27
  54. package/tsconfig.json +16 -21
  55. package/types/asset.d.ts +15 -3
@@ -0,0 +1,76 @@
1
+ import { ComponentID } from '@teambit/component';
2
+ import { Graph, Node, Edge } from '@teambit/graph.cleargraph';
3
+ import { uniq } from 'lodash';
4
+
5
+ export type DepEdgeType = 'prod' | 'dev' | 'ext';
6
+
7
+ type ComponentIdNode = Node<ComponentID>;
8
+ type DependencyEdge = Edge<DepEdgeType>;
9
+ export type CompIdGraph = Graph<ComponentID, DepEdgeType>;
10
+
11
+ export class ComponentIdGraph extends Graph<ComponentID, DepEdgeType> {
12
+ seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)
13
+ constructor(nodes: ComponentIdNode[] = [], edges: DependencyEdge[] = []) {
14
+ super(nodes, edges);
15
+ }
16
+
17
+ protected create(nodes: ComponentIdNode[] = [], edges: DependencyEdge[] = []): this {
18
+ return new ComponentIdGraph(nodes, edges) as this;
19
+ }
20
+
21
+ /**
22
+ * check all the routes from the sources to targets and return the components found during this traversal.
23
+ * e.g.
24
+ * A -> B -> C -> N.
25
+ * A -> E -> N.
26
+ * B -> F -> G.
27
+ * given source: A, targets: N. The results will be: B, C, E
28
+ */
29
+ findIdsFromSourcesToTargets(sources: ComponentID[], targets: ComponentID[]): ComponentID[] {
30
+ const removeVerFromIdStr = (idStr: string) => idStr.split('@')[0];
31
+ const sourcesStr = sources.map((s) => s.toStringWithoutVersion());
32
+ const targetsStr = targets.map((t) => t.toStringWithoutVersion());
33
+ const allFlattened = sources.map((source) => this.successors(source.toString())).flat();
34
+ const allFlattenedIds = uniq(allFlattened.map((f) => f.id));
35
+ const results: string[] = [];
36
+ allFlattenedIds.forEach((id) => {
37
+ const idWithNoVer = removeVerFromIdStr(id);
38
+ if (sourcesStr.includes(idWithNoVer) || targetsStr.includes(idWithNoVer)) return;
39
+ const allSuccessors = this.successors(id);
40
+ const allSuccessorsWithNoVersion = allSuccessors.map((s) => removeVerFromIdStr(s.id));
41
+ if (allSuccessorsWithNoVersion.find((s) => targetsStr.includes(s))) results.push(id);
42
+ });
43
+ const componentIds = this.getNodes(results).map((n) => n.attr);
44
+
45
+ return componentIds;
46
+ }
47
+
48
+ /**
49
+ * overrides the super class to eliminate non-seeders components
50
+ */
51
+ findCycles(graph?: this, includeDeps = false): string[][] {
52
+ const cycles = super.findCycles(graph);
53
+ if (!this.shouldLimitToSeedersOnly() || includeDeps) {
54
+ return cycles;
55
+ }
56
+ const seederIdsStr = this.seederIds.map((id) => id.toString());
57
+ const cyclesWithSeeders = cycles.filter((cycle) => {
58
+ return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));
59
+ });
60
+ return cyclesWithSeeders;
61
+ }
62
+
63
+ buildFromCleargraph(graph: Graph<ComponentID, DepEdgeType>): ComponentIdGraph {
64
+ return this.create(graph.nodes, graph.edges);
65
+ }
66
+
67
+ runtimeOnly(componentIds: string[]) {
68
+ return this.successorsSubgraph(componentIds, {
69
+ edgeFilter: (edge: DependencyEdge) => edge.attr === 'prod',
70
+ });
71
+ }
72
+
73
+ private shouldLimitToSeedersOnly() {
74
+ return this.seederIds.length;
75
+ }
76
+ }
@@ -3,8 +3,8 @@ import { Graph, Node, Edge } from '@teambit/graph.cleargraph';
3
3
  import { Dependency } from '../model/dependency';
4
4
  import { DuplicateDependency } from '../duplicate-dependency';
5
5
  export declare const DEPENDENCIES_TYPES: string[];
6
- declare type ComponentNode = Node<Component>;
7
- declare type DependencyEdge = Edge<Dependency>;
6
+ type ComponentNode = Node<Component>;
7
+ type DependencyEdge = Edge<Dependency>;
8
8
  export declare class ComponentGraph extends Graph<Component, Dependency> {
9
9
  seederIds: ComponentID[];
10
10
  constructor(nodes?: ComponentNode[], edges?: DependencyEdge[]);
@@ -101,18 +101,17 @@ class ComponentGraph extends _graph().Graph {
101
101
  } else {
102
102
  const value = versionMap.get(compFullName);
103
103
  if (value) {
104
- var _this$node;
105
104
  if (Object.prototype.hasOwnProperty.call(value, 'allVersionNodes')) {
106
105
  value.allVersionNodes.push(compKey);
107
106
  }
108
107
  const currentComp = comp;
109
- const latestComp = (_this$node = this.node(value.latestVersionNode)) === null || _this$node === void 0 ? void 0 : _this$node.attr;
108
+ const latestComp = this.node(value.latestVersionNode)?.attr;
110
109
  // @todo: this check won't work when the component doesn't have head.
111
110
  // it happens when a dependency is needed in an old version (not head). which Bit doesn't fetch the head
112
111
  // Version object, and as a result, the `Component.head` is empty.
113
112
  // for now it's probably good enough because it's used only for `findDuplicateDependencies`, which only
114
113
  // checks the components on the workspace.
115
- if (currentComp.head && latestComp !== null && latestComp !== void 0 && latestComp.head && new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)) {
114
+ if (currentComp.head && latestComp?.head && new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)) {
116
115
  value.latestVersionNode = compKey;
117
116
  }
118
117
  }
@@ -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","_this$node","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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"}
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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"}
@@ -1,9 +1,9 @@
1
1
  import { ComponentID } from '@teambit/component';
2
2
  import { Graph, Node, Edge } from '@teambit/graph.cleargraph';
3
- export declare type DepEdgeType = 'prod' | 'dev' | 'ext';
4
- declare type ComponentIdNode = Node<ComponentID>;
5
- declare type DependencyEdge = Edge<DepEdgeType>;
6
- export declare type CompIdGraph = Graph<ComponentID, DepEdgeType>;
3
+ export type DepEdgeType = 'prod' | 'dev' | 'ext';
4
+ type ComponentIdNode = Node<ComponentID>;
5
+ type DependencyEdge = Edge<DepEdgeType>;
6
+ export type CompIdGraph = Graph<ComponentID, DepEdgeType>;
7
7
  export declare class ComponentIdGraph extends Graph<ComponentID, DepEdgeType> {
8
8
  seederIds: ComponentID[];
9
9
  constructor(nodes?: ComponentIdNode[], edges?: DependencyEdge[]);
@@ -4,7 +4,7 @@ export declare class DuplicateDependency {
4
4
  priorVersions: VersionSubgraph[];
5
5
  constructor(latestVersionId: string, priorVersions: VersionSubgraph[]);
6
6
  }
7
- export declare type VersionSubgraph = {
7
+ export type VersionSubgraph = {
8
8
  versionId: string;
9
9
  subGraph: ComponentGraph;
10
10
  immediateDependents: string[];
@@ -1,7 +1,7 @@
1
1
  import { ComponentFactory, ComponentID, ComponentMain } from '@teambit/component';
2
2
  import { ComponentGraph } from './component-graph';
3
3
  import { ComponentIdGraph } from './component-id-graph';
4
- export declare type GetGraphOpts = {
4
+ export type GetGraphOpts = {
5
5
  host?: ComponentFactory;
6
6
  };
7
7
  export declare class GraphBuilder {
@@ -1,6 +1,6 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
2
  import { ComponentMain } from '@teambit/component';
3
- declare type GraphOpt = {
3
+ type GraphOpt = {
4
4
  image?: string;
5
5
  remote?: string;
6
6
  allVersions?: boolean;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { Section } from '@teambit/component';
3
3
  import { ChangeType } from '@teambit/component.ui.component-compare.models.component-compare-change-type';
4
4
  import { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';
@@ -13,7 +13,7 @@ export declare class GraphCompareSection implements Section, TabItem {
13
13
  };
14
14
  route: {
15
15
  path: string;
16
- element: React.JSX.Element;
16
+ element: JSX.Element;
17
17
  };
18
18
  order: number;
19
19
  changeType: ChangeType;
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare const Logo: () => React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const Logo: () => JSX.Element;
@@ -14,7 +14,7 @@ export declare class GraphMain {
14
14
  */
15
15
  getGraph(ids?: ComponentID[], opts?: GetGraphOpts): Promise<ComponentGraph>;
16
16
  getGraphIds(ids?: ComponentID[], opts?: GetGraphOpts): Promise<ComponentIdGraph>;
17
- static slots: never[];
17
+ static slots: any[];
18
18
  static dependencies: import("@teambit/harmony").Aspect[];
19
19
  static runtime: import("@teambit/harmony").RuntimeDefinition;
20
20
  static provider([graphql, componentAspect, cli, loggerMain]: [
@@ -6,9 +6,9 @@ import { DependenciesGraph } from './ui/dependencies-graph';
6
6
  export interface ComponentWidgetProps extends React.HTMLAttributes<HTMLDivElement> {
7
7
  component: ComponentModel;
8
8
  }
9
- export declare type ComponentWidget = ComponentType<ComponentWidgetProps>;
10
- export declare type ComponentWidgetSlot = SlotRegistry<ComponentWidget>;
11
- export declare type GraphUIConfig = {
9
+ export type ComponentWidget = ComponentType<ComponentWidgetProps>;
10
+ export type ComponentWidgetSlot = SlotRegistry<ComponentWidget>;
11
+ export type GraphUIConfig = {
12
12
  componentTab: boolean;
13
13
  };
14
14
  /**
@@ -1,4 +1,4 @@
1
- export declare type DependencyType = 'dev' | 'peer' | 'runtime';
1
+ export type DependencyType = 'dev' | 'peer' | 'runtime';
2
2
  export declare class Dependency {
3
3
  readonly type: DependencyType;
4
4
  constructor(type: DependencyType);
@@ -1 +1 @@
1
- export declare type GraphFilter = 'runtimeOnly' | undefined;
1
+ export type GraphFilter = 'runtimeOnly' | undefined;
@@ -3,8 +3,8 @@ import { ComponentID } from '@teambit/component-id';
3
3
  import type { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';
4
4
  import { BitObjectList } from '@teambit/legacy/dist/scope/objects/bit-object-list';
5
5
  import { Dependency } from './model/dependency';
6
- declare type BitIdNode = Node<ComponentID>;
7
- declare type DependencyEdge = Edge<Dependency>;
6
+ type BitIdNode = Node<ComponentID>;
7
+ type DependencyEdge = Edge<Dependency>;
8
8
  export declare class IdGraph extends Graph<ComponentID, Dependency> {
9
9
  constructor(nodes?: BitIdNode[], edges?: DependencyEdge[]);
10
10
  }
@@ -51,8 +51,8 @@ async function bitObjectListToGraph(bitObjectsList) {
51
51
  const nodes = [];
52
52
  const edges = [];
53
53
  await Promise.all(components.map(async component => {
54
- const compFromMetadata = exportMetadata === null || exportMetadata === void 0 ? void 0 : exportMetadata.exportVersions.find(c => c.id.isEqualWithoutVersion(component.toComponentId()));
55
- const startFrom = compFromMetadata === null || compFromMetadata === void 0 ? void 0 : compFromMetadata.head;
54
+ const compFromMetadata = exportMetadata?.exportVersions.find(c => c.id.isEqualWithoutVersion(component.toComponentId()));
55
+ const startFrom = compFromMetadata?.head;
56
56
  const versionsInfo = await (0, _traverseVersions().getAllVersionsInfo)({
57
57
  modelComponent: component,
58
58
  versionObjects: versions,
@@ -1 +1 @@
1
- {"version":3,"names":["_graph","data","require","_lodash","_traverseVersions","_dependency","IdGraph","Graph","constructor","nodes","edges","exports","objectListToGraph","objectList","bitObjectsList","toBitObjects","bitObjectListToGraph","exportMetadata","getExportMetadata","components","getComponents","versions","getVersions","Promise","all","map","component","compFromMetadata","exportVersions","find","c","id","isEqualWithoutVersion","toComponentId","startFrom","head","versionsInfo","getAllVersionsInfo","modelComponent","versionObjects","throws","forEach","versionInfo","changeVersion","tag","ref","toString","idStr","push","Node","version","dependencies","devDependencies","extensionDependencies","depsIdsGroupedByType","addDep","depId","edge","depIdStr","Edge","runTime","Dependency","dev","uniqNodes","uniqBy","idGraph"],"sources":["object-list-to-graph.ts"],"sourcesContent":["import { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { uniqBy } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { BitObjectList } from '@teambit/legacy/dist/scope/objects/bit-object-list';\nimport { getAllVersionsInfo } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { Dependency } from './model/dependency';\n\ntype BitIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class IdGraph extends Graph<ComponentID, Dependency> {\n constructor(nodes: BitIdNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n}\n\nexport async function objectListToGraph(objectList: ObjectList): Promise<IdGraph> {\n const bitObjectsList = await objectList.toBitObjects();\n\n return bitObjectListToGraph(bitObjectsList);\n}\n\nexport async function bitObjectListToGraph(bitObjectsList: BitObjectList): Promise<IdGraph> {\n const exportMetadata = bitObjectsList.getExportMetadata();\n const components = bitObjectsList.getComponents();\n const versions = bitObjectsList.getVersions();\n const nodes: BitIdNode[] = [];\n const edges: DependencyEdge[] = [];\n await Promise.all(\n components.map(async (component) => {\n const compFromMetadata = exportMetadata?.exportVersions.find((c) =>\n c.id.isEqualWithoutVersion(component.toComponentId())\n );\n const startFrom = compFromMetadata?.head;\n const versionsInfo = await getAllVersionsInfo({\n modelComponent: component,\n versionObjects: versions,\n startFrom,\n throws: false,\n });\n versionsInfo.forEach((versionInfo) => {\n const id = component.toComponentId().changeVersion(versionInfo.tag || versionInfo.ref.toString());\n const idStr = id.toString();\n nodes.push(new Node(idStr, id));\n if (!versionInfo.version) {\n return;\n }\n const { dependencies, devDependencies, extensionDependencies } = versionInfo.version.depsIdsGroupedByType;\n const addDep = (depId: ComponentID, edge: Dependency) => {\n const depIdStr = depId.toString();\n nodes.push(new Node(depIdStr, depId));\n edges.push(new Edge(idStr, depIdStr, edge));\n };\n const runTime = new Dependency('runtime');\n const dev = new Dependency('dev');\n dependencies.forEach((depId) => addDep(depId, runTime));\n [...devDependencies, ...extensionDependencies].forEach((depId) => addDep(depId, dev));\n });\n })\n );\n const uniqNodes = uniqBy(nodes, 'id');\n const idGraph = new IdGraph(uniqNodes, edges);\n\n return idGraph;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_graph","data","require","_lodash","_traverseVersions","_dependency","IdGraph","Graph","constructor","nodes","edges","exports","objectListToGraph","objectList","bitObjectsList","toBitObjects","bitObjectListToGraph","exportMetadata","getExportMetadata","components","getComponents","versions","getVersions","Promise","all","map","component","compFromMetadata","exportVersions","find","c","id","isEqualWithoutVersion","toComponentId","startFrom","head","versionsInfo","getAllVersionsInfo","modelComponent","versionObjects","throws","forEach","versionInfo","changeVersion","tag","ref","toString","idStr","push","Node","version","dependencies","devDependencies","extensionDependencies","depsIdsGroupedByType","addDep","depId","edge","depIdStr","Edge","runTime","Dependency","dev","uniqNodes","uniqBy","idGraph"],"sources":["object-list-to-graph.ts"],"sourcesContent":["import { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { uniqBy } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { BitObjectList } from '@teambit/legacy/dist/scope/objects/bit-object-list';\nimport { getAllVersionsInfo } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { Dependency } from './model/dependency';\n\ntype BitIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class IdGraph extends Graph<ComponentID, Dependency> {\n constructor(nodes: BitIdNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n}\n\nexport async function objectListToGraph(objectList: ObjectList): Promise<IdGraph> {\n const bitObjectsList = await objectList.toBitObjects();\n\n return bitObjectListToGraph(bitObjectsList);\n}\n\nexport async function bitObjectListToGraph(bitObjectsList: BitObjectList): Promise<IdGraph> {\n const exportMetadata = bitObjectsList.getExportMetadata();\n const components = bitObjectsList.getComponents();\n const versions = bitObjectsList.getVersions();\n const nodes: BitIdNode[] = [];\n const edges: DependencyEdge[] = [];\n await Promise.all(\n components.map(async (component) => {\n const compFromMetadata = exportMetadata?.exportVersions.find((c) =>\n c.id.isEqualWithoutVersion(component.toComponentId())\n );\n const startFrom = compFromMetadata?.head;\n const versionsInfo = await getAllVersionsInfo({\n modelComponent: component,\n versionObjects: versions,\n startFrom,\n throws: false,\n });\n versionsInfo.forEach((versionInfo) => {\n const id = component.toComponentId().changeVersion(versionInfo.tag || versionInfo.ref.toString());\n const idStr = id.toString();\n nodes.push(new Node(idStr, id));\n if (!versionInfo.version) {\n return;\n }\n const { dependencies, devDependencies, extensionDependencies } = versionInfo.version.depsIdsGroupedByType;\n const addDep = (depId: ComponentID, edge: Dependency) => {\n const depIdStr = depId.toString();\n nodes.push(new Node(depIdStr, depId));\n edges.push(new Edge(idStr, depIdStr, edge));\n };\n const runTime = new Dependency('runtime');\n const dev = new Dependency('dev');\n dependencies.forEach((depId) => addDep(depId, runTime));\n [...devDependencies, ...extensionDependencies].forEach((depId) => addDep(depId, dev));\n });\n })\n );\n const uniqNodes = uniqBy(nodes, 'id');\n const idGraph = new IdGraph(uniqNodes, edges);\n\n return idGraph;\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.106/dist/graph.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.106/dist/graph.docs.md';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.108/dist/graph.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.108/dist/graph.docs.md';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { CardProps } from '@teambit/base-ui.surfaces.card';
3
3
  import { NodeModel } from '../query/node-model';
4
4
  export interface IComponentNode extends CardProps {
5
5
  node: NodeModel;
6
6
  type: string;
7
7
  }
8
- export declare function ComponentNode({ node, type, ...rest }: IComponentNode): React.JSX.Element;
8
+ export declare function ComponentNode({ node, type, ...rest }: IComponentNode): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { ComponentModel } from '@teambit/component';
2
2
  import { NodeModel } from '@teambit/graph';
3
- export declare type CompareStatus = 'modified' | 'new' | 'deleted' | undefined;
3
+ export type CompareStatus = 'modified' | 'new' | 'deleted' | undefined;
4
4
  export declare class CompareNodeModel extends NodeModel {
5
5
  id: string;
6
6
  component: ComponentModel;
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare function DependenciesCompare(): React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare function DependenciesCompare(): JSX.Element;
@@ -96,11 +96,10 @@ const NodeTypes = {
96
96
  ComponentNode: ComponentNodeContainer
97
97
  };
98
98
  function DependenciesCompare() {
99
- var _componentCompare$bas, _componentCompare$com;
100
99
  const graphRef = (0, _react().useRef)();
101
100
  const componentCompare = (0, _componentUiComponentCompare().useComponentCompare)();
102
- const baseId = componentCompare === null || componentCompare === void 0 || (_componentCompare$bas = componentCompare.base) === null || _componentCompare$bas === void 0 ? void 0 : _componentCompare$bas.model.id;
103
- const compareId = componentCompare === null || componentCompare === void 0 || (_componentCompare$com = componentCompare.compare) === null || _componentCompare$com === void 0 ? void 0 : _componentCompare$com.model.id;
101
+ const baseId = componentCompare?.base?.model.id;
102
+ const compareId = componentCompare?.compare?.model.id;
104
103
  const [filter, setFilter] = (0, _react().useState)('runtimeOnly');
105
104
  const isFiltered = filter === 'runtimeOnly';
106
105
  const {
@@ -118,29 +117,26 @@ function DependenciesCompare() {
118
117
  });
119
118
  (0, _react().useEffect)(() => () => graphRef.current = undefined, []);
120
119
  (0, _react().useEffect)(() => {
121
- var _graphRef$current;
122
- (_graphRef$current = graphRef.current) === null || _graphRef$current === void 0 || _graphRef$current.fitView();
120
+ graphRef.current?.fitView();
123
121
  }, [elements]);
124
122
  const handleLoad = (0, _react().useCallback)(instance => {
125
123
  graphRef.current = instance;
126
- if (((graph === null || graph === void 0 ? void 0 : graph.nodes.length) ?? 0) <= 3) {
127
- var _graphRef$current2;
128
- (_graphRef$current2 = graphRef.current) === null || _graphRef$current2 === void 0 || _graphRef$current2.fitView({
124
+ if ((graph?.nodes.length ?? 0) <= 3) {
125
+ graphRef.current?.fitView({
129
126
  padding: 2
130
127
  });
131
128
  } else {
132
129
  instance.fitView();
133
130
  }
134
- }, [graph === null || graph === void 0 ? void 0 : graph.nodes.length]);
131
+ }, [graph?.nodes.length]);
135
132
  (0, _react().useEffect)(() => {
136
133
  setTimeout(() => {
137
- var _graphRef$current3, _graphRef$current4;
138
- if (((graph === null || graph === void 0 ? void 0 : graph.nodes.length) ?? 0) <= 3) return (_graphRef$current3 = graphRef.current) === null || _graphRef$current3 === void 0 ? void 0 : _graphRef$current3.fitView({
134
+ if ((graph?.nodes.length ?? 0) <= 3) return graphRef.current?.fitView({
139
135
  padding: 2
140
136
  });
141
- return (_graphRef$current4 = graphRef.current) === null || _graphRef$current4 === void 0 ? void 0 : _graphRef$current4.fitView();
137
+ return graphRef.current?.fitView();
142
138
  }, 0);
143
- }, [compareId === null || compareId === void 0 ? void 0 : compareId.toString(), baseId === null || baseId === void 0 ? void 0 : baseId.toString()]);
139
+ }, [compareId?.toString(), baseId?.toString()]);
144
140
  const onCheckFilter = _isFiltered => {
145
141
  setFilter(_isFiltered ? 'runtimeOnly' : undefined);
146
142
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","data","_interopRequireDefault","require","_designUi","_graph","_componentUiComponentCompare","_react","_interopRequireWildcard","_reactFlowRenderer","_dependenciesCompareModule","_dependencyCompareNode","_diffGraph","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","key","Handle","type","position","isConnectable","DependencyCompareNode","node","NodeTypes","ComponentNode","DependenciesCompare","_componentCompare$bas","_componentCompare$com","graphRef","useRef","componentCompare","useComponentCompare","baseId","base","model","compareId","compare","filter","setFilter","useState","isFiltered","loading","baseLoading","graph","baseGraph","useGraphQuery","toString","compareLoading","compareGraph","diffGraph","undefined","elements","calcElements","rootNode","useEffect","current","_graphRef$current","fitView","handleLoad","useCallback","instance","nodes","length","_graphRef$current2","padding","setTimeout","_graphRef$current3","_graphRef$current4","onCheckFilter","_isFiltered","Fragment","className","classNames","styles","page","graphPageStyles","loader","RoundLoader","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","minZoom","dependenciesGraphStyles","nodeTypes","onLoad","Background","Controls","controls","MiniMap","nodeColor","calcMinimapColors","minimap","GraphFilters","filters","disable","onChangeFilter"],"sources":["dependencies-compare.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { RoundLoader } from '@teambit/design.ui.round-loader';\nimport {\n calcElements,\n calcMinimapColors,\n dependenciesGraphStyles,\n GraphFilter,\n GraphFilters,\n graphPageStyles,\n useGraphQuery,\n} from '@teambit/graph';\nimport { useComponentCompare } from '@teambit/component.ui.component-compare.context';\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport ReactFlow, {\n Background,\n Controls,\n Handle,\n MiniMap,\n NodeProps,\n NodeTypesType,\n OnLoadParams,\n Position,\n ReactFlowProvider,\n} from 'react-flow-renderer';\nimport styles from './dependencies-compare.module.scss';\nimport { DependencyCompareNode } from './dependency-compare-node';\nimport { diffGraph } from './diff-graph';\n\nfunction ComponentNodeContainer(props: NodeProps) {\n const { sourcePosition = Position.Top, targetPosition = Position.Bottom, data, id } = props;\n\n return (\n <div key={id}>\n <Handle type=\"target\" position={targetPosition} isConnectable={false} />\n <Handle type=\"source\" position={sourcePosition} isConnectable={false} />\n <DependencyCompareNode node={data.node} type={data.type} />\n </div>\n );\n}\n\nconst NodeTypes: NodeTypesType = { ComponentNode: ComponentNodeContainer };\n\nexport function DependenciesCompare() {\n const graphRef = useRef<OnLoadParams>();\n const componentCompare = useComponentCompare();\n\n const baseId = componentCompare?.base?.model.id;\n const compareId = componentCompare?.compare?.model.id;\n\n const [filter, setFilter] = useState<GraphFilter>('runtimeOnly');\n const isFiltered = filter === 'runtimeOnly';\n const { loading: baseLoading, graph: baseGraph } = useGraphQuery(baseId && [baseId.toString()], filter);\n const { loading: compareLoading, graph: compareGraph } = useGraphQuery(compareId && [compareId.toString()], filter);\n const loading = baseLoading || compareLoading;\n const graph = diffGraph(baseGraph, compareGraph, baseId) ?? undefined;\n const elements = calcElements(graph, { rootNode: baseId });\n\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n const handleLoad = useCallback(\n (instance: OnLoadParams) => {\n graphRef.current = instance;\n if ((graph?.nodes.length ?? 0) <= 3) {\n graphRef.current?.fitView({\n padding: 2,\n });\n } else {\n instance.fitView();\n }\n },\n [graph?.nodes.length]\n );\n\n useEffect(() => {\n setTimeout(() => {\n if ((graph?.nodes.length ?? 0) <= 3)\n return graphRef.current?.fitView({\n padding: 2,\n });\n return graphRef.current?.fitView();\n }, 0);\n }, [compareId?.toString(), baseId?.toString()]);\n\n const onCheckFilter = (_isFiltered: boolean) => {\n setFilter(_isFiltered ? 'runtimeOnly' : undefined);\n };\n\n if (!loading && (!baseGraph || !compareGraph)) {\n return <></>;\n }\n\n return (\n <div className={classNames([styles.page, graphPageStyles.graph])}>\n {loading && (\n <div className={styles.loader}>\n <RoundLoader />\n </div>\n )}\n <ReactFlowProvider>\n <ReactFlow\n draggable={false}\n nodesDraggable={true}\n selectNodesOnDrag={false}\n nodesConnectable={false}\n zoomOnDoubleClick={false}\n elementsSelectable={false}\n maxZoom={100}\n minZoom={0}\n className={dependenciesGraphStyles.graph}\n elements={elements}\n nodeTypes={NodeTypes}\n onLoad={handleLoad}\n >\n <Background />\n <Controls className={dependenciesGraphStyles.controls} />\n <MiniMap nodeColor={calcMinimapColors} className={dependenciesGraphStyles.minimap} />\n <GraphFilters\n className={graphPageStyles.filters}\n disable={loading}\n isFiltered={isFiltered}\n onChangeFilter={onCheckFilter}\n />\n </ReactFlow>\n </ReactFlowProvider>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","data","_interopRequireDefault","require","_designUi","_graph","_componentUiComponentCompare","_react","_interopRequireWildcard","_reactFlowRenderer","_dependenciesCompareModule","_dependencyCompareNode","_diffGraph","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","key","Handle","type","position","isConnectable","DependencyCompareNode","node","NodeTypes","ComponentNode","DependenciesCompare","graphRef","useRef","componentCompare","useComponentCompare","baseId","base","model","compareId","compare","filter","setFilter","useState","isFiltered","loading","baseLoading","graph","baseGraph","useGraphQuery","toString","compareLoading","compareGraph","diffGraph","undefined","elements","calcElements","rootNode","useEffect","current","fitView","handleLoad","useCallback","instance","nodes","length","padding","setTimeout","onCheckFilter","_isFiltered","Fragment","className","classNames","styles","page","graphPageStyles","loader","RoundLoader","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","minZoom","dependenciesGraphStyles","nodeTypes","onLoad","Background","Controls","controls","MiniMap","nodeColor","calcMinimapColors","minimap","GraphFilters","filters","disable","onChangeFilter"],"sources":["dependencies-compare.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { RoundLoader } from '@teambit/design.ui.round-loader';\nimport {\n calcElements,\n calcMinimapColors,\n dependenciesGraphStyles,\n GraphFilter,\n GraphFilters,\n graphPageStyles,\n useGraphQuery,\n} from '@teambit/graph';\nimport { useComponentCompare } from '@teambit/component.ui.component-compare.context';\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport ReactFlow, {\n Background,\n Controls,\n Handle,\n MiniMap,\n NodeProps,\n NodeTypesType,\n OnLoadParams,\n Position,\n ReactFlowProvider,\n} from 'react-flow-renderer';\nimport styles from './dependencies-compare.module.scss';\nimport { DependencyCompareNode } from './dependency-compare-node';\nimport { diffGraph } from './diff-graph';\n\nfunction ComponentNodeContainer(props: NodeProps) {\n const { sourcePosition = Position.Top, targetPosition = Position.Bottom, data, id } = props;\n\n return (\n <div key={id}>\n <Handle type=\"target\" position={targetPosition} isConnectable={false} />\n <Handle type=\"source\" position={sourcePosition} isConnectable={false} />\n <DependencyCompareNode node={data.node} type={data.type} />\n </div>\n );\n}\n\nconst NodeTypes: NodeTypesType = { ComponentNode: ComponentNodeContainer };\n\nexport function DependenciesCompare() {\n const graphRef = useRef<OnLoadParams>();\n const componentCompare = useComponentCompare();\n\n const baseId = componentCompare?.base?.model.id;\n const compareId = componentCompare?.compare?.model.id;\n\n const [filter, setFilter] = useState<GraphFilter>('runtimeOnly');\n const isFiltered = filter === 'runtimeOnly';\n const { loading: baseLoading, graph: baseGraph } = useGraphQuery(baseId && [baseId.toString()], filter);\n const { loading: compareLoading, graph: compareGraph } = useGraphQuery(compareId && [compareId.toString()], filter);\n const loading = baseLoading || compareLoading;\n const graph = diffGraph(baseGraph, compareGraph, baseId) ?? undefined;\n const elements = calcElements(graph, { rootNode: baseId });\n\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n const handleLoad = useCallback(\n (instance: OnLoadParams) => {\n graphRef.current = instance;\n if ((graph?.nodes.length ?? 0) <= 3) {\n graphRef.current?.fitView({\n padding: 2,\n });\n } else {\n instance.fitView();\n }\n },\n [graph?.nodes.length]\n );\n\n useEffect(() => {\n setTimeout(() => {\n if ((graph?.nodes.length ?? 0) <= 3)\n return graphRef.current?.fitView({\n padding: 2,\n });\n return graphRef.current?.fitView();\n }, 0);\n }, [compareId?.toString(), baseId?.toString()]);\n\n const onCheckFilter = (_isFiltered: boolean) => {\n setFilter(_isFiltered ? 'runtimeOnly' : undefined);\n };\n\n if (!loading && (!baseGraph || !compareGraph)) {\n return <></>;\n }\n\n return (\n <div className={classNames([styles.page, graphPageStyles.graph])}>\n {loading && (\n <div className={styles.loader}>\n <RoundLoader />\n </div>\n )}\n <ReactFlowProvider>\n <ReactFlow\n draggable={false}\n nodesDraggable={true}\n selectNodesOnDrag={false}\n nodesConnectable={false}\n zoomOnDoubleClick={false}\n elementsSelectable={false}\n maxZoom={100}\n minZoom={0}\n className={dependenciesGraphStyles.graph}\n elements={elements}\n nodeTypes={NodeTypes}\n onLoad={handleLoad}\n >\n <Background />\n <Controls className={dependenciesGraphStyles.controls} />\n <MiniMap nodeColor={calcMinimapColors} className={dependenciesGraphStyles.minimap} />\n <GraphFilters\n className={graphPageStyles.filters}\n disable={loading}\n isFiltered={isFiltered}\n onChangeFilter={onCheckFilter}\n />\n </ReactFlow>\n </ReactFlowProvider>\n </div>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AASA,SAAAK,6BAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,4BAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,OAAA;EAAA,MAAAN,IAAA,GAAAO,uBAAA,CAAAL,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,mBAAA;EAAA,MAAAR,IAAA,GAAAO,uBAAA,CAAAL,OAAA;EAAAM,kBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWA,SAAAS,2BAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,0BAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,uBAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,sBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,WAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,UAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyC,SAAAY,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAApB,uBAAAgC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAEzC,SAASC,sBAAsBA,CAACC,KAAgB,EAAE;EAChD,MAAM;IAAEC,cAAc,GAAGC,6BAAQ,CAACC,GAAG;IAAEC,cAAc,GAAGF,6BAAQ,CAACG,MAAM;IAAExC,IAAI;IAAEyC;EAAG,CAAC,GAAGN,KAAK;EAE3F,oBACE7B,MAAA,GAAAY,OAAA,CAAAwB,aAAA;IAAKC,GAAG,EAAEF;EAAG,gBACXnC,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAAoC,MAAM;IAACC,IAAI,EAAC,QAAQ;IAACC,QAAQ,EAAEP,cAAe;IAACQ,aAAa,EAAE;EAAM,CAAE,CAAC,eACxEzC,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAAoC,MAAM;IAACC,IAAI,EAAC,QAAQ;IAACC,QAAQ,EAAEV,cAAe;IAACW,aAAa,EAAE;EAAM,CAAE,CAAC,eACxEzC,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAChC,sBAAA,GAAAsC,qBAAqB;IAACC,IAAI,EAAEjD,IAAI,CAACiD,IAAK;IAACJ,IAAI,EAAE7C,IAAI,CAAC6C;EAAK,CAAE,CACvD,CAAC;AAEV;AAEA,MAAMK,SAAwB,GAAG;EAAEC,aAAa,EAAEjB;AAAuB,CAAC;AAEnE,SAASkB,mBAAmBA,CAAA,EAAG;EACpC,MAAMC,QAAQ,GAAG,IAAAC,eAAM,EAAe,CAAC;EACvC,MAAMC,gBAAgB,GAAG,IAAAC,kDAAmB,EAAC,CAAC;EAE9C,MAAMC,MAAM,GAAGF,gBAAgB,EAAEG,IAAI,EAAEC,KAAK,CAAClB,EAAE;EAC/C,MAAMmB,SAAS,GAAGL,gBAAgB,EAAEM,OAAO,EAAEF,KAAK,CAAClB,EAAE;EAErD,MAAM,CAACqB,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,iBAAQ,EAAc,aAAa,CAAC;EAChE,MAAMC,UAAU,GAAGH,MAAM,KAAK,aAAa;EAC3C,MAAM;IAAEI,OAAO,EAAEC,WAAW;IAAEC,KAAK,EAAEC;EAAU,CAAC,GAAG,IAAAC,sBAAa,EAACb,MAAM,IAAI,CAACA,MAAM,CAACc,QAAQ,CAAC,CAAC,CAAC,EAAET,MAAM,CAAC;EACvG,MAAM;IAAEI,OAAO,EAAEM,cAAc;IAAEJ,KAAK,EAAEK;EAAa,CAAC,GAAG,IAAAH,sBAAa,EAACV,SAAS,IAAI,CAACA,SAAS,CAACW,QAAQ,CAAC,CAAC,CAAC,EAAET,MAAM,CAAC;EACnH,MAAMI,OAAO,GAAGC,WAAW,IAAIK,cAAc;EAC7C,MAAMJ,KAAK,GAAG,IAAAM,sBAAS,EAACL,SAAS,EAAEI,YAAY,EAAEhB,MAAM,CAAC,IAAIkB,SAAS;EACrE,MAAMC,QAAQ,GAAG,IAAAC,qBAAY,EAACT,KAAK,EAAE;IAAEU,QAAQ,EAAErB;EAAO,CAAC,CAAC;EAE1D,IAAAsB,kBAAS,EAAC,MAAM,MAAO1B,QAAQ,CAAC2B,OAAO,GAAGL,SAAU,EAAE,EAAE,CAAC;EAEzD,IAAAI,kBAAS,EAAC,MAAM;IACd1B,QAAQ,CAAC2B,OAAO,EAAEC,OAAO,CAAC,CAAC;EAC7B,CAAC,EAAE,CAACL,QAAQ,CAAC,CAAC;EAEd,MAAMM,UAAU,GAAG,IAAAC,oBAAW,EAC3BC,QAAsB,IAAK;IAC1B/B,QAAQ,CAAC2B,OAAO,GAAGI,QAAQ;IAC3B,IAAI,CAAChB,KAAK,EAAEiB,KAAK,CAACC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;MACnCjC,QAAQ,CAAC2B,OAAO,EAAEC,OAAO,CAAC;QACxBM,OAAO,EAAE;MACX,CAAC,CAAC;IACJ,CAAC,MAAM;MACLH,QAAQ,CAACH,OAAO,CAAC,CAAC;IACpB;EACF,CAAC,EACD,CAACb,KAAK,EAAEiB,KAAK,CAACC,MAAM,CACtB,CAAC;EAED,IAAAP,kBAAS,EAAC,MAAM;IACdS,UAAU,CAAC,MAAM;MACf,IAAI,CAACpB,KAAK,EAAEiB,KAAK,CAACC,MAAM,IAAI,CAAC,KAAK,CAAC,EACjC,OAAOjC,QAAQ,CAAC2B,OAAO,EAAEC,OAAO,CAAC;QAC/BM,OAAO,EAAE;MACX,CAAC,CAAC;MACJ,OAAOlC,QAAQ,CAAC2B,OAAO,EAAEC,OAAO,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,EAAE,CAACrB,SAAS,EAAEW,QAAQ,CAAC,CAAC,EAAEd,MAAM,EAAEc,QAAQ,CAAC,CAAC,CAAC,CAAC;EAE/C,MAAMkB,aAAa,GAAIC,WAAoB,IAAK;IAC9C3B,SAAS,CAAC2B,WAAW,GAAG,aAAa,GAAGf,SAAS,CAAC;EACpD,CAAC;EAED,IAAI,CAACT,OAAO,KAAK,CAACG,SAAS,IAAI,CAACI,YAAY,CAAC,EAAE;IAC7C,oBAAOnE,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAApC,MAAA,GAAAY,OAAA,CAAAyE,QAAA,MAAI,CAAC;EACd;EAEA,oBACErF,MAAA,GAAAY,OAAA,CAAAwB,aAAA;IAAKkD,SAAS,EAAE,IAAAC,qBAAU,EAAC,CAACC,oCAAM,CAACC,IAAI,EAAEC,wBAAe,CAAC5B,KAAK,CAAC;EAAE,GAC9DF,OAAO,iBACN5D,MAAA,GAAAY,OAAA,CAAAwB,aAAA;IAAKkD,SAAS,EAAEE,oCAAM,CAACG;EAAO,gBAC5B3F,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAACvC,SAAA,GAAA+F,WAAW,MAAE,CACX,CACN,eACD5F,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAA2F,iBAAiB,qBAChB7F,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAAU,OAAS;IACRkF,SAAS,EAAE,KAAM;IACjBC,cAAc,EAAE,IAAK;IACrBC,iBAAiB,EAAE,KAAM;IACzBC,gBAAgB,EAAE,KAAM;IACxBC,iBAAiB,EAAE,KAAM;IACzBC,kBAAkB,EAAE,KAAM;IAC1BC,OAAO,EAAE,GAAI;IACbC,OAAO,EAAE,CAAE;IACXf,SAAS,EAAEgB,gCAAuB,CAACxC,KAAM;IACzCQ,QAAQ,EAAEA,QAAS;IACnBiC,SAAS,EAAE3D,SAAU;IACrB4D,MAAM,EAAE5B;EAAW,gBAEnB5E,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAAuG,UAAU,MAAE,CAAC,eACdzG,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAAwG,QAAQ;IAACpB,SAAS,EAAEgB,gCAAuB,CAACK;EAAS,CAAE,CAAC,eACzD3G,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAAClC,kBAAA,GAAA0G,OAAO;IAACC,SAAS,EAAEC,0BAAkB;IAACxB,SAAS,EAAEgB,gCAAuB,CAACS;EAAQ,CAAE,CAAC,eACrF/G,MAAA,GAAAY,OAAA,CAAAwB,aAAA,CAACtC,MAAA,GAAAkH,YAAY;IACX1B,SAAS,EAAEI,wBAAe,CAACuB,OAAQ;IACnCC,OAAO,EAAEtD,OAAQ;IACjBD,UAAU,EAAEA,UAAW;IACvBwD,cAAc,EAAEhC;EAAc,CAC/B,CACQ,CACM,CAChB,CAAC;AAEV"}
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { CompareNodeModel } from './compare-node-model';
3
- export declare type DependencyCompareNodeProps = {
3
+ export type DependencyCompareNodeProps = {
4
4
  node: CompareNodeModel;
5
5
  type?: string;
6
6
  };
7
- export declare function DependencyCompareNode(props: DependencyCompareNodeProps): React.JSX.Element;
7
+ export declare function DependencyCompareNode(props: DependencyCompareNodeProps): JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import { ComponentID } from '@teambit/component';
2
2
  import { EdgeModel, GraphModel, NodeModel } from '@teambit/graph';
3
3
  import { CompareGraphModel } from './compare-graph-model';
4
- export declare function diffGraph(baseGraph?: GraphModel<NodeModel, EdgeModel>, compareGraph?: GraphModel<NodeModel, EdgeModel>, baseId?: ComponentID): CompareGraphModel | null;
4
+ export declare function diffGraph(baseGraph?: GraphModel<NodeModel, EdgeModel>, compareGraph?: GraphModel<NodeModel, EdgeModel>, baseId?: ComponentID): CompareGraphModel;
@@ -54,13 +54,10 @@ function diffGraph(baseGraph, compareGraph, baseId) {
54
54
  }
55
55
  const allNodesMap = new Map(allNodes.map(n => [toShortId(n), n]));
56
56
  const baseEdgesMap = new Map(baseGraph.edges.map(baseEdge => [getEdgeId(baseEdge), baseEdge]));
57
- const edgesOnlyInCompare = compareGraph.edges.filter(compareEdge => !baseEdgesMap.has(getEdgeId(compareEdge))).map(compareEdge => {
58
- var _allNodesMap$get, _allNodesMap$get2;
59
- return _objectSpread(_objectSpread({}, compareEdge), {}, {
60
- sourceId: ((_allNodesMap$get = allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))) === null || _allNodesMap$get === void 0 ? void 0 : _allNodesMap$get.id.toString()) || baseId.toString(),
61
- targetId: ((_allNodesMap$get2 = allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))) === null || _allNodesMap$get2 === void 0 ? void 0 : _allNodesMap$get2.id.toString()) || baseId.toString()
62
- });
63
- });
57
+ const edgesOnlyInCompare = compareGraph.edges.filter(compareEdge => !baseEdgesMap.has(getEdgeId(compareEdge))).map(compareEdge => _objectSpread(_objectSpread({}, compareEdge), {}, {
58
+ sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),
59
+ targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString()
60
+ }));
64
61
  const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];
65
62
  return new (_compareGraphModel().CompareGraphModel)(allNodes, allEdges);
66
63
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_compareGraphModel","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","toShortId","node","component","id","toStringWithoutVersion","toShortIdFromNodeId","nodeId","split","delim","getEdgeId","_e","sourceId","targetId","diffGraph","baseGraph","compareGraph","baseId","baseNodes","nodes","compareNodes","baseNodesMap","Map","map","n","compareNodesMap","allNodes","baseNode","compareNode","get","compareVersion","version","status","isEqual","undefined","newNodes","has","allNodesMap","baseEdgesMap","edges","baseEdge","edgesOnlyInCompare","compareEdge","_allNodesMap$get","_allNodesMap$get2","toString","allEdges","CompareGraphModel"],"sources":["diff-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { EdgeModel, GraphModel, NodeModel } from '@teambit/graph';\nimport { CompareGraphModel } from './compare-graph-model';\nimport { CompareNodeModel } from './compare-node-model';\n\nconst toShortId = (node: NodeModel) => node.component.id.toStringWithoutVersion();\n\n// this is to get a key with versions ignored so that we'll have a unique set of component nodes\nconst toShortIdFromNodeId = (nodeId: string) => nodeId.split('@')[0];\n\nconst delim = '::';\n\nconst getEdgeId = (_e: EdgeModel) => {\n return `${toShortIdFromNodeId(_e.sourceId)}${delim}${toShortIdFromNodeId(_e.targetId)}`;\n};\n\nexport function diffGraph(\n baseGraph?: GraphModel<NodeModel, EdgeModel>,\n compareGraph?: GraphModel<NodeModel, EdgeModel>,\n baseId?: ComponentID\n) {\n if (!baseGraph || !compareGraph || !baseId) return null;\n\n const baseNodes = baseGraph.nodes;\n const compareNodes = compareGraph.nodes;\n\n const baseNodesMap = new Map<string, NodeModel>(baseNodes.map((n) => [toShortId(n), n]));\n const compareNodesMap = new Map<string, NodeModel>(compareNodes.map((n) => [toShortId(n), n]));\n\n const allNodes: Array<CompareNodeModel> = [];\n for (const baseNode of baseNodes) {\n const compareNode = compareNodesMap.get(toShortId(baseNode));\n if (compareNode) {\n allNodes.push({\n ...baseNode,\n compareVersion: compareNode.component.version,\n status: compareNode.component.id.isEqual(baseNode.component.id) ? undefined : 'modified',\n });\n } else {\n allNodes.push({\n ...baseNode,\n compareVersion: baseNode.component.version,\n status: 'deleted',\n });\n }\n }\n\n const newNodes = compareNodes.filter((n) => !baseNodesMap.has(toShortId(n)));\n\n for (const node of newNodes) {\n allNodes.push({\n ...node,\n compareVersion: '',\n status: 'new',\n });\n }\n const allNodesMap = new Map<string, CompareNodeModel>(allNodes.map((n) => [toShortId(n), n]));\n\n const baseEdgesMap = new Map<string, EdgeModel>(baseGraph.edges.map((baseEdge) => [getEdgeId(baseEdge), baseEdge]));\n const edgesOnlyInCompare = compareGraph.edges\n .filter((compareEdge) => !baseEdgesMap.has(getEdgeId(compareEdge)))\n .map((compareEdge) => ({\n ...compareEdge,\n sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),\n targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString(),\n }));\n const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];\n return new CompareGraphModel(allNodes, allEdges);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_compareGraphModel","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","toShortId","node","component","id","toStringWithoutVersion","toShortIdFromNodeId","nodeId","split","delim","getEdgeId","_e","sourceId","targetId","diffGraph","baseGraph","compareGraph","baseId","baseNodes","nodes","compareNodes","baseNodesMap","Map","map","n","compareNodesMap","allNodes","baseNode","compareNode","get","compareVersion","version","status","isEqual","undefined","newNodes","has","allNodesMap","baseEdgesMap","edges","baseEdge","edgesOnlyInCompare","compareEdge","toString","allEdges","CompareGraphModel"],"sources":["diff-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { EdgeModel, GraphModel, NodeModel } from '@teambit/graph';\nimport { CompareGraphModel } from './compare-graph-model';\nimport { CompareNodeModel } from './compare-node-model';\n\nconst toShortId = (node: NodeModel) => node.component.id.toStringWithoutVersion();\n\n// this is to get a key with versions ignored so that we'll have a unique set of component nodes\nconst toShortIdFromNodeId = (nodeId: string) => nodeId.split('@')[0];\n\nconst delim = '::';\n\nconst getEdgeId = (_e: EdgeModel) => {\n return `${toShortIdFromNodeId(_e.sourceId)}${delim}${toShortIdFromNodeId(_e.targetId)}`;\n};\n\nexport function diffGraph(\n baseGraph?: GraphModel<NodeModel, EdgeModel>,\n compareGraph?: GraphModel<NodeModel, EdgeModel>,\n baseId?: ComponentID\n) {\n if (!baseGraph || !compareGraph || !baseId) return null;\n\n const baseNodes = baseGraph.nodes;\n const compareNodes = compareGraph.nodes;\n\n const baseNodesMap = new Map<string, NodeModel>(baseNodes.map((n) => [toShortId(n), n]));\n const compareNodesMap = new Map<string, NodeModel>(compareNodes.map((n) => [toShortId(n), n]));\n\n const allNodes: Array<CompareNodeModel> = [];\n for (const baseNode of baseNodes) {\n const compareNode = compareNodesMap.get(toShortId(baseNode));\n if (compareNode) {\n allNodes.push({\n ...baseNode,\n compareVersion: compareNode.component.version,\n status: compareNode.component.id.isEqual(baseNode.component.id) ? undefined : 'modified',\n });\n } else {\n allNodes.push({\n ...baseNode,\n compareVersion: baseNode.component.version,\n status: 'deleted',\n });\n }\n }\n\n const newNodes = compareNodes.filter((n) => !baseNodesMap.has(toShortId(n)));\n\n for (const node of newNodes) {\n allNodes.push({\n ...node,\n compareVersion: '',\n status: 'new',\n });\n }\n const allNodesMap = new Map<string, CompareNodeModel>(allNodes.map((n) => [toShortId(n), n]));\n\n const baseEdgesMap = new Map<string, EdgeModel>(baseGraph.edges.map((baseEdge) => [getEdgeId(baseEdge), baseEdge]));\n const edgesOnlyInCompare = compareGraph.edges\n .filter((compareEdge) => !baseEdgesMap.has(getEdgeId(compareEdge)))\n .map((compareEdge) => ({\n ...compareEdge,\n sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),\n targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString(),\n }));\n const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];\n return new CompareGraphModel(allNodes, allEdges);\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Edge, Node } from 'react-flow-renderer';
2
2
  import { ComponentID } from '@teambit/component';
3
3
  import { EdgeModel, GraphModel, NodeModel } from '../query';
4
- declare type ElementsOptions = {
4
+ type ElementsOptions = {
5
5
  rootNode?: ComponentID;
6
6
  };
7
7
  /**
@@ -1,3 +1,3 @@
1
1
  import { EdgeType } from '@teambit/graph';
2
- export declare function depTypeToClass(depType: string): string | undefined;
2
+ export declare function depTypeToClass(depType: string): string;
3
3
  export declare function depTypeToLabel(type: EdgeType): string;
@@ -1,12 +1,12 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { OnLoadParams, ReactFlowProps } from 'react-flow-renderer';
3
3
  import { ComponentID } from '@teambit/component';
4
4
  import { ComponentWidgetSlot } from '../../graph.ui.runtime';
5
5
  import { EdgeModel, GraphModel, NodeModel } from '../query';
6
- export declare type DependenciesGraphProps = {
6
+ export type DependenciesGraphProps = {
7
7
  rootNode: ComponentID;
8
8
  graph: GraphModel<NodeModel, EdgeModel>;
9
9
  componentWidgets: ComponentWidgetSlot;
10
10
  onLoad?: (instance: OnLoadParams) => void;
11
11
  } & Omit<ReactFlowProps, 'elements'>;
12
- export declare function DependenciesGraph({ graph, rootNode, componentWidgets, className, onLoad, children, ...rest }: DependenciesGraphProps): React.JSX.Element;
12
+ export declare function DependenciesGraph({ graph, rootNode, componentWidgets, className, onLoad, children, ...rest }: DependenciesGraphProps): JSX.Element;