weapp-vite
Version:
weapp-vite 一个现代化的小程序打包工具
95 lines • 3.58 kB
text/typescript
//#region src/auto-import-components/resolvers/types.d.ts
interface ResolvedValue {
name: string;
from: string;
resolvedId?: string;
sourceType?: 'wevu-sfc' | 'native';
/**
* 是否允许 `components.d.ts` 通过 `import()` 直接引用组件源码。
* 需要编译期方言转换、且源码声明不能被消费端直接检查的外部 SFC 应设为 `false`。
*/
typeImport?: boolean;
}
type ResolverSupportFilesStrategy = 'used' | 'full';
interface ExternalMetadataFileCandidates {
packageName: string;
/**
* 相对包根目录的路径。
*/
dts: string[];
/**
* 相对包根目录的路径。
*/
js: string[];
}
interface ResolverMeta {
/**
* 解析器静态可用的组件映射
*/
components?: Record<string, string>;
/**
* 组件命中策略。
* - `runtime`: 保持运行时 `resolve` / 函数调用语义
* - `static`: 允许基于 `components` 做静态命中,跳过运行时 `resolve`
*/
componentLookupStrategy?: 'runtime' | 'static';
/**
* `.weapp-vite` 支持文件生成策略。
* - `used`: 仅为模板/源码实际命中的组件生成支持文件
* - `full`: 为 resolver 静态可枚举的全部组件生成支持文件
*/
supportFilesStrategy?: ResolverSupportFilesStrategy;
/**
* 当 `from` 命中该解析器管理的外部依赖时,返回该依赖在包内可能的 metadata 文件候选路径。
*
* 用于 `autoImportComponents` 生成类型/补全时,从第三方组件库读取 props 类型信息。
*/
resolveExternalMetadataCandidates?: (from: string) => ExternalMetadataFileCandidates | undefined;
}
type ResolverFn = ((componentName: string, baseName: string) => ResolvedValue | void) & ResolverMeta;
interface ResolverObject extends ResolverMeta {
resolve?: (componentName: string, baseName: string) => ResolvedValue | void;
}
type Resolver = ResolverFn | ResolverObject;
interface ResolveOptions {
name: string;
prefix: string;
}
interface Options {
prefix?: string;
supportFilesStrategy?: ResolverSupportFilesStrategy;
resolve?: (options: ResolveOptions) => {
key: string;
value: string;
};
}
type CreateResolver = (options?: Options) => Resolver;
//#endregion
//#region src/auto-import-components/resolvers/tdesign.d.ts
declare const TDesignResolver: CreateResolver;
//#endregion
//#region src/auto-import-components/resolvers/uviewPlus.d.ts
interface UviewPlusResolverOptions {
supportFilesStrategy?: ResolverSupportFilesStrategy;
}
/**
* 创建 uview-plus 的 Vue SFC 自动导入解析器。
*/
declare function UviewPlusResolver(options?: UviewPlusResolverOptions): ResolverObject;
//#endregion
//#region src/auto-import-components/resolvers/vant.d.ts
declare const VantResolver: CreateResolver;
//#endregion
//#region src/auto-import-components/resolvers/weui.d.ts
declare const WeuiResolver: CreateResolver;
//#endregion
//#region src/auto-import-components/resolvers/wotUi.d.ts
interface WotUiResolverOptions extends Pick<Options, 'supportFilesStrategy'> {
prefix?: string;
}
/**
* 创建 Wot UI 的 Vue SFC 自动导入解析器。
*/
declare function WotUiResolver(options?: WotUiResolverOptions): ResolverObject;
//#endregion
export { UviewPlusResolver as a, CreateResolver as c, ResolvedValue as d, Resolver as f, ResolverSupportFilesStrategy as g, ResolverObject as h, VantResolver as i, ExternalMetadataFileCandidates as l, ResolverMeta as m, WotUiResolverOptions as n, UviewPlusResolverOptions as o, ResolverFn as p, WeuiResolver as r, TDesignResolver as s, WotUiResolver as t, Options as u };