UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

52 lines (51 loc) 2.11 kB
import '../assertEnvVite.js'; export { pluginSetGlobalContext }; import { setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_isProductionAccordingToVite, } from '../../../server/runtime/globalContext.js'; import { markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer, } from '../../../utils/assertSetup.js'; import { isDevCheck } from '../../../utils/isDev.js'; import { reloadVikeConfig } from '../shared/resolveVikeConfigInternal.js'; import { getViteConfigRuntime } from '../shared/getViteConfigRuntime.js'; function pluginSetGlobalContext() { let isServerReload = false; return [ { name: 'vike:pluginSetGlobalContext:pre', enforce: 'pre', // This hook is called not only at server start but also at server restart (a new `viteDevServer` instance is created) configureServer: { order: 'pre', handler(viteDevServer) { if (isServerReload) reloadVikeConfig(); isServerReload = true; setGlobalContext_viteDevServer(viteDevServer); markSetup_viteDevServer(); }, }, configurePreviewServer: { handler() { markSetup_vitePreviewServer(); }, }, config: { order: 'pre', handler(_, env) { const isViteDev = isDevCheck(env); setGlobalContext_isProductionAccordingToVite(!isViteDev); markSetup_isViteDev(isViteDev); }, }, }, { name: 'vike:pluginSetGlobalContext:post', enforce: 'post', configResolved: { order: 'post', async handler(config) { const viteConfigRuntime = getViteConfigRuntime(config); setGlobalContext_viteConfig(config, viteConfigRuntime); }, }, }, ]; }