@teambit/graph 1.0.107 → 1.0.109
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/artifacts/preview/teambit_component_graph-preview.js +1 -0
- package/dist/component-graph/component-graph.d.ts +2 -2
- package/dist/component-graph/component-graph.js +2 -3
- package/dist/component-graph/component-graph.js.map +1 -1
- package/dist/component-id-graph.d.ts +4 -4
- package/dist/duplicate-dependency.d.ts +1 -1
- package/dist/graph-builder.d.ts +1 -1
- package/dist/graph-cmd.d.ts +1 -1
- package/dist/graph.compare.section.d.ts +2 -2
- package/dist/graph.composition.d.ts +2 -2
- package/dist/graph.main.runtime.d.ts +1 -1
- package/dist/graph.ui.runtime.d.ts +3 -3
- package/dist/model/dependency/dependency.d.ts +1 -1
- package/dist/model/graph-filters/graph-filters.d.ts +1 -1
- package/dist/object-list-to-graph.d.ts +2 -2
- package/dist/object-list-to-graph.js +2 -2
- package/dist/object-list-to-graph.js.map +1 -1
- package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
- package/dist/ui/component-node/component-node.d.ts +2 -2
- package/dist/ui/dependencies-compare/compare-node-model.d.ts +1 -1
- package/dist/ui/dependencies-compare/dependencies-compare.d.ts +2 -2
- package/dist/ui/dependencies-compare/dependencies-compare.js +9 -13
- package/dist/ui/dependencies-compare/dependencies-compare.js.map +1 -1
- package/dist/ui/dependencies-compare/dependency-compare-node.d.ts +3 -3
- package/dist/ui/dependencies-compare/diff-graph.d.ts +1 -1
- package/dist/ui/dependencies-compare/diff-graph.js +4 -7
- package/dist/ui/dependencies-compare/diff-graph.js.map +1 -1
- package/dist/ui/dependencies-graph/calc-elements.d.ts +1 -1
- package/dist/ui/dependencies-graph/dep-edge/dep-edge.d.ts +1 -1
- package/dist/ui/dependencies-graph/dependencies-graph.d.ts +3 -3
- package/dist/ui/dependencies-graph/dependencies-graph.js +4 -5
- package/dist/ui/dependencies-graph/dependencies-graph.js.map +1 -1
- package/dist/ui/dependencies-graph/graph-context.d.ts +2 -2
- package/dist/ui/dependencies-graph/minimap.js +1 -2
- package/dist/ui/dependencies-graph/minimap.js.map +1 -1
- package/dist/ui/graph-page/graph-filters.d.ts +3 -3
- package/dist/ui/graph-page/graph-page.d.ts +3 -3
- package/dist/ui/graph.section.d.ts +2 -2
- package/dist/ui/query/get-graph.query.d.ts +4 -4
- package/dist/ui/query/use-graph-query.d.ts +2 -2
- package/dist/ui/query/use-graph-query.js +1 -1
- package/dist/ui/query/use-graph-query.js.map +1 -1
- package/dist/ui/query/use-graph.d.ts +2 -2
- package/package.json +22 -29
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
@@ -0,0 +1 @@
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.component/graph-preview"]=t():e["teambit.component/graph-preview"]=t()}(self,(()=>(()=>{"use strict";var e={96362:(e,t,o)=>{var r={id:"teambit.component/graph@1.0.109",homepage:"https://bit.cloud/teambit/component/graph",exported:!0};function n(){const e=i(o(87363));return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,n.__bit_component=r,i.__bit_component=r;const p=()=>n().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},n().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/graph.svg"}));p.__bit_component=r,t.Logo=p},87363:e=>{e.exports=React}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{compositions:()=>u,compositions_metadata:()=>l,overview:()=>f});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(96362);o(87363);const n=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var p=["components"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},a.apply(this,arguments)}var c={},s="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)o=i[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(e,p);return(0,n.mdx)(s,a({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const u=[t],f=[e],l={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),r})()));
|
@@ -3,8 +3,8 @@ import { Graph, Node, Edge } from '@teambit/graph.cleargraph';
|
|
3
3
|
import { Dependency } from '../model/dependency';
|
4
4
|
import { DuplicateDependency } from '../duplicate-dependency';
|
5
5
|
export declare const DEPENDENCIES_TYPES: string[];
|
6
|
-
|
7
|
-
|
6
|
+
type ComponentNode = Node<Component>;
|
7
|
+
type DependencyEdge = Edge<Dependency>;
|
8
8
|
export declare class ComponentGraph extends Graph<Component, Dependency> {
|
9
9
|
seederIds: ComponentID[];
|
10
10
|
constructor(nodes?: ComponentNode[], edges?: DependencyEdge[]);
|
@@ -101,18 +101,17 @@ class ComponentGraph extends _graph().Graph {
|
|
101
101
|
} else {
|
102
102
|
const value = versionMap.get(compFullName);
|
103
103
|
if (value) {
|
104
|
-
var _this$node;
|
105
104
|
if (Object.prototype.hasOwnProperty.call(value, 'allVersionNodes')) {
|
106
105
|
value.allVersionNodes.push(compKey);
|
107
106
|
}
|
108
107
|
const currentComp = comp;
|
109
|
-
const latestComp =
|
108
|
+
const latestComp = this.node(value.latestVersionNode)?.attr;
|
110
109
|
// @todo: this check won't work when the component doesn't have head.
|
111
110
|
// it happens when a dependency is needed in an old version (not head). which Bit doesn't fetch the head
|
112
111
|
// Version object, and as a result, the `Component.head` is empty.
|
113
112
|
// for now it's probably good enough because it's used only for `findDuplicateDependencies`, which only
|
114
113
|
// checks the components on the workspace.
|
115
|
-
if (currentComp.head && latestComp
|
114
|
+
if (currentComp.head && latestComp?.head && new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)) {
|
116
115
|
value.latestVersionNode = compKey;
|
117
116
|
}
|
118
117
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_graph","data","require","_duplicateDependency","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DEPENDENCIES_TYPES","exports","ComponentGraph","Graph","constructor","nodes","edges","create","findCycles","graph","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","map","id","toString","cyclesWithSeeders","filter","cycle","some","cycleIdStr","includes","findDuplicateDependencies","versionMap","calculateVersionMap","seederIdsNoVersions","toStringWithoutVersion","duplicateDependencies","Map","compFullName","versions","allVersionNodes","length","versionSubgraphs","notLatestVersions","version","latestVersionNode","forEach","predecessors","predecessorsSubgraph","immediatePredecessors","predecessor","subGraph","buildFromCleargraph","versionSubgraph","versionId","immediateDependents","push","isSeeder","shouldDisplayDueToBeingSeeder","duplicateDep","DuplicateDependency","set","runtimeOnly","componentIds","successorsSubgraph","edgeFilter","edge","attr","type","node","comp","compKey","has","get","_this$node","prototype","hasOwnProperty","currentComp","latestComp","head","Date","timestamp"],"sources":["component-graph.ts"],"sourcesContent":["import { Component, ComponentID } from '@teambit/component';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\n\nimport { Dependency } from '../model/dependency';\nimport { DuplicateDependency, VersionSubgraph } from '../duplicate-dependency';\n\nexport const DEPENDENCIES_TYPES = ['dependencies', 'devDependencies'];\n\ntype ComponentNode = Node<Component>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class ComponentGraph extends Graph<Component, Dependency> {\n seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)\n constructor(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n\n protected create(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []): this {\n return new ComponentGraph(nodes, edges) as this;\n }\n\n /**\n * @deprecate use graph.getGraphIds().findCycles()\n */\n findCycles(graph?: this): string[][] {\n const cycles = super.findCycles(graph);\n if (!this.shouldLimitToSeedersOnly()) {\n return cycles;\n }\n const seederIdsStr = this.seederIds.map((id) => id.toString());\n const cyclesWithSeeders = cycles.filter((cycle) => {\n return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));\n });\n return cyclesWithSeeders;\n }\n\n findDuplicateDependencies(): Map<string, DuplicateDependency> {\n const versionMap = this.calculateVersionMap();\n const seederIdsNoVersions = this.seederIds.map((id) => id.toStringWithoutVersion());\n const duplicateDependencies: Map<string, DuplicateDependency> = new Map();\n for (const [compFullName, versions] of versionMap) {\n if (versions.allVersionNodes.length > 1) {\n const versionSubgraphs: VersionSubgraph[] = [];\n const notLatestVersions = versions.allVersionNodes.filter((version) => version !== versions.latestVersionNode);\n notLatestVersions.forEach((version) => {\n const predecessors = this.predecessorsSubgraph(version);\n const immediatePredecessors = this.predecessors(version).map((predecessor) => predecessor.id);\n const subGraph = this.buildFromCleargraph(predecessors);\n const versionSubgraph: VersionSubgraph = {\n versionId: version,\n subGraph,\n // TODO: validate that this is working correctly\n immediateDependents: immediatePredecessors,\n };\n versionSubgraphs.push(versionSubgraph);\n });\n const isSeeder = seederIdsNoVersions.includes(compFullName);\n const shouldDisplayDueToBeingSeeder = !this.shouldLimitToSeedersOnly() || isSeeder;\n if (shouldDisplayDueToBeingSeeder && versionSubgraphs.length > 0) {\n const duplicateDep = new DuplicateDependency(versions.latestVersionNode, versionSubgraphs);\n duplicateDependencies.set(compFullName, duplicateDep);\n }\n }\n }\n return duplicateDependencies;\n }\n\n buildFromCleargraph(graph: Graph<Component, Dependency>): ComponentGraph {\n return this.create(graph.nodes, graph.edges);\n }\n\n runtimeOnly(componentIds: string[]) {\n return this.successorsSubgraph(componentIds, {\n edgeFilter: (edge: DependencyEdge) => edge.attr.type === 'runtime',\n });\n }\n\n private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n\n private calculateVersionMap(): Map<string, { allVersionNodes: string[]; latestVersionNode: string }> {\n const versionMap: Map<string, { allVersionNodes: string[]; latestVersionNode: string }> = new Map();\n for (const node of this.nodes) {\n const comp = node.attr;\n const compKey = node.id;\n const compFullName = comp.id.toStringWithoutVersion();\n if (!versionMap.has(compFullName)) {\n versionMap.set(compFullName, {\n allVersionNodes: [compKey],\n latestVersionNode: compKey,\n });\n } else {\n const value = versionMap.get(compFullName);\n if (value) {\n if (Object.prototype.hasOwnProperty.call(value, 'allVersionNodes')) {\n value.allVersionNodes.push(compKey);\n }\n const currentComp = comp;\n const latestComp = this.node(value.latestVersionNode)?.attr;\n // @todo: this check won't work when the component doesn't have head.\n // it happens when a dependency is needed in an old version (not head). which Bit doesn't fetch the head\n // Version object, and as a result, the `Component.head` is empty.\n // for now it's probably good enough because it's used only for `findDuplicateDependencies`, which only\n // checks the components on the workspace.\n if (\n currentComp.head &&\n latestComp?.head &&\n new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)\n ) {\n value.latestVersionNode = compKey;\n }\n }\n }\n }\n return versionMap;\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_graph","data","require","_duplicateDependency","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DEPENDENCIES_TYPES","exports","ComponentGraph","Graph","constructor","nodes","edges","create","findCycles","graph","cycles","shouldLimitToSeedersOnly","seederIdsStr","seederIds","map","id","toString","cyclesWithSeeders","filter","cycle","some","cycleIdStr","includes","findDuplicateDependencies","versionMap","calculateVersionMap","seederIdsNoVersions","toStringWithoutVersion","duplicateDependencies","Map","compFullName","versions","allVersionNodes","length","versionSubgraphs","notLatestVersions","version","latestVersionNode","forEach","predecessors","predecessorsSubgraph","immediatePredecessors","predecessor","subGraph","buildFromCleargraph","versionSubgraph","versionId","immediateDependents","push","isSeeder","shouldDisplayDueToBeingSeeder","duplicateDep","DuplicateDependency","set","runtimeOnly","componentIds","successorsSubgraph","edgeFilter","edge","attr","type","node","comp","compKey","has","get","prototype","hasOwnProperty","currentComp","latestComp","head","Date","timestamp"],"sources":["component-graph.ts"],"sourcesContent":["import { Component, ComponentID } from '@teambit/component';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\n\nimport { Dependency } from '../model/dependency';\nimport { DuplicateDependency, VersionSubgraph } from '../duplicate-dependency';\n\nexport const DEPENDENCIES_TYPES = ['dependencies', 'devDependencies'];\n\ntype ComponentNode = Node<Component>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class ComponentGraph extends Graph<Component, Dependency> {\n seederIds: ComponentID[] = []; // component IDs that started the graph. (if from workspace, the .bitmap ids normally)\n constructor(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n\n protected create(nodes: ComponentNode[] = [], edges: DependencyEdge[] = []): this {\n return new ComponentGraph(nodes, edges) as this;\n }\n\n /**\n * @deprecate use graph.getGraphIds().findCycles()\n */\n findCycles(graph?: this): string[][] {\n const cycles = super.findCycles(graph);\n if (!this.shouldLimitToSeedersOnly()) {\n return cycles;\n }\n const seederIdsStr = this.seederIds.map((id) => id.toString());\n const cyclesWithSeeders = cycles.filter((cycle) => {\n return cycle.some((cycleIdStr) => seederIdsStr.includes(cycleIdStr));\n });\n return cyclesWithSeeders;\n }\n\n findDuplicateDependencies(): Map<string, DuplicateDependency> {\n const versionMap = this.calculateVersionMap();\n const seederIdsNoVersions = this.seederIds.map((id) => id.toStringWithoutVersion());\n const duplicateDependencies: Map<string, DuplicateDependency> = new Map();\n for (const [compFullName, versions] of versionMap) {\n if (versions.allVersionNodes.length > 1) {\n const versionSubgraphs: VersionSubgraph[] = [];\n const notLatestVersions = versions.allVersionNodes.filter((version) => version !== versions.latestVersionNode);\n notLatestVersions.forEach((version) => {\n const predecessors = this.predecessorsSubgraph(version);\n const immediatePredecessors = this.predecessors(version).map((predecessor) => predecessor.id);\n const subGraph = this.buildFromCleargraph(predecessors);\n const versionSubgraph: VersionSubgraph = {\n versionId: version,\n subGraph,\n // TODO: validate that this is working correctly\n immediateDependents: immediatePredecessors,\n };\n versionSubgraphs.push(versionSubgraph);\n });\n const isSeeder = seederIdsNoVersions.includes(compFullName);\n const shouldDisplayDueToBeingSeeder = !this.shouldLimitToSeedersOnly() || isSeeder;\n if (shouldDisplayDueToBeingSeeder && versionSubgraphs.length > 0) {\n const duplicateDep = new DuplicateDependency(versions.latestVersionNode, versionSubgraphs);\n duplicateDependencies.set(compFullName, duplicateDep);\n }\n }\n }\n return duplicateDependencies;\n }\n\n buildFromCleargraph(graph: Graph<Component, Dependency>): ComponentGraph {\n return this.create(graph.nodes, graph.edges);\n }\n\n runtimeOnly(componentIds: string[]) {\n return this.successorsSubgraph(componentIds, {\n edgeFilter: (edge: DependencyEdge) => edge.attr.type === 'runtime',\n });\n }\n\n private shouldLimitToSeedersOnly() {\n return this.seederIds.length;\n }\n\n private calculateVersionMap(): Map<string, { allVersionNodes: string[]; latestVersionNode: string }> {\n const versionMap: Map<string, { allVersionNodes: string[]; latestVersionNode: string }> = new Map();\n for (const node of this.nodes) {\n const comp = node.attr;\n const compKey = node.id;\n const compFullName = comp.id.toStringWithoutVersion();\n if (!versionMap.has(compFullName)) {\n versionMap.set(compFullName, {\n allVersionNodes: [compKey],\n latestVersionNode: compKey,\n });\n } else {\n const value = versionMap.get(compFullName);\n if (value) {\n if (Object.prototype.hasOwnProperty.call(value, 'allVersionNodes')) {\n value.allVersionNodes.push(compKey);\n }\n const currentComp = comp;\n const latestComp = this.node(value.latestVersionNode)?.attr;\n // @todo: this check won't work when the component doesn't have head.\n // it happens when a dependency is needed in an old version (not head). which Bit doesn't fetch the head\n // Version object, and as a result, the `Component.head` is empty.\n // for now it's probably good enough because it's used only for `findDuplicateDependencies`, which only\n // checks the components on the workspace.\n if (\n currentComp.head &&\n latestComp?.head &&\n new Date(currentComp.head.timestamp) > new Date(latestComp.head.timestamp)\n ) {\n value.latestVersionNode = compKey;\n }\n }\n }\n }\n return versionMap;\n }\n}\n"],"mappings":"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"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { ComponentID } from '@teambit/component';
|
2
2
|
import { Graph, Node, Edge } from '@teambit/graph.cleargraph';
|
3
|
-
export
|
4
|
-
|
5
|
-
|
6
|
-
export
|
3
|
+
export type DepEdgeType = 'prod' | 'dev' | 'ext';
|
4
|
+
type ComponentIdNode = Node<ComponentID>;
|
5
|
+
type DependencyEdge = Edge<DepEdgeType>;
|
6
|
+
export type CompIdGraph = Graph<ComponentID, DepEdgeType>;
|
7
7
|
export declare class ComponentIdGraph extends Graph<ComponentID, DepEdgeType> {
|
8
8
|
seederIds: ComponentID[];
|
9
9
|
constructor(nodes?: ComponentIdNode[], edges?: DependencyEdge[]);
|
@@ -4,7 +4,7 @@ export declare class DuplicateDependency {
|
|
4
4
|
priorVersions: VersionSubgraph[];
|
5
5
|
constructor(latestVersionId: string, priorVersions: VersionSubgraph[]);
|
6
6
|
}
|
7
|
-
export
|
7
|
+
export type VersionSubgraph = {
|
8
8
|
versionId: string;
|
9
9
|
subGraph: ComponentGraph;
|
10
10
|
immediateDependents: string[];
|
package/dist/graph-builder.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ComponentFactory, ComponentID, ComponentMain } from '@teambit/component';
|
2
2
|
import { ComponentGraph } from './component-graph';
|
3
3
|
import { ComponentIdGraph } from './component-id-graph';
|
4
|
-
export
|
4
|
+
export type GetGraphOpts = {
|
5
5
|
host?: ComponentFactory;
|
6
6
|
};
|
7
7
|
export declare class GraphBuilder {
|
package/dist/graph-cmd.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { Section } from '@teambit/component';
|
3
3
|
import { ChangeType } from '@teambit/component.ui.component-compare.models.component-compare-change-type';
|
4
4
|
import { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';
|
@@ -13,7 +13,7 @@ export declare class GraphCompareSection implements Section, TabItem {
|
|
13
13
|
};
|
14
14
|
route: {
|
15
15
|
path: string;
|
16
|
-
element:
|
16
|
+
element: JSX.Element;
|
17
17
|
};
|
18
18
|
order: number;
|
19
19
|
changeType: ChangeType;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
export declare const Logo: () =>
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare const Logo: () => JSX.Element;
|
@@ -14,7 +14,7 @@ export declare class GraphMain {
|
|
14
14
|
*/
|
15
15
|
getGraph(ids?: ComponentID[], opts?: GetGraphOpts): Promise<ComponentGraph>;
|
16
16
|
getGraphIds(ids?: ComponentID[], opts?: GetGraphOpts): Promise<ComponentIdGraph>;
|
17
|
-
static slots:
|
17
|
+
static slots: any[];
|
18
18
|
static dependencies: import("@teambit/harmony").Aspect[];
|
19
19
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
20
20
|
static provider([graphql, componentAspect, cli, loggerMain]: [
|
@@ -6,9 +6,9 @@ import { DependenciesGraph } from './ui/dependencies-graph';
|
|
6
6
|
export interface ComponentWidgetProps extends React.HTMLAttributes<HTMLDivElement> {
|
7
7
|
component: ComponentModel;
|
8
8
|
}
|
9
|
-
export
|
10
|
-
export
|
11
|
-
export
|
9
|
+
export type ComponentWidget = ComponentType<ComponentWidgetProps>;
|
10
|
+
export type ComponentWidgetSlot = SlotRegistry<ComponentWidget>;
|
11
|
+
export type GraphUIConfig = {
|
12
12
|
componentTab: boolean;
|
13
13
|
};
|
14
14
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
export
|
1
|
+
export type GraphFilter = 'runtimeOnly' | undefined;
|
@@ -3,8 +3,8 @@ import { ComponentID } from '@teambit/component-id';
|
|
3
3
|
import type { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';
|
4
4
|
import { BitObjectList } from '@teambit/legacy/dist/scope/objects/bit-object-list';
|
5
5
|
import { Dependency } from './model/dependency';
|
6
|
-
|
7
|
-
|
6
|
+
type BitIdNode = Node<ComponentID>;
|
7
|
+
type DependencyEdge = Edge<Dependency>;
|
8
8
|
export declare class IdGraph extends Graph<ComponentID, Dependency> {
|
9
9
|
constructor(nodes?: BitIdNode[], edges?: DependencyEdge[]);
|
10
10
|
}
|
@@ -51,8 +51,8 @@ async function bitObjectListToGraph(bitObjectsList) {
|
|
51
51
|
const nodes = [];
|
52
52
|
const edges = [];
|
53
53
|
await Promise.all(components.map(async component => {
|
54
|
-
const compFromMetadata = exportMetadata
|
55
|
-
const startFrom = compFromMetadata
|
54
|
+
const compFromMetadata = exportMetadata?.exportVersions.find(c => c.id.isEqualWithoutVersion(component.toComponentId()));
|
55
|
+
const startFrom = compFromMetadata?.head;
|
56
56
|
const versionsInfo = await (0, _traverseVersions().getAllVersionsInfo)({
|
57
57
|
modelComponent: component,
|
58
58
|
versionObjects: versions,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_graph","data","require","_lodash","_traverseVersions","_dependency","IdGraph","Graph","constructor","nodes","edges","exports","objectListToGraph","objectList","bitObjectsList","toBitObjects","bitObjectListToGraph","exportMetadata","getExportMetadata","components","getComponents","versions","getVersions","Promise","all","map","component","compFromMetadata","exportVersions","find","c","id","isEqualWithoutVersion","toComponentId","startFrom","head","versionsInfo","getAllVersionsInfo","modelComponent","versionObjects","throws","forEach","versionInfo","changeVersion","tag","ref","toString","idStr","push","Node","version","dependencies","devDependencies","extensionDependencies","depsIdsGroupedByType","addDep","depId","edge","depIdStr","Edge","runTime","Dependency","dev","uniqNodes","uniqBy","idGraph"],"sources":["object-list-to-graph.ts"],"sourcesContent":["import { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { uniqBy } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { BitObjectList } from '@teambit/legacy/dist/scope/objects/bit-object-list';\nimport { getAllVersionsInfo } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { Dependency } from './model/dependency';\n\ntype BitIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class IdGraph extends Graph<ComponentID, Dependency> {\n constructor(nodes: BitIdNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n}\n\nexport async function objectListToGraph(objectList: ObjectList): Promise<IdGraph> {\n const bitObjectsList = await objectList.toBitObjects();\n\n return bitObjectListToGraph(bitObjectsList);\n}\n\nexport async function bitObjectListToGraph(bitObjectsList: BitObjectList): Promise<IdGraph> {\n const exportMetadata = bitObjectsList.getExportMetadata();\n const components = bitObjectsList.getComponents();\n const versions = bitObjectsList.getVersions();\n const nodes: BitIdNode[] = [];\n const edges: DependencyEdge[] = [];\n await Promise.all(\n components.map(async (component) => {\n const compFromMetadata = exportMetadata?.exportVersions.find((c) =>\n c.id.isEqualWithoutVersion(component.toComponentId())\n );\n const startFrom = compFromMetadata?.head;\n const versionsInfo = await getAllVersionsInfo({\n modelComponent: component,\n versionObjects: versions,\n startFrom,\n throws: false,\n });\n versionsInfo.forEach((versionInfo) => {\n const id = component.toComponentId().changeVersion(versionInfo.tag || versionInfo.ref.toString());\n const idStr = id.toString();\n nodes.push(new Node(idStr, id));\n if (!versionInfo.version) {\n return;\n }\n const { dependencies, devDependencies, extensionDependencies } = versionInfo.version.depsIdsGroupedByType;\n const addDep = (depId: ComponentID, edge: Dependency) => {\n const depIdStr = depId.toString();\n nodes.push(new Node(depIdStr, depId));\n edges.push(new Edge(idStr, depIdStr, edge));\n };\n const runTime = new Dependency('runtime');\n const dev = new Dependency('dev');\n dependencies.forEach((depId) => addDep(depId, runTime));\n [...devDependencies, ...extensionDependencies].forEach((depId) => addDep(depId, dev));\n });\n })\n );\n const uniqNodes = uniqBy(nodes, 'id');\n const idGraph = new IdGraph(uniqNodes, edges);\n\n return idGraph;\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAG,kBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMK,OAAO,SAASC,cAAK,CAA0B;EAC1DC,WAAWA,CAACC,KAAkB,GAAG,EAAE,EAAEC,KAAuB,GAAG,EAAE,EAAE;IACjE,KAAK,CAACD,KAAK,EAAEC,KAAK,CAAC;EACrB;AACF;AAACC,OAAA,CAAAL,OAAA,GAAAA,OAAA;AAEM,eAAeM,iBAAiBA,CAACC,UAAsB,EAAoB;EAChF,MAAMC,cAAc,GAAG,MAAMD,UAAU,CAACE,YAAY,CAAC,CAAC;EAEtD,OAAOC,oBAAoB,CAACF,cAAc,CAAC;AAC7C;AAEO,eAAeE,oBAAoBA,CAACF,cAA6B,EAAoB;EAC1F,MAAMG,cAAc,GAAGH,cAAc,CAACI,iBAAiB,CAAC,CAAC;EACzD,MAAMC,UAAU,GAAGL,cAAc,CAACM,aAAa,CAAC,CAAC;EACjD,MAAMC,QAAQ,GAAGP,cAAc,CAACQ,WAAW,CAAC,CAAC;EAC7C,MAAMb,KAAkB,GAAG,EAAE;EAC7B,MAAMC,KAAuB,GAAG,EAAE;EAClC,MAAMa,OAAO,CAACC,GAAG,CACfL,UAAU,CAACM,GAAG,CAAC,MAAOC,SAAS,IAAK;IAClC,MAAMC,gBAAgB,GAAGV,cAAc,
|
1
|
+
{"version":3,"names":["_graph","data","require","_lodash","_traverseVersions","_dependency","IdGraph","Graph","constructor","nodes","edges","exports","objectListToGraph","objectList","bitObjectsList","toBitObjects","bitObjectListToGraph","exportMetadata","getExportMetadata","components","getComponents","versions","getVersions","Promise","all","map","component","compFromMetadata","exportVersions","find","c","id","isEqualWithoutVersion","toComponentId","startFrom","head","versionsInfo","getAllVersionsInfo","modelComponent","versionObjects","throws","forEach","versionInfo","changeVersion","tag","ref","toString","idStr","push","Node","version","dependencies","devDependencies","extensionDependencies","depsIdsGroupedByType","addDep","depId","edge","depIdStr","Edge","runTime","Dependency","dev","uniqNodes","uniqBy","idGraph"],"sources":["object-list-to-graph.ts"],"sourcesContent":["import { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { uniqBy } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { BitObjectList } from '@teambit/legacy/dist/scope/objects/bit-object-list';\nimport { getAllVersionsInfo } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { Dependency } from './model/dependency';\n\ntype BitIdNode = Node<ComponentID>;\ntype DependencyEdge = Edge<Dependency>;\n\nexport class IdGraph extends Graph<ComponentID, Dependency> {\n constructor(nodes: BitIdNode[] = [], edges: DependencyEdge[] = []) {\n super(nodes, edges);\n }\n}\n\nexport async function objectListToGraph(objectList: ObjectList): Promise<IdGraph> {\n const bitObjectsList = await objectList.toBitObjects();\n\n return bitObjectListToGraph(bitObjectsList);\n}\n\nexport async function bitObjectListToGraph(bitObjectsList: BitObjectList): Promise<IdGraph> {\n const exportMetadata = bitObjectsList.getExportMetadata();\n const components = bitObjectsList.getComponents();\n const versions = bitObjectsList.getVersions();\n const nodes: BitIdNode[] = [];\n const edges: DependencyEdge[] = [];\n await Promise.all(\n components.map(async (component) => {\n const compFromMetadata = exportMetadata?.exportVersions.find((c) =>\n c.id.isEqualWithoutVersion(component.toComponentId())\n );\n const startFrom = compFromMetadata?.head;\n const versionsInfo = await getAllVersionsInfo({\n modelComponent: component,\n versionObjects: versions,\n startFrom,\n throws: false,\n });\n versionsInfo.forEach((versionInfo) => {\n const id = component.toComponentId().changeVersion(versionInfo.tag || versionInfo.ref.toString());\n const idStr = id.toString();\n nodes.push(new Node(idStr, id));\n if (!versionInfo.version) {\n return;\n }\n const { dependencies, devDependencies, extensionDependencies } = versionInfo.version.depsIdsGroupedByType;\n const addDep = (depId: ComponentID, edge: Dependency) => {\n const depIdStr = depId.toString();\n nodes.push(new Node(depIdStr, depId));\n edges.push(new Edge(idStr, depIdStr, edge));\n };\n const runTime = new Dependency('runtime');\n const dev = new Dependency('dev');\n dependencies.forEach((depId) => addDep(depId, runTime));\n [...devDependencies, ...extensionDependencies].forEach((depId) => addDep(depId, dev));\n });\n })\n );\n const uniqNodes = uniqBy(nodes, 'id');\n const idGraph = new IdGraph(uniqNodes, edges);\n\n return idGraph;\n}\n"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.109/dist/graph.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_graph@1.0.109/dist/graph.docs.md';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
@@ -1,8 +1,8 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { CardProps } from '@teambit/base-ui.surfaces.card';
|
3
3
|
import { NodeModel } from '../query/node-model';
|
4
4
|
export interface IComponentNode extends CardProps {
|
5
5
|
node: NodeModel;
|
6
6
|
type: string;
|
7
7
|
}
|
8
|
-
export declare function ComponentNode({ node, type, ...rest }: IComponentNode):
|
8
|
+
export declare function ComponentNode({ node, type, ...rest }: IComponentNode): JSX.Element;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ComponentModel } from '@teambit/component';
|
2
2
|
import { NodeModel } from '@teambit/graph';
|
3
|
-
export
|
3
|
+
export type CompareStatus = 'modified' | 'new' | 'deleted' | undefined;
|
4
4
|
export declare class CompareNodeModel extends NodeModel {
|
5
5
|
id: string;
|
6
6
|
component: ComponentModel;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
export declare function DependenciesCompare():
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare function DependenciesCompare(): JSX.Element;
|
@@ -96,11 +96,10 @@ const NodeTypes = {
|
|
96
96
|
ComponentNode: ComponentNodeContainer
|
97
97
|
};
|
98
98
|
function DependenciesCompare() {
|
99
|
-
var _componentCompare$bas, _componentCompare$com;
|
100
99
|
const graphRef = (0, _react().useRef)();
|
101
100
|
const componentCompare = (0, _componentUiComponentCompare().useComponentCompare)();
|
102
|
-
const baseId = componentCompare
|
103
|
-
const compareId = componentCompare
|
101
|
+
const baseId = componentCompare?.base?.model.id;
|
102
|
+
const compareId = componentCompare?.compare?.model.id;
|
104
103
|
const [filter, setFilter] = (0, _react().useState)('runtimeOnly');
|
105
104
|
const isFiltered = filter === 'runtimeOnly';
|
106
105
|
const {
|
@@ -118,29 +117,26 @@ function DependenciesCompare() {
|
|
118
117
|
});
|
119
118
|
(0, _react().useEffect)(() => () => graphRef.current = undefined, []);
|
120
119
|
(0, _react().useEffect)(() => {
|
121
|
-
|
122
|
-
(_graphRef$current = graphRef.current) === null || _graphRef$current === void 0 || _graphRef$current.fitView();
|
120
|
+
graphRef.current?.fitView();
|
123
121
|
}, [elements]);
|
124
122
|
const handleLoad = (0, _react().useCallback)(instance => {
|
125
123
|
graphRef.current = instance;
|
126
|
-
if ((
|
127
|
-
|
128
|
-
(_graphRef$current2 = graphRef.current) === null || _graphRef$current2 === void 0 || _graphRef$current2.fitView({
|
124
|
+
if ((graph?.nodes.length ?? 0) <= 3) {
|
125
|
+
graphRef.current?.fitView({
|
129
126
|
padding: 2
|
130
127
|
});
|
131
128
|
} else {
|
132
129
|
instance.fitView();
|
133
130
|
}
|
134
|
-
}, [graph
|
131
|
+
}, [graph?.nodes.length]);
|
135
132
|
(0, _react().useEffect)(() => {
|
136
133
|
setTimeout(() => {
|
137
|
-
|
138
|
-
if (((graph === null || graph === void 0 ? void 0 : graph.nodes.length) ?? 0) <= 3) return (_graphRef$current3 = graphRef.current) === null || _graphRef$current3 === void 0 ? void 0 : _graphRef$current3.fitView({
|
134
|
+
if ((graph?.nodes.length ?? 0) <= 3) return graphRef.current?.fitView({
|
139
135
|
padding: 2
|
140
136
|
});
|
141
|
-
return
|
137
|
+
return graphRef.current?.fitView();
|
142
138
|
}, 0);
|
143
|
-
}, [compareId
|
139
|
+
}, [compareId?.toString(), baseId?.toString()]);
|
144
140
|
const onCheckFilter = _isFiltered => {
|
145
141
|
setFilter(_isFiltered ? 'runtimeOnly' : undefined);
|
146
142
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_classnames","data","_interopRequireDefault","require","_designUi","_graph","_componentUiComponentCompare","_react","_interopRequireWildcard","_reactFlowRenderer","_dependenciesCompareModule","_dependencyCompareNode","_diffGraph","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","key","Handle","type","position","isConnectable","DependencyCompareNode","node","NodeTypes","ComponentNode","DependenciesCompare","_componentCompare$bas","_componentCompare$com","graphRef","useRef","componentCompare","useComponentCompare","baseId","base","model","compareId","compare","filter","setFilter","useState","isFiltered","loading","baseLoading","graph","baseGraph","useGraphQuery","toString","compareLoading","compareGraph","diffGraph","undefined","elements","calcElements","rootNode","useEffect","current","_graphRef$current","fitView","handleLoad","useCallback","instance","nodes","length","_graphRef$current2","padding","setTimeout","_graphRef$current3","_graphRef$current4","onCheckFilter","_isFiltered","Fragment","className","classNames","styles","page","graphPageStyles","loader","RoundLoader","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","minZoom","dependenciesGraphStyles","nodeTypes","onLoad","Background","Controls","controls","MiniMap","nodeColor","calcMinimapColors","minimap","GraphFilters","filters","disable","onChangeFilter"],"sources":["dependencies-compare.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { RoundLoader } from '@teambit/design.ui.round-loader';\nimport {\n calcElements,\n calcMinimapColors,\n dependenciesGraphStyles,\n GraphFilter,\n GraphFilters,\n graphPageStyles,\n useGraphQuery,\n} from '@teambit/graph';\nimport { useComponentCompare } from '@teambit/component.ui.component-compare.context';\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport ReactFlow, {\n Background,\n Controls,\n Handle,\n MiniMap,\n NodeProps,\n NodeTypesType,\n OnLoadParams,\n Position,\n ReactFlowProvider,\n} from 'react-flow-renderer';\nimport styles from './dependencies-compare.module.scss';\nimport { DependencyCompareNode } from './dependency-compare-node';\nimport { diffGraph } from './diff-graph';\n\nfunction ComponentNodeContainer(props: NodeProps) {\n const { sourcePosition = Position.Top, targetPosition = Position.Bottom, data, id } = props;\n\n return (\n <div key={id}>\n <Handle type=\"target\" position={targetPosition} isConnectable={false} />\n <Handle type=\"source\" position={sourcePosition} isConnectable={false} />\n <DependencyCompareNode node={data.node} type={data.type} />\n </div>\n );\n}\n\nconst NodeTypes: NodeTypesType = { ComponentNode: ComponentNodeContainer };\n\nexport function DependenciesCompare() {\n const graphRef = useRef<OnLoadParams>();\n const componentCompare = useComponentCompare();\n\n const baseId = componentCompare?.base?.model.id;\n const compareId = componentCompare?.compare?.model.id;\n\n const [filter, setFilter] = useState<GraphFilter>('runtimeOnly');\n const isFiltered = filter === 'runtimeOnly';\n const { loading: baseLoading, graph: baseGraph } = useGraphQuery(baseId && [baseId.toString()], filter);\n const { loading: compareLoading, graph: compareGraph } = useGraphQuery(compareId && [compareId.toString()], filter);\n const loading = baseLoading || compareLoading;\n const graph = diffGraph(baseGraph, compareGraph, baseId) ?? undefined;\n const elements = calcElements(graph, { rootNode: baseId });\n\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n const handleLoad = useCallback(\n (instance: OnLoadParams) => {\n graphRef.current = instance;\n if ((graph?.nodes.length ?? 0) <= 3) {\n graphRef.current?.fitView({\n padding: 2,\n });\n } else {\n instance.fitView();\n }\n },\n [graph?.nodes.length]\n );\n\n useEffect(() => {\n setTimeout(() => {\n if ((graph?.nodes.length ?? 0) <= 3)\n return graphRef.current?.fitView({\n padding: 2,\n });\n return graphRef.current?.fitView();\n }, 0);\n }, [compareId?.toString(), baseId?.toString()]);\n\n const onCheckFilter = (_isFiltered: boolean) => {\n setFilter(_isFiltered ? 'runtimeOnly' : undefined);\n };\n\n if (!loading && (!baseGraph || !compareGraph)) {\n return <></>;\n }\n\n return (\n <div className={classNames([styles.page, graphPageStyles.graph])}>\n {loading && (\n <div className={styles.loader}>\n <RoundLoader />\n </div>\n )}\n <ReactFlowProvider>\n <ReactFlow\n draggable={false}\n nodesDraggable={true}\n selectNodesOnDrag={false}\n nodesConnectable={false}\n zoomOnDoubleClick={false}\n elementsSelectable={false}\n maxZoom={100}\n minZoom={0}\n className={dependenciesGraphStyles.graph}\n elements={elements}\n nodeTypes={NodeTypes}\n onLoad={handleLoad}\n >\n <Background />\n <Controls className={dependenciesGraphStyles.controls} />\n <MiniMap nodeColor={calcMinimapColors} className={dependenciesGraphStyles.minimap} />\n <GraphFilters\n className={graphPageStyles.filters}\n disable={loading}\n isFiltered={isFiltered}\n onChangeFilter={onCheckFilter}\n />\n </ReactFlow>\n </ReactFlowProvider>\n </div>\n );\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_classnames","data","_interopRequireDefault","require","_designUi","_graph","_componentUiComponentCompare","_react","_interopRequireWildcard","_reactFlowRenderer","_dependenciesCompareModule","_dependencyCompareNode","_diffGraph","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","key","Handle","type","position","isConnectable","DependencyCompareNode","node","NodeTypes","ComponentNode","DependenciesCompare","graphRef","useRef","componentCompare","useComponentCompare","baseId","base","model","compareId","compare","filter","setFilter","useState","isFiltered","loading","baseLoading","graph","baseGraph","useGraphQuery","toString","compareLoading","compareGraph","diffGraph","undefined","elements","calcElements","rootNode","useEffect","current","fitView","handleLoad","useCallback","instance","nodes","length","padding","setTimeout","onCheckFilter","_isFiltered","Fragment","className","classNames","styles","page","graphPageStyles","loader","RoundLoader","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","minZoom","dependenciesGraphStyles","nodeTypes","onLoad","Background","Controls","controls","MiniMap","nodeColor","calcMinimapColors","minimap","GraphFilters","filters","disable","onChangeFilter"],"sources":["dependencies-compare.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { RoundLoader } from '@teambit/design.ui.round-loader';\nimport {\n calcElements,\n calcMinimapColors,\n dependenciesGraphStyles,\n GraphFilter,\n GraphFilters,\n graphPageStyles,\n useGraphQuery,\n} from '@teambit/graph';\nimport { useComponentCompare } from '@teambit/component.ui.component-compare.context';\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport ReactFlow, {\n Background,\n Controls,\n Handle,\n MiniMap,\n NodeProps,\n NodeTypesType,\n OnLoadParams,\n Position,\n ReactFlowProvider,\n} from 'react-flow-renderer';\nimport styles from './dependencies-compare.module.scss';\nimport { DependencyCompareNode } from './dependency-compare-node';\nimport { diffGraph } from './diff-graph';\n\nfunction ComponentNodeContainer(props: NodeProps) {\n const { sourcePosition = Position.Top, targetPosition = Position.Bottom, data, id } = props;\n\n return (\n <div key={id}>\n <Handle type=\"target\" position={targetPosition} isConnectable={false} />\n <Handle type=\"source\" position={sourcePosition} isConnectable={false} />\n <DependencyCompareNode node={data.node} type={data.type} />\n </div>\n );\n}\n\nconst NodeTypes: NodeTypesType = { ComponentNode: ComponentNodeContainer };\n\nexport function DependenciesCompare() {\n const graphRef = useRef<OnLoadParams>();\n const componentCompare = useComponentCompare();\n\n const baseId = componentCompare?.base?.model.id;\n const compareId = componentCompare?.compare?.model.id;\n\n const [filter, setFilter] = useState<GraphFilter>('runtimeOnly');\n const isFiltered = filter === 'runtimeOnly';\n const { loading: baseLoading, graph: baseGraph } = useGraphQuery(baseId && [baseId.toString()], filter);\n const { loading: compareLoading, graph: compareGraph } = useGraphQuery(compareId && [compareId.toString()], filter);\n const loading = baseLoading || compareLoading;\n const graph = diffGraph(baseGraph, compareGraph, baseId) ?? undefined;\n const elements = calcElements(graph, { rootNode: baseId });\n\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n graphRef.current?.fitView();\n }, [elements]);\n\n const handleLoad = useCallback(\n (instance: OnLoadParams) => {\n graphRef.current = instance;\n if ((graph?.nodes.length ?? 0) <= 3) {\n graphRef.current?.fitView({\n padding: 2,\n });\n } else {\n instance.fitView();\n }\n },\n [graph?.nodes.length]\n );\n\n useEffect(() => {\n setTimeout(() => {\n if ((graph?.nodes.length ?? 0) <= 3)\n return graphRef.current?.fitView({\n padding: 2,\n });\n return graphRef.current?.fitView();\n }, 0);\n }, [compareId?.toString(), baseId?.toString()]);\n\n const onCheckFilter = (_isFiltered: boolean) => {\n setFilter(_isFiltered ? 'runtimeOnly' : undefined);\n };\n\n if (!loading && (!baseGraph || !compareGraph)) {\n return <></>;\n }\n\n return (\n <div className={classNames([styles.page, graphPageStyles.graph])}>\n {loading && (\n <div className={styles.loader}>\n <RoundLoader />\n </div>\n )}\n <ReactFlowProvider>\n <ReactFlow\n draggable={false}\n nodesDraggable={true}\n selectNodesOnDrag={false}\n nodesConnectable={false}\n zoomOnDoubleClick={false}\n elementsSelectable={false}\n maxZoom={100}\n minZoom={0}\n className={dependenciesGraphStyles.graph}\n elements={elements}\n nodeTypes={NodeTypes}\n onLoad={handleLoad}\n >\n <Background />\n <Controls className={dependenciesGraphStyles.controls} />\n <MiniMap nodeColor={calcMinimapColors} className={dependenciesGraphStyles.minimap} />\n <GraphFilters\n className={graphPageStyles.filters}\n disable={loading}\n isFiltered={isFiltered}\n onChangeFilter={onCheckFilter}\n />\n </ReactFlow>\n </ReactFlowProvider>\n </div>\n );\n}\n"],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { CompareNodeModel } from './compare-node-model';
|
3
|
-
export
|
3
|
+
export type DependencyCompareNodeProps = {
|
4
4
|
node: CompareNodeModel;
|
5
5
|
type?: string;
|
6
6
|
};
|
7
|
-
export declare function DependencyCompareNode(props: DependencyCompareNodeProps):
|
7
|
+
export declare function DependencyCompareNode(props: DependencyCompareNodeProps): JSX.Element;
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { ComponentID } from '@teambit/component';
|
2
2
|
import { EdgeModel, GraphModel, NodeModel } from '@teambit/graph';
|
3
3
|
import { CompareGraphModel } from './compare-graph-model';
|
4
|
-
export declare function diffGraph(baseGraph?: GraphModel<NodeModel, EdgeModel>, compareGraph?: GraphModel<NodeModel, EdgeModel>, baseId?: ComponentID): CompareGraphModel
|
4
|
+
export declare function diffGraph(baseGraph?: GraphModel<NodeModel, EdgeModel>, compareGraph?: GraphModel<NodeModel, EdgeModel>, baseId?: ComponentID): CompareGraphModel;
|
@@ -54,13 +54,10 @@ function diffGraph(baseGraph, compareGraph, baseId) {
|
|
54
54
|
}
|
55
55
|
const allNodesMap = new Map(allNodes.map(n => [toShortId(n), n]));
|
56
56
|
const baseEdgesMap = new Map(baseGraph.edges.map(baseEdge => [getEdgeId(baseEdge), baseEdge]));
|
57
|
-
const edgesOnlyInCompare = compareGraph.edges.filter(compareEdge => !baseEdgesMap.has(getEdgeId(compareEdge))).map(compareEdge => {
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
targetId: ((_allNodesMap$get2 = allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))) === null || _allNodesMap$get2 === void 0 ? void 0 : _allNodesMap$get2.id.toString()) || baseId.toString()
|
62
|
-
});
|
63
|
-
});
|
57
|
+
const edgesOnlyInCompare = compareGraph.edges.filter(compareEdge => !baseEdgesMap.has(getEdgeId(compareEdge))).map(compareEdge => _objectSpread(_objectSpread({}, compareEdge), {}, {
|
58
|
+
sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),
|
59
|
+
targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString()
|
60
|
+
}));
|
64
61
|
const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];
|
65
62
|
return new (_compareGraphModel().CompareGraphModel)(allNodes, allEdges);
|
66
63
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_compareGraphModel","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","toShortId","node","component","id","toStringWithoutVersion","toShortIdFromNodeId","nodeId","split","delim","getEdgeId","_e","sourceId","targetId","diffGraph","baseGraph","compareGraph","baseId","baseNodes","nodes","compareNodes","baseNodesMap","Map","map","n","compareNodesMap","allNodes","baseNode","compareNode","get","compareVersion","version","status","isEqual","undefined","newNodes","has","allNodesMap","baseEdgesMap","edges","baseEdge","edgesOnlyInCompare","compareEdge","
|
1
|
+
{"version":3,"names":["_compareGraphModel","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","toShortId","node","component","id","toStringWithoutVersion","toShortIdFromNodeId","nodeId","split","delim","getEdgeId","_e","sourceId","targetId","diffGraph","baseGraph","compareGraph","baseId","baseNodes","nodes","compareNodes","baseNodesMap","Map","map","n","compareNodesMap","allNodes","baseNode","compareNode","get","compareVersion","version","status","isEqual","undefined","newNodes","has","allNodesMap","baseEdgesMap","edges","baseEdge","edgesOnlyInCompare","compareEdge","toString","allEdges","CompareGraphModel"],"sources":["diff-graph.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { EdgeModel, GraphModel, NodeModel } from '@teambit/graph';\nimport { CompareGraphModel } from './compare-graph-model';\nimport { CompareNodeModel } from './compare-node-model';\n\nconst toShortId = (node: NodeModel) => node.component.id.toStringWithoutVersion();\n\n// this is to get a key with versions ignored so that we'll have a unique set of component nodes\nconst toShortIdFromNodeId = (nodeId: string) => nodeId.split('@')[0];\n\nconst delim = '::';\n\nconst getEdgeId = (_e: EdgeModel) => {\n return `${toShortIdFromNodeId(_e.sourceId)}${delim}${toShortIdFromNodeId(_e.targetId)}`;\n};\n\nexport function diffGraph(\n baseGraph?: GraphModel<NodeModel, EdgeModel>,\n compareGraph?: GraphModel<NodeModel, EdgeModel>,\n baseId?: ComponentID\n) {\n if (!baseGraph || !compareGraph || !baseId) return null;\n\n const baseNodes = baseGraph.nodes;\n const compareNodes = compareGraph.nodes;\n\n const baseNodesMap = new Map<string, NodeModel>(baseNodes.map((n) => [toShortId(n), n]));\n const compareNodesMap = new Map<string, NodeModel>(compareNodes.map((n) => [toShortId(n), n]));\n\n const allNodes: Array<CompareNodeModel> = [];\n for (const baseNode of baseNodes) {\n const compareNode = compareNodesMap.get(toShortId(baseNode));\n if (compareNode) {\n allNodes.push({\n ...baseNode,\n compareVersion: compareNode.component.version,\n status: compareNode.component.id.isEqual(baseNode.component.id) ? undefined : 'modified',\n });\n } else {\n allNodes.push({\n ...baseNode,\n compareVersion: baseNode.component.version,\n status: 'deleted',\n });\n }\n }\n\n const newNodes = compareNodes.filter((n) => !baseNodesMap.has(toShortId(n)));\n\n for (const node of newNodes) {\n allNodes.push({\n ...node,\n compareVersion: '',\n status: 'new',\n });\n }\n const allNodesMap = new Map<string, CompareNodeModel>(allNodes.map((n) => [toShortId(n), n]));\n\n const baseEdgesMap = new Map<string, EdgeModel>(baseGraph.edges.map((baseEdge) => [getEdgeId(baseEdge), baseEdge]));\n const edgesOnlyInCompare = compareGraph.edges\n .filter((compareEdge) => !baseEdgesMap.has(getEdgeId(compareEdge)))\n .map((compareEdge) => ({\n ...compareEdge,\n sourceId: allNodesMap.get(toShortIdFromNodeId(compareEdge.sourceId))?.id.toString() || baseId.toString(),\n targetId: allNodesMap.get(toShortIdFromNodeId(compareEdge.targetId))?.id.toString() || baseId.toString(),\n }));\n const allEdges = [...baseGraph.edges, ...edgesOnlyInCompare];\n return new CompareGraphModel(allNodes, allEdges);\n}\n"],"mappings":"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"}
|
@@ -1,12 +1,12 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { OnLoadParams, ReactFlowProps } from 'react-flow-renderer';
|
3
3
|
import { ComponentID } from '@teambit/component';
|
4
4
|
import { ComponentWidgetSlot } from '../../graph.ui.runtime';
|
5
5
|
import { EdgeModel, GraphModel, NodeModel } from '../query';
|
6
|
-
export
|
6
|
+
export type DependenciesGraphProps = {
|
7
7
|
rootNode: ComponentID;
|
8
8
|
graph: GraphModel<NodeModel, EdgeModel>;
|
9
9
|
componentWidgets: ComponentWidgetSlot;
|
10
10
|
onLoad?: (instance: OnLoadParams) => void;
|
11
11
|
} & Omit<ReactFlowProps, 'elements'>;
|
12
|
-
export declare function DependenciesGraph({ graph, rootNode, componentWidgets, className, onLoad, children, ...rest }: DependenciesGraphProps):
|
12
|
+
export declare function DependenciesGraph({ graph, rootNode, componentWidgets, className, onLoad, children, ...rest }: DependenciesGraphProps): JSX.Element;
|
@@ -112,25 +112,24 @@ function DependenciesGraph(_ref) {
|
|
112
112
|
componentWidgets
|
113
113
|
}), [componentWidgets]);
|
114
114
|
const handleLoad = (0, _react().useCallback)(instance => {
|
115
|
-
if ((
|
115
|
+
if ((graph?.nodes.length ?? 0) <= 3) {
|
116
116
|
instance.fitView({
|
117
117
|
padding: 2
|
118
118
|
});
|
119
119
|
} else {
|
120
120
|
instance.fitView();
|
121
121
|
}
|
122
|
-
onLoad
|
122
|
+
onLoad?.(instance);
|
123
123
|
}, [onLoad]);
|
124
124
|
|
125
125
|
// clear ref on unmount
|
126
126
|
(0, _react().useEffect)(() => () => graphRef.current = undefined, []);
|
127
127
|
(0, _react().useEffect)(() => {
|
128
128
|
setTimeout(() => {
|
129
|
-
|
130
|
-
if (graph.nodes.length <= 3) return (_graphRef$current = graphRef.current) === null || _graphRef$current === void 0 ? void 0 : _graphRef$current.fitView({
|
129
|
+
if (graph.nodes.length <= 3) return graphRef.current?.fitView({
|
131
130
|
padding: 2
|
132
131
|
});
|
133
|
-
return
|
132
|
+
return graphRef.current?.fitView();
|
134
133
|
}, 0);
|
135
134
|
}, [graph]);
|
136
135
|
return /*#__PURE__*/_react().default.createElement(_graphContext().ComponentGraphContext.Provider, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_reactFlowRenderer","_componentNode","_calcElements","_minimap","_graphContext","_dependenciesGraphModule","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","Handle","type","position","isConnectable","ComponentNode","node","NodeTypes","DependenciesGraph","_ref","graph","rootNode","componentWidgets","className","onLoad","children","rest","graphRef","useRef","elements","calcElements","context","useMemo","handleLoad","useCallback","instance","nodes","fitView","padding","useEffect","current","undefined","setTimeout","_graphRef$current","_graphRef$current2","ComponentGraphContext","Provider","value","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","minZoom","classnames","styles","nodeTypes","Background","Controls","controls","MiniMap","nodeColor","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 if ((graph?.nodes.length ?? 0) <= 3) {\n instance.fitView({\n padding: 2,\n });\n } else {\n instance.fitView();\n }\n onLoad?.(instance);\n },\n [onLoad]\n );\n\n // clear ref on unmount\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n setTimeout(() => {\n if (graph.nodes.length <= 3)\n return graphRef.current?.fitView({\n padding: 2,\n });\n return graphRef.current?.fitView();\n }, 0);\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={100}\n minZoom={0}\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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"}
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_reactFlowRenderer","_componentNode","_calcElements","_minimap","_graphContext","_dependenciesGraphModule","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ComponentNodeContainer","props","sourcePosition","Position","Top","targetPosition","Bottom","id","createElement","Handle","type","position","isConnectable","ComponentNode","node","NodeTypes","DependenciesGraph","_ref","graph","rootNode","componentWidgets","className","onLoad","children","rest","graphRef","useRef","elements","calcElements","context","useMemo","handleLoad","useCallback","instance","nodes","fitView","padding","useEffect","current","undefined","setTimeout","ComponentGraphContext","Provider","value","ReactFlowProvider","draggable","nodesDraggable","selectNodesOnDrag","nodesConnectable","zoomOnDoubleClick","elementsSelectable","maxZoom","minZoom","classnames","styles","nodeTypes","Background","Controls","controls","MiniMap","nodeColor","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 if ((graph?.nodes.length ?? 0) <= 3) {\n instance.fitView({\n padding: 2,\n });\n } else {\n instance.fitView();\n }\n onLoad?.(instance);\n },\n [onLoad]\n );\n\n // clear ref on unmount\n useEffect(() => () => (graphRef.current = undefined), []);\n\n useEffect(() => {\n setTimeout(() => {\n if (graph.nodes.length <= 3)\n return graphRef.current?.fitView({\n padding: 2,\n });\n return graphRef.current?.fitView();\n }, 0);\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={100}\n minZoom={0}\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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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { ComponentWidgetSlot } from '../../graph.ui.runtime';
|
3
3
|
/** internal context, to pass shared information to all nodes */
|
4
|
-
export
|
4
|
+
export type ComponentGraph = {
|
5
5
|
componentWidgets: ComponentWidgetSlot;
|
6
6
|
};
|
7
|
-
export declare const ComponentGraphContext: import("react").Context<ComponentGraph
|
7
|
+
export declare const ComponentGraphContext: import("react").Context<ComponentGraph>;
|
@@ -12,8 +12,7 @@ function _componentNode() {
|
|
12
12
|
return data;
|
13
13
|
}
|
14
14
|
function calcMinimapColors(node) {
|
15
|
-
|
16
|
-
const type = (_node$data = node.data) === null || _node$data === void 0 ? void 0 : _node$data.type;
|
15
|
+
const type = node.data?.type;
|
17
16
|
switch (type) {
|
18
17
|
case 'root':
|
19
18
|
return _componentNode().rootNodeColor;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_componentNode","data","require","calcMinimapColors","node","
|
1
|
+
{"version":3,"names":["_componentNode","data","require","calcMinimapColors","node","type","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,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASE,iBAAiBA,CAACC,IAAU,EAAE;EAC5C,MAAMC,IAAI,GAAGD,IAAI,CAACH,IAAI,EAAEI,IAAI;EAE5B,QAAQA,IAAI;IACV,KAAK,MAAM;MACT,OAAOC,8BAAa;IACtB,KAAK,UAAU;MACb,OAAOC,kCAAiB;IAC1B;MACE,OAAOC,iCAAgB;EAC3B;AACF"}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { CardProps } from '@teambit/base-ui.surfaces.card';
|
3
|
-
|
3
|
+
type GraphFiltersType = {
|
4
4
|
isFiltered: boolean;
|
5
5
|
onChangeFilter: (isFiltered: boolean) => void;
|
6
6
|
disable?: boolean;
|
7
7
|
} & CardProps;
|
8
|
-
export declare function GraphFilters({ onChangeFilter, isFiltered, disable, ...rest }: GraphFiltersType):
|
8
|
+
export declare function GraphFilters({ onChangeFilter, isFiltered, disable, ...rest }: GraphFiltersType): JSX.Element;
|
9
9
|
export {};
|
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { ComponentWidgetSlot } from '../../graph.ui.runtime';
|
3
|
-
|
3
|
+
type GraphPageProps = {
|
4
4
|
componentWidgets: ComponentWidgetSlot;
|
5
5
|
};
|
6
|
-
export declare function GraphPage({ componentWidgets }: GraphPageProps):
|
6
|
+
export declare function GraphPage({ componentWidgets }: GraphPageProps): JSX.Element;
|
7
7
|
export {};
|
@@ -1,12 +1,12 @@
|
|
1
|
+
/// <reference types="react" />
|
1
2
|
import { Section } from '@teambit/component';
|
2
|
-
import React from 'react';
|
3
3
|
import { ComponentWidgetSlot } from '../graph.ui.runtime';
|
4
4
|
export declare class GraphSection implements Section {
|
5
5
|
private componentWidgetSlot;
|
6
6
|
constructor(componentWidgetSlot: ComponentWidgetSlot);
|
7
7
|
route: {
|
8
8
|
path: string;
|
9
|
-
element:
|
9
|
+
element: JSX.Element;
|
10
10
|
};
|
11
11
|
navigationLink: {
|
12
12
|
href: string;
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { EdgeType } from '@teambit/graph';
|
2
2
|
export declare const GET_GRAPH: import("@apollo/client").DocumentNode;
|
3
|
-
export
|
3
|
+
export type RawGraphQuery = {
|
4
4
|
graph: RawGraph;
|
5
5
|
};
|
6
|
-
export
|
6
|
+
export type RawGraph = {
|
7
7
|
nodes: RawNode[];
|
8
8
|
edges: [];
|
9
9
|
};
|
10
|
-
export
|
10
|
+
export type RawNode = {
|
11
11
|
id: string;
|
12
12
|
component: {
|
13
13
|
id: {
|
@@ -25,7 +25,7 @@ export declare type RawNode = {
|
|
25
25
|
};
|
26
26
|
};
|
27
27
|
};
|
28
|
-
export
|
28
|
+
export type RawEdge = {
|
29
29
|
sourceId: string;
|
30
30
|
targetId: string;
|
31
31
|
dependencyLifecycleType: EdgeType;
|
@@ -2,7 +2,7 @@ import { GraphQlError } from '@teambit/graphql';
|
|
2
2
|
import { GraphModel } from './graph-model';
|
3
3
|
/** provides dependencies graph data from graphQL */
|
4
4
|
export declare function useGraphQuery(componentId?: string[], filter?: string): {
|
5
|
-
graph: GraphModel<import("./node-model").NodeModel, import("./edge-model").EdgeModel
|
6
|
-
error: GraphQlError
|
5
|
+
graph: GraphModel<import("./node-model").NodeModel, import("./edge-model").EdgeModel>;
|
6
|
+
error: GraphQlError;
|
7
7
|
loading: boolean;
|
8
8
|
};
|
@@ -52,7 +52,7 @@ function useGraphQuery(componentId, filter) {
|
|
52
52
|
},
|
53
53
|
skip: !componentId
|
54
54
|
});
|
55
|
-
const rawGraph = data
|
55
|
+
const rawGraph = data?.graph;
|
56
56
|
const clientError = !rawGraph && !loading ? new (_graphql().GraphQlError)(404) : undefined;
|
57
57
|
const serverError = error ? new (_graphql().GraphQlError)(500, error.message) : undefined;
|
58
58
|
return (0, _react().useMemo)(() => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","data","require","_uiFoundationUiHooks","_graphql","_getGraph","_graphModel","useGraphQuery","componentId","filter","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,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,qBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,UAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA;AACO,SAASM,aAAaA,CAACC,WAAsB,EAAEC,MAAe,EAAE;EACrE,MAAM;IAAER,IAAI;IAAES,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,mCAAY,EAAgCC,qBAAS,EAAE;IACtFC,SAAS,EAAE;MAAEC,GAAG,EAAEP,WAAW;MAAEC;IAAO,CAAC;IACvCO,IAAI,EAAE,CAACR;EACT,CAAC,CAAC;EAEF,MAAMS,QAAQ,GAAGhB,IAAI,
|
1
|
+
{"version":3,"names":["_react","data","require","_uiFoundationUiHooks","_graphql","_getGraph","_graphModel","useGraphQuery","componentId","filter","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,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,qBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,UAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA;AACO,SAASM,aAAaA,CAACC,WAAsB,EAAEC,MAAe,EAAE;EACrE,MAAM;IAAER,IAAI;IAAES,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,mCAAY,EAAgCC,qBAAS,EAAE;IACtFC,SAAS,EAAE;MAAEC,GAAG,EAAEP,WAAW;MAAEC;IAAO,CAAC;IACvCO,IAAI,EAAE,CAACR;EACT,CAAC,CAAC;EAEF,MAAMS,QAAQ,GAAGhB,IAAI,EAAEiB,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,5 +1,5 @@
|
|
1
1
|
export declare function useGraph(): {
|
2
|
-
graph: import("./graph-model").GraphModel<import("./node-model").NodeModel, import("./edge-model").EdgeModel
|
3
|
-
error: import("@teambit/graphql").GraphQlError
|
2
|
+
graph: import("./graph-model").GraphModel<import("./node-model").NodeModel, import("./edge-model").EdgeModel>;
|
3
|
+
error: import("@teambit/graphql").GraphQlError;
|
4
4
|
loading: boolean;
|
5
5
|
};
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/graph",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.109",
|
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": "1.0.
|
9
|
+
"version": "1.0.109"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"lodash": "4.17.21",
|
@@ -15,10 +15,8 @@
|
|
15
15
|
"graphql-tag": "2.12.1",
|
16
16
|
"classnames": "2.2.6",
|
17
17
|
"react-flow-renderer": "8.3.7",
|
18
|
-
"semver": "7.5.2",
|
19
18
|
"dagre": "0.8.5",
|
20
|
-
"
|
21
|
-
"@babel/runtime": "7.20.0",
|
19
|
+
"semver": "7.5.2",
|
22
20
|
"@teambit/graph.cleargraph": "0.0.1",
|
23
21
|
"@teambit/component-id": "1.2.0",
|
24
22
|
"@teambit/harmony": "0.4.6",
|
@@ -29,9 +27,6 @@
|
|
29
27
|
"@teambit/base-ui.text.muted-text": "1.0.1",
|
30
28
|
"@teambit/component.ui.deprecation-icon": "0.0.509",
|
31
29
|
"@teambit/design.ui.styles.ellipsis": "0.0.357",
|
32
|
-
"@teambit/component.ui.component-compare.context": "0.0.116",
|
33
|
-
"@teambit/design.ui.round-loader": "0.0.355",
|
34
|
-
"@teambit/component.ui.component-compare.status-resolver": "0.0.9",
|
35
30
|
"@teambit/evangelist.input.checkbox.label": "1.0.3",
|
36
31
|
"@teambit/design.ui.pages.not-found": "0.0.366",
|
37
32
|
"@teambit/design.ui.pages.server-error": "0.0.366",
|
@@ -39,33 +34,34 @@
|
|
39
34
|
"@teambit/ui-foundation.ui.full-loader": "0.0.500",
|
40
35
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.505",
|
41
36
|
"@teambit/ui-foundation.ui.react-router.use-query": "0.0.501",
|
42
|
-
"@teambit/component": "
|
43
|
-
"@teambit/
|
44
|
-
"@teambit/
|
45
|
-
"@teambit/
|
46
|
-
"@teambit/
|
47
|
-
"@teambit/
|
37
|
+
"@teambit/component.ui.component-compare.context": "0.0.116",
|
38
|
+
"@teambit/design.ui.round-loader": "0.0.355",
|
39
|
+
"@teambit/component.ui.component-compare.status-resolver": "0.0.9",
|
40
|
+
"@teambit/component": "1.0.109",
|
41
|
+
"@teambit/cli": "0.0.841",
|
42
|
+
"@teambit/graphql": "1.0.109",
|
43
|
+
"@teambit/logger": "0.0.934",
|
44
|
+
"@teambit/component-compare": "1.0.109",
|
45
|
+
"@teambit/ui": "1.0.109",
|
48
46
|
"@teambit/component.modules.component-url": "0.0.165",
|
49
47
|
"@teambit/envs.ui.env-icon": "0.0.503"
|
50
48
|
},
|
51
49
|
"devDependencies": {
|
52
50
|
"@types/lodash": "4.14.165",
|
53
51
|
"@types/graphlib": "2.1.7",
|
54
|
-
"@types/react": "^17.0.8",
|
55
52
|
"@types/classnames": "2.2.11",
|
56
|
-
"@types/semver": "7.3.4",
|
57
53
|
"@types/dagre": "0.7.44",
|
54
|
+
"@types/semver": "7.3.4",
|
58
55
|
"@types/mocha": "9.1.0",
|
59
|
-
"@types/
|
60
|
-
"@types/
|
61
|
-
"@
|
62
|
-
"@types/testing-library__jest-dom": "5.9.5"
|
56
|
+
"@types/jest": "^29.2.2",
|
57
|
+
"@types/testing-library__jest-dom": "^5.9.5",
|
58
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.14"
|
63
59
|
},
|
64
60
|
"peerDependencies": {
|
65
61
|
"@apollo/client": "^3.6.0",
|
66
|
-
"
|
67
|
-
"react": "^
|
68
|
-
"
|
62
|
+
"react": "^17.0.0 || ^18.0.0",
|
63
|
+
"@types/react": "^18.2.12",
|
64
|
+
"@teambit/legacy": "1.0.624"
|
69
65
|
},
|
70
66
|
"license": "Apache-2.0",
|
71
67
|
"optionalDependencies": {},
|
@@ -79,7 +75,7 @@
|
|
79
75
|
},
|
80
76
|
"private": false,
|
81
77
|
"engines": {
|
82
|
-
"node": ">=
|
78
|
+
"node": ">=16.0.0"
|
83
79
|
},
|
84
80
|
"repository": {
|
85
81
|
"type": "git",
|
@@ -88,12 +84,9 @@
|
|
88
84
|
"keywords": [
|
89
85
|
"bit",
|
90
86
|
"bit-aspect",
|
87
|
+
"bit-core-aspect",
|
91
88
|
"components",
|
92
89
|
"collaboration",
|
93
|
-
"web"
|
94
|
-
"react",
|
95
|
-
"react-components",
|
96
|
-
"angular",
|
97
|
-
"angular-components"
|
90
|
+
"web"
|
98
91
|
]
|
99
92
|
}
|
package/tsconfig.json
CHANGED
@@ -1,38 +1,33 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
3
|
"lib": [
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"
|
7
|
-
"DOM.Iterable",
|
8
|
-
"ScriptHost"
|
4
|
+
"esnext",
|
5
|
+
"dom",
|
6
|
+
"dom.Iterable"
|
9
7
|
],
|
10
|
-
"target": "
|
11
|
-
"module": "
|
12
|
-
"jsx": "react",
|
13
|
-
"allowJs": true,
|
14
|
-
"composite": true,
|
8
|
+
"target": "es2020",
|
9
|
+
"module": "es2020",
|
10
|
+
"jsx": "react-jsx",
|
15
11
|
"declaration": true,
|
16
12
|
"sourceMap": true,
|
17
|
-
"skipLibCheck": true,
|
18
13
|
"experimentalDecorators": true,
|
19
|
-
"
|
14
|
+
"skipLibCheck": true,
|
20
15
|
"moduleResolution": "node",
|
21
16
|
"esModuleInterop": true,
|
22
|
-
"rootDir": ".",
|
23
17
|
"resolveJsonModule": true,
|
24
|
-
"
|
25
|
-
"
|
26
|
-
"
|
27
|
-
"strictPropertyInitialization": false,
|
28
|
-
"strict": true,
|
29
|
-
"noImplicitAny": false,
|
30
|
-
"preserveConstEnums": true
|
18
|
+
"allowJs": true,
|
19
|
+
"outDir": "dist",
|
20
|
+
"emitDeclarationOnly": true
|
31
21
|
},
|
32
22
|
"exclude": [
|
23
|
+
"artifacts",
|
24
|
+
"public",
|
33
25
|
"dist",
|
26
|
+
"node_modules",
|
27
|
+
"package.json",
|
34
28
|
"esm.mjs",
|
35
|
-
"
|
29
|
+
"**/*.cjs",
|
30
|
+
"./dist"
|
36
31
|
],
|
37
32
|
"include": [
|
38
33
|
"**/*",
|
package/types/asset.d.ts
CHANGED
@@ -5,12 +5,12 @@ declare module '*.png' {
|
|
5
5
|
declare module '*.svg' {
|
6
6
|
import type { FunctionComponent, SVGProps } from 'react';
|
7
7
|
|
8
|
-
export const ReactComponent: FunctionComponent<
|
8
|
+
export const ReactComponent: FunctionComponent<
|
9
|
+
SVGProps<SVGSVGElement> & { title?: string }
|
10
|
+
>;
|
9
11
|
const src: string;
|
10
12
|
export default src;
|
11
13
|
}
|
12
|
-
|
13
|
-
// @TODO Gilad
|
14
14
|
declare module '*.jpg' {
|
15
15
|
const value: any;
|
16
16
|
export = value;
|
@@ -27,3 +27,15 @@ declare module '*.bmp' {
|
|
27
27
|
const value: any;
|
28
28
|
export = value;
|
29
29
|
}
|
30
|
+
declare module '*.otf' {
|
31
|
+
const value: any;
|
32
|
+
export = value;
|
33
|
+
}
|
34
|
+
declare module '*.woff' {
|
35
|
+
const value: any;
|
36
|
+
export = value;
|
37
|
+
}
|
38
|
+
declare module '*.woff2' {
|
39
|
+
const value: any;
|
40
|
+
export = value;
|
41
|
+
}
|