feat: init

This commit is contained in:
2026-02-13 22:02:30 +01:00
commit 8f9ff830fb
16711 changed files with 3307340 additions and 0 deletions

View File

@@ -0,0 +1 @@
export declare const ISR_URL_PARAM = "__isr_route";

View File

@@ -0,0 +1 @@
export const ISR_URL_PARAM = "__isr_route";

View File

@@ -0,0 +1,2 @@
import "#nitro-internal-pollyfills";
export default function handleEvent(request: Request, event: any): Promise<any>;

View File

@@ -0,0 +1,24 @@
import "#nitro-internal-pollyfills";
import { useNitroApp } from "nitropack/runtime";
const nitroApp = useNitroApp();
export default async function handleEvent(request, event) {
const url = new URL(request.url);
let body;
if (request.body) {
body = await request.arrayBuffer();
}
return nitroApp.localFetch(url.pathname + url.search, {
host: url.hostname,
protocol: url.protocol,
headers: request.headers,
method: request.method,
body,
context: {
_platform: {
vercel: {
event
}
}
}
});
}

View File

@@ -0,0 +1,4 @@
import "#nitro-internal-pollyfills";
import { type NodeListener } from "h3";
declare const listener: NodeListener;
export default listener;

View File

@@ -0,0 +1,36 @@
import "#nitro-internal-pollyfills";
import { useNitroApp } from "nitropack/runtime";
import { getRouteRulesForPath } from "nitropack/runtime/internal/index";
import { toNodeListener } from "h3";
import { parseQuery, withQuery } from "ufo";
import { ISR_URL_PARAM } from "./consts.mjs";
const nitroApp = useNitroApp();
const handler = toNodeListener(nitroApp.h3App);
const listener = function(req, res) {
const isrRoute = req.headers["x-now-route-matches"];
if (isrRoute) {
const { [ISR_URL_PARAM]: url } = parseQuery(isrRoute);
if (url && typeof url === "string") {
const routeRules = getRouteRulesForPath(url);
if (routeRules.isr) {
req.url = url;
}
}
} else {
const queryIndex = req.url.indexOf("?");
const urlQueryIndex = queryIndex === -1 ? -1 : req.url.indexOf(`${ISR_URL_PARAM}=`, queryIndex);
if (urlQueryIndex !== -1) {
const { [ISR_URL_PARAM]: url, ...params } = parseQuery(
req.url.slice(queryIndex)
);
if (url && typeof url === "string") {
const routeRules = getRouteRulesForPath(url);
if (routeRules.isr) {
req.url = withQuery(url, params);
}
}
}
}
return handler(req, res);
};
export default listener;