export defaultはアンチパターンだと言うので

export defaultは有害

https://typescript-jp.gitbook.io/deep-dive/main-1/defaultisbad

によれば、export defaultはいくつかの点で非推奨です。 詳細な理由は上記TypeScript Deep Dive 日本語版を参照。

でも、正直がっつり使ってる...

プロジェクト内ではがっつり export default しているので、これを直すのは辛い。

なにせ、tsx, jsx 混在しているかつフロントエンドプロジェクトのリファクタ進行形なので、 一括置換とかして壊したくないという気持ち。

なので、とりあえずeslintでwarningだけでも出しておく

.eslintrc.json

{
  "extends": "airbnb",
  "plugins": [
    "react",
    "import"
  ],
  "rules": {
    "import/no-default-export": 1
  },

これでとりあえず既存の export default 触ったときに 「触るな危険」とすることができた。

ちなみに、eslint-plugin-importで少しつまづいた

github.com eslint-plugin-importのバージョンが古すぎて、 import/no-default-export がないと怒られた。

エラー文

Definition for rule 'import/no-default-export' was not found

対処法

eslint-plugin-import のバージョンを脳死で最新に上げておく。