mentalHealth/01-Web/apps/client/plugins/AutoImport.ts

58 lines
1.7 KiB
TypeScript

import AutoImport from 'unplugin-auto-import/vite';
import * as Preset from '../../../share/plugins.json';
import { name } from '../package.json';
export const configAutoImport = () => {
return AutoImport({
include: [/\.[cm]?[tj]sx?$/, /\.vue$/, /\.vue\?vue/, /\.md$/],
imports: [
'react',
'react-router-dom',
'ahooks',
{
antd: Preset.antd,
foca: Preset.foca,
zod: Preset.zod,
'framer-motion': Preset['framer-motion'],
'@ant-design/pro-components': [['*', 'P']],
'@handpear/zod': [['*', 'Z'], 'Req', 'Res'],
'@handpear/enums': [['*', 'E']],
'@handpear/hooks': [['*', 'H']],
'@handpear/utils': [['*', 'U'], 'EnumKeys', 'defineApis', 'getTableSize', 'getValueRange'],
'@handpear/ui': [['*', 'Ui'], 'message', 'modal', 'notification', 'Icon', 'Scrollbar'],
'~/modules/dayjs': ['dayjs'],
'~/modules/store': ['localForage'],
'~/service': ['request', 'controller'],
},
{
from: 'antd',
imports: [['*', 'Antd']],
type: true,
},
{
from: '@ant-design/pro-components',
imports: [['*', 'Pro']],
type: true,
},
{
from: '@handpear/enums',
imports: ['COLOR_SCHEMA', 'EDIT_TYPE'],
type: true,
},
],
dirs: [
'src/components/**/*',
'src/composable/**/*',
'src/store/**/*',
'src/enums/**/*',
'src/hooks/**/*',
'src/utils/**/*',
'src/zod/**/*',
'src/**/model.{js,ts}',
'src/**/*.zod.{js,ts}',
],
dts: true,
eslintrc: { enabled: true, filepath: `../../.eslintrc-auto-imports.${name}.json` },
});
};