ESLintをグローバルにインストール
$ npm install -g eslint
Sublime TextにSublimeLinterパッケージをインストール
- Sublime Textを起動しPackage Control(
⌘+shift+P
)を起動 Install
と入力しInstall Package
を選択SublimeLinter
と入力しEnterを押してインストール
SublimeLinter-eslint パッケージをインストール
同じくSublime TextのPackage ControlからSublimeLinter-eslint
と入力してインストール
SublimeLinter-eslint の設定を作成
Sublime Textの設定ファイルにLinterの設定を行わないとESLintがエディター上で動作しませんでした。
メニュー > Preferences > Package Settings > SublimeLinter > Setting を選択
設定ファイルが開くので、SublimeLinter Settings - User
のコメントが有るUser設定に下記を記述
- eslint用の設定ファイルを作成
eslint用の設定ファイルは中身はjson形式で勝手に作ってしまって構わないようです。(.eslintrc
というファイルを作成しました) linters
内にeslint
を作成し、args
内に1.で作成したeslint用の設定ファイルのパスを追加paths
該当するOS内にeslint
のあるパスを追加
eslintのパスは下記コマンドで見つけることができます。
$ which eslint
// SublimeLinter Settings - User { "linters": { "eslint": { "@disable": false, "args": [ "--config", "~/.eslintrc" ], "excludes": [] }, }, "paths": { "linux": [], "osx": [ "~/.nodebrew/current/bin" ], "windows": [] } }
これでSublime Textを再起動するとJSのファイルでESLintが動作しているかと思います。
エラーが出る場合
設定を保存して再起動したら下記のようなエラーが出る場合
Invalid settings in 'Packages/User/SublimeLinter.sublime-settings': Additional properties are not allowed ('user' was unexpected)
SublimeLinter Ver.4から SublimeLinter Settings ファイルで"user"
キーが廃止になったようで、Ver.3以前の設定ファイルなどを参考にすると、この"user"
キーがあるのでこれが原因でエラーになってしまうようです。
// SublimeLinter Settings - User { "user" { // ← この囲いがSublimeLinter Ver.4からは不要 "linters": { // 中略 } } }
eslint用の設定ファイル
作成したeslintの設定ファイル(~/.eslintrc
)に何をエラーとして表示するかなどの設定を作成します。
{ "extends": "eslint:recommended", "env": { "browser": true, "node": true, "es6": true }, "globals": { }, "rules": { "no-console": "warn", "no-var": "error" // ... 略 } }
作り込んでないのでざっくりとした理解ですが、大雑把に下記のようなイメージかと思います。
"extends": "eslint:recommended"
... ESLintの推奨設定を使用"env"
... モジュールやライブラリで定義されている変数?true
(有効)false
(無効)
"globals"
... グローバル変数true
(書換え可)false
(書換え不可)
"rules"
... lintのルール"off"
(チェックしない)"warn"
(警告)"error"
(エラー)
Sublime Textの設定ファイルで読み込ませている.eslintrc
はエディタ全体なので、どのプロジェクトにも適応されてしまうのでクリティカルな共通の設定に留め、詳細な設定は各プロジェクトごとに作成して読み込ませることができると良さそうです。
ESLintの設定読んである理解するのと、全体の設定(.eslintrc
)とプロジェクトごとの設定をする方法を見つけて、次はコードフォーマッターのPrettierを入れたい。
Atomもっさりしてて結局使わなかったけど、そろそろVSCode試してみようかな…
[参考]
- ESLint 最初の一歩
- Sublime Text3 lintエラーをリアルタイム表示してjavascriptの実装を少しだけ効率化
- SublimeLinterがVer.4になって動かなくなったので対応したよ
- ESLint v5.0.0 released - ESLint - Pluggable JavaScript linter
- ESLintのルールを全部手動で設定するのは大変だからやめておけ

- 作者: 山田祥寛
- 出版社/メーカー: WINGSプロジェクト
- 発売日: 2018/04/27
- メディア: Kindle版
- この商品を含むブログを見る