0.2.0 • Published 3 years ago

@zatjs/babel-preset v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

@zatjs/babel-preset

ES6+转译到ES5工具库

Installation

yarn add @zatjs/babel-preset --dev

Usage

babel.config.js

module.exports = {
  presets: [
    [
      '@dian/babel-preset',
      {
        presets: {
          env: {
            debug: false,
            /**
             * false: 不处理polyfill,自己手动引入【全量】
             * usage: 按需加载 polyfill,且不需要手动引入【按需】
             * entry: 必须手动引入,但会根据设置的目标环境全量导入【按环境全量】
             * 注:在 Babel 7.4.0 之后的版本,Babel官方明确建议了不再使用 @babel/polyfill ,建议使用 core-js/stable 和 regenerator-runtime/runtime。本包已经安装了core-js、@babel/plugin-transform-runtime和@babel/runtime,所以选择false或者entry选项的只需要在主文件顶部引入core-js即可
             */
            useBuiltIns: 'usage',
            corejs: { version: 3, proposals: true },
            modules: false, // 对es6的模块文件不做转译,以便使用tree shaking、sideEffects等
          },
          react: {
            pragma: 'React.createElement',
            pragmaFrag: 'React.Fragment',
          },
          typescript: {
            isTSX: true,
            jsxPragma: 'React',
            allExtensions: true,
            allowNamespaces: true,
          },
        },
        runtime: {
          absoluteRuntime: false,
          corejs: false, //{ version: 3, proposals: false },
          helpers: true, // 使用到@babel/runtime
          regenerator: true, // 使用到@babel/runtime
          useESModules: false,
        },
        enableReactRefresh: false,
        // exclude: [],
        // include: [],
      }
    ]
  ],
  plugins: [
    [require('babel-plugin-import'), { "libraryName": "antd", "style": true }, 'antd']
  ]
}

package.json

{
  "browserslist": [
    "Chrome >= 35",
    "ChromeAndroid >= 35",
    "iOS >= 8",
    "Safari >= 8",
    "Android >= 4.1",
    "QQAndroid >= 4.1",
    "UCAndroid >= 4.1"
  ],
}