UNPKG

nitropack

Version:

Build and Deploy Universal JavaScript Servers

44 lines (43 loc) • 1.57 kB
import "#internal/nitro/virtual/polyfill"; import { Server as HttpServer } from "node:http"; import { Server as HttpsServer } from "node:https"; import destr from "destr"; import { toNodeListener } from "h3"; import { nitroApp } from "../app.mjs"; import { useRuntimeConfig } from "#internal/nitro"; const cert = process.env.NITRO_SSL_CERT; const key = process.env.NITRO_SSL_KEY; const server = cert && key ? new HttpsServer({ key, cert }, toNodeListener(nitroApp.h3App)) : new HttpServer(toNodeListener(nitroApp.h3App)); const port = destr(process.env.NITRO_PORT || process.env.PORT) || 3e3; const host = process.env.NITRO_HOST || process.env.HOST; const s = server.listen(port, host, (err) => { if (err) { console.error(err); process.exit(1); } const protocol = cert && key ? "https" : "http"; const i = s.address(); const baseURL = (useRuntimeConfig().app.baseURL || "").replace(/\/$/, ""); const url = `${protocol}://${i.family === "IPv6" ? `[${i.address}]` : i.address}:${i.port}${baseURL}`; console.log(`Listening ${url}`); }); if (process.env.DEBUG) { process.on( "unhandledRejection", (err) => console.error("[nitro] [dev] [unhandledRejection]", err) ); process.on( "uncaughtException", (err) => console.error("[nitro] [dev] [uncaughtException]", err) ); } else { process.on( "unhandledRejection", (err) => console.error("[nitro] [dev] [unhandledRejection] " + err) ); process.on( "uncaughtException", (err) => console.error("[nitro] [dev] [uncaughtException] " + err) ); } export default {};