Skip to content
Snippets Groups Projects
vite.config.ts 1.32 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { MagicRegExpTransformPlugin } from 'magic-regexp/transform'
    import { fileURLToPath, URL } from 'url'
    
    import { defineConfig } from 'vite'
    
    import Vue from '@vitejs/plugin-vue'
    import VueMacros from 'unplugin-vue-macros/vite'
    
    
    // https://vitejs.dev/config/
    
    export default defineConfig({
    
        VueMacros({
          version: 3,
          plugins: {
    
    Kasper Seweryn's avatar
    Kasper Seweryn committed
            vue: Vue({
              script: {
                defineModel: true,
              }
            })
    
          }
        }),
        MagicRegExpTransformPlugin.vite()
    
    Kasper Seweryn's avatar
    Kasper Seweryn committed
      publicDir: false,
    
      resolve: {
        alias: {
    
          '?': fileURLToPath(new URL('./test', import.meta.url)),
          '~': fileURLToPath(new URL('./src', import.meta.url))
    
        }
      },
      css: {
        preprocessorOptions: {
          scss: {
            additionalData: `
    
              @import "~/styles/inc/theme";
    
              @import "~/styles/inc/docs";
              $docs: ${!!process.env.VP_DOCS};
    
      build: {
        sourcemap: 'inline',
    
    Kasper Seweryn's avatar
    Kasper Seweryn committed
        cssMinify: 'lightningcss',
    
          entry: fileURLToPath(new URL('./src/main.ts', import.meta.url)),
    
          name: '@funkwhale/vui',
    
          fileName: 'vui'
    
        },
        rollupOptions: {
          external: ['vue', 'vue-i18n', '@vueuse/core', 'vue-router'],
          output: {
    
            exports: 'named',
            globals: {
              vue: 'Vue'
    
    Kasper Seweryn's avatar
    Kasper Seweryn committed
            },
            sourcemap: 'hidden'