import { defineConfig } from 'vite' import Vue from '@vitejs/plugin-vue' import Inspector from 'vite-plugin-vue-inspector' import { VitePWA } from 'vite-plugin-pwa' import { resolve } from 'path' const port = +(process.env.VUE_PORT ?? 8080) // https://vitejs.dev/config/ export default defineConfig(({ mode }) => ({ envPrefix: ['VUE_', 'FUNKWHALE_SENTRY_'], plugins: [ // https://github.com/vitejs/vite/tree/main/packages/plugin-vue Vue(), // https://github.com/webfansplz/vite-plugin-vue-inspector Inspector({ toggleComboKey: 'alt-shift-d' }), // https://github.com/antfu/vite-plugin-pwa VitePWA({ strategies: 'injectManifest', srcDir: 'src', filename: 'serviceWorker.ts', manifestFilename: 'manifest.json', devOptions: { enabled: true, type: 'module', navigateFallback: 'index.html' } }) ], server: { port }, resolve: { alias: { '?': resolve(__dirname, './tests/unit'), '~': resolve(__dirname, './src') } }, build: { rollupOptions: { input: { main: resolve(__dirname, './index.html'), embed: resolve(__dirname, './embed.html') } } }, test: { include: [ 'tests/unit/**/*.spec.ts', // TODO (wvffle): Remove after migrating all tests 'tests/unit/**/*.spec.js' ], environment: 'jsdom', globals: true } }))