| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -122,6 +122,18 @@ debug("Hello"); | |||
| 122 | 122 | - [コードのバグはコードで見つけよう!|サイバーエージェント 公式エンジニアブログ](http://ameblo.jp/principia-ca/entry-11837554210.html "コードのバグはコードで見つけよう!|サイバーエージェント 公式エンジニアブログ") | |
| 123 | 123 | ||
| 124 | 124 | ## どういう仕組み? | |
| 125 | + | ||
| 126 | + ESLintはコードをパースしてASTにして、そのASTをJavaScriptで書いたルールでチェックしてレポートする | ||
| 127 | + というおおまかな仕組みは分かりました。 | ||
| 128 | + | ||
| 129 | + では、このルールをプラグインとする仕組みがどのようにして動いているのか見て行きましょう。 | ||
| 130 | + | ||
| 131 | + ESLintのLintは次のような3つの手順で行われています。 | ||
| 132 | + | ||
| 133 | + 1. ルール毎に使っているNodeTypeをイベント登録する | ||
| 134 | + 2. ASTをtraverseしながら、NodeTypeのイベントを発火する | ||
| 135 | + 3. ルールから`context.report`された内容を集めて表示する | ||
| 136 | + | ||
| 125 | 137 | ## どういう用途に向いている? | |
| 126 | 138 | ## どういう用途に向いていない? | |
| 127 | 139 | ## この仕組みを使ってるもの | |
| Back | FazBrowse Home | New Git URL |
0 commit comments