Skip to content

feat(ESLint): まとめ #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 4, 2015
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions ja/ESLint/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,7 @@ ESLintのように与えられたコードを読み取ってチェックする

つまり、read-onlyなプラグインのアーキテクチャとしてはパフォーマンスも期待できると思います。

また、ルールは `context` という与えられたものだけを使うようになっているため、
ルールと本体を密結合にはなりにくいです。
また、ルールは `context` という与えられたものだけを使うようになっているため、ルールと本体を密結合にはなりにくいです。
また`context`に何を与えるかを決める事で、ルールが行える範囲を制御しやすいと言えます。

## どういう用途に向いていない?
Expand Down Expand Up @@ -297,3 +296,13 @@ ESLint公式の設定として`eslint:recommended`が用意されていて、こ

設定なしで使えるのが一番楽ですが、そこが現実として難しいため、
柔軟な設定のしくみと設定を共有しやすい形を持っていると言えます。

## まとめ

ここではESLintのプラグインアーキテクチャについて学びました。

- ESLintはJavaScriptで書いたルールでチェックできる
- ASTの木構造を走査しながらPub/Subパターンでチェックする
- ルールは`context`を受け取る以外は本体の実装の詳細を知らなくて良い
- ルールがread-onlyだと簡単で効率的、read-writeとする場合は気を付ける必要がある
- ルールや設定値などがJavaScriptで表現でき、npmで共有できる作りになっている