init
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
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])),
|
||||
},
|
||||
);
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
import react from '@vitejs/plugin-react';
|
||||
import { PluginOption } from 'vite';
|
||||
|
||||
export function createPlugins(isBuild: boolean) {
|
||||
const vitePlugins: (PluginOption | PluginOption[])[] = [react()];
|
||||
return vitePlugins;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { ConfigEnv, UserConfig } from 'vite';
|
||||
|
||||
export type Configure = (params: ConfigEnv, isBuild: boolean) => UserConfig;
|
||||
@@ -0,0 +1,3 @@
|
||||
import { resolve } from 'path';
|
||||
|
||||
export const pathResolve = (dir: string) => resolve(__dirname, '../', dir);
|
||||
Reference in New Issue
Block a user