buildchain/vite.config.ts   A
last analyzed

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 65
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

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