Ctrl K
ComunidadGuías…

vite.config.mts

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

Archivo original ↗Preguntar a KiBot
import { defineConfig } from 'vite';
import RailsVite from 'rails-vite-plugin';
import tailwindcss from '@tailwindcss/vite';
import { compression } from 'vite-plugin-compression2';

export default defineConfig(() => ({
  plugins: [
    tailwindcss(),
    compression({ algorithm: 'gzip' }),
    compression({ algorithm: 'brotliCompress' }),
    RailsVite({
      sourceDir: 'app/frontend',
      refresh: [
        'config/routes.rb',
        'app/views/**/*',
        'app/components/**/*',
        'app/**/*.rb',
        'config/locales/**/*.yml',
      ],
    }),
  ],
  build: {
    rolldownOptions: {
      output: {
        codeSplitting: {
          groups: [
            // survey-core and highlight.js are only reached via dynamic
            // import() (survey_controller / stack_preview_controller), so
            // giving each its own group keeps them out of the eagerly-loaded
            // vendor chunk — they load on demand on the few pages that use
            // them. Order matters: specific groups must precede the catch-all.
            {
              test: /node_modules\/survey|utils\/survey_theme/,
              name: 'survey',
            },
            {
              test: /node_modules\/highlight\.js/,
              name: 'highlight',
            },
            {
              test: /node_modules/,
              name: 'vendor',
            },
          ],
        },
      },
    },
    chunkSizeWarningLimit: 1500,
  },
  server: {
    port: 3036,
    hmr: {
      host: 'vite.helios.localhost',
      clientPort: 443,
      protocol: 'wss',
    },
  },
}));