UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

83 lines (68 loc) 4.71 kB
"use strict";var _typeof = require("@babel/runtime-corejs2/helpers/typeof");var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");_Object$defineProperty(exports, "__esModule", { value: true });exports.filter = filter;exports.toConfigs = toConfigs;var _create = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/create")); var _index = require("../../cli-shared-utils/index.js"); var _path = _interopRequireDefault(require("path")); var constanst = _interopRequireWildcard(require("./constanst.js")); var paths = _interopRequireWildcard(require("./paths.js"));function _getRequireWildcardCache(e) {if ("function" != typeof _WeakMap) return null;var r = new _WeakMap(),t = new _WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = _Object$defineProperty && _Object$getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u];}return n["default"] = e, t && t.set(e, n), n;} /** * 过滤manifest.json中分包配置。只取合法的配置,不正确的配置被过滤掉 */ /** * 将配置中的分包转化为webpack的entry * 将配置中的分包转化为webpack的externals * 将配置中的分包转化为resConfig * @param {Array} subpackages */ function toConfigs(subpackages) { var entry = (0, _create["default"])(null); var externals = (0, _create["default"])(null); var resConfig = []; var isMain = false; subpackages.forEach(function (_ref) {var name = _ref.name,root = _ref.root; var pkgPath = _path["default"].join(paths.SRC, root); var entryKey, entryFile, mFile; if (name === 'main') { isMain = true; } if (_index.fs.statSync(pkgPath).isDirectory()) { // 如果是文件夹,取当前文件夹中的game.js作为入口 entryFile = _path["default"].join(pkgPath, constanst.ENTRY); // 入口名为分包名+game entryKey = _path["default"].join(root, constanst.ENTRY_NAME); // 如果是文件夹,取当前文件夹中的game.js作为模块 mFile = _path["default"].posix.join(root, constanst.ENTRY); // 如果是文件夹,打包时要拷贝资源,生成资源配置文件 resConfig.push({ name: name, root: root }); } else { entryFile = pkgPath; // 去掉.js的后缀,作为entryKey var ps = _path["default"].parse(root); entryKey = _path["default"].posix.join(ps.dir, ps.name); mFile = root; } entry[entryKey] = entryFile; externals[name] = "commonjs ".concat(mFile); }); return { isMain: isMain, externals: externals, entry: entry, resConfig: resConfig }; } function filter() {var subpackages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; return subpackages.filter(function (_ref2, ind, arr) {var name = _ref2.name,root = _ref2.root; if (!name) { (0, _index.info)('分包配置中name为空的分包,已经被过滤!'); return false; } if (!root) { (0, _index.info)("\u5206\u5305\u914D\u7F6E\u4E2Dname=".concat(name, "\u7684\u5206\u5305\uFF0Croot\u4E0D\u5B58\u5728\uFF0C\u5DF2\u7ECF\u88AB\u8FC7\u6EE4\uFF01")); return false; } // 检查 root 值对应的目录是否存在 var pkgPath = _path["default"].join(paths.SRC, root); if (!_index.fs.existsSync(pkgPath)) { (0, _index.info)("\u5206\u5305\u914D\u7F6Ename=".concat(name, "\u7684\u5206\u5305\uFF0C\u5728").concat(paths.SRC, "\u76EE\u5F55\u4E0B\u4E0D\u5B58\u5728").concat(pkgPath, "\uFF0C\u5DF2\u7ECF\u88AB\u8FC7\u6EE4\uFF01")); return false; } if (_index.fs.statSync(pkgPath).isDirectory() && !_index.fs.existsSync(_path["default"].join(pkgPath, constanst.ENTRY))) { (0, _index.info)("\u5206\u5305\u914D\u7F6Ename=".concat(name, "\u7684\u5206\u5305\uFF0C\u5728").concat(pkgPath, "\u76EE\u5F55\u4E0B\u4E0D\u5B58\u5728").concat(constanst.ENTRY, "\uFF0C\u5DF2\u7ECF\u88AB\u8FC7\u6EE4\uFF01")); return false; } return true; }); }