This repository has been archived on 2025-03-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
cetra/examples/server.js
2024-01-11 17:12:24 +00:00

39 lines
961 B
JavaScript

import { unlinkSync } from 'node:fs';
const transpiler = Bun.Transpiler({
loader: 'cjs',
});
export default {
port: Bun.env.BUN_PORT || Bun.env.APP_PORT || 3000,
async fetch(req) {
const magicKey = Math.random().toString(36).substring(2, 10);
const url = new URL(req.url);
if (url.pathname == '/main.js') {
const path = `./.cache/`;
const filename = `${magicKey}.js`;
const file = Bun.file(`${path}/${filename}`);
const result = await Bun.build({
entrypoints: ['./src/main.js'],
outdir: path,
target: 'browser',
splitting: true,
naming: `[dir]/${filename}`,
});
console.log(result);
const resp = new Response(file, {
headers: { 'Cache-Control': 'no-cache' },
});
setTimeout(() => {
unlinkSync(`${path}/${filename}`);
}, 400);
return resp;
}
if (url.pathname == '/') return new Response(Bun.file('./index.html'));
return new Response('ERR 404: Not Found', { status: 404 });
},
};