import { IFileLaneConfig } from 'file-lane'; import IJavascriptCompileOption from '../compiler/javascript/interface/IJavascriptCompileOption'; import JsLoader from '../loader/ux/JsLoader'; import PngLoader from '../loader/ux/PngLoader'; import AppUxLoader from '../loader/ux/vela/AppUxLoader'; import HmlLoader from '../loader/ux/vela/HmlLoader'; import UxLoader from '../loader/ux/vela/UxLoader'; import UxBeforeWorks from '../beforeWorks/ux/UxBeforeWorks'; import UxAfterWorks from '../afterWorks/ux/UxAfterWorks'; import { IChangedFile } from 'file-lane/lib/interface/IChangedFile'; declare class UxConfig implements IFileLaneConfig { readonly projectPath: string; constructor(projectPath: string); /** * 1. 取项目中所有的真实文件 * 1.1 无entryFileList时 * 1.2 有entryFileList且文件列表中有 与其他文件相关 的文件时 * 1.3 有entryFileList且文件列表中有文件为 删除 操作时 * 2. 返回符合条件的文件列表 * 2.1 有entryFileList且文件列表中 只有 不影响其他文件 的文件时 * @param entryFileList * @returns */ collectFile: (entryFileList?: IChangedFile[]) => string[]; exclude: (string | ((filePath: string) => boolean))[]; get output(): string; beforeWorks: (typeof UxBeforeWorks.cleanOutput)[]; beforeCompile: import("file-lane").PreWork[]; afterCompile: ({ worker: import("file-lane").FollowWork; workerDescribe?: undefined; } | { worker: import("file-lane").FollowWork; workerDescribe: string; })[]; afterWorks: (typeof UxAfterWorks.cleanOutput)[]; watchIgnores: RegExp[]; /** * 通过项目类型,返回模块配置 */ get module(): { rules: ({ test: string[]; loader: (typeof AppUxLoader)[]; exclude?: undefined; } | { test: RegExp[]; exclude: RegExp[]; loader: (typeof UxLoader)[]; } | { test: RegExp[]; loader: (typeof HmlLoader | typeof UxLoader)[]; exclude?: undefined; } | { test: RegExp[]; loader: (typeof JsLoader)[]; exclude?: undefined; } | { test: RegExp[]; loader: (typeof PngLoader)[]; exclude?: undefined; })[]; }; /** * 判断项目类型 * * 目前的办法是通过 manifest.json 的 deviceTypeList 是否有 watch 判断 */ private getProjectType; } export default UxConfig;