Passed
Push — v1 ( 655e91...98fc99 )
by Andrew
15:11 queued 08:43
created

buildchain/vite.config.ts   A

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 64
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 46
c 0
b 0
f 0
dl 0
loc 64
rs 10
mnd 1
bc 1
fnc 0
bpm 0
cpm 0
noi 0
1
import {defineConfig} from 'vite';
2
import vue from '@vitejs/plugin-vue'
3
import ViteRestart from 'vite-plugin-restart';
4
import viteCompression from 'vite-plugin-compression';
5
import {visualizer} from 'rollup-plugin-visualizer';
6
import {nodeResolve} from '@rollup/plugin-node-resolve';
7
import * as path from 'path';
8
9
// https://vitejs.dev/config/
10
export default defineConfig(({command}) => ({
11
  base: command === 'serve' ? '' : '/dist/',
12
  build: {
13
    emptyOutDir: true,
14
    manifest: true,
15
    outDir: '../src/web/assets/dist',
16
    rollupOptions: {
17
      input: {
18
        app: 'src/js/app.ts',
19
        welcome: 'src/js/welcome.ts',
20
      },
21
      output: {
22
        sourcemap: true
23
      },
24
    }
25
  },
26
  plugins: [
27
    nodeResolve({
28
      moduleDirectories: [
29
        path.resolve('./node_modules'),
30
      ],
31
    }),
32
    ViteRestart({
33
      reload: [
34
        './src/templates/**/*',
35
      ],
36
    }),
37
    vue(),
38
    viteCompression({
39
      filter: /\.(js|mjs|json|css|map)$/i
40
    }),
41
    visualizer({
42
      filename: '../src/web/assets/dist/stats.html',
43
      template: 'treemap',
44
      sourcemap: true,
45
    }),
46
  ],
47
  publicDir: '../src/web/assets/public',
48
  resolve: {
49
    alias: {
50
      '@': path.resolve(__dirname, './src')
51
    },
52
    preserveSymlinks: true,
53
  },
54
  server: {
55
    fs: {
56
      strict: false
57
    },
58
    host: '0.0.0.0',
59
    origin: 'http://localhost:3001',
60
    port: 3001,
61
    strictPort: true,
62
  }
63
}));
64