39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { pathResolve, deepMerge } from '@3rapp/utils';
|
|
import { ConfigEnv, UserConfig } from 'vite';
|
|
|
|
import { createPlugins } from './plugins';
|
|
import { Configure } from './types';
|
|
|
|
export const createConfig = (params: ConfigEnv, configure?: Configure): UserConfig => {
|
|
const isBuild = params.command === 'build';
|
|
return deepMerge<UserConfig, UserConfig>(
|
|
{
|
|
resolve: {
|
|
alias: {
|
|
'@': pathResolve('../src'),
|
|
},
|
|
},
|
|
css: {
|
|
modules: {
|
|
localsConvention: 'camelCaseOnly',
|
|
},
|
|
},
|
|
server: {
|
|
host: '0.0.0.0',
|
|
port: 3001,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:8080/api',
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, ''),
|
|
},
|
|
},
|
|
cors: true,
|
|
},
|
|
plugins: createPlugins(isBuild),
|
|
},
|
|
typeof configure === 'function' ? configure(params, isBuild) : {},
|
|
'merge',
|
|
);
|
|
};
|