eslintに乗り換えた話
概要
2024年現在、VSCode で開発をしていると、出力タブで textlint に関する警告を目にすることがあります。
(node:3302) DeprecationWarning: textlint: TextLintCore is deprecated. Please use new APIs https://github.com/textlint/textlint/issues/1310
この問題は 拡張機能のvscode-textlint が内部でTextLintCoreを利用していることが原因だと思われます。
本件に関するissueが上がっていますが、現状では未対応です。
textlint本体をアップデートしても解消されませんでした。このことからも、拡張機能側の問題であると考えられるでしょう。
乗り換え手順
私の環境ではeslintを使っても期待する機能を実現できそうでした。従って表題の通り乗り換えることにしました。
まずはtextlintが必要なくなるのでアンインストールします。
※筆者はniを使っています。
nun textlint
.textlintrcがあれば、それも削除します。
次にeslintをインストールしていきます。
ni eslint -D
eslintの初期設定を開始します。初期設定の中で尋ねられる質問には、あなたの環境に応じて回答します。
npx eslint --init
初期設定が完了したら、プロジェクトの .vscode/settings.json
へ次のように設定を追加します。
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always"
}
}
以上の設定が完了すれば、コードを書きながらリアルタイムにlinterが走り、可能であれば修正まで自動で実行してくれるようになります。
もちろん、textlintの警告も表示しなくなります。