aboutsummaryrefslogtreecommitdiffstats
path: root/site/vite.config.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-06 22:10:53 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-06 22:22:15 -0700
commitcc82faa15d8d6762a520ab23f858cb3c667559f9 (patch)
tree8895812ad19d41c205fe40deae198510c4adbc2b /site/vite.config.ts
parent8d4a3eeb3a68e39301caec1b2289783bd2bf7b6d (diff)
add PWA support
Diffstat (limited to 'site/vite.config.ts')
-rw-r--r--site/vite.config.ts50
1 files changed, 49 insertions, 1 deletions
diff --git a/site/vite.config.ts b/site/vite.config.ts
index 4413fad..891f9c8 100644
--- a/site/vite.config.ts
+++ b/site/vite.config.ts
@@ -1,8 +1,56 @@
import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
import react from '@vitejs/plugin-react-swc'
+import { VitePWA } from 'vite-plugin-pwa'
+import icons from './public/icons.json'
// https://vite.dev/config/
export default defineConfig({
- plugins: [react(), tailwindcss()],
+ plugins: [react(), tailwindcss(),
+ VitePWA({
+ registerType: 'autoUpdate',
+ manifest: {
+ name: '573-UPDATES',
+ short_name: '573-UPDATES',
+ description: 'A scraper and aggregator of information/news for various arcade games. Currently supports various KONAMI/BEMANI and Performai',
+ theme_color: '#FD0B78',
+ background_color: '#101828',
+ display: 'standalone',
+ start_url: '/',
+ icons: icons.icons
+ },
+ workbox: {
+ globPatterns: ['**/*.{js,css,html,ico,png,svg}'],
+ runtimeCaching: [
+ {
+ urlPattern: ({ request }) => request.destination === 'document',
+ handler: 'NetworkFirst',
+ options: {
+ cacheName: 'html-cache',
+ },
+ },
+ {
+ urlPattern: ({ request }) =>
+ ['style', 'script', 'worker'].includes(request.destination),
+ handler: 'StaleWhileRevalidate',
+ options: {
+ cacheName: 'static-resources',
+ },
+ },
+ {
+ urlPattern: ({ request }) =>
+ ['image', 'font'].includes(request.destination),
+ handler: 'CacheFirst',
+ options: {
+ cacheName: 'asset-cache',
+ expiration: {
+ maxEntries: 50,
+ maxAgeSeconds: 30 * 24 * 60 * 60,
+ },
+ },
+ },
+ ],
+ },
+ })
+ ],
})
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage