メモログ

Webpack 5 compiles code with ES2015

Webpack のバージョン 5 ではコンパイルしたコードに ES2015(アロー関数など)が含まれるようになる。これは Webpack が生成する部分に関する仕様なので、babel の設定で ES5 だけに制限していても ES2015 が使われる。IE11 ではアロー関数が処理できずに丸ごとエラーとなるので、IE11 にまだ対応する必要があれば設定を確認する必要がある(今さらだけど)。

対応方法はマイグレーションガイドに載っている。webpack の設定に target: ['web', 'es5'] を追加するか、package.json の browserslist"browserslist": "defaults, IE 11" みたいな感じで IE11 を対象に含めておくと良い。.babelrcの target の設定を package.json の browserslist に移動させても良い。

browserslist がdefaultsのみだけど、コンパイルしたコードにアロー関数が含まれていない場合は、内部で参照しているcaniuse-liteの DB が更新されていないためと思われる。

私について

Yutaka Yamaguchi
東京在住。TypeScript, Node.js, Reactなどフロンエンドが主力。Perlも書く。SwiftやRubyも過去には使ってた。過去のTOEIC 860くらい。