@ant-design/tools
Version:
tools for ant design
55 lines (53 loc) • 2.54 kB
JavaScript
;
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;
}