From bd7a4b30c5f751d15c8e1a6add3807bea363ea91 Mon Sep 17 00:00:00 2001 From: PepijnSenders Date: Wed, 26 May 2021 13:33:39 -0400 Subject: [PATCH 1/6] Fix rewrite and dynamic params --- .../next.config.js | 10 ++++ .../pages/dynamic-page/[[...param]].js | 23 ++++++++ .../pages/index.js | 19 ++++++ .../test/index.test.js | 58 +++++++++++++++++++ 4 files changed, 110 insertions(+) create mode 100644 test/integration/rewrite-with-browser-history/next.config.js create mode 100644 test/integration/rewrite-with-browser-history/pages/dynamic-page/[[...param]].js create mode 100644 test/integration/rewrite-with-browser-history/pages/index.js create mode 100644 test/integration/rewrite-with-browser-history/test/index.test.js diff --git a/test/integration/rewrite-with-browser-history/next.config.js b/test/integration/rewrite-with-browser-history/next.config.js new file mode 100644 index 0000000000000..3dc69434ef51e --- /dev/null +++ b/test/integration/rewrite-with-browser-history/next.config.js @@ -0,0 +1,10 @@ +module.exports = { + rewrites() { + return [ + { + source: '/:pagePrefix/:path*', + destination: '/dynamic-page/:path*', + }, + ] + }, +} diff --git a/test/integration/rewrite-with-browser-history/pages/dynamic-page/[[...param]].js b/test/integration/rewrite-with-browser-history/pages/dynamic-page/[[...param]].js new file mode 100644 index 0000000000000..47e56e79e024f --- /dev/null +++ b/test/integration/rewrite-with-browser-history/pages/dynamic-page/[[...param]].js @@ -0,0 +1,23 @@ +import { useRouter } from 'next/router' +import Link from 'next/link' + +export default function Page(props) { + const router = useRouter() + + return ( + <> +

another page

+

{router.pathname}

+

{JSON.stringify(router.query)}

+ + + Go back to index + +
+ + ) +} + +export const getServerSideProps = () => { + return { props: {} } +} diff --git a/test/integration/rewrite-with-browser-history/pages/index.js b/test/integration/rewrite-with-browser-history/pages/index.js new file mode 100644 index 0000000000000..cc832a8d8563a --- /dev/null +++ b/test/integration/rewrite-with-browser-history/pages/index.js @@ -0,0 +1,19 @@ +import { useRouter } from 'next/router' + +export default function Page() { + const router = useRouter() + + return ( + <> +

index page

+

{router.pathname}

+

{JSON.stringify(router.query)}

+ +
+ + ) +} + +export const getServerSideProps = () => { + return { props: {} } +} diff --git a/test/integration/rewrite-with-browser-history/test/index.test.js b/test/integration/rewrite-with-browser-history/test/index.test.js new file mode 100644 index 0000000000000..9f4ec6672d9a9 --- /dev/null +++ b/test/integration/rewrite-with-browser-history/test/index.test.js @@ -0,0 +1,58 @@ +/* eslint-env jest */ + +import { join } from 'path' +import { + findPort, + killApp, + launchApp, + nextBuild, + nextStart, +} from 'next-test-utils' +import webdriver from 'next-webdriver' + +jest.setTimeout(1000 * 60 * 2) + +const appDir = join(__dirname, '../') + +let appPort +let app + +const runTests = () => { + it('back-button should go back to rewritten path successfully', async () => { + const browser = await webdriver(appPort, '/rewrite-me') + + expect(await browser.elementByCss('#another').text()).toBe('another page') + + await browser + .elementByCss('#to-index') + .click() + .waitForElementByCss('#index') + + await browser.back() + + expect(await browser.elementByCss('#another').text()).toBe('another page') + }) +} + +describe('rewrites persist with browser history actions', () => { + describe('dev mode', () => { + beforeAll(async () => { + appPort = await findPort() + app = await launchApp(appDir, appPort) + }) + afterAll(() => killApp(app)) + + runTests() + }) + + describe('production mode', () => { + beforeAll(async () => { + await nextBuild(appDir) + appPort = await findPort() + app = await nextStart(appDir, appPort) + }) + afterAll(() => killApp(app)) + + runTests() + }) +}) From 1e7d161cab0542a898c5e3467f2fd9f99246045e Mon Sep 17 00:00:00 2001 From: PepijnSenders Date: Tue, 1 Jun 2021 16:40:41 -0400 Subject: [PATCH 2/6] set _shouldResolveHref to true when initializing client state --- packages/next/next-server/lib/router/router.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/next/next-server/lib/router/router.ts b/packages/next/next-server/lib/router/router.ts index 28de2e6628014..54397b7475b81 100644 --- a/packages/next/next-server/lib/router/router.ts +++ b/packages/next/next-server/lib/router/router.ts @@ -650,11 +650,14 @@ export default class Router implements BaseRouter { if (as.substr(0, 2) !== '//') { // in order for `e.state` to work on the `onpopstate` event // we have to register the initial route upon initialization + const options: TransitionOptions = { locale } + ;(options as any)._shouldResolveHref = as !== pathname + this.changeState( 'replaceState', formatWithValidation({ pathname: addBasePath(pathname), query }), getURL(), - { locale } + options ) } From 57aca30e2102ee5153d66e43d98b382dd64759a7 Mon Sep 17 00:00:00 2001 From: PepijnSenders Date: Tue, 1 Jun 2021 16:53:55 -0400 Subject: [PATCH 3/6] add window.beforeNav check --- .../rewrite-with-browser-history/test/index.test.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/integration/rewrite-with-browser-history/test/index.test.js b/test/integration/rewrite-with-browser-history/test/index.test.js index 9f4ec6672d9a9..0d945489302c9 100644 --- a/test/integration/rewrite-with-browser-history/test/index.test.js +++ b/test/integration/rewrite-with-browser-history/test/index.test.js @@ -23,6 +23,8 @@ const runTests = () => { expect(await browser.elementByCss('#another').text()).toBe('another page') + await browser.eval('window.beforeNav = 1') + await browser .elementByCss('#to-index') .click() @@ -31,6 +33,8 @@ const runTests = () => { await browser.back() expect(await browser.elementByCss('#another').text()).toBe('another page') + + expect(await browser.eval('window.beforeNav')).toBe(1) }) } From 3a01bea7f7ef6712237b96994abed7348e5649fe Mon Sep 17 00:00:00 2001 From: PepijnSenders Date: Tue, 1 Jun 2021 16:56:27 -0400 Subject: [PATCH 4/6] fix broken path --- .../next.config.js | 2 +- .../test/index.test.js | 2 +- yarn.lock | 63 ++++++++++++++++++- 3 files changed, 64 insertions(+), 3 deletions(-) diff --git a/test/integration/rewrite-with-browser-history/next.config.js b/test/integration/rewrite-with-browser-history/next.config.js index 3dc69434ef51e..0cfae327c92fa 100644 --- a/test/integration/rewrite-with-browser-history/next.config.js +++ b/test/integration/rewrite-with-browser-history/next.config.js @@ -3,7 +3,7 @@ module.exports = { return [ { source: '/:pagePrefix/:path*', - destination: '/dynamic-page/:path*', + destination: '/dynamic-page/:pagePrefix/:path*', }, ] }, diff --git a/test/integration/rewrite-with-browser-history/test/index.test.js b/test/integration/rewrite-with-browser-history/test/index.test.js index 0d945489302c9..9d0cf24942409 100644 --- a/test/integration/rewrite-with-browser-history/test/index.test.js +++ b/test/integration/rewrite-with-browser-history/test/index.test.js @@ -19,7 +19,7 @@ let app const runTests = () => { it('back-button should go back to rewritten path successfully', async () => { - const browser = await webdriver(appPort, '/rewrite-me') + const browser = await webdriver(appPort, '/rewrite-me/path') expect(await browser.elementByCss('#another').text()).toBe('another page') diff --git a/yarn.lock b/yarn.lock index d295cb4b50068..2657e2392c3a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1061,6 +1061,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.11.2": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" @@ -4152,6 +4159,11 @@ assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + ast-types@0.11.7: version "0.11.7" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" @@ -4262,6 +4274,16 @@ aws4@^1.8.0: version "1.9.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" +axe-core@^4.0.2: + version "4.2.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.1.tgz#2e50bcf10ee5b819014f6e342e41e45096239e34" + integrity sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA== + +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -6182,6 +6204,11 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" +damerau-levenshtein@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== + dargs@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" @@ -6663,6 +6690,11 @@ emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" +emoji-regex@^9.0.0: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -6944,6 +6976,23 @@ eslint-plugin-jest@24.3.5: dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" +eslint-plugin-jsx-a11y@^6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + dependencies: + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" + ast-types-flow "^0.0.7" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" + has "^1.0.3" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" + eslint-plugin-react-hooks@4.2.0, eslint-plugin-react-hooks@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" @@ -10091,7 +10140,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -"jsx-ast-utils@^2.4.1 || ^3.0.0": +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== @@ -10182,6 +10231,18 @@ ky@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/ky/-/ky-0.19.1.tgz#c533884028c83f78167d12905dfecaf6dd760bec" +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + last-call-webpack-plugin@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" From 66cfd988a4d31cb2fc82ecbbd7e57b3a02cde0e5 Mon Sep 17 00:00:00 2001 From: PepijnSenders Date: Tue, 1 Jun 2021 16:57:40 -0400 Subject: [PATCH 5/6] fix build-output tests --- test/integration/build-output/test/index.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/build-output/test/index.test.js b/test/integration/build-output/test/index.test.js index aa10ed22ba789..ad72cba91446b 100644 --- a/test/integration/build-output/test/index.test.js +++ b/test/integration/build-output/test/index.test.js @@ -149,7 +149,7 @@ describe('Build Output', () => { true ) - expect(parseFloat(mainSize)).toBeCloseTo(gz ? 19.4 : 60.5, 1) + expect(parseFloat(mainSize)).toBeCloseTo(gz ? 19.4 : 60.6, 1) expect(mainSize.endsWith('kB')).toBe(true) expect(parseFloat(frameworkSize)).toBeCloseTo(gz ? 42.0 : 130, 1) From 643e8002220d64a727c9db869fd892e6cee7405a Mon Sep 17 00:00:00 2001 From: PepijnSenders Date: Tue, 1 Jun 2021 16:58:41 -0400 Subject: [PATCH 6/6] remove yarn.lock changes --- yarn.lock | 63 +------------------------------------------------------ 1 file changed, 1 insertion(+), 62 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2657e2392c3a1..d295cb4b50068 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1061,13 +1061,6 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.11.2": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" @@ -4159,11 +4152,6 @@ assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - ast-types@0.11.7: version "0.11.7" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" @@ -4274,16 +4262,6 @@ aws4@^1.8.0: version "1.9.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" -axe-core@^4.0.2: - version "4.2.1" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.1.tgz#2e50bcf10ee5b819014f6e342e41e45096239e34" - integrity sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -6204,11 +6182,6 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" - integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== - dargs@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" @@ -6690,11 +6663,6 @@ emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" -emoji-regex@^9.0.0: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -6976,23 +6944,6 @@ eslint-plugin-jest@24.3.5: dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" -eslint-plugin-jsx-a11y@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== - dependencies: - "@babel/runtime" "^7.11.2" - aria-query "^4.2.2" - array-includes "^3.1.1" - ast-types-flow "^0.0.7" - axe-core "^4.0.2" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" - has "^1.0.3" - jsx-ast-utils "^3.1.0" - language-tags "^1.0.5" - eslint-plugin-react-hooks@4.2.0, eslint-plugin-react-hooks@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" @@ -10140,7 +10091,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: +"jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.2.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== @@ -10231,18 +10182,6 @@ ky@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/ky/-/ky-0.19.1.tgz#c533884028c83f78167d12905dfecaf6dd760bec" -language-subtag-registry@~0.3.2: - version "0.3.21" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" - integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== - -language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= - dependencies: - language-subtag-registry "~0.3.2" - last-call-webpack-plugin@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555"