Nuxt/packages/babel-preset-app
2019-03-20 13:20:33 +00:00
..
src chore(babel-preset-app): fix lint error (#5296) 2019-03-20 13:20:33 +00:00
CHANGELOG.md v2.4.4 2019-02-26 13:56:12 +03:30
package.json feat: support core-js 3 (#5291) 2019-03-20 15:40:10 +03:30
README.md feat: support core-js 3 (#5291) 2019-03-20 15:40:10 +03:30

@nuxt/babel-preset-app

Default babel preset for nuxt

Usage

This is the default preset used by Nuxt, which is mainly a wrapper around the @babel/preset-env preset. It also optionally uses the @vue/babel-preset-jsx preset as well as @babel/plugin-syntax-dynamic-import, @babel/plugin-proposal-decorators, @babel/plugin-proposal-class-properties, @babel/plugin-transform-runtime. Furthermore the preset is adding polyfills.

Usually, no additional configuration is required. If needed though, there is an option to fine-tune the preset's behavior. Just add the following to nuxt.config.js:

babel: {
  presets({ isServer }) {
    return [
      [ "@nuxt/babel-preset-app", options ]
    ]
  }
}

...where options is an object with parameters, for example:

 const options = {
  useBuiltIns: "entry"
}

Below is a list of all available parameters:

Options

There are detailed docs for the parameters of '@babel/preset-env'.

Example 1. Change targets for server and client respectively

babel: {
  presets({ isServer }) {
    return [
      [
        "@nuxt/babel-preset-app",
        {
          targets: isServer
            ? { node: "current" }
            : { browsers: ["last 2 versions"], ie: 11 }
        }
      ]
    ]
  }
},