import handler from 'serve-handler'; import { createServer } from 'http'; import type { Server } from 'http'; import { dirname, join } from 'path'; import { fileURLToPath } from 'url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const CDN_PUBLIC_PATH = join(__dirname, '../../../client/js-client.web.standalone/dist/'); export const startCdn = (port: number) => startContentServer(port, CDN_PUBLIC_PATH); export const startContentServer = (port: number, publicDir: string): Promise => { const server = createServer((request, response) => { return handler(request, response, { public: publicDir, }); }); return new Promise((resolve) => { const result = server.listen(port, () => { console.log(`server started on port ${port}`); console.log(`public dir ${publicDir}`); resolve(result); }); }); }; export const stopServer = (app: Server): Promise => { return new Promise((resolve) => { app.close(() => { console.log('server stopped'); resolve(); }); }); };