Ctrl K
ComunidadGuías…

vite.config.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import path from 'node:path'
import { cloudflare } from '@cloudflare/vite-plugin'
import tailwindcss from '@tailwindcss/vite'
import react from '@vitejs/plugin-react-swc'
import { defineConfig } from 'vite'

const appPort = Number(process.env.E2E_APP_PORT ?? 6228)
const cloudflareEnv = process.env.CLOUDFLARE_ENV

export default defineConfig(({ command }) => {
  const localDev = command === 'serve' && !cloudflareEnv
  const disableContainers = localDev || cloudflareEnv === 'e2e'

  return {
    build: {
      outDir: 'dist',
      emptyOutDir: true,
    },
    plugins: [
      react(),
      tailwindcss(),
      cloudflare({
        remoteBindings: !disableContainers,
        // Local console development and e2e do not need Sandbox containers.
        ...(disableContainers
          ? {
              config: (config) => {
                config.dev.enable_containers = false
              },
            }
          : {}),
      }),
    ],
    resolve: {
      alias: {
        '@': path.resolve(__dirname, './src'),
        '@enbor/runtime-contracts': path.resolve(__dirname, './packages/runtime-contracts/src'),
        '@server': path.resolve(__dirname, './server'),
        '@shared': path.resolve(__dirname, './shared'),
      },
    },
    server: {
      port: appPort,
      // The e2e harness assigns each run its own port; never silently drift to another one.
      strictPort: process.env.E2E_APP_PORT !== undefined,
      ...(process.env.E2E_BASE_URL ? { allowedHosts: true as const } : {}),
    },
  }
})