From edefe860cf474831325175ca4f39403ab332a68d Mon Sep 17 00:00:00 2001 From: moklick Date: Sat, 16 May 2020 12:41:33 +0200 Subject: [PATCH 01/14] refactor(helper): use type predicates for isEdge and isNode --- README.md | 4 ++-- src/hooks/useElementUpdater.ts | 10 +++++----- src/utils/graph.ts | 25 +++++++++++-------------- 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 57ccb09a..a2501be6 100644 --- a/README.md +++ b/README.md @@ -249,11 +249,11 @@ import ReactFlow, { isNode, isEdge, removeElements, addEdge } from 'react-flow-r #### isEdge -`isEdge = (element: Node | Edge): boolean` +`isEdge = (element: Node | Edge): element is Edge` #### isNode -`isNode = (element: Node | Edge): boolean` +`isNode = (element: Node | Edge): element is Node` #### removeElements diff --git a/src/hooks/useElementUpdater.ts b/src/hooks/useElementUpdater.ts index e7b67de1..17bdcdfa 100644 --- a/src/hooks/useElementUpdater.ts +++ b/src/hooks/useElementUpdater.ts @@ -18,10 +18,10 @@ const useElementUpdater = (elements: Elements): void => { const setEdges = useStoreActions((a) => a.setEdges); useEffect(() => { - const nodes = elements.filter(isNode) as Node[]; - const edges = elements.filter(isEdge).map((e) => parseElement(e)) as Edge[]; + const nodes: Node[] = elements.filter(isNode); + const edges: Edge[] = elements.filter(isEdge).map((e) => parseElement(e) as Edge); - const nextNodes = nodes.map((propNode) => { + const nextNodes: Node[] = nodes.map((propNode) => { const existingNode = state.nodes.find((n) => n.id === propNode.id); if (existingNode) { @@ -56,8 +56,8 @@ const useElementUpdater = (elements: Elements): void => { }; } - return parseElement(propNode); - }) as Node[]; + return parseElement(propNode) as Node; + }); const nodesChanged: boolean = !isEqual(state.nodes, nextNodes); const edgesChanged: boolean = !isEqual(state.edges, edges); diff --git a/src/utils/graph.ts b/src/utils/graph.ts index 838c4c58..e5eb1fe8 100644 --- a/src/utils/graph.ts +++ b/src/utils/graph.ts @@ -3,11 +3,11 @@ import { zoomIdentity } from 'd3-zoom'; import store from '../store'; import { ElementId, Node, Edge, Elements, Transform, XYPosition, Rect, FitViewParams, Box, Connection } from '../types'; -export const isEdge = (element: Node | Edge): boolean => - element.hasOwnProperty('source') && element.hasOwnProperty('target'); +export const isEdge = (element: Node | Connection | Edge): element is Edge => + 'id' in element && 'source' in element && 'target' in element; -export const isNode = (element: Node | Edge): boolean => - !element.hasOwnProperty('source') && !element.hasOwnProperty('target'); +export const isNode = (element: Node | Connection | Edge): element is Node => + 'id' in element && !('source' in element) && !('target' in element); export const getOutgoers = (node: Node, elements: Elements): Elements => { if (!isNode(node)) { @@ -38,9 +38,8 @@ export const addEdge = (edgeParams: Edge | Connection, elements: Elements): Elem throw new Error('Can not create edge. An edge needs a source and a target'); } - if (edgeParams.hasOwnProperty('id')) { - const edge = { ...edgeParams } as Edge; - return elements.concat(edge); + if (isEdge(edgeParams)) { + return elements.concat({ ...edgeParams }); } const edge = { @@ -88,19 +87,17 @@ export const parseElement = (element: Node | Edge): Node | Edge => { }; } - const nodeElement = element as Node; - return { - ...nodeElement, - id: nodeElement.id.toString(), - type: nodeElement.type || 'default', + ...element, + id: element.id.toString(), + type: element.type || 'default', __rg: { - position: nodeElement.position, + position: element.position, width: null, height: null, handleBounds: {}, }, - }; + } as Node; }; const getBoundsOfBoxes = (box1: Box, box2: Box): Box => ({ From 2ae431faed514243d2d3b9f6237754e2711e00e5 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 05:30:33 +0000 Subject: [PATCH 02/14] chore(deps-dev): bump autoprefixer from 9.7.6 to 9.8.0 Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.6 to 9.8.0. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/9.7.6...9.8.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 70 ++++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 61 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b58f578..c87f6c53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4030,25 +4030,75 @@ "dev": true }, "autoprefixer": { - "version": "9.7.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz", - "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", + "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", "dev": true, "requires": { - "browserslist": "^4.11.1", - "caniuse-lite": "^1.0.30001039", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001061", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.27", - "postcss-value-parser": "^4.0.3" + "postcss": "^7.0.30", + "postcss-value-parser": "^4.1.0" }, "dependencies": { + "browserslist": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" + } + }, "caniuse-lite": { - "version": "1.0.30001043", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001043.tgz", - "integrity": "sha512-MrBDRPJPDBYwACtSQvxg9+fkna5jPXhJlKmuxenl/ml9uf8LHKlDmLpElu+zTW/bEz7lC1m0wTDD7jiIB+hgFg==", + "version": "1.0.30001061", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001061.tgz", + "integrity": "sha512-SMICCeiNvMZnyXpuoO+ot7FHpMVPlrsR+HmfByj6nY4xYDHXLqMTbgH7ecEkDNXWkH1vaip+ZS0D7VTXwM1KYQ==", "dev": true + }, + "electron-to-chromium": { + "version": "1.3.441", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.441.tgz", + "integrity": "sha512-leBfJwLuyGs1jEei2QioI+PjVMavmUIvPYidE8dCCYWLAq0uefhN3NYgDNb8WxD3uiUNnJ3ScMXg0upSlwySzQ==", + "dev": true + }, + "postcss": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz", + "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, diff --git a/package.json b/package.json index 12d8dbfd..0e08e882 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@types/d3": "^5.7.2", "@types/react": "^16.9.35", "@types/react-dom": "^16.9.8", - "autoprefixer": "^9.7.6", + "autoprefixer": "^9.8.0", "babel-loader": "^8.1.0", "babel-preset-react-app": "^9.1.2", "cypress": "^4.5.0", From 4c7c2c0bb9818bb608c847352b5ef2014c66b6c6 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 05:31:18 +0000 Subject: [PATCH 03/14] chore(deps): bump @welldone-software/why-did-you-render Bumps [@welldone-software/why-did-you-render](https://github.com/welldone-software/why-did-you-render) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/welldone-software/why-did-you-render/releases) - [Commits](https://github.com/welldone-software/why-did-you-render/compare/v4.2.0...v4.2.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b58f578..0be78aee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3841,9 +3841,9 @@ "dev": true }, "@welldone-software/why-did-you-render": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@welldone-software/why-did-you-render/-/why-did-you-render-4.2.0.tgz", - "integrity": "sha512-vTy5wmcSvaYSellZX6mZeJHgpntKS/9ZBUxvbswoa5NMoL62F3I8di6CfojFUx42N4n0NapCARJhcMAvupI4IQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@welldone-software/why-did-you-render/-/why-did-you-render-4.2.1.tgz", + "integrity": "sha512-Q1jH++Sx0F09bU2eTEzAPuBxPiv/uxzgFfWMX1G8LqT4xzdGOrr287DD3lsfPpGLDLx9sqL8jMc0RoxorRewUg==", "requires": { "lodash": "^4" } diff --git a/package.json b/package.json index 12d8dbfd..786a3eb6 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "release": "release-it" }, "dependencies": { - "@welldone-software/why-did-you-render": "^4.2.0", + "@welldone-software/why-did-you-render": "^4.2.1", "classnames": "^2.2.6", "d3-selection": "^1.4.1", "d3-zoom": "^1.8.3", From 3955e07719c4ccd50f2c63cdff850b11c4c5406a Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 05:36:09 +0000 Subject: [PATCH 04/14] chore(deps-dev): bump typescript from 3.8.3 to 3.9.2 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.8.3 to 3.9.2. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v3.8.3...v3.9.2) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b58f578..f6589446 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11110,9 +11110,9 @@ } }, "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.2.tgz", + "integrity": "sha512-q2ktq4n/uLuNNShyayit+DTobV2ApPEo/6so68JaD5ojvc/6GClBipedB9zNWYxRSAlZXAe405Rlijzl6qDiSw==", "dev": true }, "uglify-js": { diff --git a/package.json b/package.json index 12d8dbfd..92a0ac98 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "rollup-plugin-typescript2": "^0.27.0", "rollup-plugin-uglify": "^6.0.4", "start-server-and-test": "^1.11.0", - "typescript": "^3.8.3" + "typescript": "^3.9.2" }, "peerDependencies": { "react": "^16.13.1" From 15a554f8fee7382221be85741eb56abb9604ee22 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 05:39:22 +0000 Subject: [PATCH 05/14] chore(deps-dev): bump release-it from 13.5.8 to 13.6.1 Bumps [release-it](https://github.com/release-it/release-it) from 13.5.8 to 13.6.1. - [Release notes](https://github.com/release-it/release-it/releases) - [Changelog](https://github.com/release-it/release-it/blob/master/CHANGELOG.md) - [Commits](https://github.com/release-it/release-it/compare/13.5.8...13.6.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 112 +++++++++++++++++++--------------------------- package.json | 2 +- 2 files changed, 48 insertions(+), 66 deletions(-) diff --git a/package-lock.json b/package-lock.json index 84e8c14c..2800dbc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2821,12 +2821,12 @@ "dev": true }, "@octokit/plugin-rest-endpoint-methods": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.8.0.tgz", - "integrity": "sha512-LUkTgZ53adPFC/Hw6mxvAtShUtGy3zbpcfCAJMWAN7SvsStV4p6TK7TocSv0Aak4TNmDLhbShTagGhpgz9mhYw==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.11.0.tgz", + "integrity": "sha512-D31cBYhlOt6Om2xNkCNZUjyWdaDKUfa4HwpLwL8Dnu8aDuVuuOPLUhFMUDE0GvfqlNQFrNtU7n5HaZm+KmRdsw==", "dev": true, "requires": { - "@octokit/types": "^2.12.1", + "@octokit/types": "^2.16.0", "deprecation": "^2.3.1" } }, @@ -2875,21 +2875,21 @@ } }, "@octokit/rest": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.6.0.tgz", - "integrity": "sha512-knh+4hPBA26AMXflFRupTPT3u9NcQmQzeBJl4Gcuf14Gn7dUh6Loc1ICWF0Pz18A6ElFZQt+wB9tFINSruIa+g==", + "version": "17.9.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.9.0.tgz", + "integrity": "sha512-Ff2jwS2OizWVaiCozOJevQ97V+mKjlQAt//lU6a/lhWDfHsZLXm/k1RsyTKVbyuiriDi7pg899wCU59nYfKnmQ==", "dev": true, "requires": { "@octokit/core": "^2.4.3", "@octokit/plugin-paginate-rest": "^2.2.0", "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "3.8.0" + "@octokit/plugin-rest-endpoint-methods": "3.11.0" } }, "@octokit/types": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.15.0.tgz", - "integrity": "sha512-0mnpenB8rLhBVu8VUklp38gWi+EatjvcEcLWcdProMKauSaQWWepOAybZ714sOGsEyhXPlIcHICggn8HUsCXVw==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", "dev": true, "requires": { "@types/node": ">= 8" @@ -4778,9 +4778,9 @@ "dev": true }, "cacheable-lookup": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-4.3.0.tgz", - "integrity": "sha512-PTUoCeIjj2awloqyVRUL33SjquU1Qv5xuDalYY8WAzd9NnUMUivZnGsOzVsMfg2YuMsWXaXkd/hjnsVoWc/3YA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz", + "integrity": "sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==", "dev": true }, "cacheable-request": { @@ -5759,18 +5759,18 @@ "dev": true }, "decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", - "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "requires": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" }, "dependencies": { "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true } } @@ -6319,9 +6319,9 @@ "dev": true }, "fastq": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", - "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -6620,20 +6620,20 @@ } }, "got": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-11.1.0.tgz", - "integrity": "sha512-9lZDzFe43s6HH60tSurUk04kEtssfLiIfMiY5lSE0+vVaDCmT7+0xYzzlHY5VArSiz41mQQC38LefW2KoE9erw==", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/got/-/got-11.1.4.tgz", + "integrity": "sha512-z94KIXHhFSpJONuY6C6w1wC+igE7P1d0b5h3H2CvrOXn0/tum/OgFblIGUAxI5PBXukGLvKb9MJXVHW8vsYaBA==", "dev": true, "requires": { - "@sindresorhus/is": "^2.1.0", - "@szmarczak/http-timer": "^4.0.0", + "@sindresorhus/is": "^2.1.1", + "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", - "cacheable-lookup": "^4.1.1", + "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "get-stream": "^5.0.0", - "http2-wrapper": "^1.0.0-beta.4.4", + "decompress-response": "^6.0.0", + "get-stream": "^5.1.0", + "http2-wrapper": "^1.0.0-beta.4.5", "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" @@ -9713,25 +9713,25 @@ } }, "release-it": { - "version": "13.5.8", - "resolved": "https://registry.npmjs.org/release-it/-/release-it-13.5.8.tgz", - "integrity": "sha512-5CNuQgkXWcskAediHpnVaU2sOT+27tOeLz8+SXsPHFrdkaCfRKVL1Isekp4AylWmN3sbx2K+cI7Dg6RwtLSYYg==", + "version": "13.6.1", + "resolved": "https://registry.npmjs.org/release-it/-/release-it-13.6.1.tgz", + "integrity": "sha512-y7RfD4+O+I3WwWkULH5Y4kqcBr1bzQ8dNYnG8/7LVycWBajkFSDbKdCper9VGZulpFcXiSFfhenXrnGrDlHMnA==", "dev": true, "requires": { "@iarna/toml": "2.2.5", - "@octokit/rest": "17.6.0", + "@octokit/rest": "17.9.0", "async-retry": "1.3.1", "chalk": "4.0.0", "cosmiconfig": "6.0.0", "debug": "4.1.1", "deprecated-obj": "1.0.1", "detect-repo-changelog": "1.0.1", - "execa": "4.0.0", + "execa": "4.0.1", "find-up": "4.1.0", "form-data": "3.0.0", "git-url-parse": "11.1.2", "globby": "11.0.0", - "got": "11.1.0", + "got": "11.1.4", "import-cwd": "3.0.0", "inquirer": "7.1.0", "is-ci": "2.0.0", @@ -9747,19 +9747,10 @@ "url-join": "4.0.1", "uuid": "8.0.0", "window-size": "1.1.1", - "yaml": "1.9.2", + "yaml": "1.10.0", "yargs-parser": "18.1.3" }, "dependencies": { - "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, "ansi-styles": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", @@ -9820,9 +9811,9 @@ } }, "execa": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.0.tgz", - "integrity": "sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.1.tgz", + "integrity": "sha512-SCjM/zlBdOK8Q5TIjOn6iEHZaPHFsMoTxXQ2nvUvtPnuohz3H2dIozSg+etNR98dGoYUp2ENSKLL/XaMmbxVgw==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -9917,12 +9908,6 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -9975,13 +9960,10 @@ } }, "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.9.2" - } + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true } } }, diff --git a/package.json b/package.json index 52046fa6..937ab6f7 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "prettier": "2.0.5", "prop-types": "^15.7.2", "react": "^16.13.1", - "release-it": "^13.5.8", + "release-it": "^13.6.1", "rollup": "^2.9.1", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-bundle-size": "^1.0.3", From 38fe765e7d54c1dc51f35b424e4b36e93ab32440 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 05:50:47 +0000 Subject: [PATCH 06/14] chore(deps-dev): bump rollup-plugin-typescript2 from 0.27.0 to 0.27.1 Bumps [rollup-plugin-typescript2](https://github.com/ezolenko/rollup-plugin-typescript2) from 0.27.0 to 0.27.1. - [Release notes](https://github.com/ezolenko/rollup-plugin-typescript2/releases) - [Commits](https://github.com/ezolenko/rollup-plugin-typescript2/compare/0.27.0...0.27.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 30 ++++++++++++++++-------------- package.json | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4a5fc0ca..ec837832 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2896,12 +2896,14 @@ } }, "@rollup/pluginutils": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.8.tgz", - "integrity": "sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.10.tgz", + "integrity": "sha512-d44M7t+PjmMrASHbhgpSbVgtL6EFyX7J4mYxwQ/c5eoaE6N2VgCgEcWVzNnwycIloti+/MpwFr8qfw+nRw00sw==", "dev": true, "requires": { - "estree-walker": "^1.0.1" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" }, "dependencies": { "estree-walker": { @@ -10448,16 +10450,16 @@ } }, "rollup-plugin-typescript2": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.0.tgz", - "integrity": "sha512-SRKG/Canve3cxBsqhY1apIBznqnX9X/WU3Lrq3XSwmTmFqccj3+//logLXFEmp+PYFNllSVng+f4zjqRTPKNkA==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.1.tgz", + "integrity": "sha512-RJl77Bbj1EunAQDC3dK/O2HWuSUX3oJbRGzyLoS5o9W4Hs1Nix3Gavqj1Lzs5Y6Ff4H2xXfmZ1WWUQCYocSbzQ==", "dev": true, "requires": { "@rollup/pluginutils": "^3.0.8", "find-cache-dir": "^3.3.1", "fs-extra": "8.1.0", "resolve": "1.15.1", - "tslib": "1.11.1" + "tslib": "1.11.2" }, "dependencies": { "find-cache-dir": { @@ -10472,9 +10474,9 @@ } }, "make-dir": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", - "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -10496,9 +10498,9 @@ "dev": true }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", "dev": true } } diff --git a/package.json b/package.json index a3fe780b..622c3f79 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "rollup-plugin-replace": "^2.2.0", "rollup-plugin-serve": "^1.0.1", "rollup-plugin-terser": "^5.3.0", - "rollup-plugin-typescript2": "^0.27.0", + "rollup-plugin-typescript2": "^0.27.1", "rollup-plugin-uglify": "^6.0.4", "start-server-and-test": "^1.11.0", "typescript": "^3.9.2" From 0711b86d00891d749dc8119a6ccd7114ff0d8aab Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 05:54:25 +0000 Subject: [PATCH 07/14] chore(deps-dev): bump rollup from 2.9.1 to 2.10.2 Bumps [rollup](https://github.com/rollup/rollup) from 2.9.1 to 2.10.2. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v2.9.1...v2.10.2) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index e522cd87..13c627ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10137,9 +10137,9 @@ } }, "rollup": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.9.1.tgz", - "integrity": "sha512-kEZn76R0j+WD4AActu5Np4RShNlewTtJhdUaWNtHwHnAA8AOapyXgH6O7NL2RkcQLHnl49oz1xW1VrDcu5yP+Q==", + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.10.2.tgz", + "integrity": "sha512-tivFM8UXBlYOUqpBYD3pRktYpZvK/eiCQ190eYlrAyrpE/lzkyG2gbawroNdbwmzyUc7Y4eT297xfzv0BDh9qw==", "dev": true, "requires": { "fsevents": "~2.1.2" diff --git a/package.json b/package.json index 6bd5eaaf..8c45c688 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "prop-types": "^15.7.2", "react": "^16.13.1", "release-it": "^13.6.1", - "rollup": "^2.9.1", + "rollup": "^2.10.2", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-bundle-size": "^1.0.3", "rollup-plugin-commonjs": "^10.1.0", From 90db1ca005ed4cbf9fa249b21cc9c5e3a9e8fadb Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 08:12:30 +0000 Subject: [PATCH 08/14] chore(deps): bump react-draggable from 4.3.1 to 4.4.2 Bumps [react-draggable](https://github.com/mzabriskie/react-draggable) from 4.3.1 to 4.4.2. - [Release notes](https://github.com/mzabriskie/react-draggable/releases) - [Changelog](https://github.com/STRML/react-draggable/blob/master/CHANGELOG.md) - [Commits](https://github.com/mzabriskie/react-draggable/compare/v4.3.1...v4.4.2) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13c627ff..722b1cb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9576,9 +9576,9 @@ } }, "react-draggable": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.3.1.tgz", - "integrity": "sha512-m8QeV+eIi7LhD5mXoLqDzLbokc6Ncwa0T34fF6uJzWSs4vc4fdZI/XGqHYoEn91T8S6qO+BSXslONh7Jz9VPQQ==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.2.tgz", + "integrity": "sha512-zLQs4R4bnBCGnCVTZiD8hPsHtkiJxgMpGDlRESM+EHQo8ysXhKJ2GKdJ8UxxLJdRVceX1j19jy+hQS2wHislPQ==", "requires": { "classnames": "^2.2.5", "prop-types": "^15.6.0" diff --git a/package.json b/package.json index 8c45c688..3c5667f9 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "d3-zoom": "^1.8.3", "easy-peasy": "^3.3.0", "fast-deep-equal": "^3.1.1", - "react-draggable": "^4.3.1", + "react-draggable": "^4.4.2", "resize-observer": "^1.0.0" }, "devDependencies": { From 381d664c3b3c2ba51932e3eef203751148393e74 Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 18 May 2020 18:32:39 +0200 Subject: [PATCH 09/14] chore(examples): edge label --- example/src/Edges/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/src/Edges/index.js b/example/src/Edges/index.js index ddc6e4ed..be0f8027 100644 --- a/example/src/Edges/index.js +++ b/example/src/Edges/index.js @@ -18,7 +18,7 @@ const initialElements = [ { id: '6', type: 'output', data: { label: 'Output 6' }, position: { x: 50, y: 550 } }, { id: '7', type: 'output', data: { label: 'Output 7' }, position: { x: 250, y: 550 } }, { id: '8', type: 'output', data: { label: 'Output 8' }, position: { x: 525, y: 600 } }, - { id: 'e1-2', source: '1', target: '2', label: 'bezier edge' }, + { id: 'e1-2', source: '1', target: '2', label: 'bezier edge (default)' }, { id: 'e2-3', source: '2', target: '3', type: 'step', label: 'step edge' }, { id: 'e3-4', source: '3', target: '4', type: 'straight', label: 'straight edge' }, { id: 'e3-3a', source: '3', target: '3a', type: 'straight', label: 'label only edge', style: { stroke: 'none' } }, From 1ace58db4b80002b00184f48bf3789072cf3e701 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 19 May 2020 12:28:04 +0200 Subject: [PATCH 10/14] refactor(elements): cast source and target of edge to string --- src/utils/graph.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/graph.ts b/src/utils/graph.ts index e5eb1fe8..dede7829 100644 --- a/src/utils/graph.ts +++ b/src/utils/graph.ts @@ -82,6 +82,8 @@ export const parseElement = (element: Node | Edge): Node | Edge => { if (isEdge(element)) { return { ...element, + source: element.source.toString(), + target: element.target.toString(), id: element.id.toString(), type: element.type || 'default', }; From c71b4cc5511486391fe24e6c7267ac722ebb07d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20Mo=CC=88ller?= Date: Tue, 19 May 2020 18:05:20 +0200 Subject: [PATCH 11/14] add stats.html to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 72cf9624..733f8f6e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ examples/build cypress/videos cypress/screenshots dist -.env \ No newline at end of file +.env +stats.html \ No newline at end of file From cebab6731b0a4826464dd7e978c1d7e3ec359a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20Mo=CC=88ller?= Date: Tue, 19 May 2020 18:06:00 +0200 Subject: [PATCH 12/14] add className prop to ReactFlow container component closes #238 --- cypress/integration/flow/basic.spec.js | 1 + example/src/Basic/index.js | 1 + src/container/ReactFlow/index.tsx | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cypress/integration/flow/basic.spec.js b/cypress/integration/flow/basic.spec.js index ae69e220..46e2aed7 100644 --- a/cypress/integration/flow/basic.spec.js +++ b/cypress/integration/flow/basic.spec.js @@ -3,6 +3,7 @@ describe('Basic Graph Rendering', () => { cy.visit('/basic'); cy.get('.react-flow__renderer'); + cy.get('.react-flow-basic-example'); // check if className prop works cy.get('.react-flow__node').should('have.length', 4); cy.get('.react-flow__edge').should('have.length', 2); cy.get('.react-flow__node').children('div').children('.react-flow__handle'); diff --git a/example/src/Basic/index.js b/example/src/Basic/index.js index 5edc5ce6..002ef268 100644 --- a/example/src/Basic/index.js +++ b/example/src/Basic/index.js @@ -49,6 +49,7 @@ const BasicFlow = () => { onNodeDragStop={onNodeDragStop} style={{ width: '100%', height: '100%' }} backgroundType="lines" + className="react-flow-basic-example" >