|
import { defineConfig } from 'vite' |
|
import react from '@vitejs/plugin-react' |
|
import { VitePWA } from 'vite-plugin-pwa' |
|
|
|
export default defineConfig({ |
|
plugins: [ |
|
react(), |
|
VitePWA({ |
|
registerType: 'autoUpdate', |
|
includeAssets: ['favicon.ico', 'apple-touch-icon.png', 'masked-icon.svg'], |
|
manifest: { |
|
name: 'DaddyTV - IPTV Player', |
|
short_name: 'DaddyTV', |
|
description: 'Reproductor IPTV personal para amigos y familiares', |
|
theme_color: '#1f2937', |
|
background_color: '#111827', |
|
display: 'standalone', |
|
orientation: 'landscape-primary', |
|
icons: [ |
|
{ |
|
src: 'pwa-192x192.png', |
|
sizes: '192x192', |
|
type: 'image/png' |
|
}, |
|
{ |
|
src: 'pwa-512x512.png', |
|
sizes: '512x512', |
|
type: 'image/png' |
|
} |
|
] |
|
}, |
|
workbox: { |
|
globPatterns: ['**/*.{js,css,html,ico,png,svg}'], |
|
runtimeCaching: [ |
|
{ |
|
urlPattern: /^https:\/\/.*\.m3u8?$/, |
|
handler: 'NetworkFirst', |
|
options: { |
|
cacheName: 'iptv-playlists', |
|
expiration: { |
|
maxEntries: 10, |
|
maxAgeSeconds: 3600 |
|
} |
|
} |
|
} |
|
] |
|
} |
|
}) |
|
], |
|
server: { |
|
proxy: { |
|
'/api': { |
|
target: 'http://localhost:8000', |
|
changeOrigin: true |
|
} |
|
} |
|
} |
|
}) |