@morjs/utils
Version:
mor utils
239 lines • 7.44 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MOR_RUNTIME_WEB_FILE = exports.MOR_COMPOSED_APP_FILE = exports.MOR_SHARED_FILE = exports.MOR_HELPER_FILE = exports.MOR_APP_FILE = exports.MOR_COMMON_FILE = exports.MOR_VENDOR_FILE = exports.MOR_INIT_FILE = exports.MOR_RUNTIME_FILE = exports.MOR_GLOBAL_FILE = exports.EntryPriority = exports.EntryType = exports.EntryFileType = exports.CompileTypes = exports.CompileScriptTarget = exports.CompileModuleKind = exports.SourceTypes = exports.RETRY_TIMES = exports.COMMAND_TIMEOUT = exports.mor = exports.CLI_NAME = void 0;
const takin_1 = require("takin");
exports.CLI_NAME = 'mor';
/**
* 初始化 mor 实例
*/
exports.mor = (0, takin_1.takin)(exports.CLI_NAME);
/**
* 命令执行超时时间: 30 分钟
*/
exports.COMMAND_TIMEOUT = 1800000; // 30 * 60 * 1000
/**
* 额外重试次数
*/
exports.RETRY_TIMES = 1;
/**
* 源码类型, 目前仅支持 微信或支付宝
*/
exports.SourceTypes = (0, takin_1.objectEnum)(['wechat', 'alipay']);
/**
* TS 编译类型, 属于 ModuleKind 的子集
* 由于小程序的特殊性, 删除了不兼容的部分
*/
exports.CompileModuleKind = (0, takin_1.objectEnum)([
'CommonJS',
'ES2015',
'ES2020',
'ESNext'
]);
/**
* TS 编译输出目标, 属于 ScriptTarget 的子集
* 由于小程序的特殊性, 删除了不兼容的部分
*/
exports.CompileScriptTarget = (0, takin_1.objectEnum)([
'ES5',
'ES2015',
'ES2016',
'ES2017',
'ES2018',
'ES2019',
'ES2020',
'ES2021',
'ESNext',
'Latest'
]);
/**
* 编译类型
* - miniprogram: 以小程序的方式编译或集成
* - plugin: 以插件的方式编译或集成
* - subpackage: 以插件的方式编译或集成
* - component: 以组件的方式编译
*/
exports.CompileTypes = (0, takin_1.objectEnum)([
'miniprogram',
'plugin',
'subpackage',
'component'
]);
/**
* Entry 文件类型
*/
var EntryFileType;
(function (EntryFileType) {
/**
* 脚本文件类型 js/ts 等
*/
EntryFileType["script"] = "script";
/**
* 模版文件类型 *xml
*/
EntryFileType["template"] = "template";
/**
* 样式文件类型
*/
EntryFileType["style"] = "style";
/**
* 配置文件类型 json
*/
EntryFileType["config"] = "config";
/**
* wxs 或 sjs
*/
EntryFileType["sjs"] = "sjs";
})(EntryFileType = exports.EntryFileType || (exports.EntryFileType = {}));
/**
* Entry 分类
*/
var EntryType;
(function (EntryType) {
/**
* 小程序全局文件类型 代表 app.x
*/
EntryType["app"] = "app";
/**
* 插件全局文件类型 代表 plugin.main 和 plugin.json
*/
EntryType["plugin"] = "plugin";
/**
* 分包全局文件类型 代表 subpackage.json
*/
EntryType["subpackage"] = "subpackage";
/**
* 页面类型
*/
EntryType["page"] = "page";
/**
* 组件类型
*/
EntryType["component"] = "component";
/**
* npm 组件类型
*/
EntryType["npmComponent"] = "npmComponent";
/**
* 插件 组件类型
*/
EntryType["pluginComponent"] = "pluginComponent";
/**
* 项目 配置文件, 如 project.config.json
*/
EntryType["project"] = "project";
/**
* sitemap 配置文件
*/
EntryType["sitemap"] = "sitemap";
/**
* theme 配置文件
*/
EntryType["theme"] = "theme";
/**
* preload 配置文件
*/
EntryType["preload"] = "preload";
/**
* ext 配置文件(第三方代开发的配置文件: ext.json)
*/
EntryType["ext"] = "ext";
/**
* 自定义类型,通过 customEntries 配置传入
*/
EntryType["custom"] = "custom";
/**
* 未知类型, 非以上类型的 entry, 均视为 unknown
*/
EntryType["unknown"] = "unknown";
})(EntryType = exports.EntryType || (exports.EntryType = {}));
/**
* Entry 文件优先级:
* - 配置了自定义入口文件 customEntries 的值为 1000
* - 条件编译文件 20, 基础值为 20, 配置多个条件编译后缀时, 位置越靠前的后缀优先级越高, 步进为 5
* - native 文件 15
* - 微信 DSL 文件 10, 如 wxss 或 wxml 或 wxs 文件
* - 支付宝 DSL 文件 5, 如 acss 或 axml 或 sjs 文件
* - 普通文件 0, 如 js 或 ts 或 json 文件
*/
var EntryPriority;
(function (EntryPriority) {
EntryPriority[EntryPriority["CustomEntry"] = 1000] = "CustomEntry";
EntryPriority[EntryPriority["Conditional"] = 20] = "Conditional";
EntryPriority[EntryPriority["Native"] = 15] = "Native";
EntryPriority[EntryPriority["Wechat"] = 10] = "Wechat";
EntryPriority[EntryPriority["Alipay"] = 5] = "Alipay";
EntryPriority[EntryPriority["Normal"] = 0] = "Normal";
})(EntryPriority = exports.EntryPriority || (exports.EntryPriority = {}));
/**
* 全局文件 name.g
*/
const MOR_GLOBAL_FILE = function (surfix) {
return exports.mor.name + '.' + 'g' + (surfix ? '.' + surfix : '');
};
exports.MOR_GLOBAL_FILE = MOR_GLOBAL_FILE;
/**
* 运行时文件 name.r
*/
const MOR_RUNTIME_FILE = function (surfix) {
return exports.mor.name + '.' + 'r' + (surfix ? '.' + surfix : '');
};
exports.MOR_RUNTIME_FILE = MOR_RUNTIME_FILE;
/**
* 初始化文件 name.i
*/
const MOR_INIT_FILE = function (surfix) {
return exports.mor.name + '.' + 'i' + (surfix ? '.' + surfix : '');
};
exports.MOR_INIT_FILE = MOR_INIT_FILE;
/**
* vendors 文件 name.v, 用于存放 node_modules 代码
*/
const MOR_VENDOR_FILE = function (surfix) {
return exports.mor.name + '.' + 'v' + (surfix ? '.' + surfix : '');
};
exports.MOR_VENDOR_FILE = MOR_VENDOR_FILE;
/**
* 通用脚本文件 name.c 用于存放 公共 js 代码
*/
const MOR_COMMON_FILE = function (surfix) {
return exports.mor.name + '.' + 'c' + (surfix ? '.' + surfix : '');
};
exports.MOR_COMMON_FILE = MOR_COMMON_FILE;
/**
* 模拟入口文件 name.a 用于存放 插件或分包的模拟 app 入口代码
*/
const MOR_APP_FILE = function (surfix) {
return exports.mor.name + '.' + 'a' + (surfix ? '.' + surfix : '');
};
exports.MOR_APP_FILE = MOR_APP_FILE;
/**
* 辅助文件 name.h 用于存放一些辅助方法, 如 mor.h.sjs
*/
const MOR_HELPER_FILE = function (surfix) {
return exports.mor.name + '.' + 'h' + (surfix ? '.' + surfix : '');
};
exports.MOR_HELPER_FILE = MOR_HELPER_FILE;
/**
* 共享文件 name.s 用于存放一些共享 node_modules 引用, 如 mor.s.js
*/
const MOR_SHARED_FILE = function (surfix) {
return exports.mor.name + '.' + 's' + (surfix ? '.' + surfix : '');
};
exports.MOR_SHARED_FILE = MOR_SHARED_FILE;
/**
* app.json 的 js 文件, 主要用于集成研发场景下对 app.json 的引用做替换
* 不需要支持 surfix,原因:全局只有一个 app.json 配置文件,也只需要一个 mor.p.js 文件,
* 用于确保集成时各个分包更新的 mor.p.js 始终是同一个文件
*/
const MOR_COMPOSED_APP_FILE = function () {
return exports.mor.name + '.' + 'p';
};
exports.MOR_COMPOSED_APP_FILE = MOR_COMPOSED_APP_FILE;
/**
* Web 转端运行时 js 文件,主要用于默认的转 web 内置运行时 bundle 文件名称
*/
const MOR_RUNTIME_WEB_FILE = function (surfix) {
return exports.mor.name + '.' + 'w' + (surfix ? '.' + surfix : '');
};
exports.MOR_RUNTIME_WEB_FILE = MOR_RUNTIME_WEB_FILE;
//# sourceMappingURL=constants.js.map