Home / Function/ vitePluginSsrMiddleware() — vite Function Reference

vitePluginSsrMiddleware() — vite Function Reference

Architecture documentation for the vitePluginSsrMiddleware() function in vite.config.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  5411678f_ec7d_926d_6f96_99f1738845ed["vitePluginSsrMiddleware()"]
  20d8957f_ba11_8d96_3fec_b1933e2fc3b9["vite.config.ts"]
  5411678f_ec7d_926d_6f96_99f1738845ed -->|defined in| 20d8957f_ba11_8d96_3fec_b1933e2fc3b9
  style 5411678f_ec7d_926d_6f96_99f1738845ed fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

playground/environment-react-ssr/vite.config.ts lines 73–121

export function vitePluginSsrMiddleware({
  entry,
  preview,
}: {
  entry: string
  preview?: string
}): PluginOption {
  const plugin: Plugin = {
    name: vitePluginSsrMiddleware.name,

    configureServer(server) {
      const runner = createServerModuleRunner(server.environments.ssr, {
        hmr: { logger: false },
      })
      const importWithRetry = async () => {
        try {
          return await runner.import(entry)
        } catch (e) {
          if (
            e instanceof Error &&
            (e as any).code === 'ERR_OUTDATED_OPTIMIZED_DEP'
          ) {
            runner.clearCache()
            return await importWithRetry()
          }
          throw e
        }
      }
      const handler: Connect.NextHandleFunction = async (req, res, next) => {
        try {
          const mod = await importWithRetry()
          await mod['default'](req, res, next)
        } catch (e) {
          next(e)
        }
      }
      return () => server.middlewares.use(handler)
    },

    async configurePreviewServer(server) {
      if (preview) {
        const mod = await import(preview)
        return () => server.middlewares.use(mod.default)
      }
      return
    },
  }
  return [plugin]
}

Domain

Subdomains

Frequently Asked Questions

What does vitePluginSsrMiddleware() do?
vitePluginSsrMiddleware() is a function in the vite codebase, defined in playground/environment-react-ssr/vite.config.ts.
Where is vitePluginSsrMiddleware() defined?
vitePluginSsrMiddleware() is defined in playground/environment-react-ssr/vite.config.ts at line 73.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free