From bc69764803d88f1e4fe6641c571386b816de08cc Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Fri, 15 Jan 2021 18:26:38 -0600 Subject: [PATCH] Ensure react loadable manifest includes all needed requests --- .../webpack/plugins/react-loadable-plugin.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/next/build/webpack/plugins/react-loadable-plugin.ts b/packages/next/build/webpack/plugins/react-loadable-plugin.ts index 52efe39040096..6039aac634633 100644 --- a/packages/next/build/webpack/plugins/react-loadable-plugin.ts +++ b/packages/next/build/webpack/plugins/react-loadable-plugin.ts @@ -88,6 +88,29 @@ function buildManifest( } }) }) + + // ensure all requests are included even if no nested chunks + if (!manifest[request]) { + const requestDependency = chunkGroupOrigin.module.blocks.find( + (block: any) => block.request === request + ).dependencies[0] + + let requestId + + if (isWebpack5) { + // @ts-ignore + requestId = compilation.moduleGraph.getModule(requestDependency).id + } else { + requestId = requestDependency.module.id + } + + manifest[request] = [ + { + id: requestId, + file: requestId, + }, + ] + } }) })