Description
Describe the bug
When using babel in conjunction with nuxt typescript I run into an issue using @nuxt/babel-preset-env, which contains @babel/plugin-transform-parameters. Default parameters should be transpiled for compatibility with e.g. IE11 but in the resulting bundles they are still present:
... t.enc.Base64url={stringify:function(t,e=!0){ ... }} ...
<= e=!0
and
... return o.join("")},parse:function(t,e=!0){ ... } ...
<= e=!0
Edit: I could track the issue down to crypto-js beeing the source of the functions causing the problems.
To Reproduce
My config is:
nuxt.config.js
build: {
babel: {
presets: [
[
'@nuxt/babel-preset-app',
{
ignoreBrowserslistConfig: true,
},
],
],
},
},
tsconfig.json
{
"compilerOptions": {
"target": "ES2018",
"module": "ESNext",
"moduleResolution": "Node",
"lib": [
"ESNext",
"ESNext.AsyncIterable",
"DOM"
],
"esModuleInterop": true,
"allowJs": true,
"sourceMap": true,
"strict": true,
"noEmit": true,
"experimentalDecorators": true,
"baseUrl": ".",
"paths": {
"~/*": [
"./*"
],
"@/*": [
"./*"
]
},
"types": [
"@nuxt/types",
"@types/node",
"@nuxtjs/axios"
]
},
"exclude": [
"node_modules",
".nuxt",
"dist"
]
}
Expected behavior
Default parameters should be transpiled correctly
... t.enc.Base64url={stringify:function(t,e){ ... }} ...
Additional context
I could not track down the source of these functions yet, but I'm using:
- crypto-js
- js-cookie
- swiper
- vue-awesome-swiper
- vuex-module-decorators