BETA

【ale】eslint_dを使ってESLintの実行を高速化する

投稿日:2019-06-19
最終更新:2019-06-21

やりたいこと

eslint_dを使用して、aleでのESLintの実行を高速化したい。

eslint_dを実行すると、バックグラウンドでサーバプロセスとして常駐し、ESLint実行時のオーバーヘッドを軽減してくれます。

導入

まず、eslint_dをインストールします。

$ npm install eslint_d -g  

次にaleをインストールします。
以下はdein.vimを使用した際の設定例です。
on_cmdオプションを使って、指定されたコマンドが実行されるまでaleの読み込みを遅延しています。

[[plugins]]  
repo = 'w0rp/ale'  
on_cmd = ['ALELint', 'ALEToggle', 'ALEEnable', 'ALEToggleBuffer', 'ALEEnableBuffer']  

vimrcにaleからeslint_dを使用するための設定を記述します。

" eslint_dを利用するための設定  
if executable('eslint_d')  
  let g:ale_javascript_eslint_use_global = 1  
  let g:ale_javascript_eslint_executable = 'eslint_d'  
endif  

let g:ale_linters_explicit = 1  
let g:ale_linters = {  
  \   'javascript': ['eslint'],  
  \   'typescript': ['tsserver', 'eslint'],  
  \   'vue': ['eslint']  
  \ }  

確認

VimでJavaScriptファイルを開いて、:ALELintコマンドを実行します。

次にターミナルを開いて、以下のコマンドを実行します。

$ eslint_d status  

うまく連携ができていれば、Running. One instance cached.のような内容が表示され、aleからeslint_dが実行されていることを確認できます。

eslint_dを停止させる

eslint_dはバックグラウンドで常駐します。
停止させたいときは以下のコマンドを実行します。

$ eslint_d stop  

参考

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@uki00aの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう