UNPKG

hey-cli

Version:

webpack脚手架,hot-dev-server,build

42 lines (35 loc) 1.71 kB
const utils = require('./util/utils'); module.exports = (conf) => { let babelConfig = {}; babelConfig.presets = [[require.resolve('@babel/preset-env'), { useBuiltIns: 'entry', corejs: 2, targets: "> 0.25%, not dead, not ie <= 8" }]]; babelConfig.plugins = [ require.resolve('@babel/plugin-syntax-dynamic-import'), require.resolve('@babel/plugin-transform-runtime') ]; if (conf.react) { babelConfig.presets.push([require.resolve('@babel/preset-react')]); } if (conf.webpack.pluginImport) { let pluginImport = conf.webpack.pluginImport; if(utils.isArray(pluginImport)) { for(let p of pluginImport) { babelConfig.plugins.push([require.resolve('babel-plugin-import'), p, p.libraryName]); } } else { babelConfig.plugins.push([require.resolve('babel-plugin-import'), pluginImport, pluginImport.libraryName]); } } babelConfig.plugins.push([require.resolve('@babel/plugin-transform-spread'), { loose: false }]); babelConfig.plugins.push([require.resolve('@babel/plugin-transform-async-to-generator')]); babelConfig.plugins.push([require.resolve('@babel/plugin-transform-flow-strip-types')]); babelConfig.plugins.push([require.resolve('@babel/plugin-proposal-object-rest-spread'), { "loose": true, "useBuiltIns": true }]); babelConfig.plugins.push([require.resolve('@babel/plugin-transform-modules-commonjs')]); babelConfig.plugins.push([require.resolve('@babel/plugin-transform-object-assign')]); babelConfig.plugins.push([require.resolve('@babel/plugin-syntax-object-rest-spread')]); babelConfig.plugins.push([require.resolve('babel-plugin-transform-es2015-spread'), {loose: true}]); return babelConfig; };