UNPKG

@plugin-light/project-config-vite

Version:
98 lines (97 loc) 2.63 kB
/// <reference types="node" /> import type { Plugin } from 'vite'; import type { IAddCodeAtEndOptions } from '@plugin-light/vite-plugin-add-code-at-end'; import type { IAliasForLibraryOptions } from '@plugin-light/vite-plugin-alias-for-library'; import type { Server } from 'node:https'; import type { ElementPlusResolverOptions, TDesignResolverOptions, VantResolverOptions } from 'unplugin-vue-components/resolvers'; import type { MkcertPluginOptions } from 'vite-plugin-mkcert'; export type GetViteConfigOptions = { /** * 模式,对应 Vite 中 defineConfig 的 mode 参数 */ mode: string; /** * 本地开发端口 * * 不传会取 process.env.VUE_APP_PORT,或 443 */ serverPort?: number; /** * 本地开发是否是 https */ serverHttps?: Server; /** * 传给 server.host * * 参考 https://cn.vitejs.dev/config/server-options.html#server-host */ serverHost?: string | boolean; /** * 对应 optimizeDeps.include */ optimizeDepsIncludes?: Array<string>; /** * 对应 optimizeDeps.exclude */ optimizeDepsExcludes?: Array<string>; /** * add-code-at-end 插件参数 */ addCodeAtEndOptions?: IAddCodeAtEndOptions | boolean; /** * press-ui 本地的 alias 配置 * @default 'src/library/press-ui' */ pressUiAlias?: string; /** * press-plus 本地的 alias 配置 * @default 'src/library/press-plus' */ pressPlusAlias?: string; /** * alias-for-library 插件参数 */ aliasForLibraryOptions?: IAliasForLibraryOptions; /** * pmd-tools 之类的别名映射 */ pmdAliasMap?: Record<string, string>; customElements?: Array<string>; /** * 三方库是否使用 cdn 链接,比如 vue,vue-router * @default false */ useCdn?: boolean; /** * 是否使用 element-plus 的 cdn * @default false */ useElementPlusCDN?: boolean; /** * vite-plugin-mkcert 参数 */ mkcertOptions?: boolean | MkcertPluginOptions; /** * 前置插件 */ prePlugins?: Array<Plugin>; /** * 后置插件 */ postPlugins?: Array<Plugin>; /** * 自动导入 vant * @default true */ autoImportVant?: boolean | VantResolverOptions; /** * 自动导入 element-plus * @default true */ autoImportElementPlus?: boolean | ElementPlusResolverOptions; /** * 自动导入 tdesign * @default { library: 'vue-next' } */ autoImportTDesign?: boolean | TDesignResolverOptions; };