From d927a7f370d88d216e1df7c6c026081ed7c5f9ea Mon Sep 17 00:00:00 2001 From: Jamie King Date: Wed, 9 Feb 2022 09:24:34 -0700 Subject: [PATCH] feat(deps): upgrade to react 17 BREAKING CHANGE: Upgrade from React 16 to 17 --- .../__snapshots__/initClient.spec.js.snap | 42 - __tests__/client/initClient.spec.js | 67 +- jest.config.js | 6 +- package-lock.json | 1005 ++--------------- package.json | 16 +- .../cultured-frankie/0.0.0/package.json | 5 +- .../cultured-frankie/0.0.1/package.json | 5 +- .../frank-lloyd-root/0.0.0/package.json | 5 +- .../frank-lloyd-root/0.0.1/package.json | 3 +- .../frank-lloyd-root/0.0.2/package.json | 5 +- .../frank-lloyd-root/0.0.3/package.json | 3 +- .../frank-the-parrot/0.0.0/package.json | 3 +- .../franks-burgers/0.0.0/package.json | 3 +- .../healthy-frank/0.0.0/package.json | 3 +- .../late-frank/0.0.0/package.json | 3 +- .../late-frank/0.0.1/package.json | 5 +- .../late-frank/0.0.2/package.json | 3 +- .../needy-frank/0.0.0/package.json | 3 +- .../needy-frank/0.0.1/package.json | 3 +- .../picky-frank/0.0.0/package.json | 3 +- .../picky-frank/0.0.1/package.json | 3 +- .../preview-frank/0.0.0/package.json | 3 +- .../ssr-frank/0.0.0/package.json | 3 +- .../vitruvius-franklin/0.0.0/package.json | 3 +- .../vitruvius-franklin/0.0.1/package.json | 3 +- src/client/initClient.jsx | 1 + 26 files changed, 139 insertions(+), 1068 deletions(-) diff --git a/__tests__/client/__snapshots__/initClient.spec.js.snap b/__tests__/client/__snapshots__/initClient.spec.js.snap index ac149c683..c911f7c8e 100644 --- a/__tests__/client/__snapshots__/initClient.spec.js.snap +++ b/__tests__/client/__snapshots__/initClient.spec.js.snap @@ -21,45 +21,3 @@ Immutable.Map { }, } `; - -exports[`initClient should use ReactDOM.render if renderMode is "render" 1`] = ` - - - -`; - -exports[`initClient should use strict mode 1`] = ` - - - -`; diff --git a/__tests__/client/initClient.spec.js b/__tests__/client/initClient.spec.js index 14c14463b..4bb056659 100644 --- a/__tests__/client/initClient.spec.js +++ b/__tests__/client/initClient.spec.js @@ -15,15 +15,8 @@ * permissions and limitations under the License. */ -import { shallow } from 'enzyme'; import { fromJS } from 'immutable'; -jest.mock('react', () => { - const StrictMode = ({ children }) => children; - const react = jest.requireActual('react'); - return { ...react, StrictMode }; -}); - jest.mock('@americanexpress/one-app-router', () => { const reactRouter = jest.requireActual('@americanexpress/one-app-router'); jest.spyOn(reactRouter, 'matchPromise'); @@ -83,16 +76,12 @@ describe('initClient', () => { expect.assertions(1); const { loadPrerenderScripts } = require('../../src/client/prerender'); const mockError = new Error('This is a test error!!!'); - loadPrerenderScripts.mockReturnValue(Promise.reject(mockError)); + loadPrerenderScripts.mockImplementationOnce(() => { throw mockError; }); const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); const initClient = require('../../src/client/initClient').default; - try { - await initClient(); - } catch (_error) { - // do nothing - } + await initClient(); expect(consoleErrorSpy).toHaveBeenCalledWith(mockError); }); @@ -119,27 +108,6 @@ describe('initClient', () => { expect(promiseResolveSpy).toHaveBeenCalled(); }); - it('handles rejected promises', async () => { - expect.assertions(2); - const promiseRejectionSpy = jest.spyOn(Promise, 'reject'); - const consoleErrorSpy = jest.spyOn(console, 'error'); - const testError = new Error('something went wrong'); - - const { matchPromise } = require('@americanexpress/one-app-router'); - matchPromise.mockImplementationOnce( - () => Promise.reject(testError) - ); - - const { loadPrerenderScripts } = require('../../src/client/prerender'); - loadPrerenderScripts.mockReturnValueOnce(Promise.resolve()); - - const initClient = require('../../src/client/initClient').default; - - await initClient(); - expect(consoleErrorSpy).toHaveBeenCalledWith(testError); - expect(promiseRejectionSpy).toHaveBeenCalled(); - }); - it('should set up the global redux store and kick off rendering', async () => { expect.assertions(2); const promiseResolveSpy = jest.spyOn(Promise, 'resolve'); @@ -162,35 +130,10 @@ describe('initClient', () => { expect(promiseResolveSpy).toHaveBeenCalled(); }); - it('should use strict mode', async () => { - expect.assertions(1); - const promiseResolveSpy = jest.spyOn(Promise, 'resolve'); - const { hydrate } = require('react-dom'); - - document.getElementById = jest.fn(() => ({ remove: jest.fn() })); - - const { matchPromise } = require('@americanexpress/one-app-router'); - matchPromise.mockImplementationOnce(() => Promise.resolve({ - redirectLocation: null, - renderProps: { testProp: 'test' }, - })); - - const { loadPrerenderScripts } = require('../../src/client/prerender'); - loadPrerenderScripts.mockReturnValueOnce(Promise.resolve()); - promiseResolveSpy.mockRestore(); - - const initClient = require('../../src/client/initClient').default; - - await initClient(); - - const tree = shallow(hydrate.mock.calls[0][0]); - expect(tree).toMatchSnapshot(); - }); - it('should use ReactDOM.render if renderMode is "render"', async () => { expect.assertions(1); const promiseResolveSpy = jest.spyOn(Promise, 'resolve'); - const { render } = require('react-dom'); + const { render, hydrate } = require('react-dom'); document.getElementById = jest.fn(() => ({ remove: jest.fn() })); @@ -211,8 +154,8 @@ describe('initClient', () => { await initClient(); - const tree = shallow(render.mock.calls[0][0]); - expect(tree).toMatchSnapshot(); + expect(render).toHaveBeenCalled(); + expect(hydrate).not.toHaveBeenCalled(); }); it('should load pwa script', async () => { diff --git a/jest.config.js b/jest.config.js index 5ec48c1a2..23041926f 100644 --- a/jest.config.js +++ b/jest.config.js @@ -15,7 +15,11 @@ */ module.exports = { - preset: 'amex-jest-preset-react', + preset: 'amex-jest-preset', + testEnvironment: 'jsdom', + collectCoverageFrom: [ + 'src/**/*.{js,jsx}', + ], coveragePathIgnorePatterns: [ 'src/client/polyfill', 'src/server/polyfill', diff --git a/package-lock.json b/package-lock.json index 1f8cfbade..269038f4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@americanexpress/lumberjack": "^1.1.4", "@americanexpress/one-app-bundler": "^6.14.2", "@americanexpress/one-app-ducks": "^4.3.4", - "@americanexpress/one-app-router": "^1.1.0", + "@americanexpress/one-app-router": "^1.2.0", "@americanexpress/vitruvius": "^2.0.2", "abort-controller": "^3.0.0", "body-parser": "^1.19.0", @@ -26,7 +26,7 @@ "cookie-parser": "^1.4.5", "core-js": "^3.23.1", "cors": "^2.8.5", - "create-shared-react-context": "^1.0.3", + "create-shared-react-context": "^1.0.4", "cross-fetch": "^3.0.6", "express": "^4.17.1", "helmet": "^3.22.0", @@ -44,8 +44,8 @@ "pidusage": "^3.0.0", "prom-client": "^14.0.1", "prop-types": "^15.7.2", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", "react-helmet": "^6.1.0", "react-redux": "^7.2.5", "redux": "^4.1.2", @@ -75,15 +75,15 @@ "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-replace": "^2.3.4", "accepts": "^1.3.8", - "amex-jest-preset-react": "^6.1.0", + "acorn": "^7.3.1", + "amex-jest-preset": "^6.1.0", + "babel-eslint": "^10.1.0", "babel-preset-amex": "^3.5.1", "chokidar": "^3.5.2", "concurrently": "^7.2.1", "conventional-changelog-cli": "^2.1.1", "cross-env": "^7.0.3", "danger": "^10.6.0", - "enzyme": "^3.11.0", - "enzyme-to-json": "^3.6.1", "eslint": "^7.32.0", "eslint-config-amex": "^14.2.1", "eslint-plugin-es": "^4.1.0", @@ -107,7 +107,7 @@ "ora": "^5.4.0", "parse-prometheus-text-format": "^1.1.1", "prettier": "^2.2.1", - "react-test-renderer": "^16.14.0", + "react-test-renderer": "^17.0.2", "rimraf": "^3.0.2", "rollup": "^2.50.5", "rollup-plugin-babel": "^4.4.0", @@ -3994,15 +3994,6 @@ "@types/responselike": "*" } }, - "node_modules/@types/cheerio": { - "version": "0.22.31", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.31.tgz", - "integrity": "sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", @@ -4699,29 +4690,6 @@ "node": ">=8" } }, - "node_modules/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, - "dependencies": { - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "peerDependencies": { - "react": "^0.14 || ^15.0.0 || ^16.0.0-alpha" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -4768,24 +4736,6 @@ "jest": ">=23.0.0" } }, - "node_modules/amex-jest-preset-react": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/amex-jest-preset-react/-/amex-jest-preset-react-6.1.2.tgz", - "integrity": "sha512-ylHtEseHiNGVagyGTF7viMpGUB3OpJffmT8TWphk4zxtlO6xm6jBbd3EbDKl/yVZgCocAHEQ9/RASxZd9W/aRA==", - "dev": true, - "dependencies": { - "amex-jest-preset": "^6.1.0", - "enzyme": "^3.0.0", - "enzyme-adapter-react-16": "^1.7.0", - "identity-obj-proxy": "^3.0.0" - }, - "peerDependencies": { - "enzyme-to-json": "^3.0.1", - "jest": ">=24.0.0", - "react": "16.x", - "react-dom": "16.x" - } - }, "node_modules/amex-jest-preset/node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -5023,39 +4973,6 @@ "node": ">=0.10.0" } }, - "node_modules/array.prototype.filter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.1.tgz", - "integrity": "sha512-Dk3Ty7N42Odk7PjU/Ci3zT4pLj20YvuVnneG/58ICM6bt4Ij5kZaJTVQ9TSaWaIECX2sFyz4KItkVZqHNnciqw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.find": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.2.tgz", - "integrity": "sha512-00S1O4ewO95OmmJW7EesWfQlrCrLEL8kZ40w3+GkLX2yTt0m2ggcePPa2uHPJ9KUmJvwRq+lCV9bD8Yim23x/Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array.prototype.flat": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", @@ -6403,43 +6320,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "dev": true, - "dependencies": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", - "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", - "dev": true, - "dependencies": { - "css-select": "^4.3.0", - "css-what": "^6.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.3.1", - "domutils": "^2.8.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -8504,12 +8384,6 @@ "node": ">=8" } }, - "node_modules/discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", - "dev": true - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -8861,133 +8735,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/enzyme": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz", - "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==", - "dev": true, - "dependencies": { - "array.prototype.flat": "^1.2.3", - "cheerio": "^1.0.0-rc.3", - "enzyme-shallow-equal": "^1.0.1", - "function.prototype.name": "^1.1.2", - "has": "^1.0.3", - "html-element-map": "^1.2.0", - "is-boolean-object": "^1.0.1", - "is-callable": "^1.1.5", - "is-number-object": "^1.0.4", - "is-regex": "^1.0.5", - "is-string": "^1.0.5", - "is-subset": "^0.1.1", - "lodash.escape": "^4.0.1", - "lodash.isequal": "^4.5.0", - "object-inspect": "^1.7.0", - "object-is": "^1.0.2", - "object.assign": "^4.1.0", - "object.entries": "^1.1.1", - "object.values": "^1.1.1", - "raf": "^3.4.1", - "rst-selector-parser": "^2.2.3", - "string.prototype.trim": "^1.2.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "peerDependencies": { - "enzyme": "^3.0.0", - "react": "^16.0.0-0", - "react-dom": "^16.0.0-0" - } - }, - "node_modules/enzyme-adapter-react-16/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "peerDependencies": { - "react": "0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0" - } - }, - "node_modules/enzyme-adapter-utils/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/enzyme-shallow-equal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz", - "integrity": "sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==", - "dev": true, - "dependencies": { - "has": "^1.0.3", - "object-is": "^1.1.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/enzyme-to-json": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz", - "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==", - "dev": true, - "dependencies": { - "@types/cheerio": "^0.22.22", - "lodash": "^4.17.21", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "enzyme": "^3.4.0" - } - }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -9008,9 +8755,9 @@ } }, "node_modules/es-abstract": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", - "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", + "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -9023,7 +8770,7 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", @@ -9040,12 +8787,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -10996,38 +10737,11 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, - "node_modules/functions-have-names": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", - "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -11529,12 +11243,6 @@ "node": ">=6" } }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -11847,9 +11555,9 @@ } }, "node_modules/holocron": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/holocron/-/holocron-1.2.1.tgz", - "integrity": "sha512-nLrdpQI4cLesgv2F7trg3KhrxYHZKg3hbxFq/l2eWzVj9kvaJm0WlLl5aAxd+SsESeodnt8hwOY+R2H889ridA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/holocron/-/holocron-1.2.2.tgz", + "integrity": "sha512-eLi4BoZyNJSleAi9Wjs11IBxkMvKA1yu9DErG/ROjVfkMXTPDpOeK25qQhcdWYPZp9ukUhDogtLuPQ1rbE0l7w==", "dependencies": { "@americanexpress/vitruvius": "^2.0.0", "hoist-non-react-statics": "^3.3.0", @@ -11939,19 +11647,6 @@ "node": ">=4.0.0" } }, - "node_modules/html-element-map": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz", - "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==", - "dev": true, - "dependencies": { - "array.prototype.filter": "^1.0.0", - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -12281,18 +11976,6 @@ "node": ">= 6" } }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", - "dev": true, - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -13008,12 +12691,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", @@ -14988,12 +14665,6 @@ "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", "dev": true }, - "node_modules/lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", - "dev": true - }, "node_modules/lodash.find": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", @@ -15006,12 +14677,6 @@ "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", "dev": true }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -15042,12 +14707,6 @@ "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", "dev": true }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", @@ -15772,12 +15431,6 @@ "node": ">=0.10.0" } }, - "node_modules/moo": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", - "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==", - "dev": true - }, "node_modules/move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -15926,34 +15579,6 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, - "node_modules/nearley": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", - "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", - "dev": true, - "dependencies": { - "commander": "^2.19.0", - "moo": "^0.5.0", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6" - }, - "bin": { - "nearley-railroad": "bin/nearley-railroad.js", - "nearley-test": "bin/nearley-test.js", - "nearley-unparse": "bin/nearley-unparse.js", - "nearleyc": "bin/nearleyc.js" - }, - "funding": { - "type": "individual", - "url": "https://nearley.js.org/#give-to-nearley" - } - }, - "node_modules/nearley/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -16395,22 +16020,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -17190,15 +16799,6 @@ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -17797,17 +17397,6 @@ "react-is": "^16.13.1" } }, - "node_modules/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, - "dependencies": { - "has": "^1.0.3", - "object.assign": "^4.1.0", - "reflect.ownkeys": "^0.2.0" - } - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -18186,34 +17775,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dev": true, - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "node_modules/railroad-diagrams": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", - "dev": true - }, - "node_modules/randexp": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", - "dev": true, - "dependencies": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -18278,30 +17839,28 @@ } }, "node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "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==", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "object-assign": "^4.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.20.2" }, "peerDependencies": { - "react": "^16.14.0" + "react": "17.0.2" } }, "node_modules/react-fast-compare": { @@ -18357,6 +17916,19 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/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, + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-side-effect": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", @@ -18366,20 +17938,26 @@ } }, "node_modules/react-test-renderer": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", - "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", + "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, "dependencies": { "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.8.6", - "scheduler": "^0.19.1" + "react-is": "^17.0.2", + "react-shallow-renderer": "^16.13.1", + "scheduler": "^0.20.2" }, "peerDependencies": { - "react": "^16.14.0" + "react": "17.0.2" } }, + "node_modules/react-test-renderer/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -18670,12 +18248,6 @@ "node": ">=4.0.0" } }, - "node_modules/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 - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -19273,16 +18845,6 @@ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, - "node_modules/rst-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", - "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", - "dev": true, - "dependencies": { - "lodash.flattendeep": "^4.4.0", - "nearley": "^2.7.10" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -19429,9 +18991,9 @@ } }, "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -20474,23 +20036,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz", - "integrity": "sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", @@ -26700,15 +26245,6 @@ "@types/responselike": "*" } }, - "@types/cheerio": { - "version": "0.22.31", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.31.tgz", - "integrity": "sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", @@ -27312,23 +26848,6 @@ "indent-string": "^4.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" - } - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -27375,18 +26894,6 @@ } } }, - "amex-jest-preset-react": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/amex-jest-preset-react/-/amex-jest-preset-react-6.1.2.tgz", - "integrity": "sha512-ylHtEseHiNGVagyGTF7viMpGUB3OpJffmT8TWphk4zxtlO6xm6jBbd3EbDKl/yVZgCocAHEQ9/RASxZd9W/aRA==", - "dev": true, - "requires": { - "amex-jest-preset": "^6.1.0", - "enzyme": "^3.0.0", - "enzyme-adapter-react-16": "^1.7.0", - "identity-obj-proxy": "^3.0.0" - } - }, "ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -27560,30 +27067,6 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "array.prototype.filter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.1.tgz", - "integrity": "sha512-Dk3Ty7N42Odk7PjU/Ci3zT4pLj20YvuVnneG/58ICM6bt4Ij5kZaJTVQ9TSaWaIECX2sFyz4KItkVZqHNnciqw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.find": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.2.tgz", - "integrity": "sha512-00S1O4ewO95OmmJW7EesWfQlrCrLEL8kZ40w3+GkLX2yTt0m2ggcePPa2uHPJ9KUmJvwRq+lCV9bD8Yim23x/Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - } - }, "array.prototype.flat": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", @@ -28636,34 +28119,6 @@ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true }, - "cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "dev": true, - "requires": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - } - }, - "cheerio-select": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", - "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", - "dev": true, - "requires": { - "css-select": "^4.3.0", - "css-what": "^6.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.3.1", - "domutils": "^2.8.0" - } - }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -30266,12 +29721,6 @@ "path-type": "^4.0.0" } }, - "discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", - "dev": true - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -30553,105 +30002,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, - "enzyme": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz", - "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==", - "dev": true, - "requires": { - "array.prototype.flat": "^1.2.3", - "cheerio": "^1.0.0-rc.3", - "enzyme-shallow-equal": "^1.0.1", - "function.prototype.name": "^1.1.2", - "has": "^1.0.3", - "html-element-map": "^1.2.0", - "is-boolean-object": "^1.0.1", - "is-callable": "^1.1.5", - "is-number-object": "^1.0.4", - "is-regex": "^1.0.5", - "is-string": "^1.0.5", - "is-subset": "^0.1.1", - "lodash.escape": "^4.0.1", - "lodash.isequal": "^4.5.0", - "object-inspect": "^1.7.0", - "object-is": "^1.0.2", - "object.assign": "^4.1.0", - "object.entries": "^1.1.1", - "object.values": "^1.1.1", - "raf": "^3.4.1", - "rst-selector-parser": "^2.2.3", - "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": { - "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", - "integrity": "sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==", - "dev": true, - "requires": { - "has": "^1.0.3", - "object-is": "^1.1.2" - } - }, - "enzyme-to-json": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz", - "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==", - "dev": true, - "requires": { - "@types/cheerio": "^0.22.22", - "lodash": "^4.17.21", - "react-is": "^16.12.0" - } - }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -30669,9 +30019,9 @@ } }, "es-abstract": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", - "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", + "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -30684,7 +30034,7 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", @@ -30695,12 +30045,6 @@ "unbox-primitive": "^1.0.1" } }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -32166,29 +31510,11 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, - "functions-have-names": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", - "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==", - "dev": true - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -32563,12 +31889,6 @@ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -32802,9 +32122,9 @@ } }, "holocron": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/holocron/-/holocron-1.2.1.tgz", - "integrity": "sha512-nLrdpQI4cLesgv2F7trg3KhrxYHZKg3hbxFq/l2eWzVj9kvaJm0WlLl5aAxd+SsESeodnt8hwOY+R2H889ridA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/holocron/-/holocron-1.2.2.tgz", + "integrity": "sha512-eLi4BoZyNJSleAi9Wjs11IBxkMvKA1yu9DErG/ROjVfkMXTPDpOeK25qQhcdWYPZp9ukUhDogtLuPQ1rbE0l7w==", "requires": { "@americanexpress/vitruvius": "^2.0.0", "hoist-non-react-statics": "^3.3.0", @@ -32876,16 +32196,6 @@ "depd": "2.0.0" } }, - "html-element-map": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz", - "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==", - "dev": true, - "requires": { - "array.prototype.filter": "^1.0.0", - "call-bind": "^1.0.2" - } - }, "html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -33143,15 +32453,6 @@ "postcss": "^7.0.14" } }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", - "dev": true, - "requires": { - "harmony-reflect": "^1.4.6" - } - }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -33647,12 +32948,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, "is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", @@ -35215,12 +34510,6 @@ "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", "dev": true }, - "lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", - "dev": true - }, "lodash.find": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", @@ -35233,12 +34522,6 @@ "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", "dev": true }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -35269,12 +34552,6 @@ "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", "dev": true }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", @@ -35850,12 +35127,6 @@ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, - "moo": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", - "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==", - "dev": true - }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -35981,26 +35252,6 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, - "nearley": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", - "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "moo": "^0.5.0", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -36353,16 +35604,6 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -36972,15 +36213,6 @@ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - } - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -37436,17 +36668,6 @@ "react-is": "^16.13.1" } }, - "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" - } - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -37741,31 +36962,6 @@ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dev": true, - "requires": { - "performance-now": "^2.1.0" - } - }, - "railroad-diagrams": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", - "dev": true - }, - "randexp": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", - "dev": true, - "requires": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - } - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -37820,24 +37016,22 @@ } }, "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "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==", "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "object-assign": "^4.1.1" } }, "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.20.2" } }, "react-fast-compare": { @@ -37881,6 +37075,16 @@ } } }, + "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-side-effect": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", @@ -37888,15 +37092,23 @@ "requires": {} }, "react-test-renderer": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", - "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", + "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", - "prop-types": "^15.6.2", - "react-is": "^16.8.6", - "scheduler": "^0.19.1" + "react-is": "^17.0.2", + "react-shallow-renderer": "^16.13.1", + "scheduler": "^0.20.2" + }, + "dependencies": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + } } }, "read-pkg": { @@ -38140,12 +37352,6 @@ "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.2.0.tgz", "integrity": "sha512-LgQJIuS6nAy1Jd88DCQRemyE3mS+ispwlqMk3b0yjZ257fI1v9c+/p6SD5gP5FGyXUIgrNOAfmyioHwZtYv2VA==" }, - "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 - }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -38620,16 +37826,6 @@ } } }, - "rst-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", - "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", - "dev": true, - "requires": { - "lodash.flattendeep": "^4.4.0", - "nearley": "^2.7.10" - } - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -38727,9 +37923,9 @@ } }, "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "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" @@ -39581,17 +38777,6 @@ "side-channel": "^1.0.4" } }, - "string.prototype.trim": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz", - "integrity": "sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", diff --git a/package.json b/package.json index 84247c9e2..6b6bace36 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@americanexpress/lumberjack": "^1.1.4", "@americanexpress/one-app-bundler": "^6.14.2", "@americanexpress/one-app-ducks": "^4.3.4", - "@americanexpress/one-app-router": "^1.1.0", + "@americanexpress/one-app-router": "^1.2.0", "@americanexpress/vitruvius": "^2.0.2", "abort-controller": "^3.0.0", "body-parser": "^1.19.0", @@ -94,7 +94,7 @@ "cookie-parser": "^1.4.5", "core-js": "^3.23.1", "cors": "^2.8.5", - "create-shared-react-context": "^1.0.3", + "create-shared-react-context": "^1.0.4", "cross-fetch": "^3.0.6", "express": "^4.17.1", "helmet": "^3.22.0", @@ -112,8 +112,8 @@ "pidusage": "^3.0.0", "prom-client": "^14.0.1", "prop-types": "^15.7.2", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", "react-helmet": "^6.1.0", "react-redux": "^7.2.5", "redux": "^4.1.2", @@ -143,15 +143,15 @@ "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-replace": "^2.3.4", "accepts": "^1.3.8", - "amex-jest-preset-react": "^6.1.0", + "acorn": "^7.3.1", + "amex-jest-preset": "^6.1.0", + "babel-eslint": "^10.1.0", "babel-preset-amex": "^3.5.1", "chokidar": "^3.5.2", "concurrently": "^7.2.1", "conventional-changelog-cli": "^2.1.1", "cross-env": "^7.0.3", "danger": "^10.6.0", - "enzyme": "^3.11.0", - "enzyme-to-json": "^3.6.1", "eslint": "^7.32.0", "eslint-config-amex": "^14.2.1", "eslint-plugin-es": "^4.1.0", @@ -175,7 +175,7 @@ "ora": "^5.4.0", "parse-prometheus-text-format": "^1.1.1", "prettier": "^2.2.1", - "react-test-renderer": "^16.14.0", + "react-test-renderer": "^17.0.2", "rimraf": "^3.0.2", "rollup": "^2.50.5", "rollup-plugin-babel": "^4.4.0", diff --git a/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json b/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json index 187ee7f8f..3d5e954f7 100644 --- a/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json +++ b/prod-sample/sample-modules/cultured-frankie/0.0.0/package.json @@ -13,9 +13,8 @@ "holocron": "^1.3.0", "immutable": "^4.0.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", - "react-intl": "^3.12.1", + "react": "^17.0.2", + "react-intl": "^5.23.0", "react-redux": "^7.2.8", "redux": "^4.2.0" }, diff --git a/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json b/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json index f1a068b6a..07d902d26 100644 --- a/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json +++ b/prod-sample/sample-modules/cultured-frankie/0.0.1/package.json @@ -13,9 +13,8 @@ "holocron": "^1.3.0", "immutable": "^4.0.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", - "react-intl": "^3.12.1", + "react": "^17.0.2", + "react-intl": "^5.23.0", "react-redux": "^7.2.8", "redux": "^4.2.0" }, diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json index 569b14f1e..6a92e58b3 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.0/package.json @@ -11,13 +11,12 @@ "dependencies": { "@americanexpress/one-app-ducks": "^4.3.3", "content-security-policy-builder": "^2.1.0", - "holocron": "^1.1.4", + "holocron": "^1.2.0", "holocron-module-route": "^1.1.4", "immutable": "^4.0.0-rc.14", "ip": "^1.1.5", "prop-types": "^15.5.9", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-helmet": "^6.1.0", "react-immutable-proptypes": "^2.2.0", "react-redux": "^7.2.4", diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json index f3a718fab..9cb91b07f 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.1/package.json @@ -16,8 +16,7 @@ "immutable": "^4.0.0", "ip": "^1.1.8", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-helmet": "^6.1.0", "react-redux": "^7.2.8", "redux": "^3.0.6" diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json index 54c1caa70..aa0b7291f 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.2/package.json @@ -12,13 +12,12 @@ "@americanexpress/one-app-ducks": "^4.3.3", "@emotion/core": "^10.1.1", "content-security-policy-builder": "^2.1.0", - "holocron": "^1.1.4", + "holocron": "^1.2.0", "holocron-module-route": "^1.1.4", "immutable": "^4.0.0", "ip": "^1.1.5", "prop-types": "^15.5.9", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-helmet": "^6.1.0", "react-immutable-proptypes": "^2.2.0", "react-redux": "^7.2.4", diff --git a/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json b/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json index b5a10cdb0..6de9038f8 100644 --- a/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json +++ b/prod-sample/sample-modules/frank-lloyd-root/0.0.3/package.json @@ -17,8 +17,7 @@ "immutable": "^4.1.0", "ip": "^1.1.8", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-helmet": "^6.1.0", "react-immutable-proptypes": "^2.2.0", "react-redux": "^7.2.8", diff --git a/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json b/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json index 020574f0c..aafe3d1fa 100644 --- a/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json +++ b/prod-sample/sample-modules/frank-the-parrot/0.0.0/package.json @@ -11,8 +11,7 @@ "dependencies": { "holocron": "^1.3.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0" + "react": "^17.0.2" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/franks-burgers/0.0.0/package.json b/prod-sample/sample-modules/franks-burgers/0.0.0/package.json index ef54256ca..fc509f82c 100644 --- a/prod-sample/sample-modules/franks-burgers/0.0.0/package.json +++ b/prod-sample/sample-modules/franks-burgers/0.0.0/package.json @@ -9,8 +9,7 @@ "prepare": "npm run build" }, "dependencies": { - "react": "^16.14.0", - "react-dom": "^16.14.0" + "react": "^17.0.2" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/healthy-frank/0.0.0/package.json b/prod-sample/sample-modules/healthy-frank/0.0.0/package.json index 7dbee53af..615049943 100644 --- a/prod-sample/sample-modules/healthy-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/healthy-frank/0.0.0/package.json @@ -13,8 +13,7 @@ "holocron": "^1.3.0", "holocron-module-route": "^1.3.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-redux": "^7.2.8" }, "devDependencies": { diff --git a/prod-sample/sample-modules/late-frank/0.0.0/package.json b/prod-sample/sample-modules/late-frank/0.0.0/package.json index 343cb8767..c2f8e25a4 100644 --- a/prod-sample/sample-modules/late-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/late-frank/0.0.0/package.json @@ -11,8 +11,7 @@ "dependencies": { "holocron": "^1.3.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0" + "react": "^17.0.2" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/late-frank/0.0.1/package.json b/prod-sample/sample-modules/late-frank/0.0.1/package.json index dd7ab2500..f81361dd9 100644 --- a/prod-sample/sample-modules/late-frank/0.0.1/package.json +++ b/prod-sample/sample-modules/late-frank/0.0.1/package.json @@ -10,9 +10,8 @@ }, "dependencies": { "@emotion/core": "^10.3.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", - "react-intl": "^3.12.1" + "react": "^17.0.2", + "react-intl": "^5.23.0" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/late-frank/0.0.2/package.json b/prod-sample/sample-modules/late-frank/0.0.2/package.json index 29f4cc6f7..dff8ced59 100644 --- a/prod-sample/sample-modules/late-frank/0.0.2/package.json +++ b/prod-sample/sample-modules/late-frank/0.0.2/package.json @@ -10,8 +10,7 @@ }, "dependencies": { "@emotion/core": "^10.3.1", - "react": "^16.14.0", - "react-dom": "^16.14.0" + "react": "^17.0.2" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/needy-frank/0.0.0/package.json b/prod-sample/sample-modules/needy-frank/0.0.0/package.json index 913cde9d7..dfd5986ab 100644 --- a/prod-sample/sample-modules/needy-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/needy-frank/0.0.0/package.json @@ -16,8 +16,7 @@ "iguazu-rpc": "^1.6.1", "object-hash": "^2.2.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-redux": "^7.2.8", "redux": "^4.2.0", "redux-immutable": "^4.0.0", diff --git a/prod-sample/sample-modules/needy-frank/0.0.1/package.json b/prod-sample/sample-modules/needy-frank/0.0.1/package.json index 03ffedff7..9cc4703d2 100644 --- a/prod-sample/sample-modules/needy-frank/0.0.1/package.json +++ b/prod-sample/sample-modules/needy-frank/0.0.1/package.json @@ -16,8 +16,7 @@ "iguazu-rpc": "^1.6.1", "object-hash": "^2.1.1", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-redux": "^7.2.8", "redux": "^4.2.0", "redux-immutable": "^4.0.0", diff --git a/prod-sample/sample-modules/picky-frank/0.0.0/package.json b/prod-sample/sample-modules/picky-frank/0.0.0/package.json index 70c8cf2f6..8ccb159f5 100644 --- a/prod-sample/sample-modules/picky-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/picky-frank/0.0.0/package.json @@ -11,8 +11,7 @@ "dependencies": { "holocron": "^1.3.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0" + "react": "^17.0.2" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/picky-frank/0.0.1/package.json b/prod-sample/sample-modules/picky-frank/0.0.1/package.json index d356c705d..129c4a3b7 100644 --- a/prod-sample/sample-modules/picky-frank/0.0.1/package.json +++ b/prod-sample/sample-modules/picky-frank/0.0.1/package.json @@ -11,8 +11,7 @@ "dependencies": { "holocron": "^1.3.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0" + "react": "^17.0.2" }, "devDependencies": { "@americanexpress/one-app-bundler": "^6.14.1", diff --git a/prod-sample/sample-modules/preview-frank/0.0.0/package.json b/prod-sample/sample-modules/preview-frank/0.0.0/package.json index 6c8ce7546..6f721d0d7 100644 --- a/prod-sample/sample-modules/preview-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/preview-frank/0.0.0/package.json @@ -12,8 +12,7 @@ "holocron": "^1.3.0", "lodash.get": "^4.4.2", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-redux": "^7.2.8", "redux": "^4.2.0" }, diff --git a/prod-sample/sample-modules/ssr-frank/0.0.0/package.json b/prod-sample/sample-modules/ssr-frank/0.0.0/package.json index ce65ded27..79bd6f774 100644 --- a/prod-sample/sample-modules/ssr-frank/0.0.0/package.json +++ b/prod-sample/sample-modules/ssr-frank/0.0.0/package.json @@ -11,8 +11,7 @@ "dependencies": { "immutable": "^4.0.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "react-helmet": "^5.2.1" }, "devDependencies": { diff --git a/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json b/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json index 083e9c01e..2e00126c3 100644 --- a/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json +++ b/prod-sample/sample-modules/vitruvius-franklin/0.0.0/package.json @@ -12,8 +12,7 @@ "holocron": "^1.3.0", "immutable": "^4.1.0", "prop-types": "^15.6.2", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "redux": "^4.2.0" }, "devDependencies": { diff --git a/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json b/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json index 1145480b2..d302a9a0d 100644 --- a/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json +++ b/prod-sample/sample-modules/vitruvius-franklin/0.0.1/package.json @@ -12,8 +12,7 @@ "holocron": "^1.3.0", "immutable": "^4.1.0", "prop-types": "^15.8.1", - "react": "^16.14.0", - "react-dom": "^16.14.0", + "react": "^17.0.2", "redux": "^4.2.0" }, "devDependencies": { diff --git a/src/client/initClient.jsx b/src/client/initClient.jsx index d3393f7ad..1c5694608 100644 --- a/src/client/initClient.jsx +++ b/src/client/initClient.jsx @@ -60,6 +60,7 @@ export default async function initClient() { }); /* eslint-disable react/jsx-props-no-spreading */ + /* istanbul ignore next */ const App = () => (