MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1import net from 'node:net';
2
3// replicate exactly what vite does
4const server = net.createServer();
5const origListen = server.listen.bind(server);
6
7console.log('server type:', typeof server);
8console.log('origListen type:', typeof origListen);
9
10server.listen = async (port, ...args) => {
11 console.log('async wrapper called, port=', port, 'args=', args);
12 try {
13 await Promise.resolve(); // simulate initServer
14 console.log('after await, calling origListen...');
15 return origListen(port, ...args);
16 } catch (e) {
17 server.emit('error', e);
18 return;
19 }
20};
21
22await new Promise((resolve, reject) => {
23 server.on('error', (e) => {
24 console.log('error event:', e.message);
25 reject(e);
26 });
27 server.on('listening', () => {
28 console.log('listening on', server.address());
29 server.close(resolve);
30 });
31 server.listen(0, '127.0.0.1');
32});
33
34console.log('done');