← Public packages
@kentcdodds/invisible-software
Invisible software: a phone-only step-through demo plus a chart of AI agent benchmark progress.
scripts/serve.mjs
19 lines · 906 B · JavaScript// Local preview: serves the package app the way Kody mounts it, under
// /packages/invisible-software/ with the mount stripped (/, /demo, /graph).
import { createServer } from 'node:http'
import router from '../app/router.ts'
const port = Number(process.env.PORT ?? 4310)
const mount = '/packages/invisible-software'
createServer(async (req, res) => {
if (req.url === '/' || req.url === mount) {
res.writeHead(302, { location: mount + '/' })
return res.end()
}
const url = new URL(req.url, `http://localhost:${port}`)
if (url.pathname.startsWith(mount)) url.pathname = url.pathname.slice(mount.length) || '/'
const response = await router.fetch(new Request(url, { method: req.method }))
res.writeHead(response.status, Object.fromEntries(response.headers))
res.end(Buffer.from(await response.arrayBuffer()))
}).listen(port, () => console.log(`Slideshow at http://localhost:${port}${mount}/`))