import { EntryBuilderHelpers, FileParserOptions, Plugin, posthtml, Runner } from '@morjs/utils'; import { CompilerTemplateDirectives, CompilerTemplateProcessor } from '../compilerPlugins'; import { CompilerUserConfig } from '../constants'; interface SjsConfig { source: { sjsTagName: string; sjsSrcAttrName: string; sjsModuleAttrName: string; isSupportSjsContent: boolean; extname: string; }; target: { sjsTagName: string; sjsSrcAttrName: string; sjsModuleAttrName: string; isSupportSjsContent: boolean; extname: string; }; } /** * 多端编译的 template 解析和转换 * 这里仅提供通用的处理, 端的差异由编译插件来解决 */ export declare class TemplateParserPlugin implements Plugin { name: string; runner: Runner; userConfig: CompilerUserConfig; apply(runner: Runner): void; /** * 处理 directive 映射 * 同时提供了轻量级的 node 和 nodeAttr 处理接口, 参见 CompilerTemplateProcessor 定义 */ transformDirectives(node: posthtml.Node, options: FileParserOptions, targetProcessor: CompilerTemplateProcessor, sourceProcessor: CompilerTemplateProcessor, directivesMap: Record, sourceDirectives: CompilerTemplateDirectives, usingComponentNames: string[], sharedContext: Record): void; /** * import 或 include 标签 src 文件地址替换 */ transformIncludeOrImportTag(entryBuilder: EntryBuilderHelpers, node: posthtml.Node, options: FileParserOptions): void; /** * 转换 sjs 相关标签 */ transformSjsTag(entryBuilder: EntryBuilderHelpers, node: posthtml.Node, options: FileParserOptions, sjsConfig: SjsConfig): void; } export {};