main repo

This commit is contained in:
Basilosaurusrex
2025-11-24 18:09:40 +01:00
parent b636ee5e70
commit f027651f9b
34146 changed files with 4436636 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
import { stringify } from "querystring";
import { getModuleBuildInfo } from "../get-module-build-info";
import { RouteKind } from "../../../../server/future/route-kind";
import { normalizePagePath } from "../../../../shared/lib/page-path/normalize-page-path";
import { decodeFromBase64, encodeToBase64 } from "../utils";
import { isInstrumentationHookFile } from "../../../worker";
import { loadEntrypoint } from "../../../load-entrypoint";
/**
* Returns the loader entry for a given page.
*
* @param options the options to create the loader entry
* @returns the encoded loader entry
*/ export function getRouteLoaderEntry(options) {
switch(options.kind){
case RouteKind.PAGES:
{
const query = {
kind: options.kind,
page: options.page,
preferredRegion: options.preferredRegion,
absolutePagePath: options.absolutePagePath,
// These are the path references to the internal components that may be
// overridden by userland components.
absoluteAppPath: options.pages["/_app"],
absoluteDocumentPath: options.pages["/_document"],
middlewareConfigBase64: encodeToBase64(options.middlewareConfig)
};
return `next-route-loader?${stringify(query)}!`;
}
case RouteKind.PAGES_API:
{
const query = {
kind: options.kind,
page: options.page,
preferredRegion: options.preferredRegion,
absolutePagePath: options.absolutePagePath,
middlewareConfigBase64: encodeToBase64(options.middlewareConfig)
};
return `next-route-loader?${stringify(query)}!`;
}
default:
{
throw new Error("Invariant: Unexpected route kind");
}
}
}
const loadPages = async ({ page, absolutePagePath, absoluteDocumentPath, absoluteAppPath, preferredRegion, middlewareConfigBase64 }, buildInfo)=>{
const middlewareConfig = decodeFromBase64(middlewareConfigBase64);
// Attach build info to the module.
buildInfo.route = {
page,
absolutePagePath,
preferredRegion,
middlewareConfig
};
let file = await loadEntrypoint("pages", {
VAR_USERLAND: absolutePagePath,
VAR_MODULE_DOCUMENT: absoluteDocumentPath,
VAR_MODULE_APP: absoluteAppPath,
VAR_DEFINITION_PAGE: normalizePagePath(page),
VAR_DEFINITION_PATHNAME: page
});
if (isInstrumentationHookFile(page)) {
// When we're building the instrumentation page (only when the
// instrumentation file conflicts with a page also labeled
// /instrumentation) hoist the `register` method.
file += '\nexport const register = hoist(userland, "register")';
}
return file;
};
const loadPagesAPI = async ({ page, absolutePagePath, preferredRegion, middlewareConfigBase64 }, buildInfo)=>{
const middlewareConfig = decodeFromBase64(middlewareConfigBase64);
// Attach build info to the module.
buildInfo.route = {
page,
absolutePagePath,
preferredRegion,
middlewareConfig
};
return await loadEntrypoint("pages-api", {
VAR_USERLAND: absolutePagePath,
VAR_DEFINITION_PAGE: normalizePagePath(page),
VAR_DEFINITION_PATHNAME: page
});
};
/**
* Handles the `next-route-loader` options.
* @returns the loader definition function
*/ const loader = async function() {
if (!this._module) {
throw new Error("Invariant: expected this to reference a module");
}
const buildInfo = getModuleBuildInfo(this._module);
const opts = this.getOptions();
switch(opts.kind){
case RouteKind.PAGES:
{
return await loadPages(opts, buildInfo);
}
case RouteKind.PAGES_API:
{
return await loadPagesAPI(opts, buildInfo);
}
default:
{
throw new Error("Invariant: Unexpected route kind");
}
}
};
export default loader;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../src/build/webpack/loaders/next-route-loader/index.ts"],"names":["stringify","getModuleBuildInfo","RouteKind","normalizePagePath","decodeFromBase64","encodeToBase64","isInstrumentationHookFile","loadEntrypoint","getRouteLoaderEntry","options","kind","PAGES","query","page","preferredRegion","absolutePagePath","absoluteAppPath","pages","absoluteDocumentPath","middlewareConfigBase64","middlewareConfig","PAGES_API","Error","loadPages","buildInfo","route","file","VAR_USERLAND","VAR_MODULE_DOCUMENT","VAR_MODULE_APP","VAR_DEFINITION_PAGE","VAR_DEFINITION_PATHNAME","loadPagesAPI","loader","_module","opts","getOptions"],"mappings":"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"}