Passed
Push — v1 ( 4799c6...ec44c1 )
by Andrew
15:55 queued 08:40
created

buildchain/vite.config.js   A

Complexity

Total Complexity 2
Complexity/F 2

Size

Lines of Code 64
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 46
mnd 1
bc 1
fnc 1
dl 0
loc 64
rs 10
bpm 1
cpm 2
noi 0
c 0
b 0
f 0
1
import vue from '@vitejs/plugin-vue'
2
import ViteRestart from 'vite-plugin-restart';
3
import viteCompression from 'vite-plugin-compression';
4
import { visualizer } from 'rollup-plugin-visualizer';
5
import eslintPlugin from 'vite-plugin-eslint';
6
import { nodeResolve } from '@rollup/plugin-node-resolve';
7
import path from 'path';
8
9
// https://vitejs.dev/config/
10
export default ({ 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
    eslintPlugin(),
47
  ],
48
  publicDir: '../src/web/assets/public',
49
  resolve: {
50
    alias: {
51
      '@': 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:3001/',
61
    port: 3001,
62
    strictPort: true,
63
  }
64
});
65