Nuxt.jsでcore-jsのバージョンが1系だという警告が出てビルドできなくなった時の対応メモ

Nuxt.jsのアプリケーションの依存パッケージのアップデートを行ったところ、以下のような警告がでてアプリケーションが動かなくなったのですが検索してもそれっぽい解決方法が見当たらずハマったのでその時の対応内容のメモです。

 WARN  Invalid corejs version 1! Please set "build.corejs" to either "auto", 2 or 3.

core-jsのバージョンで怒られている?

警告の内容を見ると、

  • 無効なバージョンな1系のcore-jsが使われている
  • core-jsのバージョンの設定をセットしろ

ということらしい。
nuxt.config.jsビルドの設定からcore-jsのバージョンを指定 できるようになっているのでそこから設定できます。
試しに設定してみるとたしかに警告は出なくなるもののビルド時にcore-js周りでエラーが出て今回遭遇したケースでは解決できず。

どうやらcore-jsの1系が読み込まれていたらしい

yarn.lockを確認すると警告されているだけあって1系のcore-jsがインストールされているものの2系と3系もインストールされていました。
更に調べてみると、

  • 依存パッケージの依存の関係で1系、2系、3系のcore-jsがインストールされている
  • yarnかnpmの仕様でnode_module直下に1系が展開されていた

ということが分かり1系の置き場所が悪くてエラーになっているのでは?と推測。
アプリケーション自体の依存にcore-jsの2系か3系を指定すればnode_module直下に1系が来ることは流石にないだろうと思いアプリケーションの依存についかしてみたところ無事エラーがでなくなり解決しました😀
yarnの設定でnode_module直下の配置っぷりを調整したり、ビルドの設定で使うcore-jsのパスを指定したりもできるかもしれませんが面倒だったので今回はこれ以上調査せず。