Я использую следующую конфигурацию webpack.
Babel пресет выставлен в режим совместимости с node.js 6.10
const path = require('path');
module.exports = {
entry: './src/index.js',
module: {
rules: [
{
test: /\.(js)$/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', {
targets: {
node: '6.10'
}
}]
}
}
}
]
},
output: {<code lang="javascript">
</code>
path: path.resolve(__dirname, 'dist'),
filename: 'index_bundle.js'
},
mode: 'production'//process.env.NODE_ENV === 'production' ? 'production' : 'development'
}
Исходный код:
const promise1 = Promise.resolve(3);
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo'));
const promises = [promise1, promise2];
Promise.allSettled(promises).
then((results) => results.forEach((result) => console.log(result.status)));
После трансформации:
(()=>{var e=[Promise.resolve(3),new Promise((function(e,o){return setTimeout(o,100,"foo")}))];Promise.allSettled(e).then((function(e){return e.forEach((function(e){return console.log(e.status)}))}))})();
Однако после трансформации остался метод Promise.allSettled, которого нет в node версии 6.10.
Как это исправить?