test/apps/admin/scripts/index.ts
2024-05-08 00:24:43 +08:00

30 lines
878 B
TypeScript

import { pathResolve } from '@3rapp/utils';
import merge from 'deepmerge';
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 merge<UserConfig>(
{
resolve: {
alias: {
'@': pathResolve('src'),
},
},
css: {
modules: {
localsConvention: 'camelCaseOnly',
},
},
plugins: createPlugins(isBuild),
},
typeof configure === 'function' ? configure(params, isBuild) : {},
{
arrayMerge: (_d, s, _o) => Array.from(new Set([..._d, ...s])),
},
);
};