@ant-design/tools
Version:
tools for ant design
32 lines (31 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _projectHelper = require("./utils/projectHelper");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getBabelCommonConfig(modules, options = {}) {
const plugins = [[(0, _projectHelper.resolve)('@babel/plugin-transform-typescript'), {
isTSX: true
}], [(0, _projectHelper.resolve)('@babel/plugin-transform-runtime'), {
useESModules: modules === false,
version: _fsExtra.default.readJSONSync(`${process.cwd()}/package.json`).dependencies['@babel/runtime'] || '^7.10.4'
}], (0, _projectHelper.resolve)('@babel/plugin-transform-spread'), (0, _projectHelper.resolve)('@babel/plugin-proposal-class-properties'), (0, _projectHelper.resolve)('@babel/plugin-transform-classes'), (0, _projectHelper.resolve)('babel-plugin-transform-dev-warning'), (0, _projectHelper.resolve)('@babel/plugin-transform-private-methods')];
if (options.enabledReactCompiler === true) {
plugins.unshift([(0, _projectHelper.resolve)('babel-plugin-react-compiler'), {
target: '18' // 最低支持的版本是 React 18
}]);
}
return {
presets: [(0, _projectHelper.resolve)('@babel/preset-react'), [(0, _projectHelper.resolve)('@babel/preset-env'), {
modules,
targets: (0, _projectHelper.isThereHaveBrowserslistConfig)() ? undefined : {
browsers: ['last 2 versions', 'Firefox ESR', '> 1%', 'ie >= 11']
}
}]],
plugins
};
}
var _default = exports.default = getBabelCommonConfig;