@zakijs/plugin-compiler-alipay
Version:
mor complier plugin for alipay mini program
118 lines • 3.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeSimilarTarget = exports.addSimilarTarget = exports.isSimilarTarget = exports.twoWayBindingComponents = exports.templateDirectives = exports.templateSingleTagNames = exports.supportGlobalComponents = exports.projectConfigFiles = exports.compileSjsTarget = exports.compileScriptTarget = exports.compileModuleKind = exports.defaultOutputDir = exports.isSupportSjsContent = exports.sjsModuleAttrName = exports.sjsSrcAttrName = exports.sjsTagName = exports.defaultConditionalFileExt = exports.resolveMainFields = exports.globalObject = exports.fileType = exports.targetDescription = exports.target = void 0;
const utils_1 = require("@morjs/utils");
exports.target = 'alipay';
exports.targetDescription = '支付宝小程序';
exports.fileType = {
template: '.axml',
style: '.acss',
config: '.json',
script: '.js',
sjs: '.sjs'
};
exports.globalObject = 'my';
exports.resolveMainFields = ['alipay', 'module', 'main'];
exports.defaultConditionalFileExt = '.my';
exports.sjsTagName = 'import-sjs';
exports.sjsSrcAttrName = 'from';
exports.sjsModuleAttrName = 'name';
exports.isSupportSjsContent = false;
exports.defaultOutputDir = 'dist/alipay';
exports.compileModuleKind = utils_1.CompileModuleKind.ESNext;
exports.compileScriptTarget = utils_1.CompileScriptTarget.ES2015;
exports.compileSjsTarget = utils_1.CompileScriptTarget.ES2019;
exports.projectConfigFiles = ['project.alipay.json', 'mini.project.json'];
// 支付宝 IDE 3.1.2 及以上开始支持
exports.supportGlobalComponents = true;
exports.templateSingleTagNames = [
'switch',
'image',
'video',
'icon',
'progress',
'input'
];
exports.templateDirectives = {
if: 'a:if',
elseIf: 'a:elif',
else: 'a:else',
for: 'a:for',
forItem: 'a:for-item',
forIndex: 'a:for-index',
key: 'a:key'
};
// 支持双向绑定的组件配置
exports.twoWayBindingComponents = {
input: {
bindEventName: 'onInput',
bindEventKey: 'value'
},
textarea: {
bindEventName: 'onInput',
bindEventKey: 'value'
},
swiper: {
bindEventName: 'onChange',
bindEventKey: 'current'
},
switch: {
bindEventName: 'onChange',
bindEventKey: 'value'
},
slider: {
bindEventName: 'onChange',
bindEventKey: 'value'
},
checkbox: {
bindEventName: 'onChange',
bindEventKey: 'value'
},
radio: {
bindEventName: 'onChange',
bindEventKey: 'value'
},
picker: {
bindEventName: 'onChange',
bindEventKey: 'value'
},
'picker-view': {
bindEventName: 'onChange',
bindEventKey: 'value'
}
};
/**
* 支付宝相关小程序
* 由于 阿里系 小程序已支付宝小程序为基础
* 这里允许通过外部设定某个 target 可以当做 支付宝小程序处理
*/
const SIMILAR_TARGETS = new Set([exports.target]);
/**
* 判断是否是类似支付宝的小程序
* @param target - 目标平台
* @returns 是否是类似支付宝的小程序
*/
function isSimilarTarget(target) {
return SIMILAR_TARGETS.has(target);
}
exports.isSimilarTarget = isSimilarTarget;
/**
* 添加类似支付宝小程序的 target
* @param target - 目标平台
*/
function addSimilarTarget(target) {
SIMILAR_TARGETS.add(target);
}
exports.addSimilarTarget = addSimilarTarget;
/**
* 添加类似支付宝小程序的 target
* @param t - 目标平台
*/
function removeSimilarTarget(t) {
// 不允许删除 alipay 本身
if (t === exports.target)
return;
SIMILAR_TARGETS.delete(t);
}
exports.removeSimilarTarget = removeSimilarTarget;
//# sourceMappingURL=constants.js.map