61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import laravel from 'laravel-vite-plugin';
|
|
import vue from '@vitejs/plugin-vue';
|
|
import path from 'path';
|
|
import vuetify from "vite-plugin-vuetify";
|
|
import { VitePWA } from 'vite-plugin-pwa';
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
laravel({
|
|
input: 'resources/js/app.ts',
|
|
refresh: true,
|
|
}),
|
|
vue({
|
|
template: {
|
|
transformAssetUrls: {
|
|
base: null,
|
|
includeAbsolute: false,
|
|
},
|
|
},
|
|
}),
|
|
vuetify({ autoImport: true }),
|
|
VitePWA({
|
|
base: '/',
|
|
registerType: 'autoUpdate',
|
|
strategies: 'injectManifest',
|
|
srcDir: 'resources/js',
|
|
filename: 'sw.js',
|
|
injectManifest: {
|
|
globPatterns: [],
|
|
},
|
|
devOptions: {
|
|
enabled: true,
|
|
type: 'module',
|
|
},
|
|
includeAssets: ['favicon.ico', 'apple-touch-icon-180.png'],
|
|
manifest: {
|
|
name: 'FlightsGoneBy',
|
|
short_name: 'FlightsGoneBy',
|
|
description: 'Track and log your flight history',
|
|
start_url: '/',
|
|
scope: '/',
|
|
display: 'standalone',
|
|
background_color: '#020d29',
|
|
theme_color: '#020d29',
|
|
icons: [
|
|
{ src: '/img/app_icons/icon-192.png', sizes: '192x192', type: 'image/png' },
|
|
{ src: '/img/app_icons/icon-512.png', sizes: '512x512', type: 'image/png' },
|
|
{ src: '/img/app_icons/icon-192-maskable.png', sizes: '192x192', type: 'image/png', purpose: 'maskable' },
|
|
{ src: '/img/app_icons/icon-512-maskable.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' },
|
|
],
|
|
},
|
|
}),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, 'resources/js'),
|
|
},
|
|
},
|
|
});
|