-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathvite.config.js
More file actions
31 lines (29 loc) · 988 Bytes
/
Copy pathvite.config.js
File metadata and controls
31 lines (29 loc) · 988 Bytes
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
import { sveltekit } from '@sveltejs/kit/vite';
import { imagetools } from 'vite-imagetools';
import { defineConfig } from 'vite';
const filetypesToOptimize = ['jpg', 'jpeg', 'png', 'gif'];
export default defineConfig({
build: {
// HomeHeroOverlay's marquee repeats these logos 92 times, so inlining them as data
// URIs adds ~180KB to the home page HTML and stalls PostHog's DOM snapshot.
assetsInlineLimit: (filePath) => {
if (filePath.includes('/icons/home/brands/')) return false;
},
},
plugins: [
imagetools({
defaultDirectives: (url) => {
let sourceFileType = url.pathname.split('.').pop();
if (filetypesToOptimize.includes(sourceFileType)) {
return new URLSearchParams({'format': `avif;webp;${sourceFileType}`, 'as': 'picture' });
}
return new URLSearchParams();
},
cache: {
enabled: true,
dir: './node_modules/.cache/imagetools'
}
}),
sveltekit(),
]
});