vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
28 lines (27 loc) • 1.06 kB
JavaScript
export { createDevMiddleware };
import { createServer } from 'vite';
import { prepareViteApiCall } from '../api/prepareViteApiCall.js';
import { setGlobalContext_isProduction } from '../runtime/globalContext.js';
/*
* Create server middleware for development with HMR and lazy-transpiling.
*
* https://vike.dev/createDevMiddleware
*/
async function createDevMiddleware(options = {}) {
setGlobalContext_isProduction(false, true);
const optionsMod = {
...options,
viteConfig: {
...options.viteConfig,
root: options.root ?? options.viteConfig?.root,
server: {
...options.viteConfig?.server,
middlewareMode: options.viteConfig?.server?.middlewareMode ?? true,
},
},
};
const { viteConfigFromUserEnhanced } = await prepareViteApiCall(optionsMod, 'dev');
const server = await createServer(viteConfigFromUserEnhanced);
const devMiddleware = server.middlewares;
return { devMiddleware, viteServer: server, viteConfig: server.config };
}