Nuxt/packages/babel-preset-app
2019-03-20 09:28:41 +03:30
..
src feat(babel): include es6.object.assign by default 2019-03-04 16:39:58 +00:00
CHANGELOG.md v2.4.4 2019-02-26 13:56:12 +03:30
package.json chore(deps): update all non-major dependencies (#5284) 2019-03-20 09:28:41 +03:30
README.md feat(babel): include es6.object.assign by default 2019-03-04 16:39:58 +00:00

@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 }
        }
      ]
    ]
  }
},