@teambit/graph 0.0.1110 → 0.0.1112
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.
- package/dist/component-graph/component-graph.js.map +1 -1
- package/dist/component-graph/index.js.map +1 -1
- package/dist/component-id-graph.js.map +1 -1
- package/dist/duplicate-dependency.js.map +1 -1
- package/dist/edge-type.js +4 -4
- package/dist/edge-type.js.map +1 -1
- package/dist/graph-builder.js.map +1 -1
- package/dist/graph-cmd.js.map +1 -1
- package/dist/graph.aspect.js.map +1 -1
- package/dist/graph.compare.section.js.map +1 -1
- package/dist/graph.composition.js.map +1 -1
- package/dist/graph.graphql.js.map +1 -1
- package/dist/graph.main.runtime.js.map +1 -1
- package/dist/graph.ui.runtime.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model/dependency/dependency.js.map +1 -1
- package/dist/model/dependency/index.js.map +1 -1
- package/dist/object-list-to-graph.js.map +1 -1
- package/dist/{preview-1689736586631.js → preview-1689909446382.js} +2 -2
- package/dist/ui/component-node/component-node.js.map +1 -1
- package/dist/ui/component-node/index.js.map +1 -1
- package/dist/ui/component-node/variants.js.map +1 -1
- package/dist/ui/dependencies-compare/compare-graph-model.js.map +1 -1
- package/dist/ui/dependencies-compare/compare-node-model.js.map +1 -1
- package/dist/ui/dependencies-compare/dependencies-compare.js.map +1 -1
- package/dist/ui/dependencies-compare/dependency-compare-node.js.map +1 -1
- package/dist/ui/dependencies-compare/diff-graph.js.map +1 -1
- package/dist/ui/dependencies-compare/index.js.map +1 -1
- package/dist/ui/dependencies-graph/calc-elements.js.map +1 -1
- package/dist/ui/dependencies-graph/calc-layout.js.map +1 -1
- package/dist/ui/dependencies-graph/dep-edge/dep-edge.js.map +1 -1
- package/dist/ui/dependencies-graph/dep-edge/index.js.map +1 -1
- package/dist/ui/dependencies-graph/dependencies-graph.js.map +1 -1
- package/dist/ui/dependencies-graph/graph-context.js +0 -2
- package/dist/ui/dependencies-graph/graph-context.js.map +1 -1
- package/dist/ui/dependencies-graph/index.js.map +1 -1
- package/dist/ui/dependencies-graph/minimap.js.map +1 -1
- package/dist/ui/graph-page/graph-filters.js.map +1 -1
- package/dist/ui/graph-page/graph-page.js.map +1 -1
- package/dist/ui/graph-page/index.js.map +1 -1
- package/dist/ui/graph.section.js.map +1 -1
- package/dist/ui/query/edge-model.js.map +1 -1
- package/dist/ui/query/get-graph.query.js.map +1 -1
- package/dist/ui/query/graph-model.js.map +1 -1
- package/dist/ui/query/index.js.map +1 -1
- package/dist/ui/query/node-model.js.map +1 -1
- package/dist/ui/query/use-graph-query.js.map +1 -1
- package/dist/ui/query/use-graph.js.map +1 -1
- package/package-tar/teambit-graph-0.0.1112.tgz +0 -0
- package/package.json +13 -13
- package/package-tar/teambit-graph-0.0.1110.tgz +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_graph","data","require","_duplicateDependency","DEPENDENCIES_TYPES","exports","ComponentGraph","Graph","constructor","nodes","edges","_defineProperty2","default","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","_legacy","has","value","get","_this$node","Object","prototype","hasOwnProperty","call","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._legacy.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":["DEPENDENCIES_TYPES","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","_legacy","has","value","get","Object","prototype","hasOwnProperty","call","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._legacy.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 +1 @@
|
|
1
|
-
{"version":3,"names":[
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line import/no-cycle\nexport { ComponentGraph } from './component-graph';\n"],"mappings":";;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["ComponentIdGraph","Graph","constructor","nodes","edges","create","findIdsFromSourcesToTargets","sources","targets","removeVerFromIdStr","idStr","split","sourcesStr","map","s","toStringWithoutVersion","targetsStr","t","allFlattened","source","successors","toString","flat","allFlattenedIds","uniq","f","id","results","forEach","idWithNoVer","includes","allSuccessors","allSuccessorsWithNoVersion","find","push","componentIds","getNodes","n","attr","findCycles","graph","includeDeps","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","cyclesWithSeeders","filter","cycle","some","cycleIdStr","buildFromCleargraph","runtimeOnly","successorsSubgraph","edgeFilter","edge","length"],"sources":["component-id-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { uniq } from 'lodash';\n\nexport type DepEdgeType = 'prod' | 'dev' | 'ext';\n\ntype ComponentIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<DepEdgeType>;\nexport type CompIdGraph = Graph<ComponentID, DepEdgeType>;\n\nexport class ComponentIdGraph extends Graph<ComponentID, DepEdgeType> {\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 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 findIdsFromSourcesToTargets(sources: ComponentID[], targets: 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 return componentIds;\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 private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n}\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["DuplicateDependency","constructor","latestVersionId","priorVersions"
|
1
|
+
{"version":3,"names":["DuplicateDependency","constructor","latestVersionId","priorVersions"],"sources":["duplicate-dependency.ts"],"sourcesContent":["// eslint-disable-next-line import/no-cycle\nimport type { ComponentGraph } from './component-graph';\n\nexport class DuplicateDependency {\n latestVersionId: string;\n priorVersions: VersionSubgraph[];\n\n constructor(latestVersionId: string, priorVersions: VersionSubgraph[]) {\n this.latestVersionId = latestVersionId;\n this.priorVersions = priorVersions;\n }\n}\n\nexport type VersionSubgraph = {\n versionId: string;\n subGraph: ComponentGraph;\n immediateDependents: string[];\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA;;AAGO,MAAMA,mBAAmB,CAAC;EAI/BC,WAAW,CAACC,eAAuB,EAAEC,aAAgC,EAAE;IAAA;IAAA;IACrE,IAAI,CAACD,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;AACF;AAAC"}
|
package/dist/edge-type.js
CHANGED
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.EdgeType = void 0;
|
7
|
-
let EdgeType
|
7
|
+
let EdgeType;
|
8
|
+
exports.EdgeType = EdgeType;
|
9
|
+
(function (EdgeType) {
|
8
10
|
EdgeType["dev"] = "DEV";
|
9
11
|
EdgeType["runtime"] = "RUNTIME";
|
10
12
|
EdgeType["peer"] = "PEER";
|
11
|
-
|
12
|
-
}({});
|
13
|
-
exports.EdgeType = EdgeType;
|
13
|
+
})(EdgeType || (exports.EdgeType = EdgeType = {}));
|
14
14
|
|
15
15
|
//# sourceMappingURL=edge-type.js.map
|
package/dist/edge-type.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EdgeType"
|
1
|
+
{"version":3,"names":["EdgeType"],"sources":["edge-type.ts"],"sourcesContent":["export enum EdgeType {\n dev = 'DEV',\n runtime = 'RUNTIME',\n peer = 'PEER',\n}\n"],"mappings":";;;;;;IAAYA,QAAQ;AAAA;AAAA,WAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,wBAARA,QAAQ"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphBuilder","constructor","componentAspect","getGraph","ids","opts","componentHost","host","getHost","graph","componentGraph","toComponentGraph","seederIds","listIds","getGraphIds","componentIdGraph","ComponentIdGraph","nodes","edges","newGraph","ComponentGraph","forEach","node","setNode","edge","edgeObj","attr","Dependency","setEdge","Edge","sourceId","targetId"],"sources":["graph-builder.ts"],"sourcesContent":["import { Component, ComponentFactory, ComponentID, ComponentMain } from '@teambit/component';\nimport { Edge, Graph } from '@teambit/graph.cleargraph';\nimport { ComponentGraph } from './component-graph';\nimport { ComponentIdGraph } from './component-id-graph';\nimport { Dependency } from './model/dependency';\n\nexport type GetGraphOpts = {\n host?: ComponentFactory;\n};\n\nexport class GraphBuilder {\n constructor(private componentAspect: ComponentMain) {}\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 componentHost = opts.host || this.componentAspect.getHost();\n\n const graph = await componentHost.getGraph(ids, false);\n const componentGraph = await this.toComponentGraph(graph);\n componentGraph.seederIds = ids || (await componentHost.listIds());\n return componentGraph;\n }\n\n async getGraphIds(ids?: ComponentID[], opts: GetGraphOpts = {}): Promise<ComponentIdGraph> {\n const componentHost = opts.host || this.componentAspect.getHost();\n\n const graph = await componentHost.getGraphIds(ids, false);\n const componentIdGraph = new ComponentIdGraph(graph.nodes, graph.edges);\n componentIdGraph.seederIds = ids || (await componentHost.listIds());\n return componentIdGraph;\n }\n\n private async toComponentGraph(graph: Graph<Component, string>): Promise<ComponentGraph> {\n const newGraph = new ComponentGraph();\n graph.nodes.forEach((node) => {\n newGraph.setNode(node);\n });\n graph.edges.forEach((edge) => {\n const edgeObj =\n edge.attr === 'dependencies' || edge.attr === 'runtime' ? new Dependency('runtime') : new Dependency('dev');\n newGraph.setEdge(new Edge(edge.sourceId, edge.targetId, edgeObj));\n });\n return newGraph;\n }\n}\n"],"mappings":";;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMO,MAAMA,YAAY,CAAC;EACxBC,WAAW,CAASC,eAA8B,EAAE;IAAA,KAAhCA,eAA8B,GAA9BA,eAA8B;EAAG;;EAErD;AACF;AACA;EACE,MAAMC,QAAQ,CAACC,GAAmB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAA2B;IACpF,MAAMC,aAAa,GAAGD,IAAI,CAACE,IAAI,IAAI,IAAI,CAACL,eAAe,CAACM,OAAO,EAAE;IAEjE,MAAMC,KAAK,GAAG,MAAMH,aAAa,CAACH,QAAQ,CAACC,GAAG,EAAE,KAAK,CAAC;IACtD,MAAMM,cAAc,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAACF,KAAK,CAAC;IACzDC,cAAc,CAACE,SAAS,GAAGR,GAAG,KAAK,MAAME,aAAa,CAACO,OAAO,EAAE,CAAC;IACjE,OAAOH,cAAc;EACvB;EAEA,MAAMI,WAAW,CAACV,GAAmB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAA6B;IACzF,MAAMC,aAAa,GAAGD,IAAI,CAACE,IAAI,IAAI,IAAI,CAACL,eAAe,CAACM,OAAO,EAAE;IAEjE,MAAMC,KAAK,GAAG,MAAMH,aAAa,CAACQ,WAAW,CAACV,GAAG,EAAE,KAAK,CAAC;IACzD,MAAMW,gBAAgB,GAAG,KAAIC,oCAAgB,EAACP,KAAK,CAACQ,KAAK,EAAER,KAAK,CAACS,KAAK,CAAC;IACvEH,gBAAgB,CAACH,SAAS,GAAGR,GAAG,KAAK,MAAME,aAAa,CAACO,OAAO,EAAE,CAAC;IACnE,OAAOE,gBAAgB;EACzB;EAEA,MAAcJ,gBAAgB,CAACF,KAA+B,EAA2B;IACvF,MAAMU,QAAQ,GAAG,KAAIC,gCAAc,GAAE;IACrCX,KAAK,CAACQ,KAAK,CAACI,OAAO,CAAEC,IAAI,IAAK;MAC5BH,QAAQ,CAACI,OAAO,CAACD,IAAI,CAAC;IACxB,CAAC,CAAC;IACFb,KAAK,CAACS,KAAK,CAACG,OAAO,CAAEG,IAAI,IAAK;MAC5B,MAAMC,OAAO,GACXD,IAAI,CAACE,IAAI,KAAK,cAAc,IAAIF,IAAI,CAACE,IAAI,KAAK,SAAS,GAAG,KAAIC,wBAAU,EAAC,SAAS,CAAC,GAAG,KAAIA,wBAAU,EAAC,KAAK,CAAC;MAC7GR,QAAQ,CAACS,OAAO,CAAC,KAAIC,aAAI,EAACL,IAAI,CAACM,QAAQ,EAAEN,IAAI,CAACO,QAAQ,EAAEN,OAAO,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,OAAON,QAAQ;EACjB;AACF;AAAC"}
|
package/dist/graph-cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_os","path","_interopRequireWildcard","_graphlib","_legacyBitId","_utils","_vizgraph","_consumer","_scopeGraph","_exceptions","_getRemoteByName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GraphCmd","constructor","_defineProperty2","report","id","remote","allVersions","layout","image","consumer","loadConsumerIfExist","ConsumerNotFound","graph","generateGraph","config","visualDependencyGraph","VisualDependencyGraph","loadFromGraphlib","getBitId","undefined","BitId","parse","getParsedId","bitId","highlightId","join","os","tmpdir","generateRandomStr","result","chalk","green","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 { BitId } from '@teambit/legacy-bit-id';\nimport { generateRandomStr } from '@teambit/legacy/dist/utils';\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';\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 dependencies graph';\n group = 'discover';\n alias = '';\n options = [\n ['i', 'image <image>', 'image path. 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 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 const getBitId = (): BitId | undefined => {\n if (!id) return undefined;\n if (remote) return BitId.parse(id, true); // user used --remote so we know it has a scope\n return consumer?.getParsedId(id);\n };\n const bitId = getBitId();\n\n if (bitId) {\n visualDependencyGraph.highlightId(bitId);\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 = (): BitId | undefined => {\n if (!id) return undefined;\n if (remote) return BitId.parse(id, true); // 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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"}
|
1
|
+
{"version":3,"names":["GraphCmd","report","id","remote","allVersions","layout","image","consumer","loadConsumerIfExist","ConsumerNotFound","graph","generateGraph","config","visualDependencyGraph","VisualDependencyGraph","loadFromGraphlib","getBitId","undefined","BitId","parse","getParsedId","bitId","highlightId","path","join","os","tmpdir","generateRandomStr","result","chalk","green","scopeName","scope","remoteScope","getRemoteByName","componentDepGraph","Error","onlyLatest","workspaceGraph","DependencyGraph","buildGraphFromWorkspace","dependencyGraph","componentGraph","getSubGraphOfConnectedComponents","json","GraphLib","write"],"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 { BitId } from '@teambit/legacy-bit-id';\nimport { generateRandomStr } from '@teambit/legacy/dist/utils';\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';\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 dependencies graph';\n group = 'discover';\n alias = '';\n options = [\n ['i', 'image <image>', 'image path. 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 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 const getBitId = (): BitId | undefined => {\n if (!id) return undefined;\n if (remote) return BitId.parse(id, true); // user used --remote so we know it has a scope\n return consumer?.getParsedId(id);\n };\n const bitId = getBitId();\n\n if (bitId) {\n visualDependencyGraph.highlightId(bitId);\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 = (): BitId | undefined => {\n if (!id) return undefined;\n if (remote) return BitId.parse(id, true); // 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":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA8E;AAAA;AAUvE,MAAMA,QAAQ,CAAoB;EAAA;IAAA,8CAChC,YAAY;IAAA,qDACL,oDAAoD;IAAA,+CAC1D,UAAU;IAAA,+CACV,EAAE;IAAA,iDACA,CACR,CAAC,GAAG,EAAE,eAAe,EAAE,uEAAuE,CAAC,EAC/F,CAAC,GAAG,EAAE,qBAAqB,EAAE,kEAAkE,CAAC,EAChG,CAAC,EAAE,EAAE,cAAc,EAAE,+DAA+D,CAAC,EACrF,CACE,EAAE,EACF,eAAe,EACf,wGAAwG,CACzG,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAC7B;IAAA,kDACU,IAAI;EAAA;EAEf,MAAMC,MAAM,CAAC,CAACC,EAAE,CAAW,EAAE;IAAEC,MAAM;IAAEC,WAAW;IAAEC,MAAM;IAAEC;EAAgB,CAAC,EAAmB;IAC9F,MAAMC,QAAQ,GAAG,MAAM,IAAAC,+BAAmB,GAAE;IAC5C,IAAI,CAACD,QAAQ,IAAI,CAACJ,MAAM,EAAE,MAAM,KAAIM,8BAAgB,GAAE;IAEtD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACC,aAAa,CAACJ,QAAQ,EAAEL,EAAE,EAAEC,MAAM,EAAEC,WAAW,CAAC;IAEzE,MAAMQ,MAAM,GAAG,CAAC,CAAC;IACjB;IACA,IAAIP,MAAM,EAAEO,MAAM,CAACP,MAAM,GAAGA,MAAM;IAClC,MAAMQ,qBAAqB,GAAG,MAAMC,mBAAqB,CAACC,gBAAgB,CAACL,KAAK,EAAEE,MAAM,CAAC;IAEzF,MAAMI,QAAQ,GAAG,MAAyB;MACxC,IAAI,CAACd,EAAE,EAAE,OAAOe,SAAS;MACzB,IAAId,MAAM,EAAE,OAAOe,oBAAK,CAACC,KAAK,CAACjB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;MAC1C,OAAOK,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEa,WAAW,CAAClB,EAAE,CAAC;IAClC,CAAC;IACD,MAAMmB,KAAK,GAAGL,QAAQ,EAAE;IAExB,IAAIK,KAAK,EAAE;MACTR,qBAAqB,CAACS,WAAW,CAACD,KAAK,CAAC;IAC1C;IACAf,KAAK,GAAGA,KAAK,IAAIiB,IAAI,GAACC,IAAI,CAACC,aAAE,CAACC,MAAM,EAAE,EAAG,GAAE,IAAAC,0BAAiB,GAAG,MAAK,CAAC;IACrE,MAAMC,MAAM,GAAG,MAAMf,qBAAqB,CAACP,KAAK,CAACA,KAAK,CAAC;IAEvD,OAAOuB,gBAAK,CAACC,KAAK,CAAE,oBAAmBF,MAAO,EAAC,CAAC;EAClD;EAEA,MAAcjB,aAAa,CACzBJ,QAAmB,EACnBL,EAAW,EACXC,MAAe,EACfC,WAAqB,EACI;IACzB,IAAI,CAACG,QAAQ,IAAI,CAACJ,MAAM,EAAE,MAAM,KAAIM,8BAAgB,GAAE;IACtD,MAAMO,QAAQ,GAAG,MAAyB;MACxC,IAAI,CAACd,EAAE,EAAE,OAAOe,SAAS;MACzB,IAAId,MAAM,EAAE,OAAOe,oBAAK,CAACC,KAAK,CAACjB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;MAC1C;MACA,OAAOK,QAAQ,CAACa,WAAW,CAAClB,EAAE,CAAC;IACjC,CAAC;IACD,MAAMmB,KAAK,GAAGL,QAAQ,EAAE;IACxB,IAAIb,MAAM,EAAE;MACV,IAAID,EAAE,EAAE;QACN;QACA,MAAM6B,SAAiB,GAAG,OAAO5B,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGkB,KAAK,CAACW,KAAK;QAC3E,MAAMC,WAAW,GAAG,MAAM,IAAAC,0BAAe,EAACH,SAAS,EAAExB,QAAQ,CAAC;QAC9D,MAAM4B,iBAAiB,GAAG,MAAMF,WAAW,CAACvB,KAAK,CAACW,KAAK,CAAC;QACxD,OAAOc,iBAAiB,CAACzB,KAAK;MAChC;MACA,IAAI,OAAOP,MAAM,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAIiC,KAAK,CAAC,iDAAiD,CAAC;MACpE;MACA,MAAMH,WAAW,GAAG,MAAM,IAAAC,0BAAe,EAAC/B,MAAM,EAAEI,QAAQ,CAAC;MAC3D,MAAM4B,iBAAiB,GAAG,MAAMF,WAAW,CAACvB,KAAK,EAAE;MACnD,OAAOyB,iBAAiB,CAACzB,KAAK;IAChC;IAEA,MAAM2B,UAAU,GAAG,CAACjC,WAAW;IAC/B;IACA,MAAMkC,cAAc,GAAG,MAAMC,qBAAe,CAACC,uBAAuB,CAACjC,QAAQ,EAAE8B,UAAU,CAAC;IAC1F,MAAMI,eAAe,GAAG,KAAIF,qBAAe,EAACD,cAAc,CAAC;IAC3D,IAAIpC,EAAE,EAAE;MACN;MACA,MAAMwC,cAAc,GAAGD,eAAe,CAACE,gCAAgC,CAACtB,KAAK,CAAC;MAC9E,MAAMc,iBAAiB,GAAG,KAAII,qBAAe,EAACG,cAAc,CAAC;MAC7D,OAAOP,iBAAiB,CAACzB,KAAK;IAChC;IACA,OAAO+B,eAAe,CAAC/B,KAAK;EAC9B;EAEA,MAAMkC,IAAI,CAAC,CAAC1C,EAAE,CAAW,EAAE;IAAEC,MAAM;IAAEC;EAAsB,CAAC,EAAE;IAC5D,MAAMG,QAAQ,GAAG,MAAM,IAAAC,+BAAmB,GAAE;IAC5C,IAAI,CAACD,QAAQ,IAAI,CAACJ,MAAM,EAAE,MAAM,KAAIM,8BAAgB,GAAE;IAEtD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACC,aAAa,CAACJ,QAAQ,EAAEL,EAAE,EAAEC,MAAM,EAAEC,WAAW,CAAC;IACzE,OAAOyC,mBAAQ,CAACD,IAAI,CAACE,KAAK,CAACpC,KAAK,CAAC;EACnC;AACF;AAAC"}
|
package/dist/graph.aspect.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphAspect","Aspect","create","id","dependencies","defaultConfig"],"sources":["graph.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const GraphAspect = Aspect.create({\n id: 'teambit.component/graph',\n dependencies: [],\n defaultConfig: {},\n});\n\nexport default GraphAspect;\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,WAAW,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACvCC,EAAE,EAAE,yBAAyB;EAC7BC,YAAY,EAAE,EAAE;EAChBC,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC;AAAC;AAAA,eAEYL,WAAW;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphCompareSection","href","children","navigationLink","path","element","ChangeType","DEPENDENCY"],"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 '@teambit/graph';\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 = '';\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,mBAAmB,CAA6B;EAAA;IAAA,wDAC1C;MACfC,IAAI,EAAE,cAAc;MACpBC,QAAQ,EAAE;IACZ,CAAC;IAAA,+CAEO,IAAI,CAACC,cAAc;IAAA,+CAEnB;MACNC,IAAI,EAAE,gBAAgB;MACtBC,OAAO,eAAE,+BAAC,4BAAmB;IAC/B,CAAC;IAAA,+CAEO,EAAE;IAAA,oDACGC,+CAAU,CAACC,UAAU;IAAA,4CAC7B,EAAE;EAAA;AACT;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["graph.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/graph.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAE;EAAC,GAAG,EAAC;AAAmD,EAAG,CAExF;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["textCmp","Intl","Collator","compare","graphSchema","graphBuilder","componentAspect","typeDefs","gql","resolvers","ComponentGraph","nodes","graph","map","node","id","component","attr","sort","a","b","edges","edge","sourceId","targetId","dependencyLifecycleType","getDependencyLifecycleType","type","Query","_parent","ids","filter","componentsHost","getHost","resolvedIds","resolveMultipleComponentIds","list","x","getGraph","undefined","runtimeGraph","runtimeOnly","toString","edgeRawData","EdgeType","dev","runtime","peer"],"sources":["graph.graphql.ts"],"sourcesContent":["import { ComponentMain } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\n\nimport { GraphBuilder } from './graph-builder';\nimport { ComponentGraph } from './component-graph';\nimport { GraphFilter } from './model/graph-filters';\nimport { DependencyType } from './model/dependency';\nimport { EdgeType } from './edge-type';\n\nconst textCmp = new Intl.Collator().compare;\n\nexport function graphSchema(graphBuilder: GraphBuilder, componentAspect: ComponentMain): Schema {\n return {\n typeDefs: gql`\n type ComponentGraph {\n nodes: [ComponentGraphNode]\n edges: [ComponentGraphEdge]\n }\n\n type ComponentGraphNode {\n id: String\n component: Component\n }\n\n enum DependencyLifecycleType {\n PEER\n RUNTIME\n DEV\n }\n\n type ComponentGraphEdge {\n sourceId: String\n targetId: String\n dependencyLifecycleType: DependencyLifecycleType\n }\n\n extend type Query {\n graph(ids: [String], filter: String): ComponentGraph\n }\n `,\n resolvers: {\n ComponentGraph: {\n nodes: (graph: ComponentGraph) => {\n return graph.nodes\n .map((node) => {\n return {\n id: node.id,\n component: node.attr,\n };\n })\n .sort((a, b) => textCmp(a.id, b.id));\n },\n edges: (graph: ComponentGraph) => {\n return graph.edges\n .map(\n (edge) =>\n ({\n sourceId: edge.sourceId,\n targetId: edge.targetId,\n dependencyLifecycleType: getDependencyLifecycleType(edge.attr.type),\n } as { sourceId: string; targetId: string; dependencyLifecycleType: EdgeType })\n )\n .sort((a, b) => textCmp(a.sourceId, b.sourceId))\n .sort((a, b) => textCmp(a.targetId, b.targetId));\n },\n },\n Query: {\n graph: async (_parent, { ids, filter }: { ids?: string[]; filter?: GraphFilter }) => {\n const componentsHost = componentAspect.getHost();\n const resolvedIds = ids\n ? await componentsHost.resolveMultipleComponentIds(ids)\n : (await componentsHost.list()).map((x) => x.id);\n\n const graph = await graphBuilder.getGraph(resolvedIds);\n if (!graph) return undefined;\n\n if (filter === 'runtimeOnly') {\n const runtimeGraph = graph.runtimeOnly(resolvedIds.map((x) => x.toString()));\n return runtimeGraph;\n }\n\n return graph;\n },\n },\n },\n };\n}\n\nfunction getDependencyLifecycleType(edgeRawData: DependencyType): EdgeType {\n if (edgeRawData === 'dev') return EdgeType.dev;\n if (edgeRawData === 'runtime') return EdgeType.runtime;\n return EdgeType.peer;\n}\n"],"mappings":";;;;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAMA,OAAO,GAAG,IAAIC,IAAI,CAACC,QAAQ,EAAE,CAACC,OAAO;AAEpC,SAASC,WAAW,CAACC,YAA0B,EAAEC,eAA8B,EAAU;EAC9F,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,cAAc,EAAE;QACdC,KAAK,EAAGC,KAAqB,IAAK;UAChC,OAAOA,KAAK,CAACD,KAAK,CACfE,GAAG,CAAEC,IAAI,IAAK;YACb,OAAO;cACLC,EAAE,EAAED,IAAI,CAACC,EAAE;cACXC,SAAS,EAAEF,IAAI,CAACG;YAClB,CAAC;UACH,CAAC,CAAC,CACDC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKpB,OAAO,CAACmB,CAAC,CAACJ,EAAE,EAAEK,CAAC,CAACL,EAAE,CAAC,CAAC;QACxC,CAAC;QACDM,KAAK,EAAGT,KAAqB,IAAK;UAChC,OAAOA,KAAK,CAACS,KAAK,CACfR,GAAG,CACDS,IAAI,KACF;YACCC,QAAQ,EAAED,IAAI,CAACC,QAAQ;YACvBC,QAAQ,EAAEF,IAAI,CAACE,QAAQ;YACvBC,uBAAuB,EAAEC,0BAA0B,CAACJ,IAAI,CAACL,IAAI,CAACU,IAAI;UACpE,CAAC,CAA8E,CAClF,CACAT,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKpB,OAAO,CAACmB,CAAC,CAACI,QAAQ,EAAEH,CAAC,CAACG,QAAQ,CAAC,CAAC,CAC/CL,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKpB,OAAO,CAACmB,CAAC,CAACK,QAAQ,EAAEJ,CAAC,CAACI,QAAQ,CAAC,CAAC;QACpD;MACF,CAAC;MACDI,KAAK,EAAE;QACLhB,KAAK,EAAE,OAAOiB,OAAO,EAAE;UAAEC,GAAG;UAAEC;QAAiD,CAAC,KAAK;UACnF,MAAMC,cAAc,GAAG1B,eAAe,CAAC2B,OAAO,EAAE;UAChD,MAAMC,WAAW,GAAGJ,GAAG,GACnB,MAAME,cAAc,CAACG,2BAA2B,CAACL,GAAG,CAAC,GACrD,CAAC,MAAME,cAAc,CAACI,IAAI,EAAE,EAAEvB,GAAG,CAAEwB,CAAC,IAAKA,CAAC,CAACtB,EAAE,CAAC;UAElD,MAAMH,KAAK,GAAG,MAAMP,YAAY,CAACiC,QAAQ,CAACJ,WAAW,CAAC;UACtD,IAAI,CAACtB,KAAK,EAAE,OAAO2B,SAAS;UAE5B,IAAIR,MAAM,KAAK,aAAa,EAAE;YAC5B,MAAMS,YAAY,GAAG5B,KAAK,CAAC6B,WAAW,CAACP,WAAW,CAACrB,GAAG,CAAEwB,CAAC,IAAKA,CAAC,CAACK,QAAQ,EAAE,CAAC,CAAC;YAC5E,OAAOF,YAAY;UACrB;UAEA,OAAO5B,KAAK;QACd;MACF;IACF;EACF,CAAC;AACH;AAEA,SAASc,0BAA0B,CAACiB,WAA2B,EAAY;EACzE,IAAIA,WAAW,KAAK,KAAK,EAAE,OAAOC,oBAAQ,CAACC,GAAG;EAC9C,IAAIF,WAAW,KAAK,SAAS,EAAE,OAAOC,oBAAQ,CAACE,OAAO;EACtD,OAAOF,oBAAQ,CAACG,IAAI;AACtB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphMain","constructor","componentAspect","logger","getGraph","ids","opts","graphBuilder","GraphBuilder","getGraphIds","provider","graphql","cli","loggerMain","createLogger","GraphAspect","id","register","graphSchema","graphMain","GraphCmd","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());\n\n return graphMain;\n }\n}\n\nGraphAspect.addRuntime(GraphMain);\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,MAAMA,SAAS,CAAC;EACrBC,WAAW,CAASC,eAA8B,EAAUC,MAAc,EAAE;IAAA,KAAxDD,eAA8B,GAA9BA,eAA8B;IAAA,KAAUC,MAAc,GAAdA,MAAc;EAAG;;EAE7E;AACF;AACA;EACE,MAAMC,QAAQ,CAACC,GAAmB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAA2B;IACpF,MAAMC,YAAY,GAAG,KAAIC,4BAAY,EAAC,IAAI,CAACN,eAAe,CAAC;IAC3D,OAAOK,YAAY,CAACH,QAAQ,CAACC,GAAG,EAAEC,IAAI,CAAC;EACzC;EAEA,MAAMG,WAAW,CAACJ,GAAmB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAA6B;IACzF,MAAMC,YAAY,GAAG,KAAIC,4BAAY,EAAC,IAAI,CAACN,eAAe,CAAC;IAC3D,OAAOK,YAAY,CAACE,WAAW,CAACJ,GAAG,EAAEC,IAAI,CAAC;EAC5C;EAKA,aAAaI,QAAQ,CAAC,CAACC,OAAO,EAAET,eAAe,EAAEU,GAAG,EAAEC,UAAU,CAK/D,EAAE;IACD,MAAMV,MAAM,GAAGU,UAAU,CAACC,YAAY,CAACC,qBAAW,CAACC,EAAE,CAAC;IAEtD,MAAMT,YAAY,GAAG,KAAIC,4BAAY,EAACN,eAAe,CAAC;IACtDS,OAAO,CAACM,QAAQ,CAAC,IAAAC,oBAAW,EAACX,YAAY,EAAEL,eAAe,CAAC,CAAC;IAE5D,MAAMiB,SAAS,GAAG,IAAInB,SAAS,CAACE,eAAe,EAAEC,MAAM,CAAC;IACxDS,GAAG,CAACK,QAAQ,CAAC,KAAIG,oBAAQ,GAAE,CAAC;IAE5B,OAAOD,SAAS;EAClB;AACF;AAAC;AAAA,gCAnCYnB,SAAS,WAgBL,EAAE;AAAA,gCAhBNA,SAAS,kBAiBE,CAACqB,wBAAa,EAAEC,4BAAe,EAAEC,gBAAS,EAAEC,sBAAY,CAAC;AAAA,gCAjBpExB,SAAS,aAkBHyB,kBAAW;AAmB9BV,qBAAW,CAACW,UAAU,CAAC1B,SAAS,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphUI","getDependenciesGraph","DependenciesGraph","registerComponentWidget","value","componentWidgetSlot","register","constructor","provider","componentUI","componentCompare","config","graphUI","section","GraphSection","graphSection","GraphCompareSection","componentTab","registerNavigation","navigationLink","order","registerRoute","route","registerRoutes","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;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAYA;AACA;AACA;AACO,MAAMA,OAAO,CAAC;EACnBC,oBAAoB,GAAG;IACrB,OAAOC,sCAAiB;EAC1B;;EAEA;AACF;AACA;AACA;EACEC,uBAAuB,CAACC,KAAsB,EAAE;IAC9C,IAAI,CAACC,mBAAmB,CAACC,QAAQ,CAACF,KAAK,CAAC;EAC1C;EAEAG,WAAW,CAASF,mBAAwC,EAAE;IAAA,KAA1CA,mBAAwC,GAAxCA,mBAAwC;EAAG;EAQ/D,aAAaG,QAAQ,CACnB,CAACC,WAAW,EAAEC,gBAAgB,CAAoC,EAClEC,MAAqB,EACrB,CAACN,mBAAmB,CAAwB,EAC5C;IACA,MAAMO,OAAO,GAAG,IAAIZ,OAAO,CAACK,mBAAmB,CAAC;IAChD,MAAMQ,OAAO,GAAG,KAAIC,sBAAY,EAACT,mBAAmB,CAAC;IACrD,MAAMU,YAAY,GAAG,KAAIC,mCAAmB,GAAE;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;AAAC;AAAA,gCAnCYZ,OAAO,kBAcI,CAACwB,4BAAe,EAAEC,0CAAsB,CAAC;AAAA,gCAdpDzB,OAAO,aAeD0B,eAAS;AAAA,gCAff1B,OAAO,WAgBH,CAAC2B,eAAI,CAACC,QAAQ,EAAmB,CAAC;AAAA,gCAhBtC5B,OAAO,mBAiBK;EACrBiB,YAAY,EAAE;AAChB,CAAC;AAkBHY,oBAAW,CAACC,UAAU,CAAC9B,OAAO,CAAC"}
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type { ComponentGraph } from './component-graph';\nexport type { CompIdGraph, DepEdgeType } from './component-id-graph';\nexport { DuplicateDependency, VersionSubgraph } from './duplicate-dependency';\nexport { EdgeType } from './edge-type';\nexport type { GraphBuilder } from './graph-builder';\nexport { GraphAspect as default, GraphAspect } from './graph.aspect';\nexport type { GraphMain } from './graph.main.runtime';\nexport type { ComponentWidget, ComponentWidgetProps, ComponentWidgetSlot, GraphUI } from './graph.ui.runtime';\nexport { Dependency } from './model/dependency';\nexport { GraphFilter } from './model/graph-filters';\nexport { IdGraph, objectListToGraph, bitObjectListToGraph } from './object-list-to-graph';\nexport { DependenciesCompare } from './ui/dependencies-compare';\nexport {\n calcElements,\n calcLayout,\n calcMinimapColors,\n depTypeToClass,\n depTypeToLabel,\n styles as dependenciesGraphStyles,\n} from './ui/dependencies-graph';\nexport { GraphFilters, styles as graphPageStyles } from './ui/graph-page';\nexport { EdgeModel, GraphModel, NodeModel, RawGraph, useGraph, useGraphQuery } from './ui/query';\nexport { styles as componentNodeStyles, root, defaultNode, external } from './ui/component-node';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Dependency","constructor","type","
|
1
|
+
{"version":3,"names":["Dependency","constructor","type","stringify"],"sources":["dependency.ts"],"sourcesContent":["export type DependencyType = 'dev' | 'peer' | 'runtime';\n\nexport class Dependency {\n readonly type: DependencyType;\n constructor(type: DependencyType) {\n this.type = type;\n }\n stringify(): string {\n return this.type;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAEO,MAAMA,UAAU,CAAC;EAEtBC,WAAW,CAACC,IAAoB,EAAE;IAAA;IAChC,IAAI,CAACA,IAAI,GAAGA,IAAI;EAClB;EACAC,SAAS,GAAW;IAClB,OAAO,IAAI,CAACD,IAAI;EAClB;AACF;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { Dependency, DependencyType } from './dependency';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["IdGraph","Graph","constructor","nodes","edges","objectListToGraph","objectList","bitObjectsList","toBitObjects","bitObjectListToGraph","exportMetadata","getExportMetadata","components","getComponents","versions","getVersions","Promise","all","map","component","compFromMetadata","exportVersions","find","c","id","isEqualWithoutVersion","toBitId","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 { BitId } from '@teambit/legacy-bit-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<BitId>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class IdGraph extends Graph<BitId, 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.toBitId())\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.toBitId().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: BitId, 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@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@0.0.1112/dist/graph.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@0.0.1112/dist/graph.docs.md';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["ComponentNode","node","type","rest","graphContext","useContext","ComponentGraphContext","component","id","classnames","styles","compNode","variants","firstRow","envIcon","mutedText","nameLine","link","ComponentUrl","toUrl","includeVersion","name","ellipsis","version","buffs","componentWidgets","toArray","map","widgetId","Widget","Breadcrumbs","componentId","className","scope","namespace","showSep","breadcrumbs"],"sources":["component-node.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classnames from 'classnames';\nimport { mutedText } from '@teambit/base-ui.text.muted-text';\nimport { ComponentID } from '@teambit/component';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { Card, CardProps } from '@teambit/base-ui.surfaces.card';\nimport { NavLink } from '@teambit/base-ui.routing.nav-link';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { NodeModel } from '../query/node-model';\nimport { ComponentGraphContext } from '../dependencies-graph/';\n\n// keep order: styles, then variants\nimport styles from './component-node.module.scss';\nimport variants from './variants.module.scss';\n\nexport interface ComponentNode extends CardProps {\n node: NodeModel;\n type: string;\n}\n\nexport function ComponentNode({ node, type = 'defaultNode', ...rest }: ComponentNode) {\n const graphContext = useContext(ComponentGraphContext);\n const { component } = node;\n const { id } = component;\n\n return (\n <Card className={classnames(styles.compNode, variants[type])} elevation=\"none\" {...rest}>\n <div className={styles.firstRow}>\n <EnvIcon component={component} className={styles.envIcon} />\n <Breadcrumbs componentId={id} className={mutedText} />\n </div>\n <div className={styles.nameLine}>\n <NavLink className={styles.link} external={true} href={ComponentUrl.toUrl(id, { includeVersion: false })}>\n <span className={classnames(styles.name, ellipsis)}>{id.name}</span>\n </NavLink>\n {id.version && <span className={classnames(styles.version, ellipsis)}>{id.version}</span>}\n\n <div className={styles.buffs}>\n <DeprecationIcon component={component} />\n {graphContext &&\n graphContext.componentWidgets\n .toArray()\n .map(([widgetId, Widget]) => <Widget key={widgetId} component={component} />)}\n </div>\n </div>\n </Card>\n );\n}\n\ntype BreadcrumbsProps = { componentId: ComponentID } & React.HTMLAttributes<HTMLDivElement>;\n\nfunction Breadcrumbs({ componentId, className, ...rest }: BreadcrumbsProps) {\n const { scope, namespace } = componentId;\n const showSep = !!scope && !!namespace;\n\n return (\n <div {...rest} className={classnames(styles.breadcrumbs, ellipsis, className)}>\n {scope}\n {showSep && '/'}\n {namespace}\n </div>\n );\n}\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["compNode","firstRow","envIcon","breadcrumbs","nameLine","name","version","buffs","link","componentStyles","styles"],"sources":["index.ts"],"sourcesContent":["import componentStyles from './component-node.module.scss';\n\nexport { ComponentNode } from './component-node';\n\nexport { defaultNodeColor, rootNodeColor, externalNodeColor, root, defaultNode, external } from './variants';\n\nconst { compNode, firstRow, envIcon, breadcrumbs, nameLine, name, version, buffs, link } = componentStyles;\nexport const styles = { compNode, firstRow, envIcon, breadcrumbs, nameLine, name, version, buffs, link };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAM;EAAEA,QAAQ;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,WAAW;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,OAAO;EAAEC,KAAK;EAAEC;AAAK,CAAC,GAAGC,8BAAe;AACnG,MAAMC,MAAM,GAAG;EAAEV,QAAQ;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,WAAW;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,OAAO;EAAEC,KAAK;EAAEC;AAAK,CAAC;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["root","defaultNode","external","rootNodeColor","defaultNodeColor","externalNodeColor","variants"],"sources":["variants.ts"],"sourcesContent":["import variants from './variants.module.scss';\n\nconst { root, defaultNode, external, rootNodeColor, defaultNodeColor, externalNodeColor } = variants;\n\nexport { root, defaultNode, external, rootNodeColor, defaultNodeColor, externalNodeColor };\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAM;EAAEA,IAAI;EAAEC,WAAW;EAAEC,QAAQ;EAAEC,aAAa;EAAEC,gBAAgB;EAAEC;AAAkB,CAAC,GAAGC,yBAAQ;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["CompareGraphModel","GraphModel","constructor","nodes","edges"],"sources":["compare-graph-model.ts"],"sourcesContent":["import { EdgeModel, GraphModel } from '@teambit/graph';\nimport { CompareNodeModel } from './compare-node-model';\n\nexport class CompareGraphModel extends GraphModel<CompareNodeModel, EdgeModel> {\n constructor(public nodes: CompareNodeModel[], public edges: EdgeModel[]) {\n super(nodes, edges);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGO,MAAMA,iBAAiB,SAASC,mBAAU,CAA8B;EAC7EC,WAAW,CAAQC,KAAyB,EAASC,KAAkB,EAAE;IACvE,KAAK,CAACD,KAAK,EAAEC,KAAK,CAAC;IAAC,KADHD,KAAyB,GAAzBA,KAAyB;IAAA,KAASC,KAAkB,GAAlBA,KAAkB;EAEvE;AACF;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["CompareNodeModel","NodeModel"],"sources":["compare-node-model.ts"],"sourcesContent":["import { ComponentModel } from '@teambit/component';\nimport { NodeModel } from '@teambit/graph';\n\nexport type CompareStatus = 'modified' | 'new' | 'deleted' | undefined;\n\nexport class CompareNodeModel extends NodeModel {\n id: string;\n component: ComponentModel;\n compareVersion: string;\n status: CompareStatus;\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,MAAMA,gBAAgB,SAASC,kBAAS,CAAC;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;AAKhD;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_classnames","data","_interopRequireDefault","require","_designUi","_graph","_componentUiComponentCompare","_react","_interopRequireWildcard","_reactFlowRenderer","_dependenciesCompareModule","_dependencyCompareNode","_diffGraph2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","Handle","type","position","isConnectable","DependencyCompareNode","node","NodeTypes","ComponentNode","DependenciesCompare","_componentCompare$bas","_componentCompare$com","_diffGraph","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","_graphRef$current","current","fitView","handleLoad","instance","_graphRef$current2","onCheckFilter","_isFiltered","Fragment","className","classNames","styles","page","graphPageStyles","loader","RoundLoader","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","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 } 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(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n function handleLoad(instance: OnLoadParams) {\n graphRef.current = instance;\n graphRef.current?.fitView();\n }\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={1}\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":["ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","data","id","node","type","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","instance","onCheckFilter","_isFiltered","classNames","styles","page","graphPageStyles","loader","dependenciesGraphStyles","controls","calcMinimapColors","minimap","filters"],"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 } 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(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n function handleLoad(instance: OnLoadParams) {\n graphRef.current = instance;\n graphRef.current?.fitView();\n }\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={1}\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 +1 @@
|
|
1
|
-
{"version":3,"names":["_baseUiRouting","data","require","_baseUiSurfaces","_baseUiText","_component","_componentModules","_componentUiComponentCompare","_componentUi","_designUiStyles","_envsUi","_graph","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_semver","_dependencyCompareNodeModule","_dependencyCompareVariantsModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getVariant","nodeType","defaultNode","variants","external","DependencyCompareNode","props","node","type","id","baseIdStr","component","baseComponent","compareVersion","status","version","baseVersion","baseId","ComponentID","fromString","versionDiff","useMemo","valid","compare","createElement","Card","className","classnames","componentNodeStyles","compNode","elevation","firstRow","EnvIcon","envIcon","Breadcrumbs","componentId","mutedText","nameLine","NavLink","styles","link","href","ComponentUrl","toUrl","includeVersion","name","ellipsis","arrowIcon","versionUp","src","versionDown","buffs","DeprecationIcon","undefined","CompareStatusResolver","_ref","rest","_objectWithoutProperties2","scope","namespace","showSep","_extends2","breadcrumbs"],"sources":["dependency-compare-node.tsx"],"sourcesContent":["import { NavLink } from '@teambit/base-ui.routing.nav-link';\nimport { Card } from '@teambit/base-ui.surfaces.card';\nimport { mutedText } from '@teambit/base-ui.text.muted-text';\nimport { ComponentID } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { CompareStatusResolver } from '@teambit/component.ui.component-compare.status-resolver';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport { componentNodeStyles, defaultNode, external } from '@teambit/graph';\nimport classnames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { compare, valid } from 'semver';\nimport { CompareNodeModel } from './compare-node-model';\nimport styles from './dependency-compare-node.module.scss';\nimport variants from './dependency-compare-variants.module.scss';\n\nfunction getVariant(nodeType?: string) {\n switch (nodeType) {\n case 'defaultNode':\n return defaultNode;\n case 'root':\n return variants[nodeType];\n case 'external':\n return external;\n default:\n return null;\n }\n}\n\nexport type DependencyCompareNodeProps = {\n node: CompareNodeModel;\n type?: string;\n};\n\nexport function DependencyCompareNode(props: DependencyCompareNodeProps) {\n const { node, type = 'defaultNode' } = props;\n const { id: baseIdStr, component: baseComponent, compareVersion, status } = node;\n const { version: baseVersion } = baseComponent;\n const baseId = ComponentID.fromString(baseIdStr);\n const versionDiff = useMemo(\n () => valid(baseVersion) && valid(compareVersion) && compare(baseVersion, compareVersion),\n [baseVersion, compareVersion]\n );\n\n return (\n <Card className={classnames(componentNodeStyles.compNode, getVariant(type))} elevation=\"none\">\n <div className={componentNodeStyles.firstRow}>\n <EnvIcon component={baseComponent} className={componentNodeStyles.envIcon} />\n <Breadcrumbs componentId={baseId} className={mutedText} />\n </div>\n <div className={componentNodeStyles.nameLine}>\n <NavLink className={styles.link} external={true} href={ComponentUrl.toUrl(baseId, { includeVersion: false })}>\n <span className={classnames(componentNodeStyles.name, ellipsis)}>{baseId.name}</span>\n </NavLink>\n {baseId.version && <span className={classnames(componentNodeStyles.version, ellipsis)}>{baseId.version}</span>}\n {versionDiff !== 0 && (\n <img\n className={classnames([styles.arrowIcon, styles.versionUp])}\n src=\"https://static.bit.dev/bit-icons/version-bump.svg\"\n />\n )}\n {compareVersion && versionDiff !== 0 && (\n <span\n className={classnames(\n styles.version,\n componentNodeStyles.version,\n ellipsis,\n versionDiff === -1 && styles.versionUp,\n versionDiff === 1 && styles.versionDown\n )}\n >\n {compareVersion}\n </span>\n )}\n\n <div className={styles.buffs}>\n <DeprecationIcon component={baseComponent} />\n {status !== undefined && <CompareStatusResolver status={status} />}\n </div>\n </div>\n </Card>\n );\n}\n\ntype BreadcrumbsProps = { componentId: ComponentID } & React.HTMLAttributes<HTMLDivElement>;\n\nfunction Breadcrumbs({ componentId, className, ...rest }: BreadcrumbsProps) {\n const { scope, namespace } = componentId;\n const showSep = !!scope && !!namespace;\n\n return (\n <div {...rest} className={classnames(styles.breadcrumbs, ellipsis, className)}>\n {scope}\n {showSep && '/'}\n {namespace}\n </div>\n );\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["getVariant","nodeType","defaultNode","variants","external","DependencyCompareNode","props","node","type","id","baseIdStr","component","baseComponent","compareVersion","status","version","baseVersion","baseId","ComponentID","fromString","versionDiff","useMemo","valid","compare","classnames","componentNodeStyles","compNode","firstRow","envIcon","mutedText","nameLine","styles","link","ComponentUrl","toUrl","includeVersion","name","ellipsis","arrowIcon","versionUp","versionDown","buffs","undefined","Breadcrumbs","componentId","className","rest","scope","namespace","showSep","breadcrumbs"],"sources":["dependency-compare-node.tsx"],"sourcesContent":["import { NavLink } from '@teambit/base-ui.routing.nav-link';\nimport { Card } from '@teambit/base-ui.surfaces.card';\nimport { mutedText } from '@teambit/base-ui.text.muted-text';\nimport { ComponentID } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { CompareStatusResolver } from '@teambit/component.ui.component-compare.status-resolver';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { ellipsis } from '@teambit/design.ui.styles.ellipsis';\nimport { EnvIcon } from '@teambit/envs.ui.env-icon';\nimport { componentNodeStyles, defaultNode, external } from '@teambit/graph';\nimport classnames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { compare, valid } from 'semver';\nimport { CompareNodeModel } from './compare-node-model';\nimport styles from './dependency-compare-node.module.scss';\nimport variants from './dependency-compare-variants.module.scss';\n\nfunction getVariant(nodeType?: string) {\n switch (nodeType) {\n case 'defaultNode':\n return defaultNode;\n case 'root':\n return variants[nodeType];\n case 'external':\n return external;\n default:\n return null;\n }\n}\n\nexport type DependencyCompareNodeProps = {\n node: CompareNodeModel;\n type?: string;\n};\n\nexport function DependencyCompareNode(props: DependencyCompareNodeProps) {\n const { node, type = 'defaultNode' } = props;\n const { id: baseIdStr, component: baseComponent, compareVersion, status } = node;\n const { version: baseVersion } = baseComponent;\n const baseId = ComponentID.fromString(baseIdStr);\n const versionDiff = useMemo(\n () => valid(baseVersion) && valid(compareVersion) && compare(baseVersion, compareVersion),\n [baseVersion, compareVersion]\n );\n\n return (\n <Card className={classnames(componentNodeStyles.compNode, getVariant(type))} elevation=\"none\">\n <div className={componentNodeStyles.firstRow}>\n <EnvIcon component={baseComponent} className={componentNodeStyles.envIcon} />\n <Breadcrumbs componentId={baseId} className={mutedText} />\n </div>\n <div className={componentNodeStyles.nameLine}>\n <NavLink className={styles.link} external={true} href={ComponentUrl.toUrl(baseId, { includeVersion: false })}>\n <span className={classnames(componentNodeStyles.name, ellipsis)}>{baseId.name}</span>\n </NavLink>\n {baseId.version && <span className={classnames(componentNodeStyles.version, ellipsis)}>{baseId.version}</span>}\n {versionDiff !== 0 && (\n <img\n className={classnames([styles.arrowIcon, styles.versionUp])}\n src=\"https://static.bit.dev/bit-icons/version-bump.svg\"\n />\n )}\n {compareVersion && versionDiff !== 0 && (\n <span\n className={classnames(\n styles.version,\n componentNodeStyles.version,\n ellipsis,\n versionDiff === -1 && styles.versionUp,\n versionDiff === 1 && styles.versionDown\n )}\n >\n {compareVersion}\n </span>\n )}\n\n <div className={styles.buffs}>\n <DeprecationIcon component={baseComponent} />\n {status !== undefined && <CompareStatusResolver status={status} />}\n </div>\n </div>\n </Card>\n );\n}\n\ntype BreadcrumbsProps = { componentId: ComponentID } & React.HTMLAttributes<HTMLDivElement>;\n\nfunction Breadcrumbs({ componentId, className, ...rest }: BreadcrumbsProps) {\n const { scope, namespace } = componentId;\n const showSep = !!scope && !!namespace;\n\n return (\n <div {...rest} className={classnames(styles.breadcrumbs, ellipsis, className)}>\n {scope}\n {showSep && '/'}\n {namespace}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAiE;AAAA;AAEjE,SAASA,UAAU,CAACC,QAAiB,EAAE;EACrC,QAAQA,QAAQ;IACd,KAAK,aAAa;MAChB,OAAOC,oBAAW;IACpB,KAAK,MAAM;MACT,OAAOC,0CAAQ,CAACF,QAAQ,CAAC;IAC3B,KAAK,UAAU;MACb,OAAOG,iBAAQ;IACjB;MACE,OAAO,IAAI;EAAC;AAElB;AAOO,SAASC,qBAAqB,CAACC,KAAiC,EAAE;EACvE,MAAM;IAAEC,IAAI;IAAEC,IAAI,GAAG;EAAc,CAAC,GAAGF,KAAK;EAC5C,MAAM;IAAEG,EAAE,EAAEC,SAAS;IAAEC,SAAS,EAAEC,aAAa;IAAEC,cAAc;IAAEC;EAAO,CAAC,GAAGP,IAAI;EAChF,MAAM;IAAEQ,OAAO,EAAEC;EAAY,CAAC,GAAGJ,aAAa;EAC9C,MAAMK,MAAM,GAAGC,wBAAW,CAACC,UAAU,CAACT,SAAS,CAAC;EAChD,MAAMU,WAAW,GAAG,IAAAC,gBAAO,EACzB,MAAM,IAAAC,eAAK,EAACN,WAAW,CAAC,IAAI,IAAAM,eAAK,EAACT,cAAc,CAAC,IAAI,IAAAU,iBAAO,EAACP,WAAW,EAAEH,cAAc,CAAC,EACzF,CAACG,WAAW,EAAEH,cAAc,CAAC,CAC9B;EAED,oBACE,+BAAC,sBAAI;IAAC,SAAS,EAAE,IAAAW,qBAAU,EAACC,4BAAmB,CAACC,QAAQ,EAAE1B,UAAU,CAACQ,IAAI,CAAC,CAAE;IAAC,SAAS,EAAC;EAAM,gBAC3F;IAAK,SAAS,EAAEiB,4BAAmB,CAACE;EAAS,gBAC3C,+BAAC,iBAAO;IAAC,SAAS,EAAEf,aAAc;IAAC,SAAS,EAAEa,4BAAmB,CAACG;EAAQ,EAAG,eAC7E,+BAAC,WAAW;IAAC,WAAW,EAAEX,MAAO;IAAC,SAAS,EAAEY;EAAU,EAAG,CACtD,eACN;IAAK,SAAS,EAAEJ,4BAAmB,CAACK;EAAS,gBAC3C,+BAAC,wBAAO;IAAC,SAAS,EAAEC,sCAAM,CAACC,IAAK;IAAC,QAAQ,EAAE,IAAK;IAAC,IAAI,EAAEC,gCAAY,CAACC,KAAK,CAACjB,MAAM,EAAE;MAAEkB,cAAc,EAAE;IAAM,CAAC;EAAE,gBAC3G;IAAM,SAAS,EAAE,IAAAX,qBAAU,EAACC,4BAAmB,CAACW,IAAI,EAAEC,0BAAQ;EAAE,GAAEpB,MAAM,CAACmB,IAAI,CAAQ,CAC7E,EACTnB,MAAM,CAACF,OAAO,iBAAI;IAAM,SAAS,EAAE,IAAAS,qBAAU,EAACC,4BAAmB,CAACV,OAAO,EAAEsB,0BAAQ;EAAE,GAAEpB,MAAM,CAACF,OAAO,CAAQ,EAC7GK,WAAW,KAAK,CAAC,iBAChB;IACE,SAAS,EAAE,IAAAI,qBAAU,EAAC,CAACO,sCAAM,CAACO,SAAS,EAAEP,sCAAM,CAACQ,SAAS,CAAC,CAAE;IAC5D,GAAG,EAAC;EAAmD,EAE1D,EACA1B,cAAc,IAAIO,WAAW,KAAK,CAAC,iBAClC;IACE,SAAS,EAAE,IAAAI,qBAAU,EACnBO,sCAAM,CAAChB,OAAO,EACdU,4BAAmB,CAACV,OAAO,EAC3BsB,0BAAQ,EACRjB,WAAW,KAAK,CAAC,CAAC,IAAIW,sCAAM,CAACQ,SAAS,EACtCnB,WAAW,KAAK,CAAC,IAAIW,sCAAM,CAACS,WAAW;EACvC,GAED3B,cAAc,CAElB,eAED;IAAK,SAAS,EAAEkB,sCAAM,CAACU;EAAM,gBAC3B,+BAAC,8BAAe;IAAC,SAAS,EAAE7B;EAAc,EAAG,EAC5CE,MAAM,KAAK4B,SAAS,iBAAI,+BAAC,oDAAqB;IAAC,MAAM,EAAE5B;EAAO,EAAG,CAC9D,CACF,CACD;AAEX;AAIA,SAAS6B,WAAW,OAAwD;EAAA,IAAvD;MAAEC,WAAW;MAAEC;IAAqC,CAAC;IAAxBC,IAAI;EACpD,MAAM;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAGJ,WAAW;EACxC,MAAMK,OAAO,GAAG,CAAC,CAACF,KAAK,IAAI,CAAC,CAACC,SAAS;EAEtC,oBACE,mEAASF,IAAI;IAAE,SAAS,EAAE,IAAAtB,qBAAU,EAACO,sCAAM,CAACmB,WAAW,EAAEb,0BAAQ,EAAEQ,SAAS;EAAE,IAC3EE,KAAK,EACLE,OAAO,IAAI,GAAG,EACdD,SAAS,CACN;AAEV"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["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","push","compareVersion","version","status","isEqual","undefined","newNodes","filter","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 +1 @@
|
|
1
|
-
{"version":3,"names":[
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { DependenciesCompare } from './dependencies-compare';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["calcElements","graph","rootNode","useMemo","positions","calcLayout","nodes","Array","from","values","map","x","id","type","data","node","component","isEqual","ignoreVersion","undefined","position","get","y","edges","e","sourceId","targetId","source","target","label","depTypeToLabel","dependencyLifecycleType","labelBgPadding","className","depTypeToClass","arrowHeadType","ArrowHeadType","Arrow"],"sources":["calc-elements.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { ArrowHeadType, Edge, Node } from 'react-flow-renderer';\nimport { ComponentID } from '@teambit/component';\nimport { calcLayout } from './calc-layout';\nimport { EdgeModel, GraphModel, NodeModel } from '../query';\n\nimport { depTypeToClass, depTypeToLabel } from './dep-edge';\n\ntype ElementsOptions = {\n rootNode?: ComponentID;\n};\n\n/**\n * generate Nodes and Edges for the ReactFlowRenderer graph renderer\n */\nexport function calcElements(graph: GraphModel<NodeModel, EdgeModel> | undefined, { rootNode }: ElementsOptions) {\n return useMemo(() => {\n if (!graph) return [];\n\n const positions = calcLayout(graph);\n\n const nodes: Node[] = Array.from(graph.nodes.values()).map((x) => {\n return {\n id: x.id,\n type: 'ComponentNode',\n data: {\n node: x,\n type: rootNode && x.component.id.isEqual(rootNode, { ignoreVersion: true }) ? 'root' : undefined,\n },\n position: positions.get(x.id) || { x: 0, y: 0 },\n };\n });\n\n const edges: Edge[] = graph.edges.map((e) => ({\n id: `_${e.sourceId}__${e.targetId}`,\n source: e.sourceId,\n target: e.targetId,\n label: depTypeToLabel(e.dependencyLifecycleType),\n labelBgPadding: [4, 4],\n type: 'smoothstep',\n className: depTypeToClass(e.dependencyLifecycleType),\n arrowHeadType: ArrowHeadType.Arrow,\n }));\n\n return [...nodes, ...edges];\n }, [graph]);\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;AACA;AACA;AACO,SAASA,YAAY,CAACC,KAAmD,EAAE;EAAEC;AAA0B,CAAC,EAAE;EAC/G,OAAO,IAAAC,gBAAO,EAAC,MAAM;IACnB,IAAI,CAACF,KAAK,EAAE,OAAO,EAAE;IAErB,MAAMG,SAAS,GAAG,IAAAC,wBAAU,EAACJ,KAAK,CAAC;IAEnC,MAAMK,KAAa,GAAGC,KAAK,CAACC,IAAI,CAACP,KAAK,CAACK,KAAK,CAACG,MAAM,EAAE,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAK;MAChE,OAAO;QACLC,EAAE,EAAED,CAAC,CAACC,EAAE;QACRC,IAAI,EAAE,eAAe;QACrBC,IAAI,EAAE;UACJC,IAAI,EAAEJ,CAAC;UACPE,IAAI,EAAEX,QAAQ,IAAIS,CAAC,CAACK,SAAS,CAACJ,EAAE,CAACK,OAAO,CAACf,QAAQ,EAAE;YAAEgB,aAAa,EAAE;UAAK,CAAC,CAAC,GAAG,MAAM,GAAGC;QACzF,CAAC;QACDC,QAAQ,EAAEhB,SAAS,CAACiB,GAAG,CAACV,CAAC,CAACC,EAAE,CAAC,IAAI;UAAED,CAAC,EAAE,CAAC;UAAEW,CAAC,EAAE;QAAE;MAChD,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,KAAa,GAAGtB,KAAK,CAACsB,KAAK,CAACb,GAAG,CAAEc,CAAC,KAAM;MAC5CZ,EAAE,EAAG,IAAGY,CAAC,CAACC,QAAS,KAAID,CAAC,CAACE,QAAS,EAAC;MACnCC,MAAM,EAAEH,CAAC,CAACC,QAAQ;MAClBG,MAAM,EAAEJ,CAAC,CAACE,QAAQ;MAClBG,KAAK,EAAE,IAAAC,yBAAc,EAACN,CAAC,CAACO,uBAAuB,CAAC;MAChDC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACtBnB,IAAI,EAAE,YAAY;MAClBoB,SAAS,EAAE,IAAAC,yBAAc,EAACV,CAAC,CAACO,uBAAuB,CAAC;MACpDI,aAAa,EAAEC,kCAAa,CAACC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG/B,KAAK,EAAE,GAAGiB,KAAK,CAAC;EAC7B,CAAC,EAAE,CAACtB,KAAK,CAAC,CAAC;AACb"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["NODE_WIDTH","NODE_HEIGHT","BOTTOM_TO_TOP","calcLayout","graph","g","graphlib","Graph","setGraph","rankdir","setDefaultEdgeLabel","nodes","forEach","n","setNode","id","width","height","edges","e","setEdge","v","sourceId","w","targetId","dagre","layout","positionsArr","map","nodeId","node","pos","x","y","Map"],"sources":["calc-layout.tsx"],"sourcesContent":["import dagre, { graphlib } from 'dagre';\nimport { EdgeModel, GraphModel, NodeModel } from '../query';\n\nconst NODE_WIDTH = 260;\nconst NODE_HEIGHT = 90;\n\nconst BOTTOM_TO_TOP = 'BT';\n\n/**\n * calculate the specific location of each node in the graph\n */\nexport function calcLayout(graph: GraphModel<NodeModel, EdgeModel>) {\n const g = new graphlib.Graph();\n g.setGraph({ rankdir: BOTTOM_TO_TOP });\n g.setDefaultEdgeLabel(() => ({}));\n\n // make a new instance of { width, height } per node, or dagre will get confused and place all nodes in the same spot\n graph.nodes.forEach((n) => g.setNode(n.id, { width: NODE_WIDTH, height: NODE_HEIGHT }));\n graph.edges.forEach((e) => g.setEdge({ v: e.sourceId, w: e.targetId }));\n\n // position items in graph\n dagre.layout(g);\n\n const positionsArr: [string, { x: number; y: number }][] = g.nodes().map((nodeId) => {\n const node = g.node(nodeId);\n\n const pos = {\n x: node.x - node.width / 2,\n y: node.y - node.height / 2,\n };\n\n return [nodeId, pos];\n });\n\n return new Map(positionsArr);\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAwC;AAAA;AAGxC,MAAMA,UAAU,GAAG,GAAG;AACtB,MAAMC,WAAW,GAAG,EAAE;AAEtB,MAAMC,aAAa,GAAG,IAAI;;AAE1B;AACA;AACA;AACO,SAASC,UAAU,CAACC,KAAuC,EAAE;EAClE,MAAMC,CAAC,GAAG,KAAIC,iBAAQ,CAACC,KAAK,GAAE;EAC9BF,CAAC,CAACG,QAAQ,CAAC;IAAEC,OAAO,EAAEP;EAAc,CAAC,CAAC;EACtCG,CAAC,CAACK,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;EAEjC;EACAN,KAAK,CAACO,KAAK,CAACC,OAAO,CAAEC,CAAC,IAAKR,CAAC,CAACS,OAAO,CAACD,CAAC,CAACE,EAAE,EAAE;IAAEC,KAAK,EAAEhB,UAAU;IAAEiB,MAAM,EAAEhB;EAAY,CAAC,CAAC,CAAC;EACvFG,KAAK,CAACc,KAAK,CAACN,OAAO,CAAEO,CAAC,IAAKd,CAAC,CAACe,OAAO,CAAC;IAAEC,CAAC,EAAEF,CAAC,CAACG,QAAQ;IAAEC,CAAC,EAAEJ,CAAC,CAACK;EAAS,CAAC,CAAC,CAAC;;EAEvE;EACAC,gBAAK,CAACC,MAAM,CAACrB,CAAC,CAAC;EAEf,MAAMsB,YAAkD,GAAGtB,CAAC,CAACM,KAAK,EAAE,CAACiB,GAAG,CAAEC,MAAM,IAAK;IACnF,MAAMC,IAAI,GAAGzB,CAAC,CAACyB,IAAI,CAACD,MAAM,CAAC;IAE3B,MAAME,GAAG,GAAG;MACVC,CAAC,EAAEF,IAAI,CAACE,CAAC,GAAGF,IAAI,CAACd,KAAK,GAAG,CAAC;MAC1BiB,CAAC,EAAEH,IAAI,CAACG,CAAC,GAAGH,IAAI,CAACb,MAAM,GAAG;IAC5B,CAAC;IAED,OAAO,CAACY,MAAM,EAAEE,GAAG,CAAC;EACtB,CAAC,CAAC;EAEF,OAAO,IAAIG,GAAG,CAACP,YAAY,CAAC;AAC9B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["depTypeToClass","depType","edgeStyles","dev","peer","runtime","undefined","depTypeToLabel","type","EdgeType","toLowerCase"],"sources":["dep-edge.tsx"],"sourcesContent":["import { EdgeType } from '@teambit/graph';\nimport edgeStyles from './edge.module.scss';\n\nexport function depTypeToClass(depType: string) {\n switch (depType) {\n case 'DEV':\n return edgeStyles.dev;\n case 'PEER':\n return edgeStyles.peer;\n case 'RUNTIME':\n return edgeStyles.runtime;\n default:\n return undefined;\n }\n}\n\nexport function depTypeToLabel(type: EdgeType) {\n switch (type) {\n case EdgeType.peer:\n return 'Peer Dependency';\n case EdgeType.dev:\n return 'Development Dependency';\n case EdgeType.runtime:\n return 'Dependency';\n default:\n return (type as string).toLowerCase();\n }\n}\n"],"mappings":";;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,SAASA,cAAc,CAACC,OAAe,EAAE;EAC9C,QAAQA,OAAO;IACb,KAAK,KAAK;MACR,OAAOC,qBAAU,CAACC,GAAG;IACvB,KAAK,MAAM;MACT,OAAOD,qBAAU,CAACE,IAAI;IACxB,KAAK,SAAS;MACZ,OAAOF,qBAAU,CAACG,OAAO;IAC3B;MACE,OAAOC,SAAS;EAAC;AAEvB;AAEO,SAASC,cAAc,CAACC,IAAc,EAAE;EAC7C,QAAQA,IAAI;IACV,KAAKC,iBAAQ,CAACL,IAAI;MAChB,OAAO,iBAAiB;IAC1B,KAAKK,iBAAQ,CAACN,GAAG;MACf,OAAO,wBAAwB;IACjC,KAAKM,iBAAQ,CAACJ,OAAO;MACnB,OAAO,YAAY;IACrB;MACE,OAAQG,IAAI,CAAYE,WAAW,EAAE;EAAC;AAE5C"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { depTypeToClass, depTypeToLabel } from './dep-edge';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","data","id","node","type","NodeTypes","ComponentNode","DependenciesGraph","graph","rootNode","componentWidgets","className","onLoad","children","rest","graphRef","useRef","elements","calcElements","context","useMemo","handleLoad","useCallback","instance","current","fitView","useEffect","undefined","classnames","styles","controls","calcMinimapColors","minimap"],"sources":["dependencies-graph.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport classnames from 'classnames';\nimport ReactFlow, {\n Background,\n Controls,\n Handle,\n MiniMap,\n NodeProps,\n NodeTypesType,\n OnLoadParams,\n Position,\n ReactFlowProps,\n ReactFlowProvider,\n} from 'react-flow-renderer';\nimport { ComponentID } from '@teambit/component';\n\nimport { ComponentWidgetSlot } from '../../graph.ui.runtime';\nimport { ComponentNode } from '../component-node';\nimport { EdgeModel, GraphModel, NodeModel } from '../query';\nimport { calcElements } from './calc-elements';\nimport { calcMinimapColors } from './minimap';\nimport { ComponentGraphContext } from './graph-context';\n\nimport styles from './dependencies-graph.module.scss';\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 <ComponentNode node={data.node} type={data.type} />\n </div>\n );\n}\n\n// @ts-ignore - incorrect NodeTypes https://github.com/wbkd/react-flow/issues/2101 (#5746)\nconst NodeTypes: NodeTypesType = { ComponentNode: ComponentNodeContainer };\n\nexport type DependenciesGraphProps = {\n rootNode: ComponentID;\n graph: GraphModel<NodeModel, EdgeModel>;\n componentWidgets: ComponentWidgetSlot;\n onLoad?: (instance: OnLoadParams) => void;\n} & Omit<ReactFlowProps, 'elements'>;\n\nexport function DependenciesGraph({\n graph,\n rootNode,\n componentWidgets,\n className,\n onLoad,\n children,\n ...rest\n}: DependenciesGraphProps) {\n const graphRef = useRef<OnLoadParams>();\n const elements = calcElements(graph, { rootNode });\n const context = useMemo(() => ({ componentWidgets }), [componentWidgets]);\n\n const handleLoad = useCallback(\n (instance: OnLoadParams) => {\n graphRef.current = instance;\n instance.fitView();\n onLoad?.(instance);\n },\n [onLoad]\n );\n\n // clear ref on unmount\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n graphRef.current?.fitView();\n }, [graph]);\n\n return (\n <ComponentGraphContext.Provider value={context}>\n {/* @ts-ignore - TODO - remove when ReactFlowProvider will be of type `FC<PropsWithChildren<{}>>` instead of `FC` (#5746) */}\n <ReactFlowProvider>\n <ReactFlow\n draggable={false}\n nodesDraggable={true}\n selectNodesOnDrag={false}\n nodesConnectable={false}\n zoomOnDoubleClick={false}\n elementsSelectable={false}\n maxZoom={1}\n {...rest}\n className={classnames(styles.graph, className)}\n elements={elements}\n nodeTypes={NodeTypes}\n onLoad={handleLoad}\n >\n <Background />\n <Controls className={styles.controls} />\n <MiniMap nodeColor={calcMinimapColors} className={styles.minimap} />\n {children}\n </ReactFlow>\n </ReactFlowProvider>\n </ComponentGraphContext.Provider>\n );\n}\n"],"mappings":"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"}
|
@@ -11,8 +11,6 @@ function _react() {
|
|
11
11
|
};
|
12
12
|
return data;
|
13
13
|
}
|
14
|
-
/** internal context, to pass shared information to all nodes */
|
15
|
-
|
16
14
|
const ComponentGraphContext = /*#__PURE__*/(0, _react().createContext)(undefined);
|
17
15
|
exports.ComponentGraphContext = ComponentGraphContext;
|
18
16
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["ComponentGraphContext","createContext","undefined"],"sources":["graph-context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { ComponentWidgetSlot } from '../../graph.ui.runtime';\n\n/** internal context, to pass shared information to all nodes */\nexport type ComponentGraph = {\n componentWidgets: ComponentWidgetSlot;\n};\n\nexport const ComponentGraphContext = createContext<ComponentGraph | undefined>(undefined);\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQO,MAAMA,qBAAqB,gBAAG,IAAAC,sBAAa,EAA6BC,SAAS,CAAC;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["graph","minimap","controls","componentStyles","styles"],"sources":["index.ts"],"sourcesContent":["import componentStyles from './dependencies-graph.module.scss';\n\nexport { DependenciesGraph } from './dependencies-graph';\nexport { ComponentGraphContext, ComponentGraph } from './graph-context';\nexport type { DependenciesGraphProps } from './dependencies-graph';\nexport { depTypeToClass, depTypeToLabel } from './dep-edge';\nexport { calcMinimapColors } from './minimap';\nexport { calcLayout } from './calc-layout';\nexport { calcElements } from './calc-elements';\n\nconst { graph, minimap, controls } = componentStyles;\nexport const styles = { graph, minimap, controls };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAM;EAAEA,KAAK;EAAEC,OAAO;EAAEC;AAAS,CAAC,GAAGC,kCAAe;AAC7C,MAAMC,MAAM,GAAG;EAAEJ,KAAK;EAAEC,OAAO;EAAEC;AAAS,CAAC;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["calcMinimapColors","node","type","data","rootNodeColor","externalNodeColor","defaultNodeColor"],"sources":["minimap.ts"],"sourcesContent":["import { Node } from 'react-flow-renderer';\nimport { rootNodeColor, defaultNodeColor, externalNodeColor } from '../component-node';\n\nexport function calcMinimapColors(node: Node) {\n const type = node.data?.type;\n\n switch (type) {\n case 'root':\n return rootNodeColor;\n case 'external':\n return externalNodeColor;\n default:\n return defaultNodeColor;\n }\n}\n"],"mappings":";;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,SAASA,iBAAiB,CAACC,IAAU,EAAE;EAAA;EAC5C,MAAMC,IAAI,iBAAGD,IAAI,CAACE,IAAI,+CAAT,WAAWD,IAAI;EAE5B,QAAQA,IAAI;IACV,KAAK,MAAM;MACT,OAAOE,8BAAa;IACtB,KAAK,UAAU;MACb,OAAOC,kCAAiB;IAC1B;MACE,OAAOC,iCAAgB;EAAC;AAE9B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphFilters","onChangeFilter","isFiltered","disable","rest","e","target","checked"],"sources":["graph-filters.tsx"],"sourcesContent":["import React from 'react';\nimport { Card, CardProps } from '@teambit/base-ui.surfaces.card';\nimport { CheckboxLabel } from '@teambit/evangelist.input.checkbox.label';\n\ntype GraphFilters = {\n isFiltered: boolean;\n onChangeFilter: (isFiltered: boolean) => void;\n disable?: boolean;\n} & CardProps;\n\nexport function GraphFilters({ onChangeFilter, isFiltered, disable, ...rest }: GraphFilters) {\n return (\n <Card {...rest}>\n <div>\n {/* show non-runtime === !isFiltered */}\n <CheckboxLabel\n checked={!isFiltered}\n disabled={disable}\n onInputChanged={(e) => onChangeFilter(!e.target.checked)}\n >\n {' '}\n show non-runtime\n </CheckboxLabel>\n </div>\n </Card>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQO,SAASA,YAAY,OAAiE;EAAA,IAAhE;MAAEC,cAAc;MAAEC,UAAU;MAAEC;IAA+B,CAAC;IAApBC,IAAI;EACzE,oBACE,+BAAC,sBAAI,EAAKA,IAAI,eACZ,yDAEE,+BAAC,wCAAa;IACZ,OAAO,EAAE,CAACF,UAAW;IACrB,QAAQ,EAAEC,OAAQ;IAClB,cAAc,EAAGE,CAAC,IAAKJ,cAAc,CAAC,CAACI,CAAC,CAACC,MAAM,CAACC,OAAO;EAAE,GAExD,GAAG,EAAC,kBAEP,CAAgB,CACZ,CACD;AAEX"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphPage","componentWidgets","component","useContext","ComponentContext","filter","setFilter","useState","onCheckFilter","isFiltered","undefined","graph","error","loading","useGraphQuery","id","toString","code","styles","page","filters"],"sources":["graph-page.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\n\nimport { H2 } from '@teambit/documenter.ui.heading';\nimport { NotFoundPage } from '@teambit/design.ui.pages.not-found';\nimport { ServerErrorPage } from '@teambit/design.ui.pages.server-error';\nimport { ComponentContext } from '@teambit/component';\nimport { FullLoader } from '@teambit/ui-foundation.ui.full-loader';\n\nimport { useGraphQuery } from '../query';\nimport { DependenciesGraph } from '../dependencies-graph';\nimport { ComponentWidgetSlot } from '../../graph.ui.runtime';\nimport type { GraphFilter } from '../../model/graph-filters';\n\nimport { GraphFilters } from './graph-filters';\n\nimport styles from './graph-page.module.scss';\n\ntype GraphPageProps = {\n componentWidgets: ComponentWidgetSlot;\n};\n\nexport function GraphPage({ componentWidgets }: GraphPageProps) {\n const component = useContext(ComponentContext);\n\n const [filter, setFilter] = useState<GraphFilter>('runtimeOnly');\n const onCheckFilter = (isFiltered: boolean) => {\n setFilter(isFiltered ? 'runtimeOnly' : undefined);\n };\n\n const { graph, error, loading } = useGraphQuery([component.id.toString()], filter);\n if (error) return error.code === 404 ? <NotFoundPage /> : <ServerErrorPage />;\n if (!graph) return <FullLoader />;\n\n const isFiltered = filter === 'runtimeOnly';\n\n return (\n <div className={styles.page}>\n <H2 size=\"xs\">Component Dependencies</H2>\n <DependenciesGraph\n componentWidgets={componentWidgets}\n graph={graph}\n rootNode={component.id}\n className={styles.graph}\n >\n <GraphFilters\n className={styles.filters}\n disable={loading}\n isFiltered={isFiltered}\n onChangeFilter={onCheckFilter}\n />\n </DependenciesGraph>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA8C;AAAA;AAMvC,SAASA,SAAS,CAAC;EAAEC;AAAiC,CAAC,EAAE;EAC9D,MAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACC,6BAAgB,CAAC;EAE9C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,iBAAQ,EAAc,aAAa,CAAC;EAChE,MAAMC,aAAa,GAAIC,UAAmB,IAAK;IAC7CH,SAAS,CAACG,UAAU,GAAG,aAAa,GAAGC,SAAS,CAAC;EACnD,CAAC;EAED,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAa,EAAC,CAACZ,SAAS,CAACa,EAAE,CAACC,QAAQ,EAAE,CAAC,EAAEX,MAAM,CAAC;EAClF,IAAIO,KAAK,EAAE,OAAOA,KAAK,CAACK,IAAI,KAAK,GAAG,gBAAG,+BAAC,6BAAY,OAAG,gBAAG,+BAAC,iCAAe,OAAG;EAC7E,IAAI,CAACN,KAAK,EAAE,oBAAO,+BAAC,4BAAU,OAAG;EAEjC,MAAMF,UAAU,GAAGJ,MAAM,KAAK,aAAa;EAE3C,oBACE;IAAK,SAAS,EAAEa,0BAAM,CAACC;EAAK,gBAC1B,+BAAC,kBAAE;IAAC,IAAI,EAAC;EAAI,GAAC,wBAAsB,CAAK,eACzC,+BAAC,sCAAiB;IAChB,gBAAgB,EAAElB,gBAAiB;IACnC,KAAK,EAAEU,KAAM;IACb,QAAQ,EAAET,SAAS,CAACa,EAAG;IACvB,SAAS,EAAEG,0BAAM,CAACP;EAAM,gBAExB,+BAAC,4BAAY;IACX,SAAS,EAAEO,0BAAM,CAACE,OAAQ;IAC1B,OAAO,EAAEP,OAAQ;IACjB,UAAU,EAAEJ,UAAW;IACvB,cAAc,EAAED;EAAc,EAC9B,CACgB,CAChB;AAEV"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["graph","filters","pageStyles","styles"],"sources":["index.ts"],"sourcesContent":["import pageStyles from './graph-page.module.scss';\n\nexport { GraphPage } from './graph-page';\nexport { GraphFilters } from './graph-filters';\n\nconst { graph, filters } = pageStyles;\nexport const styles = { graph, filters };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA,MAAM;EAAEA,KAAK;EAAEC;AAAQ,CAAC,GAAGC,0BAAU;AAC9B,MAAMC,MAAM,GAAG;EAAEH,KAAK;EAAEC;AAAQ,CAAC;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphSection","constructor","componentWidgetSlot","path","element","href","children"],"sources":["graph.section.tsx"],"sourcesContent":["import { Section } from '@teambit/component';\nimport React from 'react';\n\nimport { GraphPage } from './graph-page';\nimport { ComponentWidgetSlot } from '../graph.ui.runtime';\n\nexport class GraphSection implements Section {\n constructor(private componentWidgetSlot: ComponentWidgetSlot) {}\n\n route = {\n path: '~dependencies',\n element: <GraphPage componentWidgets={this.componentWidgetSlot} />,\n };\n navigationLink = {\n href: '~dependencies',\n children: 'Dependencies',\n };\n order = 40;\n}\n"],"mappings":";;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGO,MAAMA,YAAY,CAAoB;EAC3CC,WAAW,CAASC,mBAAwC,EAAE;IAAA,KAA1CA,mBAAwC,GAAxCA,mBAAwC;IAAA,+CAEpD;MACNC,IAAI,EAAE,eAAe;MACrBC,OAAO,eAAE,+BAAC,sBAAS;QAAC,gBAAgB,EAAE,IAAI,CAACF;MAAoB;IACjE,CAAC;IAAA,wDACgB;MACfG,IAAI,EAAE,eAAe;MACrBC,QAAQ,EAAE;IACZ,CAAC;IAAA,+CACO,EAAE;EAVqD;AAWjE;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EdgeModel","
|
1
|
+
{"version":3,"names":["EdgeModel","from","rawEdge","edge","sourceId","targetId","dependencyLifecycleType"],"sources":["edge-model.ts"],"sourcesContent":["import { EdgeType } from '@teambit/graph';\nimport { RawEdge } from './get-graph.query';\n\nexport class EdgeModel {\n sourceId: string;\n targetId: string;\n dependencyLifecycleType: EdgeType;\n\n static from(rawEdge: RawEdge) {\n const edge = new EdgeModel();\n edge.sourceId = rawEdge.sourceId;\n edge.targetId = rawEdge.targetId;\n edge.dependencyLifecycleType = rawEdge.dependencyLifecycleType;\n return edge;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAGO,MAAMA,SAAS,CAAC;EAAA;IAAA;IAAA;IAAA;EAAA;EAKrB,OAAOC,IAAI,CAACC,OAAgB,EAAE;IAC5B,MAAMC,IAAI,GAAG,IAAIH,SAAS,EAAE;IAC5BG,IAAI,CAACC,QAAQ,GAAGF,OAAO,CAACE,QAAQ;IAChCD,IAAI,CAACE,QAAQ,GAAGH,OAAO,CAACG,QAAQ;IAChCF,IAAI,CAACG,uBAAuB,GAAGJ,OAAO,CAACI,uBAAuB;IAC9D,OAAOH,IAAI;EACb;AACF;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GET_GRAPH","gql"],"sources":["get-graph.query.ts"],"sourcesContent":["import { gql } from '@apollo/client';\nimport { EdgeType } from '@teambit/graph';\n\n// please update types when updating query, for added safety\n\nexport const GET_GRAPH = gql`\n query graph($ids: [String], $filter: String) {\n graph(ids: $ids, filter: $filter) {\n nodes {\n id\n component {\n id {\n name\n version\n scope\n }\n displayName\n\n deprecation {\n isDeprecate\n }\n\n env {\n id\n icon\n }\n }\n }\n edges {\n sourceId\n targetId\n dependencyLifecycleType\n }\n }\n }\n`;\n\nexport type RawGraphQuery = {\n graph: RawGraph;\n};\n\nexport type RawGraph = {\n nodes: RawNode[];\n edges: [];\n};\n\nexport type RawNode = {\n id: string;\n component: {\n id: {\n name: string;\n scope: string;\n version: string;\n };\n\n displayName: string;\n\n deprecation: {\n isDeprecate: boolean;\n };\n\n env: {\n id: string;\n icon: string;\n };\n };\n};\n\nexport type RawEdge = {\n sourceId: string;\n targetId: string;\n dependencyLifecycleType: EdgeType;\n};\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;;AAEO,MAAMA,SAAS,GAAG,IAAAC,aAAG,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["GraphModel","constructor","nodes","edges","from","rawGraph","map","NodeModel","EdgeModel"],"sources":["graph-model.ts"],"sourcesContent":["import { RawGraph } from './get-graph.query';\nimport { NodeModel } from './node-model';\nimport { EdgeModel } from './edge-model';\n\nexport class GraphModel<N extends NodeModel, E extends EdgeModel> {\n constructor(public nodes: N[], public edges: E[]) {}\n\n static from(rawGraph: RawGraph) {\n const nodes = rawGraph.nodes.map(NodeModel.from);\n const edges = rawGraph.edges.map(EdgeModel.from);\n return new GraphModel(nodes, edges);\n }\n}\n"],"mappings":";;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,UAAU,CAA2C;EAChEC,WAAW,CAAQC,KAAU,EAASC,KAAU,EAAE;IAAA,KAA/BD,KAAU,GAAVA,KAAU;IAAA,KAASC,KAAU,GAAVA,KAAU;EAAG;EAEnD,OAAOC,IAAI,CAACC,QAAkB,EAAE;IAC9B,MAAMH,KAAK,GAAGG,QAAQ,CAACH,KAAK,CAACI,GAAG,CAACC,sBAAS,CAACH,IAAI,CAAC;IAChD,MAAMD,KAAK,GAAGE,QAAQ,CAACF,KAAK,CAACG,GAAG,CAACE,sBAAS,CAACJ,IAAI,CAAC;IAChD,OAAO,IAAIJ,UAAU,CAACE,KAAK,EAAEC,KAAK,CAAC;EACrC;AACF;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { useGraphQuery } from './use-graph-query';\nexport { useGraph } from './use-graph';\n\nexport { GraphModel } from './graph-model';\nexport { EdgeModel } from './edge-model';\nexport { NodeModel } from './node-model';\nexport { RawGraph } from './get-graph.query';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["NodeModel","from","rawNode","node","id","component","ComponentModel"],"sources":["node-model.ts"],"sourcesContent":["import { ComponentModel } from '@teambit/component';\nimport { RawNode } from './get-graph.query';\n\nexport class NodeModel {\n id: string;\n component: ComponentModel;\n\n static from(rawNode: RawNode) {\n const node = new NodeModel();\n node.id = rawNode.id;\n // @TODO - component model should not expect all fields to have values\n // @ts-ignore\n node.component = ComponentModel.from(rawNode.component);\n return node;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGO,MAAMA,SAAS,CAAC;EAAA;IAAA;IAAA;EAAA;EAIrB,OAAOC,IAAI,CAACC,OAAgB,EAAE;IAC5B,MAAMC,IAAI,GAAG,IAAIH,SAAS,EAAE;IAC5BG,IAAI,CAACC,EAAE,GAAGF,OAAO,CAACE,EAAE;IACpB;IACA;IACAD,IAAI,CAACE,SAAS,GAAGC,2BAAc,CAACL,IAAI,CAACC,OAAO,CAACG,SAAS,CAAC;IACvD,OAAOF,IAAI;EACb;AACF;AAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["useGraphQuery","componentId","filter","data","error","loading","useDataQuery","GET_GRAPH","variables","ids","skip","rawGraph","graph","clientError","GraphQlError","undefined","serverError","message","useMemo","GraphModel","from"],"sources":["use-graph-query.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\nimport { GraphQlError } from '@teambit/graphql';\nimport { GET_GRAPH, RawGraphQuery } from './get-graph.query';\nimport { GraphModel } from './graph-model';\n\ntype QueryVariables = {\n ids?: string[];\n filter?: string;\n};\n\n/** provides dependencies graph data from graphQL */\nexport function useGraphQuery(componentId?: string[], filter?: string) {\n const { data, error, loading } = useDataQuery<RawGraphQuery, QueryVariables>(GET_GRAPH, {\n variables: { ids: componentId, filter },\n skip: !componentId,\n });\n\n const rawGraph = data?.graph;\n const clientError = !rawGraph && !loading ? new GraphQlError(404) : undefined;\n const serverError = error ? new GraphQlError(500, error.message) : undefined;\n\n return useMemo(() => {\n return {\n graph: rawGraph ? GraphModel.from(rawGraph) : undefined,\n error: serverError || clientError,\n loading,\n };\n }, [rawGraph, error]);\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOA;AACO,SAASA,aAAa,CAACC,WAAsB,EAAEC,MAAe,EAAE;EACrE,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,mCAAY,EAAgCC,qBAAS,EAAE;IACtFC,SAAS,EAAE;MAAEC,GAAG,EAAER,WAAW;MAAEC;IAAO,CAAC;IACvCQ,IAAI,EAAE,CAACT;EACT,CAAC,CAAC;EAEF,MAAMU,QAAQ,GAAGR,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAES,KAAK;EAC5B,MAAMC,WAAW,GAAG,CAACF,QAAQ,IAAI,CAACN,OAAO,GAAG,KAAIS,uBAAY,EAAC,GAAG,CAAC,GAAGC,SAAS;EAC7E,MAAMC,WAAW,GAAGZ,KAAK,GAAG,KAAIU,uBAAY,EAAC,GAAG,EAAEV,KAAK,CAACa,OAAO,CAAC,GAAGF,SAAS;EAE5E,OAAO,IAAAG,gBAAO,EAAC,MAAM;IACnB,OAAO;MACLN,KAAK,EAAED,QAAQ,GAAGQ,wBAAU,CAACC,IAAI,CAACT,QAAQ,CAAC,GAAGI,SAAS;MACvDX,KAAK,EAAEY,WAAW,IAAIH,WAAW;MACjCR;IACF,CAAC;EACH,CAAC,EAAE,CAACM,QAAQ,EAAEP,KAAK,CAAC,CAAC;AACvB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["useGraph","componentId","useQuery","get","useGraphQuery"],"sources":["use-graph.tsx"],"sourcesContent":["import { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { useGraphQuery } from './use-graph-query';\n\nexport function useGraph() {\n const componentId = useQuery().get('componentId') as string;\n\n return useGraphQuery([componentId]);\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,SAASA,QAAQ,GAAG;EACzB,MAAMC,WAAW,GAAG,IAAAC,qCAAQ,GAAE,CAACC,GAAG,CAAC,aAAa,CAAW;EAE3D,OAAO,IAAAC,8BAAa,EAAC,CAACH,WAAW,CAAC,CAAC;AACrC"}
|
Binary file
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/graph",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.1112",
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/graph",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.component",
|
8
8
|
"name": "graph",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.1112"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"lodash": "4.17.21",
|
@@ -22,28 +22,28 @@
|
|
22
22
|
"@teambit/graph.cleargraph": "0.0.1",
|
23
23
|
"@teambit/legacy-bit-id": "0.0.423",
|
24
24
|
"@teambit/harmony": "0.4.6",
|
25
|
+
"@teambit/design.ui.round-loader": "0.0.355",
|
25
26
|
"@teambit/base-ui.routing.nav-link": "1.0.0",
|
26
27
|
"@teambit/base-ui.surfaces.card": "1.0.1",
|
27
28
|
"@teambit/base-ui.text.muted-text": "1.0.1",
|
28
29
|
"@teambit/design.ui.styles.ellipsis": "0.0.357",
|
29
|
-
"@teambit/design.ui.round-loader": "0.0.355",
|
30
30
|
"@teambit/evangelist.input.checkbox.label": "1.0.3",
|
31
31
|
"@teambit/design.ui.pages.not-found": "0.0.366",
|
32
32
|
"@teambit/design.ui.pages.server-error": "0.0.366",
|
33
33
|
"@teambit/documenter.ui.heading": "4.1.1",
|
34
|
-
"@teambit/component": "0.0.
|
35
|
-
"@teambit/cli": "0.0.
|
34
|
+
"@teambit/component": "0.0.1112",
|
35
|
+
"@teambit/cli": "0.0.744",
|
36
36
|
"@teambit/component.ui.component-compare.models.component-compare-change-type": "0.0.1",
|
37
|
-
"@teambit/component.ui.component-compare.models.component-compare-props": "0.0.
|
38
|
-
"@teambit/graphql": "0.0.
|
39
|
-
"@teambit/logger": "0.0.
|
40
|
-
"@teambit/component-compare": "0.0.
|
41
|
-
"@teambit/ui": "0.0.
|
37
|
+
"@teambit/component.ui.component-compare.models.component-compare-props": "0.0.52",
|
38
|
+
"@teambit/graphql": "0.0.1112",
|
39
|
+
"@teambit/logger": "0.0.837",
|
40
|
+
"@teambit/component-compare": "0.0.360",
|
41
|
+
"@teambit/ui": "0.0.1112",
|
42
|
+
"@teambit/component.ui.component-compare.context": "0.0.67",
|
42
43
|
"@teambit/component.modules.component-url": "0.0.151",
|
44
|
+
"@teambit/component.ui.component-compare.status-resolver": "0.0.4",
|
43
45
|
"@teambit/component.ui.deprecation-icon": "0.0.504",
|
44
46
|
"@teambit/envs.ui.env-icon": "0.0.495",
|
45
|
-
"@teambit/component.ui.component-compare.context": "0.0.65",
|
46
|
-
"@teambit/component.ui.component-compare.status-resolver": "0.0.4",
|
47
47
|
"@teambit/ui-foundation.ui.full-loader": "0.0.495",
|
48
48
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500",
|
49
49
|
"@teambit/ui-foundation.ui.react-router.use-query": "0.0.496"
|
@@ -63,7 +63,7 @@
|
|
63
63
|
},
|
64
64
|
"peerDependencies": {
|
65
65
|
"@apollo/client": "^3.6.0",
|
66
|
-
"@teambit/legacy": "1.0.
|
66
|
+
"@teambit/legacy": "1.0.524",
|
67
67
|
"react": "^16.8.0 || ^17.0.0",
|
68
68
|
"react-dom": "^16.8.0 || ^17.0.0"
|
69
69
|
},
|
Binary file
|