62 lines
1.9 KiB
TypeScript
62 lines
1.9 KiB
TypeScript
import inertia from '@inertiajs/vite';
|
|
import { wayfinder } from '@laravel/vite-plugin-wayfinder';
|
|
import tailwindcss from '@tailwindcss/vite';
|
|
import vue from '@vitejs/plugin-vue';
|
|
import laravel from 'laravel-vite-plugin';
|
|
import { bunny } from 'laravel-vite-plugin/fonts';
|
|
import { defineConfig } from 'vite';
|
|
|
|
import { VitePWA } from 'vite-plugin-pwa';
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
dedupe: ['@laravel/echo-vue'],
|
|
},
|
|
plugins: [
|
|
laravel({
|
|
input: ['resources/css/app.css', 'resources/js/app.ts'],
|
|
refresh: true,
|
|
fonts: [
|
|
bunny('Instrument Sans', {
|
|
weights: [400, 500, 600],
|
|
}),
|
|
],
|
|
}),
|
|
inertia(),
|
|
tailwindcss(),
|
|
vue({
|
|
template: {
|
|
transformAssetUrls: {
|
|
base: null,
|
|
includeAbsolute: false,
|
|
},
|
|
},
|
|
}),
|
|
wayfinder({
|
|
formVariants: true,
|
|
}),
|
|
// VitePWA({
|
|
// registerType: 'autoUpdate',
|
|
// injectRegister: 'auto',
|
|
// workbox: {
|
|
// globPatterns: ['**/*.{js,css,html,ico,png,svg}'],
|
|
// runtimeCaching: [
|
|
// {
|
|
// urlPattern: ({ url }) => url.pathname.startsWith('/'),
|
|
// handler: 'NetworkFirst',
|
|
// options: {
|
|
// cacheName: 'api-cache',
|
|
// cacheableResponse: {
|
|
// statuses: [0, 200],
|
|
// },
|
|
// },
|
|
// },
|
|
// ],
|
|
// },
|
|
// srcDir: 'resources/js',
|
|
// filename: 'sw.js',
|
|
// outDir: 'public',
|
|
// }),
|
|
],
|
|
});
|