From 463373b05b30dee231e9f791150a7c8597d91082 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Mon, 19 Sep 2022 10:50:27 +0200 Subject: [PATCH 1/3] Upgrade to latest React experimental --- package.json | 4 ++-- pnpm-lock.yaml | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 019ab72308b5..b1d49b55ff50 100644 --- a/package.json +++ b/package.json @@ -179,8 +179,8 @@ "react-17": "npm:react@17.0.2", "react-dom": "18.2.0", "react-dom-17": "npm:react-dom@17.0.2", - "react-dom-exp": "npm:react-dom@0.0.0-experimental-e6a062bd2-20220913", - "react-exp": "npm:react@0.0.0-experimental-e6a062bd2-20220913", + "react-dom-exp": "npm:react-dom@0.0.0-experimental-8951c5fc9-20220915", + "react-exp": "npm:react@0.0.0-experimental-8951c5fc9-20220915", "react-ssr-prepass": "1.0.8", "react-virtualized": "9.22.3", "relay-compiler": "13.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 08b7b467097d..52423902ef02 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -140,8 +140,8 @@ importers: react-17: npm:react@17.0.2 react-dom: 18.2.0 react-dom-17: npm:react-dom@17.0.2 - react-dom-exp: npm:react-dom@0.0.0-experimental-e6a062bd2-20220913 - react-exp: npm:react@0.0.0-experimental-e6a062bd2-20220913 + react-dom-exp: npm:react-dom@0.0.0-experimental-8951c5fc9-20220915 + react-exp: npm:react@0.0.0-experimental-8951c5fc9-20220915 react-ssr-prepass: 1.0.8 react-virtualized: 9.22.3 relay-compiler: 13.0.2 @@ -295,8 +295,8 @@ importers: react-17: /react/17.0.2 react-dom: 18.2.0_react@18.2.0 react-dom-17: /react-dom/17.0.2_react@18.2.0 - react-dom-exp: /react-dom/0.0.0-experimental-e6a062bd2-20220913_react@18.2.0 - react-exp: /react/0.0.0-experimental-e6a062bd2-20220913 + react-dom-exp: /react-dom/0.0.0-experimental-8951c5fc9-20220915_react@18.2.0 + react-exp: /react/0.0.0-experimental-8951c5fc9-20220915 react-ssr-prepass: 1.0.8_qncsgtzehe3fgiqp6tr7lwq6fm react-virtualized: 9.22.3_biqbaboplfbrettd7655fr4n2y relay-compiler: 13.0.2 @@ -24369,17 +24369,17 @@ packages: strip-json-comments: 2.0.1 dev: true - /react-dom/0.0.0-experimental-e6a062bd2-20220913_react@18.2.0: + /react-dom/0.0.0-experimental-8951c5fc9-20220915_react@18.2.0: resolution: { - integrity: sha512-4e/0ZV5I4gUWRw6EohI9lEglfGYcSxPWoUcAXVLvRxzLTfFqnuLFplu33Z6Bvrs9Jnr6skDdskyyzFn0rRSJnQ==, + integrity: sha512-zRK9YAhohnYYJ4WhtZ1MyfR1w2XA+yiaAJAqx5Zg6Wyi0tHE1tQfhmoF7wdI4k3ZTvPjQO+IxkI+/sfOcu6OTA==, } peerDependencies: - react: 0.0.0-experimental-e6a062bd2-20220913 + react: 0.0.0-experimental-8951c5fc9-20220915 dependencies: loose-envify: 1.4.0 react: 18.2.0 - scheduler: 0.0.0-experimental-e6a062bd2-20220913 + scheduler: 0.0.0-experimental-8951c5fc9-20220915 dev: true /react-dom/17.0.2_react@18.2.0: @@ -24493,10 +24493,10 @@ packages: react-lifecycles-compat: 3.0.4 dev: true - /react/0.0.0-experimental-e6a062bd2-20220913: + /react/0.0.0-experimental-8951c5fc9-20220915: resolution: { - integrity: sha512-osFjPYWDSg98xRjj0RDMF9gLczBcixdsC3vb1+vq6tw99Po31KgkiIfLtLMYGjD6qmASXlMVKZgFDbYDNGGC9Q==, + integrity: sha512-/pGYDqlIZAF4UMSTvlTU1Gd9etFqsUAT51vebc9Az13tE0hV0dmFdHa4T79Qx1JJ6Bd146X2RjScBhbx/ROmQA==, } engines: { node: '>=0.10.0' } dependencies: @@ -25838,10 +25838,10 @@ packages: xmlchars: 2.2.0 dev: true - /scheduler/0.0.0-experimental-e6a062bd2-20220913: + /scheduler/0.0.0-experimental-8951c5fc9-20220915: resolution: { - integrity: sha512-Rv+woqQhdMt6JaiDCHpRsbG0f3LxIYKX/eo3tK+KIqi4TiTYZAYTxO5HJXvJgKPHegAtKMcjm2D3HXDWl2m/nw==, + integrity: sha512-3ar+dNPu8yBC0DK1aEgT+dPUwEFoVQjVmsjcqKuYK7inTwsgQkDeTlGVQV1ELULf9vUwyuodHjGBFQI+XBQ0bg==, } dependencies: loose-envify: 1.4.0 From ffcc16021b60c89dda88833948be0ad7b3182262 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Mon, 19 Sep 2022 14:21:49 +0200 Subject: [PATCH 2/3] Upgrade react-server-dom-webpack --- packages/next/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/next/package.json b/packages/next/package.json index 0552185f0c81..8563ba01b06a 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -244,7 +244,7 @@ "raw-body": "2.4.1", "react-is": "17.0.2", "react-refresh": "0.12.0", - "react-server-dom-webpack": "0.0.0-experimental-975b64464-20220914", + "react-server-dom-webpack": "0.0.0-experimental-8951c5fc9-20220915", "regenerator-runtime": "0.13.4", "sass-loader": "12.4.0", "schema-utils2": "npm:schema-utils@2.7.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 52423902ef02..ef6696eba2de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -548,7 +548,7 @@ importers: raw-body: 2.4.1 react-is: 17.0.2 react-refresh: 0.12.0 - react-server-dom-webpack: 0.0.0-experimental-975b64464-20220914 + react-server-dom-webpack: 0.0.0-experimental-8951c5fc9-20220915 regenerator-runtime: 0.13.4 sass-loader: 12.4.0 schema-utils2: npm:schema-utils@2.7.1 @@ -737,7 +737,7 @@ importers: raw-body: 2.4.1 react-is: 17.0.2 react-refresh: 0.12.0 - react-server-dom-webpack: 0.0.0-experimental-975b64464-20220914_webpack@5.74.0 + react-server-dom-webpack: 0.0.0-experimental-8951c5fc9-20220915_webpack@5.74.0 regenerator-runtime: 0.13.4 sass-loader: 12.4.0_webpack@5.74.0 schema-utils2: /schema-utils/2.7.1 @@ -24444,14 +24444,14 @@ packages: engines: { node: '>=0.10.0' } dev: true - /react-server-dom-webpack/0.0.0-experimental-975b64464-20220914_webpack@5.74.0: + /react-server-dom-webpack/0.0.0-experimental-8951c5fc9-20220915_webpack@5.74.0: resolution: { - integrity: sha512-RU8yWstn6EpbprfOEnpCpp4fzSTgRLIjvWjJYZq2AiVrXXaAl54stVC1LlZ5Ox4hNXBc6K/FAuQqF4nopXx5Aw==, + integrity: sha512-gIz7hb0Sp8v3y66K5sETigHSC1VS2k/w2UvJ5vuIr+oXsp30M3QzINxHKVuausgIP+2X8c5J9BZukh3fMutiyw==, } engines: { node: '>=0.10.0' } peerDependencies: - react: 0.0.0-experimental-975b64464-20220914 + react: 0.0.0-experimental-8951c5fc9-20220915 webpack: ^5.59.0 dependencies: acorn: 6.4.2 From 80e8863fbd14019925e0db6f26d7e5aba13b62e7 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Mon, 19 Sep 2022 14:26:00 +0200 Subject: [PATCH 3/3] Upgrade react-server-dom-webpack --- .../react-server-dom-webpack.development.js | 11 +++++-- ...react-server-dom-webpack.production.min.js | 32 +++++++++---------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js b/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js index 7bee808a2904..64752adc0b44 100644 --- a/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js +++ b/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js @@ -57,9 +57,13 @@ function resolveModuleReference(bundlerConfig, moduleData) { // replicate it in user space. null means that it has already loaded. var chunkCache = new Map(); -var asyncModuleCache = new Map(); // Start preloading the modules since we might need them soon. +var asyncModuleCache = new Map(); + +function ignoreReject() {// We rely on rejected promises to be handled by another listener. +} // Start preloading the modules since we might need them soon. // This function doesn't suspend. + function preloadModule(moduleData) { var chunks = moduleData.chunks; var promises = []; @@ -73,9 +77,10 @@ function preloadModule(moduleData) { promises.push(thenable); var resolve = chunkCache.set.bind(chunkCache, chunkId, null); - var reject = chunkCache.set.bind(chunkCache, chunkId); - thenable.then(resolve, reject); + thenable.then(resolve, ignoreReject); chunkCache.set(chunkId, thenable); + } else if (entry !== null) { + promises.push(entry); } } diff --git a/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js b/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js index 8436cfe0d149..de1bcd821c6a 100644 --- a/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +++ b/packages/next/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js @@ -7,20 +7,20 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -'use strict';var k=require("react"),l={stream:!0};function m(a,b){return a?(a=a[b.id][b.name],b.async?{id:a.id,chunks:a.chunks,name:a.name,async:!0}:a):b}var n=new Map,p=new Map; -function q(a){for(var b=a.chunks,c=[],d=0;d