create project

This commit is contained in:
ismailsosic
2022-12-27 12:05:56 +01:00
parent 2a33a2d3de
commit cd2143287c
16035 changed files with 2489703 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
export declare type EdgeSSRLoaderQuery = {
absolute500Path: string;
absoluteAppPath: string;
absoluteDocumentPath: string;
absoluteErrorPath: string;
absolutePagePath: string;
buildId: string;
dev: boolean;
isServerComponent: boolean;
page: string;
stringifiedConfig: string;
appDirLoader?: string;
pagesType: 'app' | 'pages' | 'root';
sriEnabled: boolean;
hasFontLoaders: boolean;
};
export default function edgeSSRLoader(this: any): Promise<string>;

View File

@@ -0,0 +1,102 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = edgeSSRLoader;
var _getModuleBuildInfo = require("../get-module-build-info");
var _stringifyRequest = require("../../stringify-request");
async function edgeSSRLoader() {
const { dev , page , buildId , absolutePagePath , absoluteAppPath , absoluteDocumentPath , absolute500Path , absoluteErrorPath , isServerComponent , stringifiedConfig , appDirLoader: appDirLoaderBase64 , pagesType , sriEnabled , hasFontLoaders , } = this.getOptions();
const appDirLoader = Buffer.from(appDirLoaderBase64 || "", "base64").toString();
const isAppDir = pagesType === "app";
const buildInfo = (0, _getModuleBuildInfo).getModuleBuildInfo(this._module);
buildInfo.nextEdgeSSR = {
isServerComponent: isServerComponent === "true",
page: page,
isAppDir
};
buildInfo.route = {
page,
absolutePagePath
};
const stringifiedPagePath = (0, _stringifyRequest).stringifyRequest(this, absolutePagePath);
const stringifiedAppPath = (0, _stringifyRequest).stringifyRequest(this, swapDistFolderWithEsmDistFolder(absoluteAppPath));
const stringifiedErrorPath = (0, _stringifyRequest).stringifyRequest(this, swapDistFolderWithEsmDistFolder(absoluteErrorPath));
const stringifiedDocumentPath = (0, _stringifyRequest).stringifyRequest(this, swapDistFolderWithEsmDistFolder(absoluteDocumentPath));
const stringified500Path = absolute500Path ? (0, _stringifyRequest).stringifyRequest(this, absolute500Path) : null;
const pageModPath = `${appDirLoader}${stringifiedPagePath.substring(1, stringifiedPagePath.length - 1)}${isAppDir ? "?__edge_ssr_entry__" : ""}`;
const transformed = `
import { adapter, enhanceGlobals } from 'next/dist/esm/server/web/adapter'
import { getRender } from 'next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render'
enhanceGlobals()
const pageType = ${JSON.stringify(pagesType)}
${isAppDir ? `
import { renderToHTMLOrFlight as appRenderToHTML } from 'next/dist/esm/server/app-render'
import * as pageMod from ${JSON.stringify(pageModPath)}
const Document = null
const pagesRenderToHTML = null
const appMod = null
const errorMod = null
const error500Mod = null
` : `
import Document from ${stringifiedDocumentPath}
import { renderToHTML as pagesRenderToHTML } from 'next/dist/esm/server/render'
import * as pageMod from ${stringifiedPagePath}
import * as appMod from ${stringifiedAppPath}
import * as errorMod from ${stringifiedErrorPath}
${stringified500Path ? `import * as error500Mod from ${stringified500Path}` : `const error500Mod = null`}
const appRenderToHTML = null
`}
const buildManifest = self.__BUILD_MANIFEST
const reactLoadableManifest = self.__REACT_LOADABLE_MANIFEST
const rscManifest = self.__RSC_MANIFEST
const rscCssManifest = self.__RSC_CSS_MANIFEST
const subresourceIntegrityManifest = ${sriEnabled ? "self.__SUBRESOURCE_INTEGRITY_MANIFEST" : "undefined"}
const fontLoaderManifest = ${hasFontLoaders ? "self.__FONT_LOADER_MANIFEST" : "undefined"}
const render = getRender({
pageType,
dev: ${dev},
page: ${JSON.stringify(page)},
appMod,
pageMod,
errorMod,
error500Mod,
Document,
buildManifest,
appRenderToHTML,
pagesRenderToHTML,
reactLoadableManifest,
serverComponentManifest: ${isServerComponent} ? rscManifest : null,
serverCSSManifest: ${isServerComponent} ? rscCssManifest : null,
subresourceIntegrityManifest,
config: ${stringifiedConfig},
buildId: ${JSON.stringify(buildId)},
fontLoaderManifest,
})
export const ComponentMod = pageMod
export default function(opts) {
return adapter({
...opts,
handler: render
})
}`;
return transformed;
}
/*
For pages SSR'd at the edge, we bundle them with the ESM version of Next in order to
benefit from the better tree-shaking and thus, smaller bundle sizes.
The absolute paths for _app, _error and _document, used in this loader, link to the regular CJS modules.
They are generated in `createPagesMapping` where we don't have access to `isEdgeRuntime`,
so we have to do it here. It's not that bad because it keeps all references to ESM modules magic in this place.
*/ function swapDistFolderWithEsmDistFolder(path) {
return path.replace("next/dist/pages", "next/dist/esm/pages");
}
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../build/webpack/loaders/next-edge-ssr-loader/index.ts"],"names":["edgeSSRLoader","dev","page","buildId","absolutePagePath","absoluteAppPath","absoluteDocumentPath","absolute500Path","absoluteErrorPath","isServerComponent","stringifiedConfig","appDirLoader","appDirLoaderBase64","pagesType","sriEnabled","hasFontLoaders","getOptions","Buffer","from","toString","isAppDir","buildInfo","getModuleBuildInfo","_module","nextEdgeSSR","route","stringifiedPagePath","stringifyRequest","stringifiedAppPath","swapDistFolderWithEsmDistFolder","stringifiedErrorPath","stringifiedDocumentPath","stringified500Path","pageModPath","substring","length","transformed","JSON","stringify","path","replace"],"mappings":"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"}

