JavaScript > JSLintをRhinoで実行する方法
更新日
2011-12-24
広告
JavaScriptの静的コード解析ツールとして有名なJSLintを、Rhinoを利用して実行する方法を紹介します。
JSLintのウェブサイトに行けば、ブラウザ上でJSLintによるチェックを行えますが、いちいちコードをコピペするのは面倒です。シェル上でコマンド実行できれば、コピペの手間を省けます。
- JSLintのサイト: http://www.jslint.com/
- JSLintのダウンロードサイト: https://github.com/douglascrockford/JSLint
JSLintは、チェックするJavaScriptのソースコードを引数に取ります。つまり、「チェックしたいコードをJSLintに渡してやるコード」を、Rhinoで実行する必要があります。以下に、サンプルwrapper.jsを示します。
var MY_JSLINT_WRAPPER = {}; // ファイルを読み込んで、内容を返す。 MY_JSLINT_WRAPPER.read = function (filepath) { var data = readFile(filepath); return data; }; // ファイルを読み込んでJSLintを実行する。 MY_JSLINT_WRAPPER.doJsLint = function (filepath) { var result = JSLINT(MY_JSLINT_WRAPPER.read(filepath)); JSLINT.errors.forEach(function(e) { print(e.line + ", " + e.character + ", " + e.reason + ", " + e.evidence); }); }; if (arguments.length === 0) { print("Please specify javascript file!"); } else { MY_JSLINT_WRAPPER.doJsLint(arguments[0]); }readFile関数は、Rhinoの関数です。ファイルの内容を読み込みます。 変数JSLINTは、jslint.js内で定義されています。なので、jslint.jsとwrapper.jsを連結します。
jslint-rhino$ cat jslint.js wrapper.js > myjslint.js
それでは、作成したmyjslint.jsで、以下のbad.jsをチェックしてみます。
function stupid(x) { y = x }bad.jsをチェックするコマンドは以下のとおりです。
jslint-rhino$ rhino myjslint.js bad.js 2, 3, Missing 'use strict' statement., y = x 2, 3, Expected 'y' at column 5, not column 3., y = x 2, 3, 'y' was used before it was defined., y = x 2, 8, Expected ';' and instead saw '}'., y = xちゃんとチェックしてくれました!
広告
お問い合わせは sweng.tips@gmail.com まで。