$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

yarn workspaceを使っている時でもvscodeでeslintプラグインが動くようにする

例えばyarn workspaceを使って、

  • packages/hoge/
  • packages/fuga/

のようにワークスペースを二つに分けて開発したいときがある。この時、ワークスペースごとでeslintの設定やインストールするpackageが分かれてしまっているのでESLintプラグインがうまく動かない。

この場合でもうまく動かすにはeslint.workingDirectoriesを設定すると良い。そのプロジェクトの.vscode/settings.jsonに以下のように設定しておくと良いだろう。

{
  // TypeScriptでもeslintが動くように
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
  ],
  // yarnを使う
  "eslint.packageManager": "yarn",
  // workspaceを指定する。CWDも変えたい。
  "eslint.workingDirectories": [
    { "directory": "./packages/hoge", "changeProcessCWD": true },
    { "directory": "./packages/fuga", "changeProcessCWD": true },
  ]
}