forked from leav-solutions/leav-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite-config-common.js
55 lines (52 loc) · 2.31 KB
/
vite-config-common.js
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
import react from '@vitejs/plugin-react';
import path from 'path';
import {splitVendorChunkPlugin} from 'vite';
import svgr from 'vite-plugin-svgr';
export const jsonHmr = () => {
return {
name: 'json-hmr',
enforce: 'post',
handleHotUpdate({file, server}) {
if (file.endsWith('.json')) {
console.debug(`[vite] JSON hmr update ${file}`);
server.ws.send({
type: 'full-reload',
path: '*'
});
}
}
};
};
export const commonConfig = rootPath => {
return {
root: '.',
plugins: [svgr(), react(), jsonHmr(), splitVendorChunkPlugin()],
resolve: {
alias: [
{find: '@leav/ui', replacement: path.resolve(__dirname, 'libs/ui/src')},
{find: 'components', replacement: path.resolve(rootPath, './src/components')},
{find: 'context', replacement: path.resolve(rootPath, './src/context')},
{find: 'hooks', replacement: path.resolve(rootPath, './src/hooks')},
{find: 'graphQL', replacement: path.resolve(rootPath, './src/graphQL')},
{find: 'queries', replacement: path.resolve(rootPath, './src/queries')},
{find: 'assets', replacement: path.resolve(rootPath, './src/assets')},
{find: 'reduxStore', replacement: path.resolve(rootPath, './src/reduxStore')},
{find: '_gqlTypes', replacement: path.resolve(rootPath, './src/_gqlTypes')},
{find: '_tests', replacement: path.resolve(rootPath, './src/_tests')},
{find: '__mocks__', replacement: path.resolve(rootPath, './src/__mocks__')},
{find: '_types', replacement: path.resolve(rootPath, './src/_types')},
{find: 'constants', replacement: path.resolve(rootPath, './src/constants')},
{find: 'utils', replacement: path.resolve(rootPath, './src/utils')},
{find: 'react-i18next', replacement: path.resolve(__dirname, 'node_modules/react-i18next')},
{
find: /_ui\/(.*)/,
replacement: path.resolve(__dirname, 'libs/ui/src/$1')
}
]
},
server: {
port: 3000,
host: true
}
};
};