UNPKG

@plugin-light/project-config-uni-vite

Version:

开箱即用的项目配置,适用于 uni-app Vue3.x 项目

100 lines (99 loc) 2.9 kB
/// <reference types="node" /> import type { BuildOptions, CommonServerOptions, Plugin, ServerOptions } from 'vite'; import tailwindcss from 'tailwindcss'; import type { Options as RemoveSelectorOptions } from '@plugin-light/postcss-plugin-remove-selector'; import type { Options as TransformWebTagOptions } from '@plugin-light/postcss-plugin-transform-web-tag'; import type { ICrossGameStyleOptions } from '@plugin-light/vite-plugin-cross-game-style'; import type { IRemoveVueDirectionOptions } from '@plugin-light/vite-plugin-remove-vue-directive'; import type { UniTailwindPluginUserOptions } from '@uni-helper/vite-plugin-uni-tailwind'; import type { Options as LegacyOptions } from '@vitejs/plugin-legacy'; import type { Server } from 'node:https'; import type { Options as ESBuildOptions } from 'rollup-plugin-esbuild'; export interface IUniViteConfigOptions { /** * 模式 */ mode: string; /** * uni 插件 */ uni: any; /** * 端口,传递给 server.port * * @default 443 */ port?: CommonServerOptions['port']; /** * https 配置,传递给 server.https */ https?: Server; /** * host 配置,传递给 server.host * @default true */ host?: CommonServerOptions['host']; /** * 前置插件 */ prePlugins?: Array<Plugin>; /** * 后置插件 */ postPlugins?: Array<Plugin>; /** * 对应 optimizeDeps.include */ optimizeDepsIncludes?: Array<string>; /** * remove-vue-direction 插件参数 */ removeVueDirectionOptions?: IRemoveVueDirectionOptions; /** * hmr 选项 * @default { timeout: 1000 * 60 * 5 } */ hmr?: ServerOptions['hmr']; /** * 语法警报列表,比如 v-model,destroyed */ warnList?: ICrossGameStyleOptions['warnList']; /** * transform-web-tag postcss 插件参数 */ transformWebTagOptions?: boolean | TransformWebTagOptions; /** * remove selector postcss 插件参数 */ removeSelectorOptions?: boolean | RemoveSelectorOptions; /** * uniTailwind 插件参数 */ uniTailwindOptions?: boolean | UniTailwindPluginUserOptions; /** * tailwindcss postcss 插件参数 */ tailwindcssOptions?: boolean | Parameters<typeof tailwindcss>[0]; /** * 构建选项 */ buildOptions?: BuildOptions; /** * 是否使用 chunk-split * @default false */ useChunkSplit?: boolean; /** * 是否使用 @vitejs/plugin-legacy,传递对象格式将作为插件参数 * @default false */ useLegacy?: boolean | LegacyOptions; /** * 传递给 uni 插件的参数 */ uniOptions?: any; /** * 是否使用 rollup-plugin-esbuild,传递对象格式将作为插件参数 */ useESBuildPlugin?: boolean | ESBuildOptions; }