@flatjs/evolve-preset-babel

the babel preset for @flatjs/evolve

Usage no npm install needed!

<script type="module">
  import flatjsEvolvePresetBabel from 'https://cdn.skypack.dev/@flatjs/evolve-preset-babel';
</script>

README

The babel presets @flatjs/evolve-preset-babel

babel preset for flatjs forge libraray compiler the latest @babel/preset-typescript already supported nullish-coalescing-operator, optional-chaining, there is no need to mannualy add Babel plugin reference.

Install

npm install @flatjs/evolve-preset-babel

Optimization

optimize @babel/env and plugins, make production bundle smaller.

// use `fast-async` instead of `async-to-generator`
presets: [
  [
    resolve('@babel/preset-env'),
    {
      loose: true,
      useBuiltIns: false,
      targets: {
        browsers: ['ie >= 11', 'safari > 10'],
      },
      exclude: ['transform-regenerator', 'transform-async-to-generator'],
    },
  ],
  [
    resolve('@babel/preset-typescript'),
    {
      isTSX: true,
      allExtensions: true,
    },
  ],
],
plugins: [
  [resolve('@babel/plugin-proposal-decorators'), { legacy: true }],
  [resolve('@babel/plugin-proposal-class-properties'), { loose: true }],
  ['module:fast-async', { spec: true }],
].filter(Boolean),