From d67aeebd851889685857a575b0b6594524e59f3b Mon Sep 17 00:00:00 2001 From: sophie Date: Sat, 20 Jul 2024 14:05:26 +0300 Subject: [PATCH] improve build script --- src/build.ts | 51 +++++++++++++++++++++------------------------------ 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/src/build.ts b/src/build.ts index bfa3fff..3cc4c64 100644 --- a/src/build.ts +++ b/src/build.ts @@ -1,11 +1,29 @@ import * as esbuild from "esbuild" -import {watch, cpSync, rmdirSync, createReadStream, readFileSync, ReadStream} from "node:fs" +import {watch, cpSync, rmdirSync, readFileSync, ReadStream} from "node:fs" import { serve } from 'micro'; import {Server} from "node:http" import handler from "serve-handler" import { Readable } from "node:stream"; import { WebSocketServer } from 'ws'; +const script = `let t;function rr() {console.log("connecting to dev server") +let a = new WebSocket("ws://localhost:8081"); +a.addEventListener("message", g => { + if(g.data == "refresh"){ + location.reload() + } +}); +a.addEventListener("open", () => { + console.log("connected") +}) +a.addEventListener("close", () => { + console.log("socket closed, restarting in 1s") + clearInterval(t) + t = setTimeout(()=>{ + rr() + },1000) +})};rr();`; + const argv = process.argv.slice(2) async function buildTs() { @@ -25,8 +43,6 @@ if(argv[0] == "--build") { } if(argv[0] == "--dev") { - const scriptName = Math.random().toFixed(10).replace("0.","") - const wss = new WebSocketServer({ port: 8081 }); let allConnections = new Map(); wss.on('connection', function connection(ws) { @@ -40,31 +56,6 @@ if(argv[0] == "--dev") { }); const server = new Server( serve(async (req, res) => { - if(req.url == `/${scriptName}.js`) { - const body = `let t;function rr() {console.log("connecting to dev server") - let a = new WebSocket("ws://localhost:8081"); - a.addEventListener("message", g => { - if(g.data == "refresh"){ - location.reload() - } - }); - a.addEventListener("open", () => { - console.log("connected") - }) - a.addEventListener("close", () => { - console.log("socket closed, restarting in 1s") - clearInterval(t) - t = setTimeout(()=>{ - rr() - },1000) - })};rr();`; - res - .writeHead(200, { - 'Content-Length': Buffer.byteLength(body), - 'Content-Type': 'text/plain', - }) - .end(body); - } if(req.url == "/" || req.url?.endsWith(".html")) { await handler(req, res, { directoryListing: false, @@ -72,7 +63,7 @@ if(argv[0] == "--dev") { }, { createReadStream(path, options) { let sx = readFileSync(path).toString("utf8"); - sx = sx.replaceAll("", ``) + sx = sx.replaceAll("", ``) return Readable.from([sx]) as ReadStream }, }); @@ -86,7 +77,7 @@ if(argv[0] == "--dev") { ) server.listen(8080) console.log('[http] Listening HTTP on 8080.') - const watcher = watch("./src/web", { + watch("./src/web", { recursive: true, }, async (e,f) => { if(f == "dist.js") return;