import { defineConfig } from 'vite' import laravel from 'laravel-vite-plugin' import vue from '@vitejs/plugin-vue' import i18n from 'laravel-vue-i18n/vite' import AutoImport from 'unplugin-auto-import/vite' import version from './vite.version' const ASSET_URL = process.env.ASSET_URL || '' export default defineConfig({ base: `${ASSET_URL}`, plugins: [ laravel([ 'resources/js/app.js', ]), vue({ template: { transformAssetUrls: { // The Vue plugin will re-write asset URLs, when referenced // in Single File Components, to point to the Laravel web // server. Setting this to `null` allows the Laravel plugin // to instead re-write asset URLs to point to the Vite // server instead. base: null, // The Vue plugin will parse absolute URLs and treat them // as absolute paths to files on disk. Setting this to // `false` will leave absolute URLs un-touched so they can // reference assets in the public directory as expected. includeAbsolute: false, }, }, }), i18n('resources/lang'), AutoImport({ // https://github.com/unplugin/unplugin-auto-import?tab=readme-ov-file#configuration imports: [ 'vue', 'vue-router', 'pinia', { '@vueuse/core': [ 'useStorage', 'useClipboard', 'useNavigatorLanguage' ], 'laravel-vue-i18n': [ 'i18nVue', 'trans', 'wTrans', 'getActiveLanguage', 'loadLanguageAsync', 'getActiveLanguage' ], '@kyvg/vue3-notification': [ 'useNotification' ], }, ], // resolvers: [ // ElementPlusResolver(), // ], dirs: [ '@/composables/**', ], vueTemplate: true, }), ], resolve: { alias: { '@': '/resources/js', }, }, build: { rollupOptions: { output: { banner: '/*! 2FAuth version ' + version + ' - Copyright (c) 2023 Bubka - https://github.com/Bubka/2FAuth */', }, }, }, });