import express from 'express' export function getRandomPort () { return 1000 + (Math.random() * 39000) >> 0 } export async function createMockServer ({ port }) { const app = express() const server = await new Promise(resolve => { const server = app.listen(port, () => resolve(server)) }) server.respondWith = function (routes) { for (const [route, data] of Object.entries(routes)) { if (typeof data === 'function') { app.get(route, data) } else { app.get(route, (req, res) => res.json(data)) } } } return server } export function generateSimpleViteManifest (mapping) { const viteManifest = {} for (const [file, value] of Object.entries(mapping)) { viteManifest[file] = { file, meta: typeof value === 'string' ? { manifests: [{ namespace: value }] } : {} } if (typeof value === 'object') Object.assign(viteManifest[file], value) } return viteManifest }