Repository navigation
Expand file tree
/
Copy pathvite.config.js
More file actions
61 lines (61 loc) · 1.93 KB
/
Copy pathvite.config.js
File metadata and controls
61 lines (61 loc) · 1.93 KB
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
import {defineConfig} from 'vite';
import { ViteMinifyPlugin } from 'vite-plugin-minify'
import { viteStaticCopy } from 'vite-plugin-static-copy'
import path from 'path'
export default defineConfig({
plugins: [
viteStaticCopy({
targets: [
{
src: 'App/assets/fonts/**/*',
dest: 'fonts',
rename: { stripBase: 3 },
},
{
src: 'App/assets/images/**/*',
dest: 'images/app/',
rename: { stripBase: 3 },
},
],
}),
ViteMinifyPlugin({}),
],
root: path.resolve(__dirname, 'src'), // Set the root directory for Vite
build: {
outDir: '../public', // Output directory for compiled assets
emptyOutDir: false,
rollupOptions: {
input: {
main: '/App/assets/js/index.js', // Main JavaScript entry point
style: '/App/assets/scss/index.scss', // Main CSS entry point
contact: '/App/assets/scss/contact.scss', // Contact page CSS
},
output: {
manualChunks: undefined,
entryFileNames: "js/app.js",
assetFileNames: (asset) => (asset.names ?? []).includes('contact.css')
? 'css/contact.css'
: 'css/app.css',
},
},
},
optimizeDeps: { force: true, },
css: {
preprocessorOptions: {
scss: {
// Bootstrap 5.3 still uses @import internally; silence
// deprecation warnings coming from node_modules only.
quietDeps: true,
},
},
},
resolve: {
alias: [
{
// this is required for the SCSS modules
find: /^~(.*)$/,
replacement: '$1',
}
],
},
});