View File

@@ -0,0 +1,26 @@
import type { NextConfig } from '../../../../server/config-shared';
import type { DocumentType } from '../../../../shared/lib/utils';
import type { BuildManifest } from '../../../../server/get-page-files';
import type { ReactLoadableManifest } from '../../../../server/load-components';
import type { FontLoaderManifest } from '../../plugins/font-loader-manifest-plugin';
export declare function getRender({ dev, page, appMod, pageMod, errorMod, error500Mod, pagesType, Document, buildManifest, reactLoadableManifest, appRenderToHTML, pagesRenderToHTML, serverComponentManifest, subresourceIntegrityManifest, serverCSSManifest, config, buildId, fontLoaderManifest, }: {
pagesType: 'app' | 'pages' | 'root';
dev: boolean;
page: string;
appMod: any;
pageMod: any;
errorMod: any;
error500Mod: any;
appRenderToHTML: any;
pagesRenderToHTML: any;
Document: DocumentType;
buildManifest: BuildManifest;
reactLoadableManifest: ReactLoadableManifest;
subresourceIntegrityManifest?: Record<string, string>;
serverComponentManifest: any;
serverCSSManifest: any;
appServerMod: any;
config: NextConfig;
buildId: string;
fontLoaderManifest: FontLoaderManifest;
}): (request: Request) => Promise<Response>;

View File

@@ -0,0 +1,94 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRender = getRender;
var _webServer = _interopRequireDefault(require("../../../../server/web-server"));
var _web = require("../../../../server/base-http/web");
var _constants = require("../../../../lib/constants");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function getRender({ dev , page , appMod , pageMod , errorMod , error500Mod , pagesType , Document , buildManifest , reactLoadableManifest , appRenderToHTML , pagesRenderToHTML , serverComponentManifest , subresourceIntegrityManifest , serverCSSManifest , config , buildId , fontLoaderManifest }) {
const isAppPath = pagesType === "app";
const baseLoadComponentResult = {
dev,
buildManifest,
reactLoadableManifest,
subresourceIntegrityManifest,
fontLoaderManifest,
Document,
App: appMod == null ? void 0 : appMod.default
};
const server = new _webServer.default({
dev,
conf: config,
minimalMode: true,
webServerConfig: {
page,
pagesType,
extendRenderOpts: {
buildId,
runtime: _constants.SERVER_RUNTIME.experimentalEdge,
supportsDynamicHTML: true,
disableOptimizedLoading: true,
serverComponentManifest,
serverCSSManifest
},
appRenderToHTML,
pagesRenderToHTML,
loadComponent: async (pathname)=>{
if (isAppPath) return null;
if (pathname === page) {
return {
...baseLoadComponentResult,
Component: pageMod.default,
pageConfig: pageMod.config || {},
getStaticProps: pageMod.getStaticProps,
getServerSideProps: pageMod.getServerSideProps,
getStaticPaths: pageMod.getStaticPaths,
ComponentMod: pageMod,
pathname
};
}
// If there is a custom 500 page, we need to handle it separately.
if (pathname === "/500" && error500Mod) {
return {
...baseLoadComponentResult,
Component: error500Mod.default,
pageConfig: error500Mod.config || {},
getStaticProps: error500Mod.getStaticProps,
getServerSideProps: error500Mod.getServerSideProps,
getStaticPaths: error500Mod.getStaticPaths,
ComponentMod: error500Mod,
pathname
};
}
if (pathname === "/_error") {
return {
...baseLoadComponentResult,
Component: errorMod.default,
pageConfig: errorMod.config || {},
getStaticProps: errorMod.getStaticProps,
getServerSideProps: errorMod.getServerSideProps,
getStaticPaths: errorMod.getStaticPaths,
ComponentMod: errorMod,
pathname
};
}
return null;
}
}
});
const requestHandler = server.getRequestHandler();
return async function render(request) {
const extendedReq = new _web.WebNextRequest(request);
const extendedRes = new _web.WebNextResponse();
requestHandler(extendedReq, extendedRes);
return await extendedRes.toResponse();
};
}
//# sourceMappingURL=render.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../build/webpack/loaders/next-edge-ssr-loader/render.ts"],"names":["getRender","dev","page","appMod","pageMod","errorMod","error500Mod","pagesType","Document","buildManifest","reactLoadableManifest","appRenderToHTML","pagesRenderToHTML","serverComponentManifest","subresourceIntegrityManifest","serverCSSManifest","config","buildId","fontLoaderManifest","isAppPath","baseLoadComponentResult","App","default","server","WebServer","conf","minimalMode","webServerConfig","extendRenderOpts","runtime","SERVER_RUNTIME","experimentalEdge","supportsDynamicHTML","disableOptimizedLoading","loadComponent","pathname","Component","pageConfig","getStaticProps","getServerSideProps","getStaticPaths","ComponentMod","requestHandler","getRequestHandler","render","request","extendedReq","WebNextRequest","extendedRes","WebNextResponse","toResponse"],"mappings":"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"}