-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathvite.config.js
91 lines (90 loc) · 2.53 KB
/
vite.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import { defineConfig } from 'vite'
import { sveltekit } from '@sveltejs/kit/vite'
import { purgeCss } from 'vite-plugin-tailwind-purgecss'
import { SvelteKitPWA } from '@vite-pwa/sveltekit'
export default defineConfig({
plugins: [
sveltekit(),
purgeCss(),
SvelteKitPWA({
includeAssets: [
'favicon.ico',
'images/icons/favicon.svg',
'images/icons/apple-touch-icon-180x180.png',
'Quicksand.ttf',
'audio/*.mp3'
],
manifest: {
name: 'Svelte Wheel',
short_name: 'SvelteWheel',
description: 'Enter texts onto the wheel and spin for a random result!',
theme_color: '#022a4f',
icons: [
{
src: 'images/icons/pwa-64x64.png',
sizes: '64x64',
type: 'image/png'
},
{
src: 'images/icons/pwa-192x192.png',
sizes: '192x192',
type: 'image/png'
},
{
src: 'images/icons/pwa-512x512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'any'
},
{
src: 'images/icons/maskable-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'maskable'
},
{
src: 'images/icons/favicon.svg',
sizes: 'any',
type: 'image/svg+xml',
purpose: 'monochrome'
}
],
screenshots: [
{
src: 'images/screenshots/mobile.png',
sizes: '1080x2340',
type: 'image/png'
},
{
src: 'images/screenshots/desktop.png',
sizes: '1280x720',
type: 'image/png',
form_factor: 'wide'
}
],
protocol_handlers: [{ protocol: 'web+wheel', url: '/%s' }]
},
workbox: {
navigateFallbackDenylist: [/^\/\w\w\w\-\w\w\w$/, /^\/thumbnails/],
runtimeCaching: [
{
urlPattern: ({ url }) => url.pathname.match(/^\/\w\w\w\-\w\w\w$/),
handler: 'StaleWhileRevalidate',
options: {
cacheName: 'ssr-pages-cache',
cacheableResponse: { statuses: [200] }
}
},
{
urlPattern: ({ url }) => url.pathname.match(/^\/thumbnails/),
handler: 'NetworkFirst',
options: {
cacheName: 'thumbnails-cache',
cacheableResponse: { statuses: [200] }
}
}
]
}
})
]
})