mirror of
https://github.com/NebulaServices/Nebula.git
synced 2025-05-17 13:30:00 -04:00
move wisp to plugin, remove build rq for running api
This commit is contained in:
parent
77dbccfc7e
commit
d70ff2f4cf
5 changed files with 101 additions and 77 deletions
|
@ -5,18 +5,21 @@ import tailwind from "@astrojs/tailwind";
|
|||
import { baremuxPath } from "@mercuryworkshop/bare-mux/node";
|
||||
import { epoxyPath } from "@mercuryworkshop/epoxy-transport";
|
||||
import { libcurlPath } from "@mercuryworkshop/libcurl-transport";
|
||||
import { scramjetPath } from "@mercuryworkshop/scramjet";
|
||||
import playformCompress from "@playform/compress";
|
||||
import { uvPath } from "@titaniumnetwork-dev/ultraviolet";
|
||||
import { scramjetPath } from "@mercuryworkshop/scramjet";
|
||||
import icon from "astro-icon";
|
||||
import { defineConfig, envField } from "astro/config";
|
||||
import { viteStaticCopy } from "vite-plugin-static-copy";
|
||||
import { version } from "./package.json";
|
||||
import { parsedDoc } from "./server/config.js";
|
||||
import { wispPlugin } from "./server/vite-plugin-wisp";
|
||||
const workerwarePath = fileURLToPath(new URL("./workerware/src", import.meta.url));
|
||||
|
||||
export default defineConfig({
|
||||
site: parsedDoc.seo.enabled ? parsedDoc.seo.domain || process.env.SITE : 'http://localhost:4321',
|
||||
site: parsedDoc.seo.enabled
|
||||
? parsedDoc.seo.domain || process.env.SITE
|
||||
: "http://localhost:4321",
|
||||
env: {
|
||||
schema: {
|
||||
VERSION: envField.string({
|
||||
|
@ -90,7 +93,8 @@ export default defineConfig({
|
|||
overwrite: false
|
||||
}
|
||||
]
|
||||
})
|
||||
}),
|
||||
wispPlugin
|
||||
],
|
||||
server: {
|
||||
proxy: {
|
||||
|
@ -113,12 +117,6 @@ export default defineConfig({
|
|||
target: "http://localhost:8080",
|
||||
changeOrigin: true
|
||||
},
|
||||
"/wisp/": {
|
||||
target: "ws://localhost:8080/wisp/",
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
rewrite: (path) => path.replace(/^\/wisp\//, "")
|
||||
},
|
||||
"/styles": {
|
||||
target: "http://localhost:8080",
|
||||
changeOrigin: true
|
||||
|
|
13
package.json
13
package.json
|
@ -32,9 +32,9 @@
|
|||
"@mercuryworkshop/bare-mux": "^2.1.7",
|
||||
"@mercuryworkshop/epoxy-transport": "^2.1.27",
|
||||
"@mercuryworkshop/libcurl-transport": "^1.3.15",
|
||||
"@mercuryworkshop/scramjet": "https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz",
|
||||
"@playform/compress": "^0.1.6",
|
||||
"@titaniumnetwork-dev/ultraviolet": "^3.2.10",
|
||||
"@mercuryworkshop/scramjet": "https://github.com/MercuryWorkshop/scramjet/releases/download/latest/mercuryworkshop-scramjet-1.0.2-dev.tgz",
|
||||
"@types/node": "^22.10.2",
|
||||
"@types/sequelize": "^4.28.20",
|
||||
"astro": "^5.1.1",
|
||||
|
@ -62,5 +62,16 @@
|
|||
"ora": "^8.1.1",
|
||||
"sharp": "^0.33.5",
|
||||
"tsx": "^4.19.2"
|
||||
},
|
||||
"packageManager": "pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af",
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"@biomejs/biome",
|
||||
"bufferutil",
|
||||
"esbuild",
|
||||
"sharp",
|
||||
"sqlite3",
|
||||
"utf-8-validate"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,8 +10,6 @@ import fastifyStatic from "@fastify/static";
|
|||
import chalk from "chalk";
|
||||
import Fastify, { FastifyReply, FastifyRequest } from "fastify";
|
||||
import gradient from "gradient-string";
|
||||
//@ts-ignore WHY would I want this typechecked AT ALL
|
||||
import { handler as ssrHandler } from "../dist/server/entry.mjs";
|
||||
import { parsedDoc } from "./config.js";
|
||||
import { setupDB } from "./dbSetup.js";
|
||||
import { catalogAssets, marketplaceAPI } from "./marketplace.js";
|
||||
|
@ -57,9 +55,11 @@ if (parsedDoc.marketplace.enabled) {
|
|||
}
|
||||
|
||||
await app.register(fastifyMiddie);
|
||||
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
//@ts-ignore WHY would I want this typechecked AT ALL
|
||||
const { handler: ssrHandler } = await import("../dist/server/entry.mjs")
|
||||
app.use(ssrHandler);
|
||||
|
||||
}
|
||||
const port: number =
|
||||
parseInt(process.env.PORT as string) || parsedDoc.server.server.port || parseInt("8080");
|
||||
const titleText = `
|
||||
|
|
|
@ -26,4 +26,4 @@ const serverFactory: FastifyServerFactory = (
|
|||
return httpServer;
|
||||
};
|
||||
|
||||
export { serverFactory };
|
||||
export { serverFactory, wispOptions };
|
||||
|
|
15
server/vite-plugin-wisp.ts
Normal file
15
server/vite-plugin-wisp.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { Socket } from "node:net";
|
||||
import wisp from "wisp-server-node";
|
||||
import { wispOptions } from "./serverFactory";
|
||||
|
||||
export const wispPlugin = {
|
||||
name: "vite-plugin-wisp",
|
||||
configureServer(server) {
|
||||
server.wisp = wisp;
|
||||
server.httpServer?.on("upgrade", (req, socket: Socket, head) =>
|
||||
req.url?.endsWith("/wisp/")
|
||||
? wisp.routeRequest(req, socket, head, wispOptions)
|
||||
: undefined
|
||||
);
|
||||
}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue