(dir, port, log = false)
| 3 | import {createServer} from 'http-server'; |
| 4 | |
| 5 | export const createTestServer = (dir, port, log = false) => { |
| 6 | const server = createServer({ |
| 7 | root: dir, |
| 8 | cache: -1, |
| 9 | gzip: true, |
| 10 | // eslint-disable-next-line no-console |
| 11 | logFn: (req) => log && console.log(req.url), |
| 12 | before: [ |
| 13 | (req, res) => { |
| 14 | if (req.url.startsWith('/pseudo.esm.sh/')) { |
| 15 | res.setHeader('Content-Type', 'application/javascript'); |
| 16 | res.write(readFileSync(dir + req.url + '/index.js', 'utf8')); |
| 17 | return res.end(); |
| 18 | } |
| 19 | res._write = res.write; |
| 20 | res.write = (buffer) => { |
| 21 | res._write( |
| 22 | replace( |
| 23 | replace(buffer, 'https://tinybase.org/', ' /'), |
| 24 | 'https://esm.sh/tinybase', |
| 25 | '/pseudo.esm.sh/tinybase', |
| 26 | ), |
| 27 | ); |
| 28 | }; |
| 29 | res.emit('next'); |
| 30 | }, |
| 31 | ], |
| 32 | }); |
| 33 | server.listen(port, '0.0.0.0'); |
| 34 | return server; |
| 35 | }; |
no outgoing calls
no test coverage detected
searching dependent graphs…