"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; function _react() { const data = _interopRequireDefault(require("react")); _react = function _react() { return data; }; return data; } function _path() { const data = require("path"); _path = function _path() { return data; }; return data; } function _fs() { const data = require("fs"); _fs = function _fs() { return data; }; return data; } function _semver() { const data = _interopRequireDefault(require("semver")); _semver = function _semver() { return data; }; return data; } function _getUserConfig() { const data = _interopRequireDefault(require("umi-core/lib/getUserConfig")); _getUserConfig = function _getUserConfig() { return data; }; return data; } function _registerBabel() { const data = _interopRequireDefault(require("umi-core/lib/registerBabel")); _registerBabel = function _registerBabel() { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function getDep(pkg, name) { if (pkg.dependencies && pkg.dependencies[name]) return pkg.dependencies[name]; if (pkg.devDependencies && pkg.devDependencies[name]) return pkg.devDependencies[name]; return false; } function hasFiles(cwd, files) { var _iterator = _createForOfIteratorHelper(files), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { const f = _step.value; if (!(0, _fs().existsSync)((0, _path().join)(cwd, f))) return false; } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return true; } function _default(cwd) { (0, _registerBabel().default)(cwd); const config = (0, _getUserConfig().default)({ cwd }); if (config.ssr) return false; if (process.env.BIGFISH_COMPAT) { if (config.appType !== 'console') return false; if (config.deployMode === 'chair') return false; } const pkgFile = (0, _path().join)(cwd, 'package.json'); const pkg = (0, _fs().existsSync)(pkgFile) ? JSON.parse((0, _fs().readFileSync)(pkgFile, 'utf-8')) : {}; // disable if react is lower than 16 const reactVersion = getDep(pkg, 'react'); if (reactVersion) { const reactPkgFile = (0, _path().join)(cwd, 'node_modules', 'react', 'package.json'); const reactPkg = (0, _fs().existsSync)(reactPkgFile) ? JSON.parse((0, _fs().readFileSync)(reactPkgFile, 'utf-8')) : {}; if (reactPkg.version && _semver().default.lt(reactPkg.version, '16.0.0')) { return false; } } // antdpro@4 if (getDep(pkg, '@ant-design/pro-layout')) return true; // antdpro@3 if (getDep(pkg, 'ant-design-pro')) return true; // antdpro@2 if (getDep(pkg, 'antd-pro-merge-less') || hasFiles(cwd, ['config/router.config.js', 'src/layouts/BasicLayout.js'])) { return true; } // project with tech-ui in alipay if (process.env.BIGFISH_COMPAT) { if (getDep(pkg, '@alipay/tech-ui') && config.appType === 'console') return true; } }