129 lines
4.7 KiB
JavaScript
129 lines
4.7 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
0 && (module.exports = {
|
||
|
getRouteLoaderEntry: null,
|
||
|
default: null
|
||
|
});
|
||
|
function _export(target, all) {
|
||
|
for(var name in all)Object.defineProperty(target, name, {
|
||
|
enumerable: true,
|
||
|
get: all[name]
|
||
|
});
|
||
|
}
|
||
|
_export(exports, {
|
||
|
getRouteLoaderEntry: function() {
|
||
|
return getRouteLoaderEntry;
|
||
|
},
|
||
|
default: function() {
|
||
|
return _default;
|
||
|
}
|
||
|
});
|
||
|
const _querystring = require("querystring");
|
||
|
const _getmodulebuildinfo = require("../get-module-build-info");
|
||
|
const _routekind = require("../../../../server/future/route-kind");
|
||
|
const _normalizepagepath = require("../../../../shared/lib/page-path/normalize-page-path");
|
||
|
const _utils = require("../utils");
|
||
|
const _worker = require("../../../worker");
|
||
|
const _loadentrypoint = require("../../../load-entrypoint");
|
||
|
function getRouteLoaderEntry(options) {
|
||
|
switch(options.kind){
|
||
|
case _routekind.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: (0, _utils.encodeToBase64)(options.middlewareConfig)
|
||
|
};
|
||
|
return `next-route-loader?${(0, _querystring.stringify)(query)}!`;
|
||
|
}
|
||
|
case _routekind.RouteKind.PAGES_API:
|
||
|
{
|
||
|
const query = {
|
||
|
kind: options.kind,
|
||
|
page: options.page,
|
||
|
preferredRegion: options.preferredRegion,
|
||
|
absolutePagePath: options.absolutePagePath,
|
||
|
middlewareConfigBase64: (0, _utils.encodeToBase64)(options.middlewareConfig)
|
||
|
};
|
||
|
return `next-route-loader?${(0, _querystring.stringify)(query)}!`;
|
||
|
}
|
||
|
default:
|
||
|
{
|
||
|
throw new Error("Invariant: Unexpected route kind");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
const loadPages = async ({ page, absolutePagePath, absoluteDocumentPath, absoluteAppPath, preferredRegion, middlewareConfigBase64 }, buildInfo)=>{
|
||
|
const middlewareConfig = (0, _utils.decodeFromBase64)(middlewareConfigBase64);
|
||
|
// Attach build info to the module.
|
||
|
buildInfo.route = {
|
||
|
page,
|
||
|
absolutePagePath,
|
||
|
preferredRegion,
|
||
|
middlewareConfig
|
||
|
};
|
||
|
let file = await (0, _loadentrypoint.loadEntrypoint)("pages", {
|
||
|
VAR_USERLAND: absolutePagePath,
|
||
|
VAR_MODULE_DOCUMENT: absoluteDocumentPath,
|
||
|
VAR_MODULE_APP: absoluteAppPath,
|
||
|
VAR_DEFINITION_PAGE: (0, _normalizepagepath.normalizePagePath)(page),
|
||
|
VAR_DEFINITION_PATHNAME: page
|
||
|
});
|
||
|
if ((0, _worker.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 = (0, _utils.decodeFromBase64)(middlewareConfigBase64);
|
||
|
// Attach build info to the module.
|
||
|
buildInfo.route = {
|
||
|
page,
|
||
|
absolutePagePath,
|
||
|
preferredRegion,
|
||
|
middlewareConfig
|
||
|
};
|
||
|
return await (0, _loadentrypoint.loadEntrypoint)("pages-api", {
|
||
|
VAR_USERLAND: absolutePagePath,
|
||
|
VAR_DEFINITION_PAGE: (0, _normalizepagepath.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 = (0, _getmodulebuildinfo.getModuleBuildInfo)(this._module);
|
||
|
const opts = this.getOptions();
|
||
|
switch(opts.kind){
|
||
|
case _routekind.RouteKind.PAGES:
|
||
|
{
|
||
|
return await loadPages(opts, buildInfo);
|
||
|
}
|
||
|
case _routekind.RouteKind.PAGES_API:
|
||
|
{
|
||
|
return await loadPagesAPI(opts, buildInfo);
|
||
|
}
|
||
|
default:
|
||
|
{
|
||
|
throw new Error("Invariant: Unexpected route kind");
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
const _default = loader;
|
||
|
|
||
|
//# sourceMappingURL=index.js.map
|