From fc9cf9604cad93adcc7c1d6f1120f299fc141d78 Mon Sep 17 00:00:00 2001 From: moklick Date: Wed, 30 Mar 2022 18:20:43 +0200 Subject: [PATCH 1/4] feat(package): add umd version --- example/package-lock.json | 66 +++---- package-lock.json | 253 ++++++++++++++++++++++++ package.json | 7 + rollup.config.js | 165 ++++++++++------ src/components/ConnectionLine/index.tsx | 7 +- src/container/ReactFlow/utils.ts | 1 + 6 files changed, 398 insertions(+), 101 deletions(-) diff --git a/example/package-lock.json b/example/package-lock.json index 3967ea69..062b401a 100644 --- a/example/package-lock.json +++ b/example/package-lock.json @@ -27,48 +27,48 @@ }, "..": { "name": "react-flow-renderer", - "version": "10.0.0-next.51", + "version": "10.0.7", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.16.7", + "@babel/runtime": "^7.17.8", "classcat": "^5.0.3", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", "react-draggable": "^4.4.4", - "zustand": "^3.6.9" + "zustand": "^3.7.1" }, "devDependencies": { - "@babel/core": "^7.16.12", - "@babel/plugin-transform-runtime": "^7.16.10", + "@babel/core": "^7.17.5", + "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.16.7", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-commonjs": "^21.0.2", "@rollup/plugin-node-resolve": "^13.1.3", - "@rollup/plugin-replace": "^3.0.1", + "@rollup/plugin-replace": "^4.0.0", "@svgr/rollup": "^6.2.1", "@types/d3": "^7.1.0", - "@types/react": "^17.0.38", - "@types/resize-observer-browser": "^0.1.6", + "@types/react": "^17.0.40", + "@types/resize-observer-browser": "^0.1.7", "autoprefixer": "^10.4.2", "babel-preset-react-app": "^10.0.1", - "cypress": "^9.3.1", - "postcss": "^8.4.5", + "cypress": "^9.5.1", + "postcss": "^8.4.8", "postcss-cli": "^9.1.0", "postcss-nested": "^5.0.6", "prettier": "2.5.1", "react": "^17.0.2", "react-dom": "^17.0.2", - "release-it": "^14.12.4", - "rollup": "^2.66.1", + "release-it": "^14.12.5", + "rollup": "^2.70.1", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-serve": "^1.1.0", - "rollup-plugin-typescript2": "^0.31.1", - "rollup-plugin-visualizer": "^5.5.4", + "rollup-plugin-typescript2": "^0.31.2", + "rollup-plugin-visualizer": "^5.6.0", "start-server-and-test": "^1.14.0", - "typescript": "^4.5.5" + "typescript": "^4.6.2" }, "engines": { "node": ">=12" @@ -34325,43 +34325,43 @@ "react-flow-renderer": { "version": "file:..", "requires": { - "@babel/core": "^7.16.12", - "@babel/plugin-transform-runtime": "^7.16.10", + "@babel/core": "^7.17.5", + "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.16.7", - "@babel/runtime": "^7.16.7", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^21.0.1", + "@babel/runtime": "^7.17.8", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-commonjs": "^21.0.2", "@rollup/plugin-node-resolve": "^13.1.3", - "@rollup/plugin-replace": "^3.0.1", + "@rollup/plugin-replace": "^4.0.0", "@svgr/rollup": "^6.2.1", "@types/d3": "^7.1.0", - "@types/react": "^17.0.38", - "@types/resize-observer-browser": "^0.1.6", + "@types/react": "^17.0.40", + "@types/resize-observer-browser": "^0.1.7", "autoprefixer": "^10.4.2", "babel-preset-react-app": "^10.0.1", "classcat": "^5.0.3", - "cypress": "^9.3.1", + "cypress": "^9.5.1", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", - "postcss": "^8.4.5", + "postcss": "^8.4.8", "postcss-cli": "^9.1.0", "postcss-nested": "^5.0.6", "prettier": "2.5.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-draggable": "^4.4.4", - "release-it": "^14.12.4", - "rollup": "^2.66.1", + "release-it": "^14.12.5", + "rollup": "^2.70.1", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-serve": "^1.1.0", - "rollup-plugin-typescript2": "^0.31.1", - "rollup-plugin-visualizer": "^5.5.4", + "rollup-plugin-typescript2": "^0.31.2", + "rollup-plugin-visualizer": "^5.6.0", "start-server-and-test": "^1.14.0", - "typescript": "^4.5.5", - "zustand": "^3.6.9" + "typescript": "^4.6.2", + "zustand": "^3.7.1" }, "dependencies": { "@babel/code-frame": { diff --git a/package-lock.json b/package-lock.json index b3731fd6..be93f616 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,6 +44,7 @@ "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-serve": "^1.1.0", + "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.31.2", "rollup-plugin-visualizer": "^5.6.0", "start-server-and-test": "^1.14.0", @@ -2944,6 +2945,18 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, + "node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -3530,6 +3543,12 @@ "node": "*" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/builtin-modules": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", @@ -6042,6 +6061,41 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/joi": { "version": "17.4.2", "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.2.tgz", @@ -8372,6 +8426,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -9035,6 +9098,21 @@ "opener": "1" } }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, "node_modules/rollup-plugin-typescript2": { "version": "0.31.2", "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz", @@ -9247,6 +9325,15 @@ "node": ">=8" } }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -9379,6 +9466,25 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -9666,6 +9772,39 @@ "node": ">= 10" } }, + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, + "dependencies": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/throttleit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", @@ -12506,6 +12645,12 @@ } } }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -12935,6 +13080,12 @@ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "builtin-modules": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", @@ -14798,6 +14949,34 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "joi": { "version": "17.4.2", "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.2.tgz", @@ -16465,6 +16644,15 @@ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -16970,6 +17158,18 @@ "opener": "1" } }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, "rollup-plugin-typescript2": { "version": "0.31.2", "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz", @@ -17136,6 +17336,15 @@ "semver": "^6.3.0" } }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -17234,6 +17443,24 @@ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "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 + } + } + }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -17448,6 +17675,32 @@ } } }, + "terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, + "requires": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "throttleit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", diff --git a/package.json b/package.json index 4ff9a45f..c1292a97 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,12 @@ "type": "module", "main": "dist/esm/index.js", "module": "dist/esm/index.js", + "jsdelivr": "dist/umd/index.js", + "unpkg": "dist/umd/index.js", + "exports": { + "umd": "./dist/umd/index.js", + "default": "./dist/esm/index.js" + }, "types": "dist/esm/index.d.ts", "license": "MIT", "repository": { @@ -67,6 +73,7 @@ "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-serve": "^1.1.0", + "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.31.2", "rollup-plugin-visualizer": "^5.6.0", "start-server-and-test": "^1.14.0", diff --git a/rollup.config.js b/rollup.config.js index a1240555..433562b9 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -7,6 +7,7 @@ import svgr from '@svgr/rollup'; import typescript from 'rollup-plugin-typescript2'; import { DEFAULT_EXTENSIONS as DEFAULT_BABEL_EXTENSIONS } from '@babel/core'; import { visualizer } from 'rollup-plugin-visualizer'; +import { terser } from 'rollup-plugin-terser'; import pkg from './package.json'; @@ -14,74 +15,114 @@ const isProd = process.env.NODE_ENV === 'production'; const isTesting = process.env.NODE_ENV === 'testing'; const processEnv = isProd || isTesting ? 'production' : 'development'; -export const baseConfig = ({ outputDir = 'dist/esm', injectCSS = true } = {}) => ({ - input: [ - 'src/index.ts', - 'src/additional-components/Controls/index.tsx', - 'src/additional-components/Background/index.tsx', - 'src/additional-components/MiniMap/index.tsx', - 'src/hooks/useReactFlow.ts', - 'src/hooks/useNodes.ts', - 'src/hooks/useEdges.ts', - 'src/hooks/useViewport.ts', - 'src/hooks/useUpdateNodeInternals.ts', - ], - external: [ - 'react', - 'react-dom', - 'classcat', - 'd3-selection', - 'd3-zoom', - 'react-draggable', - 'zustand', - 'zustand/shallow', - 'zustand/context', - (id) => id.includes('@babel/runtime'), - ], - onwarn(warning, rollupWarn) { - if (warning.code !== 'CIRCULAR_DEPENDENCY') { - rollupWarn(warning); - } - }, - output: { - dir: outputDir, - format: 'esm', - sourcemap: true, - }, +const defaultOutputOptions = { + dir: 'dist/esm', + format: 'esm', + sourcemap: true, +}; - plugins: [ - replace({ - __ENV__: JSON.stringify(processEnv), - __REACT_FLOW_VERSION__: JSON.stringify(pkg.version), - __INJECT_STYLES__: injectCSS, - preventAssignment: true, - }), - postcss({ - minimize: isProd, - inject: false, - }), - svgr(), - resolve(), - typescript({ - clean: true, - }), - commonjs({ - include: 'node_modules/**', - }), - babel({ - extensions: [...DEFAULT_BABEL_EXTENSIONS, '.ts', '.tsx'], - exclude: 'node_modules/**', - babelHelpers: 'runtime', - }), - visualizer(), - ], -}); +export const baseConfig = ({ outputOptions = {}, injectCSS = true } = {}) => { + const output = { + ...defaultOutputOptions, + ...outputOptions, + }; + + const isEsm = output.format === 'esm'; + const replaceOptions = isEsm ? {} : { 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) }; + + return { + input: isEsm + ? [ + 'src/index.ts', + 'src/additional-components/Controls/index.tsx', + 'src/additional-components/Background/index.tsx', + 'src/additional-components/MiniMap/index.tsx', + 'src/hooks/useReactFlow.ts', + 'src/hooks/useNodes.ts', + 'src/hooks/useEdges.ts', + 'src/hooks/useViewport.ts', + 'src/hooks/useUpdateNodeInternals.ts', + ] + : 'src/index.ts', + external: isEsm + ? [ + 'react', + 'react-dom', + 'classcat', + 'd3-selection', + 'd3-zoom', + 'react-draggable', + 'zustand', + 'zustand/shallow', + 'zustand/context', + (id) => id.includes('@babel/runtime'), + ] + : ['react', 'react-dom'], + onwarn(warning, rollupWarn) { + if (warning.code !== 'CIRCULAR_DEPENDENCY') { + rollupWarn(warning); + } + }, + output, + + plugins: [ + replace({ + __ENV__: JSON.stringify(processEnv), + __REACT_FLOW_VERSION__: JSON.stringify(pkg.version), + __INJECT_STYLES__: injectCSS, + preventAssignment: true, + ...replaceOptions, + }), + postcss({ + minimize: isProd, + inject: false, + }), + svgr(), + resolve(), + typescript({ + clean: true, + }), + commonjs({ + include: 'node_modules/**', + }), + babel({ + extensions: [...DEFAULT_BABEL_EXTENSIONS, '.ts', '.tsx'], + exclude: 'node_modules/**', + babelHelpers: 'runtime', + }), + visualizer(), + !isEsm && terser(), + ], + }; +}; export default isProd && !isTesting ? [ baseConfig(), baseConfig({ - outputDir: 'dist/nocss', + outputOptions: { + dir: 'dist/umd', + format: 'umd', + exports: 'named', + name: 'ReactFlow', + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + classcat: 'cc', + 'd3-selection': 'd3', + 'd3-zoom': 'd3', + 'react-draggable': 'ReactDraggable', + zustand: 'zustand', + 'zustand/shallow': 'zustandShallow', + 'zustand/context': 'zustandContext', + }, + }, + }), + baseConfig({ + outputOptions: { + dir: 'dist/nocss', + }, + injectCSS: false, }), ] diff --git a/src/components/ConnectionLine/index.tsx b/src/components/ConnectionLine/index.tsx index dfdf248f..5a287ebf 100644 --- a/src/components/ConnectionLine/index.tsx +++ b/src/components/ConnectionLine/index.tsx @@ -38,12 +38,7 @@ export default ({ const { nodeInternals, transform } = useStore(selector, shallow); const fromNode = useRef(nodeInternals.get(nodeId)); - if ( - !fromNode.current || - !fromNode.current || - !isConnectable || - !fromNode.current.handleBounds?.[connectionHandleType] - ) { + if (!fromNode.current || !isConnectable || !fromNode.current.handleBounds?.[connectionHandleType]) { return null; } diff --git a/src/container/ReactFlow/utils.ts b/src/container/ReactFlow/utils.ts index d431a60d..42e8becb 100644 --- a/src/container/ReactFlow/utils.ts +++ b/src/container/ReactFlow/utils.ts @@ -11,6 +11,7 @@ export function useNodeOrEdgeTypes(nodeOrEdgeTypes: any, createTypes: any): any const typesKeysRef = useRef(null); const typesParsed = useMemo(() => { + // @ts-ignore if (process.env.NODE_ENV === 'development') { const typeKeys = Object.keys(nodeOrEdgeTypes); if (shallow(typesKeysRef.current, typeKeys)) { From 261452ec8252fa497df19b73ea0de5f89c255d9a Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 11 Apr 2022 12:14:33 +0200 Subject: [PATCH 2/4] refactor(rollup): remove svgr --- package-lock.json | 440 +----------------- package.json | 12 +- rollup.config.js | 2 - .../Controls/Icons/FitView.tsx | 11 + .../Controls/Icons/Lock.tsx | 11 + .../Controls/Icons/Minus.tsx | 11 + .../Controls/Icons/Plus.tsx | 11 + .../Controls/Icons/Unlock.tsx | 11 + src/additional-components/Controls/index.tsx | 10 +- tsconfig.json | 19 +- 10 files changed, 71 insertions(+), 467 deletions(-) create mode 100644 src/additional-components/Controls/Icons/FitView.tsx create mode 100644 src/additional-components/Controls/Icons/Lock.tsx create mode 100644 src/additional-components/Controls/Icons/Minus.tsx create mode 100644 src/additional-components/Controls/Icons/Plus.tsx create mode 100644 src/additional-components/Controls/Icons/Unlock.tsx diff --git a/package-lock.json b/package-lock.json index be93f616..6605c76f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,6 @@ "@rollup/plugin-commonjs": "^21.0.2", "@rollup/plugin-node-resolve": "^13.1.3", "@rollup/plugin-replace": "^4.0.0", - "@svgr/rollup": "^6.2.1", "@types/d3": "^7.1.0", "@types/react": "^17.0.40", "@types/resize-observer-browser": "^0.1.7", @@ -51,7 +50,7 @@ "typescript": "^4.6.2" }, "engines": { - "node": ">=12" + "node": ">=14" }, "peerDependencies": { "react": "16 || 17", @@ -1418,21 +1417,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz", - "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", @@ -2266,274 +2250,6 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz", - "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz", - "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz", - "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz", - "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz", - "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz", - "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz", - "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz", - "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz", - "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==", - "dev": true, - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0", - "@svgr/babel-plugin-transform-svg-component": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz", - "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==", - "dev": true, - "dependencies": { - "@svgr/plugin-jsx": "^6.2.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz", - "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.15.6", - "entities": "^3.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz", - "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==", - "dev": true, - "dependencies": { - "@babel/core": "^7.15.5", - "@svgr/babel-preset": "^6.2.0", - "@svgr/hast-util-to-babel-ast": "^6.2.1", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz", - "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@svgr/rollup": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.2.1.tgz", - "integrity": "sha512-5X6aMiGL1F5g0TubLY41GJ/Qf0Kz2xtbF37UbRJEHe2Z9CMlGl9Z3fQ8e28vmHrTptmymNRoHssgQ2Ejb1DARQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.15.5", - "@babel/plugin-transform-react-constant-elements": "^7.14.5", - "@babel/preset-env": "^7.15.6", - "@babel/preset-react": "^7.14.5", - "@babel/preset-typescript": "^7.16.0", - "@svgr/core": "^6.2.1", - "@svgr/plugin-jsx": "^6.2.1", - "@svgr/plugin-svgo": "^6.2.0", - "rollup-pluginutils": "^2.8.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -9736,12 +9452,6 @@ "node": ">=4" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, "node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", @@ -11446,15 +11156,6 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz", - "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, "@babel/plugin-transform-react-display-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", @@ -12105,139 +11806,6 @@ "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==", "dev": true }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz", - "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==", - "dev": true - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz", - "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==", - "dev": true - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz", - "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==", - "dev": true - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz", - "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==", - "dev": true - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz", - "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==", - "dev": true - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz", - "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==", - "dev": true - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz", - "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==", - "dev": true - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz", - "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg==", - "dev": true - }, - "@svgr/babel-preset": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz", - "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==", - "dev": true, - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0", - "@svgr/babel-plugin-transform-svg-component": "^6.2.0" - } - }, - "@svgr/core": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz", - "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==", - "dev": true, - "requires": { - "@svgr/plugin-jsx": "^6.2.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz", - "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "entities": "^3.0.1" - }, - "dependencies": { - "entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true - } - } - }, - "@svgr/plugin-jsx": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz", - "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==", - "dev": true, - "requires": { - "@babel/core": "^7.15.5", - "@svgr/babel-preset": "^6.2.0", - "@svgr/hast-util-to-babel-ast": "^6.2.1", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz", - "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.5.0" - } - }, - "@svgr/rollup": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.2.1.tgz", - "integrity": "sha512-5X6aMiGL1F5g0TubLY41GJ/Qf0Kz2xtbF37UbRJEHe2Z9CMlGl9Z3fQ8e28vmHrTptmymNRoHssgQ2Ejb1DARQ==", - "dev": true, - "requires": { - "@babel/core": "^7.15.5", - "@babel/plugin-transform-react-constant-elements": "^7.14.5", - "@babel/preset-env": "^7.15.6", - "@babel/preset-react": "^7.14.5", - "@babel/preset-typescript": "^7.16.0", - "@svgr/core": "^6.2.1", - "@svgr/plugin-jsx": "^6.2.1", - "@svgr/plugin-svgo": "^6.2.0", - "rollup-pluginutils": "^2.8.2" - } - }, "@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -17646,12 +17214,6 @@ "has-flag": "^3.0.0" } }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, "svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", diff --git a/package.json b/package.json index c1292a97..caa50b9e 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,17 @@ "name": "react-flow-renderer", "version": "10.0.7", "engines": { - "node": ">=12" + "node": ">=14" }, - "type": "module", - "main": "dist/esm/index.js", + "main": "dist/umd/index.js", "module": "dist/esm/index.js", "jsdelivr": "dist/umd/index.js", "unpkg": "dist/umd/index.js", "exports": { - "umd": "./dist/umd/index.js", - "default": "./dist/esm/index.js" + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + } }, "types": "dist/esm/index.d.ts", "license": "MIT", @@ -55,7 +56,6 @@ "@rollup/plugin-commonjs": "^21.0.2", "@rollup/plugin-node-resolve": "^13.1.3", "@rollup/plugin-replace": "^4.0.0", - "@svgr/rollup": "^6.2.1", "@types/d3": "^7.1.0", "@types/react": "^17.0.40", "@types/resize-observer-browser": "^0.1.7", diff --git a/rollup.config.js b/rollup.config.js index 433562b9..f03126eb 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -3,7 +3,6 @@ import commonjs from '@rollup/plugin-commonjs'; import babel from '@rollup/plugin-babel'; import postcss from 'rollup-plugin-postcss'; import replace from '@rollup/plugin-replace'; -import svgr from '@svgr/rollup'; import typescript from 'rollup-plugin-typescript2'; import { DEFAULT_EXTENSIONS as DEFAULT_BABEL_EXTENSIONS } from '@babel/core'; import { visualizer } from 'rollup-plugin-visualizer'; @@ -77,7 +76,6 @@ export const baseConfig = ({ outputOptions = {}, injectCSS = true } = {}) => { minimize: isProd, inject: false, }), - svgr(), resolve(), typescript({ clean: true, diff --git a/src/additional-components/Controls/Icons/FitView.tsx b/src/additional-components/Controls/Icons/FitView.tsx new file mode 100644 index 00000000..c745a0d4 --- /dev/null +++ b/src/additional-components/Controls/Icons/FitView.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +function FitViewIcon() { + return ( + + + + ); +} + +export default FitViewIcon; diff --git a/src/additional-components/Controls/Icons/Lock.tsx b/src/additional-components/Controls/Icons/Lock.tsx new file mode 100644 index 00000000..167cb899 --- /dev/null +++ b/src/additional-components/Controls/Icons/Lock.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +function LockIcon() { + return ( + + + + ); +} + +export default LockIcon; diff --git a/src/additional-components/Controls/Icons/Minus.tsx b/src/additional-components/Controls/Icons/Minus.tsx new file mode 100644 index 00000000..4bb29f35 --- /dev/null +++ b/src/additional-components/Controls/Icons/Minus.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +function MinusIcon() { + return ( + + + + ); +} + +export default MinusIcon; diff --git a/src/additional-components/Controls/Icons/Plus.tsx b/src/additional-components/Controls/Icons/Plus.tsx new file mode 100644 index 00000000..cc82c56c --- /dev/null +++ b/src/additional-components/Controls/Icons/Plus.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +function PlusIcon() { + return ( + + + + ); +} + +export default PlusIcon; diff --git a/src/additional-components/Controls/Icons/Unlock.tsx b/src/additional-components/Controls/Icons/Unlock.tsx new file mode 100644 index 00000000..7c921f1b --- /dev/null +++ b/src/additional-components/Controls/Icons/Unlock.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +function UnlockIcon() { + return ( + + + + ); +} + +export default UnlockIcon; diff --git a/src/additional-components/Controls/index.tsx b/src/additional-components/Controls/index.tsx index 2e931582..b7f4698c 100644 --- a/src/additional-components/Controls/index.tsx +++ b/src/additional-components/Controls/index.tsx @@ -4,11 +4,11 @@ import cc from 'classcat'; import { useStore, useStoreApi } from '../../store'; import useReactFlow from '../../hooks/useReactFlow'; -import PlusIcon from '../../../assets/icons/plus.svg'; -import MinusIcon from '../../../assets/icons/minus.svg'; -import FitviewIcon from '../../../assets/icons/fitview.svg'; -import LockIcon from '../../../assets/icons/lock.svg'; -import UnlockIcon from '../../../assets/icons/unlock.svg'; +import PlusIcon from './Icons/Plus'; +import MinusIcon from './Icons/Minus'; +import FitviewIcon from './Icons/FitView'; +import LockIcon from './Icons/Lock'; +import UnlockIcon from './Icons/Unlock'; import { ControlProps, ControlButtonProps, ReactFlowState } from '../../types'; diff --git a/tsconfig.json b/tsconfig.json index b1226b99..33a51e49 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,10 +3,7 @@ "outDir": "dist", "module": "esnext", "target": "esnext", - "lib": [ - "dom", - "esnext" - ], + "lib": ["dom", "esnext"], "jsx": "react", "moduleResolution": "node", "declaration": true, @@ -24,14 +21,6 @@ "allowSyntheticDefaultImports": true, "esModuleInterop": true }, - "include": [ - "src" - ], - "exclude": [ - "node_modules", - "build", - "dist", - "example", - "rollup.config.js" - ] -} \ No newline at end of file + "include": ["src"], + "exclude": ["node_modules", "build", "dist", "example", "rollup.config.js"] +} From ce9cce9f6219560649000817978bdda202486560 Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 11 Apr 2022 12:17:54 +0200 Subject: [PATCH 3/4] refactor(build): remove dist before build --- package-lock.json | 1 + package.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 6605c76f..fefdd2c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "release-it": "^14.12.5", + "rimraf": "^3.0.2", "rollup": "^2.70.1", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-postcss": "^4.0.2", diff --git a/package.json b/package.json index caa50b9e..7505c2f0 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "url": "https://github.com/wbkd/react-flow.git" }, "scripts": { - "build": "rollup -c --environment NODE_ENV:production && postcss src/*.css --dir dist", + "build": "rimraf dist && rollup -c --environment NODE_ENV:production && postcss src/*.css --dir dist", "start": "rollup -w -c", "start:examples": "cd example && npm start", "build:examples": "cd example && npm run build", @@ -69,6 +69,7 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "release-it": "^14.12.5", + "rimraf": "^3.0.2", "rollup": "^2.70.1", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-postcss": "^4.0.2", From ffb273c3c9608f15566ee16742ceef9f893db225 Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 11 Apr 2022 12:44:31 +0200 Subject: [PATCH 4/4] chore(pkg): export package.json --- package-lock.json | 4 ++-- package.json | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1b1435a5..c0779022 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "react-flow-renderer", - "version": "10.0.8", + "version": "10.0.9-next.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "react-flow-renderer", - "version": "10.0.8", + "version": "10.0.9-next.0", "license": "MIT", "dependencies": { "@babel/runtime": "^7.17.8", diff --git a/package.json b/package.json index 0efab49b..86cd7f6a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-flow-renderer", - "version": "10.0.8", + "version": "10.0.9-next.0", "engines": { "node": ">=14" }, @@ -12,7 +12,8 @@ ".": { "import": "./dist/esm/index.js", "require": "./dist/umd/index.js" - } + }, + "./package.json": "./package.json" }, "types": "dist/esm/index.d.ts", "license": "MIT",