From eb60997f3fd772d9b5e5e52a951e7b66c7b93d18 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 19:41:00 +0200 Subject: [PATCH 1/7] update dependencies --- package-lock.json | 484 +++++++++++++++++++++------------------------- package.json | 22 +-- 2 files changed, 230 insertions(+), 276 deletions(-) diff --git a/package-lock.json b/package-lock.json index ecae9e7d..c483eca1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,14 +5,13 @@ "requires": true, "packages": { "": { - "name": "svgedit", "version": "6.0.0", "license": "(MIT AND Apache-2.0 AND ISC AND LGPL-3.0-or-later AND X11)", "dependencies": { "@babel/polyfill": "7.12.1", "@web/dev-server-rollup": "0.3.3", "canvg": "3.0.7", - "core-js": "3.11.1", + "core-js": "3.12.1", "deparam": "^1.0.5", "elix": "^15.0.0", "i18next": "^20.2.2", @@ -24,7 +23,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@babel/preset-env": "7.14.0", + "@babel/preset-env": "7.14.1", "@babel/register": "7.13.16", "@babel/runtime-corejs3": "7.14.0", "@cypress/code-coverage": "3.9.5", @@ -33,16 +32,16 @@ "@hkdobrev/run-if-changed": "0.3.1", "@mysticatea/eslint-plugin": "13.0.0", "@rollup/plugin-babel": "5.3.0", - "@rollup/plugin-commonjs": "18.0.0", + "@rollup/plugin-commonjs": "19.0.0", "@rollup/plugin-dynamic-import-vars": "1.1.1", - "@rollup/plugin-node-resolve": "11.2.1", + "@rollup/plugin-node-resolve": "13.0.0", "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-url": "6.0.0", "@web/dev-server": "^0.1.17", "axe-core": "4.2.0", "babel-plugin-transform-object-rest-spread": "7.0.0-beta.3", "copyfiles": "2.4.1", - "core-js-bundle": "3.11.1", + "core-js-bundle": "3.12.1", "coveradge": "0.6.0", "cp-cli": "2.0.0", "cross-var": "1.1.0", @@ -50,18 +49,18 @@ "cypress-axe": "0.12.2", "cypress-multi-reporters": "1.5.0", "cypress-plugin-snapshots": "1.4.4", - "eslint": "^7.25.0", + "eslint": "^7.26.0", "eslint-config-standard": "16.0.2", "eslint-plugin-array-func": "3.1.7", "eslint-plugin-chai-expect": "2.2.0", "eslint-plugin-chai-expect-keywords": "2.1.0", "eslint-plugin-chai-friendly": "0.6.0", "eslint-plugin-compat": "^3.9.0", - "eslint-plugin-cypress": "2.11.2", + "eslint-plugin-cypress": "2.11.3", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-html": "^6.1.2", "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsdoc": "^33.0.0", + "eslint-plugin-jsdoc": "^33.1.1", "eslint-plugin-markdown": "^2.1.0", "eslint-plugin-mocha": "8.1.0", "eslint-plugin-mocha-cleanup": "1.9.1", @@ -71,11 +70,11 @@ "eslint-plugin-promise": "^5.1.0", "eslint-plugin-sonarjs": "^0.7.0", "eslint-plugin-standard": "4.1.0", - "eslint-plugin-unicorn": "31.0.0", + "eslint-plugin-unicorn": "32.0.0", "imageoptim-cli": "3.0.2", "jamilih": "0.54.0", "jsdoc": "3.6.6", - "mocha": "8.3.2", + "mocha": "8.4.0", "mocha-badge-generator": "0.9.0", "mochawesome": "6.2.2", "mochawesome-merge": "4.2.0", @@ -91,7 +90,7 @@ "remark-lint-ordered-list-marker-value": "2.0.1", "requirejs": "2.3.6", "rimraf": "3.0.2", - "rollup": "2.46.0", + "rollup": "2.47.0", "rollup-plugin-copy": "3.4.0", "rollup-plugin-filesize": "9.1.1", "rollup-plugin-node-polyfills": "0.2.1", @@ -913,9 +912,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.1.tgz", + "integrity": "sha512-2mQXd0zBrwfp0O1moWIhPpEeTKDvxyHcnma3JATVP1l+CctWBuot6OJG8LQ4DnBj4ZZPSmlb/fm4mu47EOAnVA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" @@ -1335,9 +1334,9 @@ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, "node_modules/@babel/preset-env": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.0.tgz", - "integrity": "sha512-GWRCdBv2whxqqaSi7bo/BEXf070G/fWFMEdCnmoRg2CZJy4GK06ovFuEjJrZhDRXYgBsYtxVbG8GUHvw+UWBkQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.1.tgz", + "integrity": "sha512-0M4yL1l7V4l+j/UHvxcdvNfLB9pPtIooHTbEhgD/6UGyh8Hy3Bm1Mj0buzjDXATCSz3JFibVdnoJZCrlUCanrQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.14.0", @@ -1377,7 +1376,7 @@ "@babel/plugin-transform-arrow-functions": "^7.13.0", "@babel/plugin-transform-async-to-generator": "^7.13.0", "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.13.16", + "@babel/plugin-transform-block-scoping": "^7.14.1", "@babel/plugin-transform-classes": "^7.13.0", "@babel/plugin-transform-computed-properties": "^7.13.0", "@babel/plugin-transform-destructuring": "^7.13.17", @@ -1407,7 +1406,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.13", "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.0", + "@babel/types": "^7.14.1", "babel-plugin-polyfill-corejs2": "^0.2.0", "babel-plugin-polyfill-corejs3": "^0.2.0", "babel-plugin-polyfill-regenerator": "^0.2.0", @@ -1809,9 +1808,9 @@ "dev": true }, "node_modules/@babel/types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.0.tgz", - "integrity": "sha512-O2LVLdcnWplaGxiPBz12d0HcdN8QdxdsWYhz5LSeuukV/5mn2xUUc3gBeU4QBYPJ18g/UToe8F532XJ608prmg==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.1.tgz", + "integrity": "sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", @@ -2475,18 +2474,23 @@ "dev": true }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.1.1.tgz", - "integrity": "sha512-6lIx5Pjc50D7VJU9lfRZ1twfIrIwQk+aeT9Ink2C07IUu/y9pxkIpDqmhY/VN3jAW42dA5z6ioOdyhOZZU1isw==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.4.4.tgz", + "integrity": "sha512-ua4qDt9dQb4qt5OI38eCZcQZYE5Bq3P0GzgvDARdT8Lt0mAUpxKTPy8JGGqEvF77tG1irKDZ3WreeezEa3P43w==", "dev": true, + "dependencies": { + "comment-parser": "^1.1.5", + "esquery": "^1.4.0", + "jsdoctypeparser": "^9.0.0" + }, "engines": { "node": ">=10.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", + "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -2503,24 +2507,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "node_modules/@eslint/eslintrc/node_modules/debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -2531,6 +2517,11 @@ }, "engines": { "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/@eslint/eslintrc/node_modules/espree": { @@ -2557,6 +2548,9 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/eslintrc/node_modules/ignore": { @@ -2579,6 +2573,9 @@ }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/eslintrc/node_modules/ms": { @@ -2603,6 +2600,9 @@ "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@fintechstudios/eslint-plugin-chai-as-promised": { @@ -3483,9 +3483,9 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-18.0.0.tgz", - "integrity": "sha512-fj92shhg8luw7XbA0HowAqz90oo7qtLGwqTKbyZ8pmOyH8ui5e+u0wPEgeHLH3djcVma6gUCUrjY6w5R2o1u6g==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.0.tgz", + "integrity": "sha512-adTpD6ATGbehdaQoZQ6ipDFhdjqsTgpOAhFiPwl+dzre4pPshsecptDPyEFb61JMJ1+mGljktaC4jI8ARMSNyw==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -3500,7 +3500,7 @@ "node": ">= 8.0.0" }, "peerDependencies": { - "rollup": "^2.30.0" + "rollup": "^2.38.3" } }, "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { @@ -3541,9 +3541,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz", + "integrity": "sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -3557,17 +3557,7 @@ "node": ">= 10.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "rollup": "^2.42.0" } }, "node_modules/@rollup/plugin-replace": { @@ -4450,6 +4440,26 @@ "node": ">=8" } }, + "node_modules/@web/dev-server/node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, "node_modules/@web/dev-server/node_modules/array-back": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", @@ -4651,10 +4661,13 @@ } }, "node_modules/acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, "node_modules/acorn-node": { "version": "1.8.2", @@ -4758,15 +4771,19 @@ } }, "node_modules/ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ansi-align": { @@ -8054,9 +8071,9 @@ } }, "node_modules/core-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.1.tgz", - "integrity": "sha512-k93Isqg7e4txZWMGNYwevZL9MiogLk8pd1PtwrmFmi8IBq4GXqUaVW/a33Llt6amSI36uSjd0GWwc9pTT9ALlQ==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", + "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -8064,9 +8081,9 @@ } }, "node_modules/core-js-bundle": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.11.1.tgz", - "integrity": "sha512-G53levuILfTBZaMuglvFe8+pPu7JgLO3PLuNj2AOOMeoy16HjfkqI62UAtUOlS+ZW9ySXxiiC9nFCjaXMukm1g==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.12.1.tgz", + "integrity": "sha512-4xo0s+HI15r0HEVLy6LhFoPqVlwQKxgl/tbgDfcRziFa5gAUxyEPUtPVXi2VPcSVYIJ8JSG+SOvy/aLPD7M6Fw==", "dev": true, "hasInstallScript": true, "funding": { @@ -9926,13 +9943,13 @@ } }, "node_modules/eslint": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", - "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", + "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", "dev": true, "dependencies": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^0.4.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -10198,12 +10215,15 @@ } }, "node_modules/eslint-plugin-cypress": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.2.tgz", - "integrity": "sha512-1SergF1sGbVhsf7MYfOLiBhdOg6wqyeV9pXUAIDIffYTGMN3dTBQS9nFAzhLsHhO+Bn0GaVM1Ecm71XUidQ7VA==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.3.tgz", + "integrity": "sha512-hOoAid+XNFtpvOzZSNWP5LDrQBEJwbZwjib4XJ1KcRYKjeVj0mAmPmucG4Egli4j/aruv+Ow/acacoloWWCl9Q==", "dev": true, "dependencies": { "globals": "^11.12.0" + }, + "peerDependencies": { + "eslint": ">= 3.2.1" } }, "node_modules/eslint-plugin-es": { @@ -10297,14 +10317,15 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "33.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-33.0.0.tgz", - "integrity": "sha512-bkopnnuDdT04abKWPfDdD6XcAp2yX6UDpDViyvIdYmxbZYbpHXCRzQzLqCTo+SzWSTS0KFWz/V3shmmMr+x4EA==", + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-33.1.1.tgz", + "integrity": "sha512-6Avc2czg/mh0zmuU3H4v2xTXOALl9OiMGpn55nBDydhU684cVgvn2VtXm1JgH+2TW5SxEDnX3o/FUgda7LgVYA==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "^0.1.1", + "@es-joy/jsdoccomment": "^0.4.4", "comment-parser": "1.1.5", "debug": "^4.3.1", + "esquery": "^1.4.0", "jsdoctypeparser": "^9.0.0", "lodash": "^4.17.21", "regextras": "^0.7.1", @@ -10576,16 +10597,15 @@ "dev": true }, "node_modules/eslint-plugin-unicorn": { - "version": "31.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-31.0.0.tgz", - "integrity": "sha512-HR3gI4ANtV8A+0FLAaxjBD/G5J3PWBo+7OswyGeK5nylGqtKLJVbnPksIkBgmVg+SFpxu5MnjaxQQI+9KjyVAg==", + "version": "32.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-32.0.0.tgz", + "integrity": "sha512-VYE/XvZvdcY0RvOKGxsrVVWo8DaI/tGVYuhKzSd6Uuy69Ydc8zX+roZ/H9PgyykM4nuj8JDoOHSwVk9a4OYbCQ==", "dev": true, "dependencies": { "ci-info": "^3.1.1", "clean-regexp": "^1.0.0", "eslint-template-visitor": "^2.3.2", "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", "import-modules": "^2.1.0", "is-builtin-module": "^3.1.0", "lodash": "^4.17.21", @@ -10597,7 +10617,7 @@ "semver": "^7.3.5" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" @@ -10633,15 +10653,6 @@ "node": ">=4" } }, - "node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-plugin-unicorn/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -10905,12 +10916,6 @@ "@babel/highlight": "^7.10.4" } }, - "node_modules/eslint/node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11032,27 +11037,6 @@ "node": ">=4" } }, - "node_modules/eslint/node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/eslint/node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint/node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -11317,9 +11301,9 @@ } }, "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -16326,9 +16310,9 @@ } }, "node_modules/mocha": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz", - "integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", @@ -16363,6 +16347,10 @@ }, "engines": { "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha-badge-generator": { @@ -19998,12 +19986,16 @@ "dev": true }, "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "dependencies": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-from": { @@ -20147,9 +20139,9 @@ } }, "node_modules/rollup": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.46.0.tgz", - "integrity": "sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==", + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz", + "integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==", "bin": { "rollup": "dist/bin/rollup" }, @@ -24898,9 +24890,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.1.tgz", + "integrity": "sha512-2mQXd0zBrwfp0O1moWIhPpEeTKDvxyHcnma3JATVP1l+CctWBuot6OJG8LQ4DnBj4ZZPSmlb/fm4mu47EOAnVA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" @@ -25302,9 +25294,9 @@ } }, "@babel/preset-env": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.0.tgz", - "integrity": "sha512-GWRCdBv2whxqqaSi7bo/BEXf070G/fWFMEdCnmoRg2CZJy4GK06ovFuEjJrZhDRXYgBsYtxVbG8GUHvw+UWBkQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.1.tgz", + "integrity": "sha512-0M4yL1l7V4l+j/UHvxcdvNfLB9pPtIooHTbEhgD/6UGyh8Hy3Bm1Mj0buzjDXATCSz3JFibVdnoJZCrlUCanrQ==", "dev": true, "requires": { "@babel/compat-data": "^7.14.0", @@ -25344,7 +25336,7 @@ "@babel/plugin-transform-arrow-functions": "^7.13.0", "@babel/plugin-transform-async-to-generator": "^7.13.0", "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.13.16", + "@babel/plugin-transform-block-scoping": "^7.14.1", "@babel/plugin-transform-classes": "^7.13.0", "@babel/plugin-transform-computed-properties": "^7.13.0", "@babel/plugin-transform-destructuring": "^7.13.17", @@ -25374,7 +25366,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.13", "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.0", + "@babel/types": "^7.14.1", "babel-plugin-polyfill-corejs2": "^0.2.0", "babel-plugin-polyfill-corejs3": "^0.2.0", "babel-plugin-polyfill-regenerator": "^0.2.0", @@ -25765,9 +25757,9 @@ } }, "@babel/types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.0.tgz", - "integrity": "sha512-O2LVLdcnWplaGxiPBz12d0HcdN8QdxdsWYhz5LSeuukV/5mn2xUUc3gBeU4QBYPJ18g/UToe8F532XJ608prmg==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.1.tgz", + "integrity": "sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.0", @@ -26371,15 +26363,20 @@ } }, "@es-joy/jsdoccomment": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.1.1.tgz", - "integrity": "sha512-6lIx5Pjc50D7VJU9lfRZ1twfIrIwQk+aeT9Ink2C07IUu/y9pxkIpDqmhY/VN3jAW42dA5z6ioOdyhOZZU1isw==", - "dev": true + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.4.4.tgz", + "integrity": "sha512-ua4qDt9dQb4qt5OI38eCZcQZYE5Bq3P0GzgvDARdT8Lt0mAUpxKTPy8JGGqEvF77tG1irKDZ3WreeezEa3P43w==", + "dev": true, + "requires": { + "comment-parser": "^1.1.5", + "esquery": "^1.4.0", + "jsdoctypeparser": "^9.0.0" + } }, "@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", + "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -26393,24 +26390,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -27252,9 +27231,9 @@ } }, "@rollup/plugin-commonjs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-18.0.0.tgz", - "integrity": "sha512-fj92shhg8luw7XbA0HowAqz90oo7qtLGwqTKbyZ8pmOyH8ui5e+u0wPEgeHLH3djcVma6gUCUrjY6w5R2o1u6g==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.0.tgz", + "integrity": "sha512-adTpD6ATGbehdaQoZQ6ipDFhdjqsTgpOAhFiPwl+dzre4pPshsecptDPyEFb61JMJ1+mGljktaC4jI8ARMSNyw==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -27305,9 +27284,9 @@ } }, "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz", + "integrity": "sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -27316,18 +27295,6 @@ "deepmerge": "^4.2.2", "is-module": "^1.0.0", "resolve": "^1.19.0" - }, - "dependencies": { - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - } } }, "@rollup/plugin-replace": { @@ -27883,6 +27850,20 @@ "portfinder": "^1.0.28" }, "dependencies": { + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, "array-back": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", @@ -28244,10 +28225,11 @@ } }, "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "requires": {} }, "acorn-node": { "version": "1.8.2", @@ -28337,9 +28319,9 @@ } }, "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -31235,14 +31217,14 @@ } }, "core-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.1.tgz", - "integrity": "sha512-k93Isqg7e4txZWMGNYwevZL9MiogLk8pd1PtwrmFmi8IBq4GXqUaVW/a33Llt6amSI36uSjd0GWwc9pTT9ALlQ==" + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", + "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==" }, "core-js-bundle": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.11.1.tgz", - "integrity": "sha512-G53levuILfTBZaMuglvFe8+pPu7JgLO3PLuNj2AOOMeoy16HjfkqI62UAtUOlS+ZW9ySXxiiC9nFCjaXMukm1g==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.12.1.tgz", + "integrity": "sha512-4xo0s+HI15r0HEVLy6LhFoPqVlwQKxgl/tbgDfcRziFa5gAUxyEPUtPVXi2VPcSVYIJ8JSG+SOvy/aLPD7M6Fw==", "dev": true }, "core-js-compat": { @@ -32812,13 +32794,13 @@ } }, "eslint": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", - "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", + "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", + "@eslint/eslintrc": "^0.4.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -32865,12 +32847,6 @@ "@babel/highlight": "^7.10.4" } }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -32966,23 +32942,6 @@ } } }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -33313,9 +33272,9 @@ } }, "eslint-plugin-cypress": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.2.tgz", - "integrity": "sha512-1SergF1sGbVhsf7MYfOLiBhdOg6wqyeV9pXUAIDIffYTGMN3dTBQS9nFAzhLsHhO+Bn0GaVM1Ecm71XUidQ7VA==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.3.tgz", + "integrity": "sha512-hOoAid+XNFtpvOzZSNWP5LDrQBEJwbZwjib4XJ1KcRYKjeVj0mAmPmucG4Egli4j/aruv+Ow/acacoloWWCl9Q==", "dev": true, "requires": { "globals": "^11.12.0" @@ -33398,14 +33357,15 @@ } }, "eslint-plugin-jsdoc": { - "version": "33.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-33.0.0.tgz", - "integrity": "sha512-bkopnnuDdT04abKWPfDdD6XcAp2yX6UDpDViyvIdYmxbZYbpHXCRzQzLqCTo+SzWSTS0KFWz/V3shmmMr+x4EA==", + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-33.1.1.tgz", + "integrity": "sha512-6Avc2czg/mh0zmuU3H4v2xTXOALl9OiMGpn55nBDydhU684cVgvn2VtXm1JgH+2TW5SxEDnX3o/FUgda7LgVYA==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "^0.1.1", + "@es-joy/jsdoccomment": "^0.4.4", "comment-parser": "1.1.5", "debug": "^4.3.1", + "esquery": "^1.4.0", "jsdoctypeparser": "^9.0.0", "lodash": "^4.17.21", "regextras": "^0.7.1", @@ -33615,16 +33575,15 @@ "dev": true }, "eslint-plugin-unicorn": { - "version": "31.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-31.0.0.tgz", - "integrity": "sha512-HR3gI4ANtV8A+0FLAaxjBD/G5J3PWBo+7OswyGeK5nylGqtKLJVbnPksIkBgmVg+SFpxu5MnjaxQQI+9KjyVAg==", + "version": "32.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-32.0.0.tgz", + "integrity": "sha512-VYE/XvZvdcY0RvOKGxsrVVWo8DaI/tGVYuhKzSd6Uuy69Ydc8zX+roZ/H9PgyykM4nuj8JDoOHSwVk9a4OYbCQ==", "dev": true, "requires": { "ci-info": "^3.1.1", "clean-regexp": "^1.0.0", "eslint-template-visitor": "^2.3.2", "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", "import-modules": "^2.1.0", "is-builtin-module": "^3.1.0", "lodash": "^4.17.21", @@ -33659,12 +33618,6 @@ } } }, - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true - }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -33909,9 +33862,9 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -38016,9 +37969,9 @@ } }, "mocha": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz", - "integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -40980,11 +40933,12 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -41102,9 +41056,9 @@ } }, "rollup": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.46.0.tgz", - "integrity": "sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==", + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz", + "integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==", "requires": { "fsevents": "~2.3.1" }, diff --git a/package.json b/package.json index b20bcad5..9d12bc59 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "@babel/polyfill": "7.12.1", "@web/dev-server-rollup": "0.3.3", "canvg": "3.0.7", - "core-js": "3.11.1", + "core-js": "3.12.1", "deparam": "^1.0.5", "elix": "^15.0.0", "i18next": "^20.2.2", @@ -118,7 +118,7 @@ }, "devDependencies": { "@babel/core": "7.14.0", - "@babel/preset-env": "7.14.0", + "@babel/preset-env": "7.14.1", "@babel/register": "7.13.16", "@babel/runtime-corejs3": "7.14.0", "@cypress/code-coverage": "3.9.5", @@ -127,16 +127,16 @@ "@hkdobrev/run-if-changed": "0.3.1", "@mysticatea/eslint-plugin": "13.0.0", "@rollup/plugin-babel": "5.3.0", - "@rollup/plugin-commonjs": "18.0.0", + "@rollup/plugin-commonjs": "19.0.0", "@rollup/plugin-dynamic-import-vars": "1.1.1", - "@rollup/plugin-node-resolve": "11.2.1", + "@rollup/plugin-node-resolve": "13.0.0", "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-url": "6.0.0", "@web/dev-server": "^0.1.17", "axe-core": "4.2.0", "babel-plugin-transform-object-rest-spread": "7.0.0-beta.3", "copyfiles": "2.4.1", - "core-js-bundle": "3.11.1", + "core-js-bundle": "3.12.1", "coveradge": "0.6.0", "cp-cli": "2.0.0", "cross-var": "1.1.0", @@ -144,18 +144,18 @@ "cypress-axe": "0.12.2", "cypress-multi-reporters": "1.5.0", "cypress-plugin-snapshots": "1.4.4", - "eslint": "^7.25.0", + "eslint": "^7.26.0", "eslint-config-standard": "16.0.2", "eslint-plugin-array-func": "3.1.7", "eslint-plugin-chai-expect": "2.2.0", "eslint-plugin-chai-expect-keywords": "2.1.0", "eslint-plugin-chai-friendly": "0.6.0", "eslint-plugin-compat": "^3.9.0", - "eslint-plugin-cypress": "2.11.2", + "eslint-plugin-cypress": "2.11.3", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-html": "^6.1.2", "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsdoc": "^33.0.0", + "eslint-plugin-jsdoc": "^33.1.1", "eslint-plugin-markdown": "^2.1.0", "eslint-plugin-mocha": "8.1.0", "eslint-plugin-mocha-cleanup": "1.9.1", @@ -165,11 +165,11 @@ "eslint-plugin-promise": "^5.1.0", "eslint-plugin-sonarjs": "^0.7.0", "eslint-plugin-standard": "4.1.0", - "eslint-plugin-unicorn": "31.0.0", + "eslint-plugin-unicorn": "32.0.0", "imageoptim-cli": "3.0.2", "jamilih": "0.54.0", "jsdoc": "3.6.6", - "mocha": "8.3.2", + "mocha": "8.4.0", "mocha-badge-generator": "0.9.0", "mochawesome": "6.2.2", "mochawesome-merge": "4.2.0", @@ -185,7 +185,7 @@ "remark-lint-ordered-list-marker-value": "2.0.1", "requirejs": "2.3.6", "rimraf": "3.0.2", - "rollup": "2.46.0", + "rollup": "2.47.0", "rollup-plugin-copy": "3.4.0", "rollup-plugin-filesize": "9.1.1", "rollup-plugin-node-polyfills": "0.2.1", From 1372d27bcdaff171157a07fd20fb50727fd3a8d4 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 20:06:12 +0200 Subject: [PATCH 2/7] Update .eslintrc.js --- .eslintrc.js | 367 ++++++--------------------------------------------- 1 file changed, 41 insertions(+), 326 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 2b378572..5792cfa8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,350 +1,65 @@ -'use strict'; +"use strict"; module.exports = { - extends: ['ash-nazg/sauron-node'], + extends: [ + "plugin:compat/recommended", + "plugin:node/recommended", + "plugin:no-unsanitized/DOM", + "plugin:promise/recommended", + "plugin:import/errors", + "plugin:markdown/recommended", + "plugin:sonarjs/recommended", + "eslint:recommended" + ], + plugins: ["jsdoc", "promise", "html", "import", "sonarjs"], parserOptions: { ecmaVersion: 2020, - sourceType: 'module' + sourceType: "module" }, env: { browser: true, es6: true }, - settings: { - polyfills: [ - // These are the primary polyfills needed by regular users if - // not present, e.g., with core-js-bundle; also those under - // extensions - // 'Array.isArray', - // 'Blob', - // 'console', - // 'CustomEvent', - // 'document.body', - // 'document.createElementNS', - // 'document.evaluate', - // 'document.head', - // 'document.importNode', - // 'document.querySelector', - // 'document.querySelectorAll', - // 'DOMParser', - // 'Error', - 'fetch', - // 'FileReader', - // 'JSON', - // 'KeyboardEvent', - // 'location.href', - // 'location.origin', - // 'MouseEvent', - // 'MutationObserver', - // 'navigator', - // 'Number.isNaN', - // 'Number.parseFloat', - // 'Number.parseInt', - // 'Object.assign', - // 'Object.defineProperty', - // 'Object.defineProperties', - // 'Object.entries', - // 'Object.getOwnPropertyDescriptor', - // 'Object.keys', - // 'Object.values', - 'Promise', - 'Promise.all', - // 'Set', - 'Uint8Array', - 'URL' - // 'URL.createObjectURL', - // 'XMLSerializer', - // 'XMLHttpRequest', - // 'window.getComputedStyle', - // 'window.parent', - // 'window.scrollX', - // 'window.scrollY' - ] - }, rules: { - // check-examples is not picking up eslint config properly in some - // environments; see also discussion above - // `mocha-cleanup/no-assertions-outside-it` - 'jsdoc/check-examples': ['warn', { - rejectExampleCodeRegex: '^`', - checkDefaults: true, - checkParams: true, - checkProperties: true - }], - - // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/453 - 'unicorn/regex-shorthand': 0, - // The Babel transform seems to have a problem converting these - 'prefer-named-capture-group': 'off', - 'jsdoc/require-file-overview': ['error', { - tags: { - file: { - initialCommentsOnly: true, - preventDuplicates: true - }, - license: { - initialCommentsOnly: true, - preventDuplicates: true - }, - copyright: { - initialCommentsOnly: true, - preventDuplicates: true - }, - author: { - initialCommentsOnly: true, - preventDuplicates: true - }, - module: { - initialCommentsOnly: true, - preventDuplicates: true - }, - exports: { - initialCommentsOnly: true, - preventDuplicates: true - } - } - }], - // Warning or Off for now but should be reviewed - // Override these rules which are difficult for us - // to apply at this time - 'unicorn/prefer-string-slice': 'off', - 'default-case': 'off', - 'require-unicode-regexp': 'off', - 'max-len': - [ - 'warn', - {ignoreComments: true, code: 130} - ], // 130 is too much but too many occurences - 'unicorn/prefer-query-selector': 'off', - 'unicorn/no-fn-reference-in-iterator': 'off', - 'unicorn/prefer-node-append': 'off', - 'unicorn/no-zero-fractions': 'off', - 'unicorn/prefer-number-properties': 'off', - 'eslint-comments/require-description': 'off', - 'compat/compat': 'error', - 'consistent-this': 'off', - 'import/no-anonymous-default-export': 'off', - 'node/no-unsupported-features/node-builtins': 'warn', - 'prefer-exponentiation-operator': 'warn', - 'node/no-unsupported-features/es-syntax': 'off', - 'no-unsanitized/method': [ - 'error', - { - escape: { - methods: ['encodeURIComponent', 'encodeURI'] - } - } - ] + "node/no-unsupported-features/es-syntax": 0, + "no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], + "sonarjs/cognitive-complexity": ["warn", 40], + "sonarjs/no-duplicate-string": 0, }, overrides: [ - // Locales have no need for importing outside of SVG-Edit - // and translations may need a longer line length { - files: [ - 'src/editor/locale/lang.*.js', 'src/editor/extensions/*/locale/**', - 'docs/tutorials/ExtensionDocs.md' - ], - rules: { - 'import/no-anonymous-default-export': 'off', - 'max-len': 'off' - } - }, - // These browser files don't do importing or requiring - { - files: [ - 'src/editor/touch.js', - 'src/editor/typedefs.js', - 'src/editor/redirect-on-no-module-support.js', - 'src/editor/extensions/ext-imagelib/index.js', - 'screencasts/svgopen2010/script.js' - ], - rules: { - 'import/unambiguous': ['off'] - } - }, - { - files: ['**/*.html', 'screencasts/**'], - globals: { - root: 'off' - }, - settings: { - polyfills: [ - 'document.querySelector', - 'history', - 'history.pushState', - 'history.replaceState', - 'location.hash', - 'navigator', - 'Number.parseFloat', - 'Number.parseInt', - 'Number.isNaN' - ] - }, - rules: { - 'import/unambiguous': 'off' - } - }, - { - files: ['.eslintrc.js', '.ncurc.js', 'tools/mochawesome-cli.js'], - extends: [ - 'ash-nazg/sauron-node-script' - ] - }, - // Our Markdown rules (and used for JSDoc examples as well, by way of - // our use of `jsdoc/check-examples` within `ash-nazg`) - { - files: ['**/*.md'], - settings: { - polyfills: [ - // Tutorials - 'console', - 'location.href' - ] - }, - rules: { - // Todo: Figure out why this is not enough to disable warning - // for examples in my environment (but it is in others') - // Used in examples of assert-close.js plugin - 'mocha-cleanup/no-assertions-outside-it': 'off', - 'eslint-comments/no-unused-disable': 'warn', - 'eol-last': ['off'], - 'no-console': ['off'], - 'no-undef': ['off'], - 'no-unused-vars': ['warn'], - 'padded-blocks': ['off'], - 'import/unambiguous': ['off'], - 'import/no-unresolved': ['off'], - 'node/no-missing-import': ['off'], - 'no-multi-spaces': 'off', - 'sonarjs/no-all-duplicated-branches': 'off', - 'node/no-unpublished-import': ['error', { - allowModules: ['@cypress/fiddle'] - }], - 'no-alert': 'off', - // Disable until may fix https://github.com/gajus/eslint-plugin-jsdoc/issues/211 - indent: 'off' - } - }, - { - // As consumed by jsdoc, cannot be expressed as ESM - files: ['docs/jsdoc-config.js'], - parserOptions: { - sourceType: 'script' - }, - globals: { - module: false - }, - rules: { - 'import/no-commonjs': 'off', - strict: 'off' - } - }, - { - files: ['cypress/plugins/index.js'], - extends: [ - 'ash-nazg/sauron-node-script' - ] - }, - { - files: ['cypress/**'], - extends: [ - 'plugin:cypress/recommended', - 'plugin:mocha/recommended', - 'plugin:mocha-cleanup/recommended-no-limits', - 'plugin:@fintechstudios/chai-as-promised/recommended', - 'plugin:chai-expect-keywords/recommended', - 'plugin:chai-expect/recommended', - 'plugin:chai-friendly/recommended' + files: [ 'cypress/**/*'], + extends: [ + "plugin:cypress/recommended" ], env: { + mocha: true, node: true }, - settings: { - polyfills: [ - 'console', - 'Date.now', - 'document.body', - 'document.createElementNS', - 'document.head', - 'DOMParser', - 'Number.isNaN', - 'Object.keys', - 'Object.entries', - 'Promise' - ] + globals: { + "assert": true }, rules: { - // These errors are caused in Cypress files if user has not - // yet instrumented code; need to reinvestigate why we had to - // instrument separately from nyc mocha - 'import/no-unresolved': ['error', {ignore: ['/instrumented/']}], - 'node/no-missing-import': 'off', - 'jsdoc/check-examples': 'off', - 'chai-expect-keywords/no-unsupported-keywords': [ - 'error', { - allowChaiDOM: true + // with ci, instrumented is not created before linter + "import/no-unresolved": [2, { ignore: ['instrumented'] }], + "node/no-missing-import": 0 + } + }, + { + files: [ 'docs/**/*'], + rules: { // md files have example that don't need a strict checking + "no-undef": 0, + "import/no-unresolved": 0, + "node/no-missing-import": 0, + "jsdoc/check-examples": [ + "warn", + { + rejectExampleCodeRegex: "^`", + checkDefaults: true, + checkParams: true, + checkProperties: true } - ], - // Would be good but seems necessary due to some bugs in Cypress - // in detecting visibility - // 'cypress/no-force': 0, - // Good but would be difficult to enforce (and data-* may not be less - // brittle than IDs/classes anyways) - // 'cypress/require-data-selectors': 0, - 'cypress/assertion-before-screenshot': 2, - - // Conflicts with Cypress `should` - 'mocha-cleanup/invalid-assertions': 0, - - // Might see about working around to avoid the option limitation, - // but convenient - 'mocha-cleanup/no-expressions-in-assertions': ['error', { - replacementsOnly: true - }], - - // Too oppressive when planning to extend a section - 'mocha/no-hooks-for-single-case': 0, - - // Would be good to enable but needs some refactoring - 'mocha/no-setup-in-describe': 0, - 'mocha-cleanup/no-outside-declaration': 0, - - // Useful to ensure allowing `this.timeout()`, etc., but a - // little oppressive - 'mocha/no-mocha-arrows': 0, - // Useful if enabling the regular `prefer-arrow-callback` - // 'mocha/prefer-arrow-callback': 2 - - 'jsdoc/require-jsdoc': 0, - 'no-console': 0, - 'import/unambiguous': 0 - } - }, - { - // Node files - files: [ - 'docs/jsdoc-config.js', - 'build/build-html.js', - 'rollup.config.js', 'rollup-config.config.js' - ], - env: { - node: true - }, - settings: { - polyfills: [ - 'console', - 'Promise.resolve' ] - }, - globals: { - require: true - }, - rules: { - // We can't put Rollup in npmignore or user can't get access, - // and we have too many modules to add to `peerDependencies` - // so this rule can know them to be available, so we instead - // disable - 'node/no-unpublished-import': 'off' } } ] From b2c67080eeac3a5fdbf2ccbd4eb3e5abe8a3b877 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 20:07:05 +0200 Subject: [PATCH 3/7] Update .gitignore --- .gitignore | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index a841f5bc..4ddd9555 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,17 @@ ignore node_modules - -svgedit-custom.css - docs/jsdoc - cypress/results cypress/screenshots cypress/videos cypress.env.json - coverage instrumented .nyc_output mochawesome-report mochawesome.json - .vscode .eslintcache .DS_Store +.idea +dist From e1187542b863a0c2603ef8e29f82b24e35169334 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 20:09:05 +0200 Subject: [PATCH 4/7] Create onpush.yml --- .github/workflows/onpush.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/onpush.yml diff --git a/.github/workflows/onpush.yml b/.github/workflows/onpush.yml new file mode 100644 index 00000000..f4358797 --- /dev/null +++ b/.github/workflows/onpush.yml @@ -0,0 +1,20 @@ +name: Node CI + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v2 + with: + node-version: 14.x + - name: npm install, test and lint + run: | + npm ci + npm run lint + npm run test \ No newline at end of file From 1b7c93d0380ad1cf04e312fe49666b3dc8350aa9 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 20:38:33 +0200 Subject: [PATCH 5/7] downgrade 2 packages causing test failure --- package-lock.json | 66 ++++++++++++----------------------------------- package.json | 4 +-- 2 files changed, 18 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index c483eca1..6eea45a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,9 +32,9 @@ "@hkdobrev/run-if-changed": "0.3.1", "@mysticatea/eslint-plugin": "13.0.0", "@rollup/plugin-babel": "5.3.0", - "@rollup/plugin-commonjs": "19.0.0", + "@rollup/plugin-commonjs": "18.0.0", "@rollup/plugin-dynamic-import-vars": "1.1.1", - "@rollup/plugin-node-resolve": "13.0.0", + "@rollup/plugin-node-resolve": "11.2.1", "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-url": "6.0.0", "@web/dev-server": "^0.1.17", @@ -3483,9 +3483,9 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.0.tgz", - "integrity": "sha512-adTpD6ATGbehdaQoZQ6ipDFhdjqsTgpOAhFiPwl+dzre4pPshsecptDPyEFb61JMJ1+mGljktaC4jI8ARMSNyw==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-18.0.0.tgz", + "integrity": "sha512-fj92shhg8luw7XbA0HowAqz90oo7qtLGwqTKbyZ8pmOyH8ui5e+u0wPEgeHLH3djcVma6gUCUrjY6w5R2o1u6g==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -3500,7 +3500,7 @@ "node": ">= 8.0.0" }, "peerDependencies": { - "rollup": "^2.38.3" + "rollup": "^2.30.0" } }, "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { @@ -3541,9 +3541,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz", - "integrity": "sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ==", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -3557,7 +3557,7 @@ "node": ">= 10.0.0" }, "peerDependencies": { - "rollup": "^2.42.0" + "rollup": "^1.20.0||^2.0.0" } }, "node_modules/@rollup/plugin-replace": { @@ -4440,26 +4440,6 @@ "node": ">=8" } }, - "node_modules/@web/dev-server/node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, "node_modules/@web/dev-server/node_modules/array-back": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", @@ -27231,9 +27211,9 @@ } }, "@rollup/plugin-commonjs": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.0.tgz", - "integrity": "sha512-adTpD6ATGbehdaQoZQ6ipDFhdjqsTgpOAhFiPwl+dzre4pPshsecptDPyEFb61JMJ1+mGljktaC4jI8ARMSNyw==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-18.0.0.tgz", + "integrity": "sha512-fj92shhg8luw7XbA0HowAqz90oo7qtLGwqTKbyZ8pmOyH8ui5e+u0wPEgeHLH3djcVma6gUCUrjY6w5R2o1u6g==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -27284,9 +27264,9 @@ } }, "@rollup/plugin-node-resolve": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz", - "integrity": "sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ==", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -27850,20 +27830,6 @@ "portfinder": "^1.0.28" }, "dependencies": { - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, "array-back": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", diff --git a/package.json b/package.json index 9d12bc59..60d20795 100644 --- a/package.json +++ b/package.json @@ -127,9 +127,9 @@ "@hkdobrev/run-if-changed": "0.3.1", "@mysticatea/eslint-plugin": "13.0.0", "@rollup/plugin-babel": "5.3.0", - "@rollup/plugin-commonjs": "19.0.0", + "@rollup/plugin-commonjs": "18.0.0", "@rollup/plugin-dynamic-import-vars": "1.1.1", - "@rollup/plugin-node-resolve": "13.0.0", + "@rollup/plugin-node-resolve": "11.2.1", "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-url": "6.0.0", "@web/dev-server": "^0.1.17", From a5622f094a8cd0de1f22b22b7fecc5f8064dd1b7 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 21:37:52 +0200 Subject: [PATCH 6/7] fix some localizaiton strings --- src/editor/Editor.js | 16 ++++++++-------- src/editor/EditorStartup.js | 6 +++--- src/editor/panels/LayersPanel.js | 6 +++--- src/editor/panels/TopPanel.js | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/editor/Editor.js b/src/editor/Editor.js index 47934d1a..0664fe54 100644 --- a/src/editor/Editor.js +++ b/src/editor/Editor.js @@ -377,7 +377,7 @@ class Editor extends EditorStartup { this.exportWindow = window.open(blankPageObjectURL || '', exportWindowName); // A hack to get the window via JSON-able name without opening a new one if (!this.exportWindow || this.exportWindow.closed) { - seAlert(this.uiStrings.notification.popupWindowBlocked); + seAlert(this.i18next.t('notification.popupWindowBlocked')); return; } @@ -389,7 +389,7 @@ class Editor extends EditorStartup { // Check if there are issues if (issues.length) { const pre = '\n \u2022 '; - note += ('\n\n' + this.uiStrings.notification.noteTheseIssues + pre + issues.join(pre)); + note += ('\n\n' + this.i18next.t('notification..noteTheseIssues') + pre + issues.join(pre)); } // Note that this will also prevent the notice even though new issues may appear later. @@ -941,7 +941,7 @@ class Editor extends EditorStartup { }; if (!this.svgCanvas.setSvgString(e.detail.value)) { - const ok = await seConfirm(this.uiStrings.notification.QerrorsRevertToSource); + const ok = await seConfirm(this.i18next.t('notification.QerrorsRevertToSource')); if (ok === false || ok === 'Cancel') { return; } @@ -970,7 +970,7 @@ class Editor extends EditorStartup { if (editingsource) { const origSource = this.svgCanvas.getSvgString(); if (origSource !== e.detail.value) { - const ok = seConfirm(this.uiStrings.notification.QignoreSourceChanges); + const ok = seConfirm(this.i18next.t('notification.QignoreSourceChanges')); if (ok) { this.hideSourceEditor(); } @@ -1000,7 +1000,7 @@ class Editor extends EditorStartup { if (this.svgCanvas.undoMgr.getUndoStackSize() === 0) { return true; } - return await seConfirm(this.uiStrings.notification.QwantToOpen); + return await seConfirm(this.i18next.t('notification.QwantToOpen')); } /** @@ -1052,13 +1052,13 @@ class Editor extends EditorStartup { const $editDialog = document.getElementById('se-edit-prefs'); $editDialog.setAttribute('lang', lang); const oldLayerName = ($id('#layerlist')) ? $id('#layerlist').querySelector('tr.layersel td.layername').textContent : ""; - const renameLayer = (oldLayerName === this.uiStrings.common.layer + ' 1'); + const renameLayer = (oldLayerName === this.i18next.t('notification.common.layer') + ' 1'); // this.svgCanvas.setUiStrings(allStrings); this.setTitles(); if (renameLayer) { - this.svgCanvas.renameCurrentLayer(this.uiStrings.common.layer + ' 1'); + this.svgCanvas.renameCurrentLayer(this.i18next.t('notification.common.layer') + ' 1'); this.layersPanel.populateLayers(); } @@ -1151,7 +1151,7 @@ class Editor extends EditorStartup { dataType: 'text', cache: Boolean(cache), beforeSend() { - $.process_cancel(this.uiStrings.notification.loadingImage); + $.process_cancel(this.i18next.t('notification.loadingImage')); }, success(str) { this.loadSvgString(str, { noAlert }); diff --git a/src/editor/EditorStartup.js b/src/editor/EditorStartup.js index 49009cd0..f74cd956 100644 --- a/src/editor/EditorStartup.js +++ b/src/editor/EditorStartup.js @@ -165,7 +165,7 @@ class EditorStartup { this.exportWindow = window.open('', this.exportWindowName); // A hack to get the window via JSON-able name without opening a new one } if (!this.exportWindow || this.exportWindow.closed) { - seAlert(this.uiStrings.notification.popupWindowBlocked); + seAlert(this.i18next.t('notification.popupWindowBlocked')); return; } this.exportWindow.location.href = data.output; @@ -577,8 +577,8 @@ class EditorStartup { // showSaveWarning is set to 'false' when the page is saved. if (!this.configObj.curConfig.no_save_warning && this.showSaveWarning) { // Browser already asks question about closing the page - e.returnValue = this.uiStrings.notification.unsavedChanges; // Firefox needs this when beforeunload set by addEventListener (even though message is not used) - return this.uiStrings.notification.unsavedChanges; + e.returnValue = this.i18next.t('notification.unsavedChanges'); // Firefox needs this when beforeunload set by addEventListener (even though message is not used) + return this.i18next.t('notification.unsavedChanges'); } return true; }.bind(this)); diff --git a/src/editor/panels/LayersPanel.js b/src/editor/panels/LayersPanel.js index c5057f84..810a178c 100644 --- a/src/editor/panels/LayersPanel.js +++ b/src/editor/panels/LayersPanel.js @@ -219,7 +219,7 @@ class LayersPanel { } while (this.editor.svgCanvas.getCurrentDrawing().hasLayer(uniqName)); const newName = prompt( - this.uiStrings.notification.enterUniqueLayerName, + this.i18next.t('notification.enterUniqueLayerName'), uniqName ); if (!newName) { @@ -263,7 +263,7 @@ class LayersPanel { this.editor.svgCanvas.getCurrentDrawing().getCurrentLayerName() + " copy"; const newName = prompt( - this.uiStrings.notification.enterUniqueLayerName, + this.i18next.t('notification.enterUniqueLayerName'), name ); if (!newName) { @@ -331,7 +331,7 @@ class LayersPanel { oldName === newName || this.editor.svgCanvas.getCurrentDrawing().hasLayer(newName) ) { - alert(this.uiStrings.notification.layerHasThatName); + alert(this.i18next.t('notification.layerHasThatName')); return; } this.editor.svgCanvas.renameCurrentLayer(newName); diff --git a/src/editor/panels/TopPanel.js b/src/editor/panels/TopPanel.js index 99b213f4..1501b436 100644 --- a/src/editor/panels/TopPanel.js +++ b/src/editor/panels/TopPanel.js @@ -558,7 +558,7 @@ class TopPanel { if (!valid) { e.target.value = this.editor.selectedElement().getAttribute(attr); // eslint-disable-next-line no-alert - alert(this.uiStrings.notification.invalidAttrValGiven); + alert(this.i18next.t('notification.invalidAttrValGiven')); return false; } @@ -619,7 +619,7 @@ class TopPanel { if (!isNullish(this.editor.selectedElement) || this.multiselected) { // eslint-disable-next-line no-alert const url = prompt( - this.uiStrings.notification.enterNewLinkURL, + this.i18next.t('notification.enterNewLinkURL'), "http://" ); if (url) { From be63679167ec58a890a0521dfdd0b4d10884611f Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sun, 9 May 2021 22:57:43 +0200 Subject: [PATCH 7/7] build master with netlify --- netlify.toml | 16 +--------------- src/editor/MainMenu.js | 2 +- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/netlify.toml b/netlify.toml index c2604d9d..e16fdce4 100644 --- a/netlify.toml +++ b/netlify.toml @@ -14,26 +14,12 @@ # Default build command. command = "npm run build" -# Production context: all deploys from the Production branch set in your site's -# deploy contexts will inherit these settings. -[context."v7-preview"] - publish = "/" - [context."release-v6.0.0"] publish = "/" command = "echo 'branch release-v6.0.0 already built'" - + [context."release-v5.1.0"] publish = "/" command = "echo 'branch release-v5.1.0 already built'" -[context.master] - publish = "/" - command = "echo 'already built'" - -# Production context: all deploys from the Production branch set in your site's -# deploy contexts will inherit these settings. -[context."V7-preview"] - publish = "/" - command = "npm run build" diff --git a/src/editor/MainMenu.js b/src/editor/MainMenu.js index a103abd8..e1402e76 100644 --- a/src/editor/MainMenu.js +++ b/src/editor/MainMenu.js @@ -165,7 +165,7 @@ class MainMenu { * @returns {void} */ const openExportWindow = () => { - const { loadingImage } = this.editor.uiStrings.notification; + const loadingImage = this.editor.i18next.t('notification.loadingImage'); if (this.editor.configObj.curConfig.exportWindowType === "new") { this.editor.exportWindowCt++; }