From 2c49ea1af0a03b6890ff92e77fbefce17b4e1d42 Mon Sep 17 00:00:00 2001 From: Dawid Date: Tue, 11 Oct 2022 12:01:17 +0200 Subject: [PATCH] Revert "Update React to 17 and update related packages (#2344)" (#2367) This reverts commit 3ba3dac2a775e41151d85abf3cfb75769c75771b. --- csstypes.d.ts | 5 - package-lock.json | 584 +++++++++--------- package.json | 21 +- src/apps/apolloMocks.ts | 2 +- src/components/AppLayout/AppLayout.tsx | 30 +- src/components/ErrorPage/ErrorPage.tsx | 27 +- src/components/Metadata/Metadata.test.tsx | 2 +- src/components/Metadata/MetadataCard.tsx | 2 +- src/components/Navigator/useQuickSearch.ts | 9 +- src/components/TableCellAvatar/Avatar.tsx | 2 +- .../TableCellAvatar/TableCellAvatar.tsx | 4 +- .../DeleteWarningDialogConsentContent.tsx | 2 +- src/hooks/useElementScroll.ts | 12 +- src/index.tsx | 9 +- .../ProductUpdatePage.test.tsx | 2 +- src/storybook/Stories.test.ts | 2 +- .../stories/components/ErrorPage.tsx | 30 +- 17 files changed, 350 insertions(+), 395 deletions(-) delete mode 100644 csstypes.d.ts diff --git a/csstypes.d.ts b/csstypes.d.ts deleted file mode 100644 index 364bb6d0f..000000000 --- a/csstypes.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Workaround. Since there is small difference between loaded package of csstype (React one vs MUI), -// we had to explicitly point which csstype we want to use. -declare module "csstype" { - export * from "node_modules/csstype"; -} diff --git a/package-lock.json b/package-lock.json index dc9c23926..fb60287fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@apollo/client": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.5.10.tgz", - "integrity": "sha512-tL3iSpFe9Oldq7gYikZK1dcYxp1c01nlSwtsMz75382HcI6fvQXyFXUCJTTK3wgO2/ckaBvRGw7VqjFREdVoRw==", + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.4.15.tgz", + "integrity": "sha512-CnlT9i7TgHagkKQNvti81A9KcbIMqgpUPGJJL6bg5spTsB2R/5J6E7qiPcMvXuuXwR2xe4FmE4Ey4HizStb8Hg==", "requires": { "@graphql-typed-document-node/core": "^3.0.0", "@wry/context": "^0.6.0", @@ -18,55 +18,99 @@ "optimism": "^0.16.1", "prop-types": "^15.7.2", "symbol-observable": "^4.0.0", - "ts-invariant": "^0.9.4", + "ts-invariant": "^0.9.0", "tslib": "^2.3.0", - "zen-observable-ts": "^1.2.0" + "zen-observable-ts": "~1.1.0" }, "dependencies": { + "@types/zen-observable": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz", + "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" + }, + "@wry/context": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz", + "integrity": "sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==", + "requires": { + "tslib": "^2.3.0" + } + }, "@wry/equality": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.3.tgz", - "integrity": "sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz", + "integrity": "sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==", "requires": { "tslib": "^2.3.0" } }, "graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "version": "2.12.5", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.5.tgz", + "integrity": "sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ==", "requires": { "tslib": "^2.1.0" } }, + "optimism": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz", + "integrity": "sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==", + "requires": { + "@wry/context": "^0.6.0", + "@wry/trie": "^0.3.0" + } + }, "symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==" }, "ts-invariant": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.4.tgz", - "integrity": "sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.3.tgz", + "integrity": "sha512-HinBlTbFslQI0OHP07JLsSXPibSegec6r9ai5xxq/qHYCsIQbzpymLpDhAUsnXcSrDEcd0L62L8vsOEdzM0qlA==", "requires": { "tslib": "^2.1.0" } }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "zen-observable-ts": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", - "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz", + "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==", "requires": { + "@types/zen-observable": "0.8.3", "zen-observable": "0.8.15" } } } }, + "@apollo/react-common": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@apollo/react-common/-/react-common-3.1.4.tgz", + "integrity": "sha512-X5Kyro73bthWSCBJUC5XYQqMnG0dLWuDZmVkzog9dynovhfiVCV4kPSdgSIkqnb++cwCzOVuQ4rDKVwo2XRzQA==", + "dev": true, + "requires": { + "ts-invariant": "^0.4.4", + "tslib": "^1.10.0" + } + }, + "@apollo/react-testing": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@apollo/react-testing/-/react-testing-3.1.4.tgz", + "integrity": "sha512-1eKjN36UfIAnBVmfLbl12vQ/eCjTqYdaU95chGIQzT2uHd5BnasJu0z+MwXBrEs57A9WY9mFvLZxdjzQJXaacA==", + "dev": true, + "requires": { + "@apollo/react-common": "^3.1.4", + "fast-json-stable-stringify": "^2.0.0", + "tslib": "^1.10.0" + } + }, "@ardatan/fetch-event-source": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@ardatan/fetch-event-source/-/fetch-event-source-2.0.2.tgz", @@ -4053,9 +4097,9 @@ } }, "@graphql-typed-document-node/core": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz", - "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz", + "integrity": "sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg==" }, "@hapi/address": { "version": "2.1.4", @@ -5515,17 +5559,6 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -5632,29 +5665,6 @@ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", "dev": true - }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } } } }, @@ -6097,29 +6107,6 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, "regenerator-runtime": { "version": "0.13.7", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", @@ -6291,25 +6278,6 @@ "@babel/runtime": "^7.4.2", "@types/react": "^16.8.22", "@types/react-test-renderer": "^16.8.2" - }, - "dependencies": { - "@types/react": { - "version": "16.14.32", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.32.tgz", - "integrity": "sha512-hvEy4vGVADbtj/U6+CA5SRC5QFIjdxD7JslAie8EuAYZwhYY9bgforpXNyF1VFzhnkEOesDy1278t1wdjN74cw==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true - } } }, "@tootallnate/once": { @@ -6324,17 +6292,6 @@ "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", "dev": true }, - "@types/apollo-upload-client": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/apollo-upload-client/-/apollo-upload-client-17.0.0.tgz", - "integrity": "sha512-S1HUj9g+wn0fM29vLsnD87hTW2h2k/ELlTTJ+mUHTnF6oxmm46KkqxrzFPR7u2rQBjjSiKQEaXLqBn76s8bzBg==", - "dev": true, - "requires": { - "@apollo/client": "^3.0.0", - "@types/extract-files": "*", - "graphql": "14 - 16" - } - }, "@types/asap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/asap/-/asap-2.0.0.tgz", @@ -6450,12 +6407,6 @@ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, - "@types/extract-files": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/extract-files/-/extract-files-8.1.1.tgz", - "integrity": "sha512-dMJJqBqyhsfJKuK7p7HyyNmki7qj1AlwhUKWx6KrU7i1K2T2SPsUsSUTWFmr/sEM1q8rfR8j5IyUmYrDbrhfjQ==", - "dev": true - }, "@types/faker": { "version": "5.5.1", "resolved": "https://registry.npmjs.org/@types/faker/-/faker-5.5.1.tgz", @@ -6737,9 +6688,9 @@ } }, "@types/react": { - "version": "17.0.50", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz", - "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==", + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -6747,19 +6698,19 @@ }, "dependencies": { "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.7.tgz", + "integrity": "sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==" } } }, "@types/react-dom": { - "version": "17.0.17", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz", - "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==", + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", "dev": true, "requires": { - "@types/react": "^17" + "@types/react": "^16" } }, "@types/react-dropzone": { @@ -6874,25 +6825,6 @@ "dev": true, "requires": { "@types/react": "^16" - }, - "dependencies": { - "@types/react": { - "version": "16.14.32", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.32.tgz", - "integrity": "sha512-hvEy4vGVADbtj/U6+CA5SRC5QFIjdxD7JslAie8EuAYZwhYY9bgforpXNyF1VFzhnkEOesDy1278t1wdjN74cw==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true - } } }, "@types/react-textarea-autosize": { @@ -6941,9 +6873,9 @@ } }, "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", + "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" }, "@types/semver-compare": { "version": "1.0.1", @@ -7772,83 +7704,26 @@ "@xtuc/long": "4.2.2" } }, - "@wojtekmaj/enzyme-adapter-react-17": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.7.tgz", - "integrity": "sha512-B+byiwi/T1bx5hcj9wc0fUL5Hlb5giSXJzcnEfJVl2j6dGV2NJfcxDBYX0WWwIxlzNiFz8kAvlkFWI2y/nscZQ==", - "dev": true, + "@wry/equality": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", + "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", "requires": { - "@wojtekmaj/enzyme-adapter-utils": "^0.1.4", - "enzyme-shallow-equal": "^1.0.0", - "has": "^1.0.0", - "prop-types": "^15.7.0", - "react-is": "^17.0.0", - "react-test-renderer": "^17.0.0" - }, - "dependencies": { - "react-test-renderer": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", - "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "react-is": "^17.0.2", - "react-shallow-renderer": "^16.13.1", - "scheduler": "^0.20.2" - } - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } - } - }, - "@wojtekmaj/enzyme-adapter-utils": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.4.tgz", - "integrity": "sha512-ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==", - "dev": true, - "requires": { - "function.prototype.name": "^1.1.0", - "has": "^1.0.0", - "object.fromentries": "^2.0.0", - "prop-types": "^15.7.0" - } - }, - "@wry/context": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz", - "integrity": "sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==", - "requires": { - "tslib": "^2.3.0" - }, - "dependencies": { - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - } + "tslib": "^1.9.3" } }, "@wry/trie": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.2.tgz", - "integrity": "sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.1.tgz", + "integrity": "sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw==", "requires": { "tslib": "^2.3.0" }, "dependencies": { "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" } } }, @@ -7975,6 +7850,31 @@ "symbol.prototype.description": "^1.0.0" } }, + "airbnb-prop-types": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz", + "integrity": "sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==", + "dev": true, + "requires": { + "array.prototype.find": "^2.1.1", + "function.prototype.name": "^1.1.2", + "is-regex": "^1.1.0", + "object-is": "^1.1.2", + "object.assign": "^4.1.0", + "object.entries": "^1.1.2", + "prop-types": "^15.7.2", + "prop-types-exact": "^1.2.0", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -8210,12 +8110,46 @@ } } }, - "apollo-upload-client": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-17.0.0.tgz", - "integrity": "sha512-pue33bWVbdlXAGFPkgz53TTmxVMrKeQr0mdRcftNY+PoHIdbGZD0hoaXHvO6OePJAkFz7OiCFUf98p1G/9+Ykw==", + "apollo-link": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", + "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", "requires": { - "extract-files": "^11.0.0" + "apollo-utilities": "^1.3.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3", + "zen-observable-ts": "^0.8.21" + } + }, + "apollo-link-http-common": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz", + "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==", + "requires": { + "apollo-link": "^1.2.14", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3" + } + }, + "apollo-upload-client": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-9.1.0.tgz", + "integrity": "sha512-ZN5gsbBjImEZTWWTUHpCEGDasnoBGbaODpznQ5EawyNHceuFYSNJbbft+ZZ841vZAcj9XZdKUKoaLBlMZ/r7nw==", + "requires": { + "apollo-link": "^1.2.3", + "apollo-link-http-common": "^0.2.5", + "extract-files": "^4.0.0" + } + }, + "apollo-utilities": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", + "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", + "requires": { + "@wry/equality": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.10.0" } }, "app-root-dir": { @@ -8369,6 +8303,16 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "array.prototype.find": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz", + "integrity": "sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.4" + } + }, "array.prototype.flat": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", @@ -13521,6 +13465,60 @@ "string.prototype.trim": "^1.2.1" } }, + "enzyme-adapter-react-16": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz", + "integrity": "sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "^1.14.0", + "enzyme-shallow-equal": "^1.0.4", + "has": "^1.0.3", + "object.assign": "^4.1.2", + "object.values": "^1.1.2", + "prop-types": "^15.7.2", + "react-is": "^16.13.1", + "react-test-renderer": "^16.0.0-0", + "semver": "^5.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "enzyme-adapter-utils": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz", + "integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==", + "dev": true, + "requires": { + "airbnb-prop-types": "^2.16.0", + "function.prototype.name": "^1.1.3", + "has": "^1.0.3", + "object.assign": "^4.1.2", + "object.fromentries": "^2.0.3", + "prop-types": "^15.7.2", + "semver": "^5.7.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "enzyme-shallow-equal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz", @@ -15293,9 +15291,9 @@ } }, "extract-files": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz", - "integrity": "sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-4.1.0.tgz", + "integrity": "sha512-2gjdb3dVzr1ie9+K8pupPTnsNkK4qmzbTFOIxghiWoh6nCTajGCGC72ZNYX0nBWy5IOq1FXfRVgvkkLqqE4sdw==" }, "extract-zip": { "version": "2.0.1", @@ -15353,8 +15351,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -16178,29 +16175,6 @@ "react": "^16.3.0", "react-display-name": "^0.2.0", "react-dom": "^16.3.0" - }, - "dependencies": { - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - } } }, "fs-extra": { @@ -22691,6 +22665,12 @@ } } }, + "mock-apollo-client": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/mock-apollo-client/-/mock-apollo-client-0.4.0.tgz", + "integrity": "sha512-cHznpkX8uUClkWWJMpgdDWzEgjacM85xt69S9gPLrssM8Vahas0QmEJkFUycrRQyBkaqxvRe58Bg3a5pOvj2zA==", + "dev": true + }, "mock-fs": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz", @@ -23433,15 +23413,6 @@ } } }, - "optimism": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz", - "integrity": "sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==", - "requires": { - "@wry/context": "^0.6.0", - "@wry/trie": "^0.3.0" - } - }, "optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -24653,6 +24624,17 @@ } } }, + "prop-types-exact": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz", + "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==", + "dev": true, + "requires": { + "has": "^1.0.3", + "object.assign": "^4.1.0", + "reflect.ownkeys": "^0.2.0" + } + }, "propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -24949,12 +24931,13 @@ } }, "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" } }, "react-clientside-effect": { @@ -25482,24 +25465,14 @@ } }, "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "dependencies": { - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" } }, "react-draggable": { @@ -25532,12 +25505,9 @@ } }, "react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", - "requires": { - "@babel/runtime": "^7.12.5" - } + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-1.2.5.tgz", + "integrity": "sha512-5CPSeLJA2igJNppAgFRwnTL9aK3ojenk65enNzhVyoxYNbHpIJXnChUO7+4vPhkncRA9wvQMXq6Azp2XeXd+iQ==" }, "react-error-overlay": { "version": "6.0.9", @@ -25631,12 +25601,19 @@ } }, "react-inlinesvg": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/react-inlinesvg/-/react-inlinesvg-3.0.1.tgz", - "integrity": "sha512-cBfoyfseNI2PkDA7ZKIlDoHq0eMfpoC3DhKBQNC+/X1M4ZQB+aXW+YiNPUDDDKXUsGDUIZWWiZWNFeauDIVdoA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-inlinesvg/-/react-inlinesvg-2.2.2.tgz", + "integrity": "sha512-5uXTB0yL9LiRLbN5FhTnL1IK9mLg93kspY2HnKUftzoJDEqZrlscuZxzXStbMBZpNyO359U7QDspM3AqUYUrog==", "requires": { "exenv": "^1.2.2", - "react-from-dom": "^0.6.2" + "react-from-dom": "^0.5.1" + }, + "dependencies": { + "react-from-dom": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/react-from-dom/-/react-from-dom-0.5.1.tgz", + "integrity": "sha512-ki6OGVgSjDCF0Gt4SMl2cUNBA9ZB8g59bwv9ZiSEXQ37Cw9ZGY0s7EgfPFQYDvaiVx22jto7/dYgQeS+Qw1Mfw==" + } } }, "react-intl": { @@ -25817,16 +25794,6 @@ "tiny-warning": "^1.0.0" } }, - "react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - } - }, "react-sizeme": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", @@ -26262,6 +26229,12 @@ "symbol-observable": "^1.2.0" } }, + "reflect.ownkeys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", + "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=", + "dev": true + }, "refractor": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.10.1.tgz", @@ -30141,6 +30114,14 @@ "integrity": "sha512-6zSJp23uQI+Txyz5LlXMXAHpUhY4Hi0oluXny0OgIR7g/Cromq4vDBnhtbBdyIV34g0pgwxUvnvg+jLJe4c1NA==", "dev": true }, + "ts-invariant": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", + "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", + "requires": { + "tslib": "^1.9.3" + } + }, "ts-jest": { "version": "27.1.4", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", @@ -32747,6 +32728,15 @@ "version": "0.8.15", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "zen-observable-ts": { + "version": "0.8.21", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", + "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", + "requires": { + "tslib": "^1.9.3", + "zen-observable": "^0.8.0" + } } } } diff --git a/package.json b/package.json index ffe2009a7..75679ef53 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "npm": ">=6.11.0 <7" }, "dependencies": { - "@apollo/client": "^3.5.10", + "@apollo/client": "^3.4.15", "@editorjs/editorjs": "^2.24.3", "@editorjs/header": "^2.6.2", "@editorjs/image": "^2.6.2", @@ -36,7 +36,7 @@ "@uiw/react-color-hue": "0.0.34", "@uiw/react-color-material": "^0.1.0", "@uiw/react-color-saturation": "0.0.34", - "apollo-upload-client": "^17.0.0", + "apollo-upload-client": "^9.1.0", "classnames": "^2.2.6", "color-convert": "^2.0.1", "crc-32": "^1.2.0", @@ -59,15 +59,15 @@ "lodash": "^4.17.20", "moment-timezone": "^0.5.32", "qs": "^6.9.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^16.12.0", + "react-dom": "^16.9.0", "react-dropzone": "^11.2.4", "react-editor-js": "^2.0.6", - "react-error-boundary": "^3.1.4", + "react-error-boundary": "^1.2.5", "react-gtm-module": "^2.0.11", "react-helmet": "^6.1.0", "react-infinite-scroll-component": "^6.1.0", - "react-inlinesvg": "^3.0.1", + "react-inlinesvg": "^2.1.1", "react-intl": "^5.21.2", "react-jss": "^10.0.0", "react-markdown": "^4.3.1", @@ -82,6 +82,7 @@ "use-react-router": "^1.0.7" }, "devDependencies": { + "@apollo/react-testing": "^3.1.4", "@babel/cli": "^7.5.5", "@babel/core": "^7.7.7", "@babel/plugin-proposal-class-properties": "^7.5.0", @@ -114,7 +115,6 @@ "@storybook/addon-storyshots": "^5.2.8", "@storybook/react": "^5.1.9", "@testing-library/react-hooks": "^1.1.0", - "@types/apollo-upload-client": "^17.0.0", "@types/classnames": "^2.2.9", "@types/color-convert": "^2.0.0", "@types/enzyme": "^3.10.8", @@ -124,8 +124,8 @@ "@types/lodash-es": "^4.17.3", "@types/pollyjs__adapter-node-http": "^2.0.1", "@types/pollyjs__persister-fs": "^2.0.1", - "@types/react": "^17.0.50", - "@types/react-dom": "^17.0.17", + "@types/react": "^16.9.16", + "@types/react-dom": "^16.8.5", "@types/react-dropzone": "^4.2.2", "@types/react-helmet": "^5.0.8", "@types/react-infinite-scroller": "^1.2.1", @@ -141,7 +141,6 @@ "@types/webappsec-credential-management": "^0.5.1", "@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/parser": "^4.16.1", - "@wojtekmaj/enzyme-adapter-react-17": "^0.6.7", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^23.6.0", "babel-loader": "^8.0.6", @@ -154,6 +153,7 @@ "cypress-timings": "^1.0.0", "dotenv": "^10.0.0", "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.5", "enzyme-to-json": "^3.6.1", "esbuild-loader": "^2.18.0", "eslint": "^7.4.0", @@ -179,6 +179,7 @@ "mochawesome": "^7.0.1", "mochawesome-merge": "^4.2.1", "mochawesome-report-generator": "^6.0.1", + "mock-apollo-client": "^0.4.0", "prettier": "^1.19.1", "react-test-renderer": "^16.12.0", "regenerator-runtime": "^0.11.1", diff --git a/src/apps/apolloMocks.ts b/src/apps/apolloMocks.ts index dfe09736b..4ce95f11b 100644 --- a/src/apps/apolloMocks.ts +++ b/src/apps/apolloMocks.ts @@ -1,4 +1,4 @@ -import { MockedResponse } from "@apollo/client/testing"; +import { MockedResponse } from "@apollo/react-testing"; import { extensionList } from "./queries"; diff --git a/src/components/AppLayout/AppLayout.tsx b/src/components/AppLayout/AppLayout.tsx index e8bf3521f..9e25a5b21 100644 --- a/src/components/AppLayout/AppLayout.tsx +++ b/src/components/AppLayout/AppLayout.tsx @@ -1,6 +1,7 @@ import { LinearProgress, useMediaQuery } from "@material-ui/core"; import { useUser } from "@saleor/auth"; import useAppState from "@saleor/hooks/useAppState"; +import useNavigator from "@saleor/hooks/useNavigator"; import { makeStyles, SaleorTheme, @@ -17,6 +18,7 @@ import { useIntl } from "react-intl"; import useRouter from "use-react-router"; import Container from "../Container"; +import ErrorPage from "../ErrorPage"; import Navigator from "../Navigator"; import NavigatorButton from "../NavigatorButton/NavigatorButton"; import UserChip from "../UserChip"; @@ -130,8 +132,9 @@ const AppLayout: React.FC = ({ const { anchor: appActionAnchor } = useActionBar(); const appHeaderAnchor = useBacklink(); const { logout, user } = useUser(); + const navigate = useNavigator(); const intl = useIntl(); - const [appState] = useAppState(); + const [appState, dispatchAppState] = useAppState(); const { location } = useRouter(); const [isNavigatorVisible, setNavigatorVisibility] = React.useState(false); const isMdUp = useMediaQuery((theme: SaleorTheme) => @@ -149,6 +152,21 @@ const AppLayout: React.FC = ({ isMenuActive(location.pathname, menuItem), )?.id; + const reloadWindow = () => { + window.location.reload(); + }; + + const handleErrorBack = () => { + navigate("/", { replace: true }); + dispatchAppState({ + payload: { + error: null, + }, + type: "displayError", + }); + reloadWindow(); + }; + const toggleTheme = () => setTheme(isDarkTheme(themeType) ? "light" : "dark"); return ( @@ -216,7 +234,15 @@ const AppLayout: React.FC = ({ [classes.viewMargins]: !fullSize, })} > - {children} + {appState.error + ? appState.error.type === "unhandled" && ( + window.location.reload()} + /> + ) + : children}
diff --git a/src/components/ErrorPage/ErrorPage.tsx b/src/components/ErrorPage/ErrorPage.tsx index 99b63756f..44b995f75 100644 --- a/src/components/ErrorPage/ErrorPage.tsx +++ b/src/components/ErrorPage/ErrorPage.tsx @@ -1,7 +1,5 @@ import notFoundImage from "@assets/images/what.svg"; import { Typography } from "@material-ui/core"; -import useAppState from "@saleor/hooks/useAppState"; -import useNavigator from "@saleor/hooks/useNavigator"; import { Button } from "@saleor/macaw-ui"; import React from "react"; import SVG from "react-inlinesvg"; @@ -11,28 +9,13 @@ import messages from "./messages"; import useStyles from "./styles"; export interface ErrorPageProps { + id?: string | null; onBack: () => void; onRefresh: () => void; } -const ErrorPage: React.FC = ({ onBack, onRefresh }) => { +const ErrorPage: React.FC = ({ onBack, onRefresh, id }) => { const classes = useStyles(); - const navigate = useNavigator(); - const [appState, dispatchAppState] = useAppState(); - - const handleOnBack = () => { - navigate("/", { replace: true }); - dispatchAppState({ - payload: { - error: null, - }, - type: "displayError", - }); - onBack(); - }; - - const errorTrackingId = - appState.error?.type === "unhandled" ? appState.error.id : null; return (
@@ -46,7 +29,7 @@ const ErrorPage: React.FC = ({ onBack, onRefresh }) => { - {!!errorTrackingId && ( + {!!id && (
= ({ onBack, onRefresh }) => { > Error ID - {errorTrackingId} + {id}
)}
-
diff --git a/src/components/Metadata/Metadata.test.tsx b/src/components/Metadata/Metadata.test.tsx index 940af8a43..b1e80ccae 100644 --- a/src/components/Metadata/Metadata.test.tsx +++ b/src/components/Metadata/Metadata.test.tsx @@ -1,7 +1,7 @@ import useForm from "@saleor/hooks/useForm"; import Wrapper from "@test/wrapper"; -import Adapter from "@wojtekmaj/enzyme-adapter-react-17"; import { configure, mount } from "enzyme"; +import Adapter from "enzyme-adapter-react-16"; import React from "react"; import { props } from "./fixtures"; diff --git a/src/components/Metadata/MetadataCard.tsx b/src/components/Metadata/MetadataCard.tsx index e27aa1537..d792fb971 100644 --- a/src/components/Metadata/MetadataCard.tsx +++ b/src/components/Metadata/MetadataCard.tsx @@ -41,7 +41,7 @@ const MetadataCard: React.FC = ({ const intl = useIntl(); const loaded = React.useRef(false); const [expanded, setExpanded] = React.useState(true); - const classes = useStyles(); + const classes = useStyles({}); useEffect(() => { if (data !== undefined) { diff --git a/src/components/Navigator/useQuickSearch.ts b/src/components/Navigator/useQuickSearch.ts index 5cbe979c8..31212d1b3 100644 --- a/src/components/Navigator/useQuickSearch.ts +++ b/src/components/Navigator/useQuickSearch.ts @@ -66,15 +66,12 @@ function useQuickSearch( useEffect(() => { setQuery(""); - - const inputInstance = input.current; - if (mode !== "default" && input.current) { - inputInstance.addEventListener("keyup", handleBack); + input.current.addEventListener("keyup", handleBack); return () => { - if (inputInstance) { - inputInstance.removeEventListener("keyup", handleBack); + if (input.current) { + input.current.removeEventListener("keyup", handleBack); } }; } diff --git a/src/components/TableCellAvatar/Avatar.tsx b/src/components/TableCellAvatar/Avatar.tsx index da210688a..c577b1a43 100644 --- a/src/components/TableCellAvatar/Avatar.tsx +++ b/src/components/TableCellAvatar/Avatar.tsx @@ -42,7 +42,7 @@ export interface AvatarProps { thumbnail?: string; alignRight?: boolean; avatarProps?: string; - children?: React.ReactNode | React.ReactNode[]; + children?: React.ReactNode | React.ReactNodeArray; badge?: React.ReactNode; } diff --git a/src/components/TableCellAvatar/TableCellAvatar.tsx b/src/components/TableCellAvatar/TableCellAvatar.tsx index 6fd0a3d1c..f7503bfdc 100644 --- a/src/components/TableCellAvatar/TableCellAvatar.tsx +++ b/src/components/TableCellAvatar/TableCellAvatar.tsx @@ -19,9 +19,7 @@ const useStyles = makeStyles( { name: "TableCellAvatar" }, ); -interface TableCellAvatarProps - extends TableCellProps, - Omit { +interface TableCellAvatarProps extends AvatarProps, TableCellProps { className?: string; } diff --git a/src/components/TypeDeleteWarningDialog/DeleteWarningDialogConsentContent.tsx b/src/components/TypeDeleteWarningDialog/DeleteWarningDialogConsentContent.tsx index 31295c0ce..af30a9b91 100644 --- a/src/components/TypeDeleteWarningDialog/DeleteWarningDialogConsentContent.tsx +++ b/src/components/TypeDeleteWarningDialog/DeleteWarningDialogConsentContent.tsx @@ -6,7 +6,7 @@ import ControlledCheckbox from "../ControlledCheckbox"; import { useTypeDeleteWarningDialogStyles as useStyles } from "./styles"; interface DeleteWarningDialogConsentContentProps { - description: string | React.ReactNode[] | readonly React.ReactNode[]; + description: string | React.ReactNode[]; consentLabel: string; isConsentChecked: boolean; onConsentChange: (value: boolean) => void; diff --git a/src/hooks/useElementScroll.ts b/src/hooks/useElementScroll.ts index e6b14a3b8..b21c10612 100644 --- a/src/hooks/useElementScroll.ts +++ b/src/hooks/useElementScroll.ts @@ -28,18 +28,16 @@ function useElementScroll(anchor: MutableRefObject): Position { const [scroll, setScroll] = useState(getPosition(anchor.current)); useEffect(() => { - const anchorInstance = anchor.current; - - if (!!anchorInstance) { + if (!!anchor.current) { const handleScroll = throttle( - () => setScroll(getPosition(anchorInstance)), + () => setScroll(getPosition(anchor.current)), 100, ); - anchorInstance.addEventListener("scroll", handleScroll); + anchor.current.addEventListener("scroll", handleScroll); return () => { - if (!!anchorInstance) { - anchorInstance.removeEventListener("scroll", handleScroll); + if (!!anchor.current) { + anchor.current.removeEventListener("scroll", handleScroll); } }; } diff --git a/src/index.tsx b/src/index.tsx index 36ebbc6c0..6f1c03b95 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -6,7 +6,7 @@ import { ThemeProvider } from "@saleor/macaw-ui"; import { SaleorProvider } from "@saleor/sdk"; import React from "react"; import { render } from "react-dom"; -import { ErrorBoundary } from "react-error-boundary"; +import ErrorBoundary from "react-error-boundary"; import TagManager from "react-gtm-module"; import { useIntl } from "react-intl"; import { BrowserRouter, Route, Switch } from "react-router-dom"; @@ -30,7 +30,6 @@ import useAppChannel, { AppChannelProvider, } from "./components/AppLayout/AppChannelContext"; import { DateProvider } from "./components/Date"; -import ErrorPage from "./components/ErrorPage"; import ExitFormDialogProvider from "./components/Form/ExitFormDialogProvider"; import { LocaleProvider } from "./components/Locale"; import MessageManagerProvider from "./components/messages"; @@ -143,12 +142,6 @@ const Routes: React.FC = () => { type: "displayError", }); }} - fallbackRender={({ resetErrorBoundary }) => ( - window.location.reload()} - /> - )} > diff --git a/src/products/components/ProductUpdatePage/ProductUpdatePage.test.tsx b/src/products/components/ProductUpdatePage/ProductUpdatePage.test.tsx index 4af7156e0..8956cd83b 100644 --- a/src/products/components/ProductUpdatePage/ProductUpdatePage.test.tsx +++ b/src/products/components/ProductUpdatePage/ProductUpdatePage.test.tsx @@ -16,7 +16,7 @@ const product = productFixture(placeholderImage); const channels = createChannelsData(channelsList); import * as _useNavigator from "@saleor/hooks/useNavigator"; -import Adapter from "@wojtekmaj/enzyme-adapter-react-17"; +import Adapter from "enzyme-adapter-react-16"; import { act } from "react-dom/test-utils"; import { MemoryRouter } from "react-router-dom"; diff --git a/src/storybook/Stories.test.ts b/src/storybook/Stories.test.ts index bcf1fa088..dc822ea2c 100644 --- a/src/storybook/Stories.test.ts +++ b/src/storybook/Stories.test.ts @@ -1,8 +1,8 @@ import createGenerateClassName from "@material-ui/styles/createGenerateClassName"; import initStoryshots from "@storybook/addon-storyshots"; -import Adapter from "@wojtekmaj/enzyme-adapter-react-17"; // tslint:disable no-submodule-imports import { configure, render } from "enzyme"; +import Adapter from "enzyme-adapter-react-16"; import toJSON from "enzyme-to-json"; import React from "react"; diff --git a/src/storybook/stories/components/ErrorPage.tsx b/src/storybook/stories/components/ErrorPage.tsx index 476305633..6fbff02c6 100644 --- a/src/storybook/stories/components/ErrorPage.tsx +++ b/src/storybook/stories/components/ErrorPage.tsx @@ -1,29 +1,9 @@ import ErrorPage, { ErrorPageProps } from "@saleor/components/ErrorPage"; -import { - AppStateContext, - AppStateContextType, -} from "@saleor/containers/AppState"; -import { initialAppState } from "@saleor/containers/AppState/state"; import { storiesOf } from "@storybook/react"; import React from "react"; import Decorator from "../../Decorator"; -const initialAppStateFixture: AppStateContextType = [ - initialAppState, - () => undefined, -]; -const errorAppStateFixture: AppStateContextType = [ - { - error: { - id: "LS5E4RahA4Dc+mNICEUKXPaVkOR1ChT=", - type: "unhandled", - }, - loading: false, - }, - () => undefined, -]; - const props: Omit = { onBack: () => undefined, onRefresh: () => undefined, @@ -31,13 +11,7 @@ const props: Omit = { storiesOf("Views / Error page", module) .addDecorator(Decorator) - .add("default", () => ( - - - - )) + .add("default", () => ) .add("with error id", () => ( - - - + ));