UNPKG

vike

Version:

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

48 lines (47 loc) 1.93 kB
export { pluginSetGlobalContext }; import { setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_isProduction, } from '../../runtime/globalContext.js'; import { isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.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() { markSetup_vitePreviewServer(); }, config: { order: 'pre', handler(_, env) { const isViteDev = isDevCheck(env); setGlobalContext_isProduction(!isViteDev); markSetup_isViteDev(isViteDev); }, }, }, { name: 'vike:pluginSetGlobalContext:post', enforce: 'post', configResolved: { order: 'post', async handler(config) { const viteConfigRuntime = getViteConfigRuntime(config); setGlobalContext_viteConfig(config, viteConfigRuntime); }, }, }, ]; }