UNPKG

@ant-design/tools

Version:
55 lines (53 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getConfig = getConfig; exports.getProjectPath = getProjectPath; exports.isThereHaveBrowserslistConfig = isThereHaveBrowserslistConfig; exports.resolve = resolve; var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (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 && Object.prototype.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; } const cwd = process.cwd(); function getProjectPath(...filePath) { return _path.default.join(cwd, ...filePath); } function resolve(moduleName) { return require.resolve(moduleName); } async function getConfig() { const configPath = getProjectPath('.antd-tools.config.js'); if (_fsExtra.default.existsSync(configPath)) { const configModule = await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(configPath); return configModule.default || configModule; } return {}; } /** * 是否存在可用的 browserslist 配置 * https://github.com/browserslist/browserslist#queries * @returns */ function isThereHaveBrowserslistConfig() { try { const packageJson = _fsExtra.default.readJsonSync(getProjectPath('package.json')); if (packageJson.browserslist) { return true; } /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ } catch (e) { // DO NOTHING } if (_fsExtra.default.existsSync(getProjectPath('.browserslistrc'))) { return true; } if (_fsExtra.default.existsSync(getProjectPath('browserslist'))) { return true; } // parent 项目的配置支持,需要再补充 // ROWSERSLIST ROWSERSLIST_ENV 变量的形式,需要再补充。 return false; }