import * as App from "next/app"; import { AmpStateContext } from "next/dist/shared/lib/amp-context"; import { HeadManagerContext } from "next/dist/shared/lib/head-manager-context"; import Loadable from "next/dist/shared/lib/loadable"; import { LoadableContext } from "next/dist/shared/lib/loadable-context"; import { RouterContext } from "next/dist/shared/lib/router-context"; import { NextRouter } from "next/dist/shared/lib/router/router"; import { AppType, ComponentsEnhancer, DocumentInitialProps, DocumentProps, DocumentType, getDisplayName, loadGetInitialProps, NextComponentType, RenderPage, RenderPageResult, } from "next/dist/shared/lib/utils"; import * as NextDocument from "next/document"; import * as ReactDOMServer from "react-dom/server.browser"; import * as url from "url"; import * as React from "react"; const dev = process.env.NODE_ENV === "development"; type ParsedUrlQuery = Record; const isJSFile = (file: string) => file.endsWith(".js") || file.endsWith(".mjs") || file.endsWith(".ts") || file.endsWith(".tsx"); function getScripts(files: DocumentFiles) { const { context, props } = this; const { assetPrefix, buildManifest, isDevelopment, devOnlyCacheBusterQueryString, disableOptimizedLoading, } = context; const normalScripts = files.allFiles.filter(isJSFile); const lowPriorityScripts = buildManifest.lowPriorityFiles?.filter(isJSFile); return [...normalScripts, ...lowPriorityScripts].map((file) => { return (