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 @@
Object.assign(process.env, Deno.env.toObject());

View File

@@ -0,0 +1 @@
import "#nitro-internal-pollyfills";

View File

@@ -0,0 +1,31 @@
import "#nitro-internal-pollyfills";
import { useNitroApp } from "nitropack/runtime";
import wsAdapter from "crossws/adapters/deno";
const nitroApp = useNitroApp();
const ws = import.meta._websocket ? wsAdapter(nitroApp.h3App.websocket) : void 0;
Deno.serve((request, info) => {
if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
return ws.handleUpgrade(request, info);
}
return handleRequest(request, info);
});
async function handleRequest(request, info) {
const url = new URL(request.url);
const headers = new Headers(request.headers);
headers.append("x-forwarded-for", info.remoteAddr.hostname);
if (!headers.has("x-forwarded-proto")) {
headers.set("x-forwarded-proto", "https");
}
let body;
if (request.body) {
body = await request.arrayBuffer();
}
return nitroApp.localFetch(url.pathname + url.search, {
host: url.hostname,
protocol: url.protocol,
headers,
method: request.method,
redirect: request.redirect,
body
});
}

View File

@@ -0,0 +1,7 @@
import "#nitro-internal-pollyfills";
import "./_deno-env-polyfill";
declare global {
const Deno: typeof import("@deno/types").Deno;
}
declare const _default: {};
export default _default;

View File

@@ -0,0 +1,66 @@
import "#nitro-internal-pollyfills";
import "./_deno-env-polyfill";
import { useNitroApp } from "nitropack/runtime";
import { useRuntimeConfig } from "nitropack/runtime";
import { startScheduleRunner } from "nitropack/runtime/internal";
import wsAdapter from "crossws/adapters/deno";
import destr from "destr";
const nitroApp = useNitroApp();
if (Deno.env.get("DEBUG")) {
addEventListener(
"unhandledrejection",
(event) => console.error("[unhandledRejection]", event.reason)
);
addEventListener(
"error",
(event) => console.error("[uncaughtException]", event.error)
);
} else {
addEventListener(
"unhandledrejection",
(err) => console.error("[unhandledRejection] " + err)
);
addEventListener(
"error",
(event) => console.error("[uncaughtException] " + event.error)
);
}
const serveOptions = {
key: Deno.env.get("NITRO_SSL_KEY"),
cert: Deno.env.get("NITRO_SSL_CERT"),
port: destr(Deno.env.get("NITRO_PORT") || Deno.env.get("PORT")) || 3e3,
hostname: Deno.env.get("NITRO_HOST") || Deno.env.get("HOST"),
onListen: (opts) => {
const baseURL = (useRuntimeConfig().app.baseURL || "").replace(/\/$/, "");
const url = `${opts.hostname}:${opts.port}${baseURL}`;
console.log(`Listening ${url}`);
}
};
if (!serveOptions.key || !serveOptions.cert) {
delete serveOptions.key;
delete serveOptions.cert;
}
Deno.serve(serveOptions, handler);
const ws = import.meta._websocket ? wsAdapter(nitroApp.h3App.websocket) : void 0;
async function handler(request, info) {
if (import.meta._websocket && request.headers.get("upgrade") === "websocket") {
return ws.handleUpgrade(request, info);
}
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,
redirect: request.redirect,
body
});
}
if (import.meta._tasks) {
startScheduleRunner();
}
export default {};