title: NuxtJS with Babel 7: still have spread operator in built files
body: <p>I'm desperately trying to make my NuxtJS app work with IE11. I implemented babel config in many ways to build a compatible version but I still have spread operators in built pages files, as if Babel didn't transform Nuxt code.</p>
  
  <p>Here is my config:</p>
  
  <p><em>nuxt.config.js</em></p>
  
  <pre><code>const pkg = require('./package')
  const path = require('path');
  
  module.exports = {
    mode: 'universal',
  
    // ...
  
    build: {
      babel: {
        babelrc: true
      },
      extend(config, ctx) {
        config.resolve.modules.push(path.resolve(__dirname, 'assets'));
  
        const svgRule = config.module.rules.find(rule =&gt; rule.test.test('.svg'));
  
        svgRule.test = /\.(png|jpe?g|gif|webp)$/;
  
        config.module.rules.push({
          test: /\.svg$/,
          loader: 'vue-svg-loader',
        }, {
          test: /\.js$/,
          loader: 'babel-loader'
        })
      }
    }
  }
  </code></pre>
  
  <p><em>.babelrc</em></p>
  
  <pre><code>{
    "presets": [["@babel/preset-env", { "modules": false }]],
    "plugins": [
      "@babel/transform-runtime",
      "@babel/plugin-syntax-dynamic-import",
      "@babel/plugin-transform-spread",
      "@babel/plugin-proposal-object-rest-spread"
    ],
    "env": {
      "test": {
        "presets": [["@babel/preset-env", { "targets": { "node": "current" } }]]
      }
    }
  }
  </code></pre>
  
  <p><em>.browserslistrc</em></p>
  
  <pre><code># Browsers that we support
  
  &gt;0.2%
  not dead
  not ie &lt; 11
  not op_mini all
  </code></pre>
  
  <p>Despite that config, I still see some spread operators used in Nuxt built pages, like the following generated by nuxt:</p>
  
  <pre><code>(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["pages/events/_slug.pages/index"],{
  
  /***/ "./assets/svg/events/market.svg":
  /*!**************************************!*\
    !*** ./assets/svg/events/market.svg ***!
    \**************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  
        /* harmony default export */ __webpack_exports__["default"] = ({
          functional: true,
          render(_h, _vm) {
            const { _c, _v, data, children = [] } = _vm;
  
            const {
              class: classNames,
              staticClass,
              style,
              staticStyle,
              attrs = {},
              ...rest
            } = data;
  </code></pre>
  
  <p>I searched from some time across different issues about NuxtJS and Babel, but Nuxt claims that it works with IE9 without extra Babel configuration, which is not the case here. I'd like to understand why the code is not transpiled the right way.</p>