-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
88 lines (82 loc) · 1.95 KB
/
vite.config.ts
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
import { purgeCss } from 'vite-plugin-tailwind-purgecss';
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { fontawesomeSubset } from 'fontawesome-subset';
import { resolve } from 'path';
import { promises as fs } from 'fs';
async function copyFontAwesome() {
try {
const sourcePath = resolve(
'node_modules',
'@fortawesome/fontawesome-free',
'css',
'all.min.css'
);
const destinationPath = resolve('src', 'lib', 'fonts', 'css', 'all.min.css');
// Ensure the destination directory exists
await fs.mkdir(resolve('src', 'lib', 'fonts', 'css'), { recursive: true });
// copy fontawesome min css (so that relative paths dont point to node_modules)
await fs.copyFile(sourcePath, destinationPath);
console.log('fontawesome all.min.cs copied to', destinationPath);
} catch (error) {
console.error('Error copying FontAwesome CSS:', error);
}
}
export default defineConfig({
plugins: [
sveltekit(),
purgeCss({ legacy: true }),
{
name: 'faSubset',
buildStart: async () => {
fontawesomeSubset(
{
solid: [
'xmark',
'up-right-and-down-left-from-center',
'check',
'rotate-right',
'arrow-left',
'arrow-right',
'info-circle',
'calendar',
'info',
'plus',
'flask-vial',
'leaf',
'egg',
'drumstick-bite',
'burger',
'fish',
'mortar-pestle',
'carrot',
'square-plus',
'wheelchair-move',
'utensils',
'recycle',
'user-tie',
'bars',
'coins',
'chart-column',
'circle-arrow-right',
'right-from-bracket',
'up-down-left-right',
'bell',
'pen',
'ban',
'question',
'square-pen',
'square-check',
'graduation-cap',
'bug'
],
regular: ['_'],
brands: ['github']
},
'src/lib/fonts/webfonts'
);
await copyFontAwesome();
}
}
]
});