From 4797af7e1165b390b2782827c7b9e26542f2c410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=A1ko=20Hevery?= Date: Mon, 23 Oct 2023 04:18:14 +0200 Subject: [PATCH] feat(vite): allow disabling dev SSR server in vite --- packages/qwik/src/optimizer/src/plugins/vite.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/qwik/src/optimizer/src/plugins/vite.ts b/packages/qwik/src/optimizer/src/plugins/vite.ts index 2010b9d165b..6efdc030756 100644 --- a/packages/qwik/src/optimizer/src/plugins/vite.ts +++ b/packages/qwik/src/optimizer/src/plugins/vite.ts @@ -601,7 +601,8 @@ export function qwikVite(qwikViteOpts: QwikVitePluginOptions = {}): any { configureServer(server: ViteDevServer) { server.middlewares.use(getImageSizeServer(qwikPlugin.getSys(), rootDir!, srcDir!)); - if (!qwikViteOpts.csr) { + const devSsrServer = 'devSsrServer' in qwikViteOpts ? qwikViteOpts.devSsrServer : true; + if (!qwikViteOpts.csr && devSsrServer) { const plugin = async () => { const opts = qwikPlugin.getOptions(); const sys = qwikPlugin.getSys(); @@ -832,6 +833,19 @@ interface QwikVitePluginSSROptions extends QwikVitePluginCommonOptions { */ manifestOutput?: (manifest: QwikManifest) => Promise | void; }; + + /** + * Qwik is SSR first framework. This means that Qwik requires either SSR or SSG. In dev mode the + * dev SSR server is responsible for rendering and pausing the application on the server. + * + * Under normal circumstances this should be on, unless you have your own SSR server which you + * would like to use instead and wish to disable this one. + * + * Default: true + */ + devSsrServer?: boolean; + + /** Controls the SSR behavior. */ ssr?: { /** * The entry point for the SSR renderer. This file should export a `render()` function. This