digitalzoomstudio
digitalzoomstudio

Reputation: 1132

Babel will not transpile Javascript default value parameters for IE11

My javascript file

require('core-js');

const dzsHelpers = require('./js_common/_dzs_helpers');
const dzsapHelpers = require('./jsinc/_dzsap_helpers'); <-- THE CODE IS HERE
const dzsapComments = require('./jsinc/components/_comments'); [ ... ]

My webpack

{
        test: middleExtensionRegex,
        exclude: /(node_modules|bower_components)/,
        loader: "babel-loader",
        options: {
          sourceMaps: true,
          minified: true,
          sourceType: "unambiguous",
          presets: [
            ['@babel/preset-env', {
              useBuiltIns: 'entry',
              corejs: {version: 3},
              debug: true,
              forceAllTransforms: true,
              loose: true,
              "forceAllTransforms": true,
              "targets": {
                "chrome": "58",
                "ie": "11"
              }
            }]
          ],
          "plugins": [
            ["@babel/plugin-transform-parameters", {}],
            ["@babel/plugin-transform-arrow-functions"],
            [
              "@babel/transform-runtime",
              {
                "regenerator": true
              },
            ]
          ],
          ignore: ['node_modules']
        },
        // options for the loader
      }

this does what I need - https://babeljs.io/docs/en/babel-plugin-transform-parameters - on paper... however, the output is always like this function(elThis,defaultOptions,argOptions=null,searchedAttr="data-options"){var finalOptio [...]

and IE11 naturally complains...

Anything I am doing wrong ?

Upvotes: 1

Views: 672

Answers (1)

digitalzoomstudio
digitalzoomstudio

Reputation: 1132

All of the tries with babel preset env target browsers ie11 were in vain.

Only solution that worked for me was using Closure Compiler ( webpack 5 ) :

  optimization: {
    minimizer: [
      new ClosurePlugin({mode: 'STANDARD'}, {
        debug: true,
        languageOut: 'ECMASCRIPT5',
        renaming: false
      })
    ]
  },

Upvotes: 0

Related Questions