@morjs/plugin-compiler-alipay
Version:
mor complier plugin for alipay mini program
27 lines (26 loc) • 1.21 kB
TypeScript
import { EntryBuilderHelpers, Plugin, Runner, typescript as ts } from '@morjs/utils';
/**
* 从 module.exports.xxx 中提取 xxx 变量名
*/
export declare function getModuleExportsName(content: string): string[];
/**
* 支付宝 sjs 文件转译
*/
export default class AlipayCompilerSjsParserPlugin implements Plugin {
name: string;
entryBuilder: EntryBuilderHelpers;
apply(runner: Runner): void;
/**
* 微信转支付宝的场景下 ,wxs 内联文件中使用 module.exports.property 在支付宝中无法正常通过 name.var 调用,
* 需要将这种场景下的导出进行拓展,增加 export default { property }
* 这样在 webpack 打包时就可以正确导出 export default 文件
* NOTE: 该功能需要配合 cjsToEsmTransformer 使用,并放在 after 阶段
*/
transformCommonjsToESModule(runner: Runner): void;
transformESModuleToCommonjs(transformers: ts.CustomTransformers): void;
/**
* 支付宝小程序的 sjs 是 esmodule
* 这里主要是用于处理 esmodule 转换为 commonjs 之后的兼容性问题
*/
removeEsModuleMarkAndFixVoidZeroExpression(transformers: ts.CustomTransformers): void;
}