申し訳ありませんが、回答を投稿する前にこれを試すつもりでしたが、賞金はもうすぐです。;^)
この回答は、独自の JSHint モジュールを作成する方法があると主張しています。
宣伝どおりに機能し、再びマージされたとしましょう。
すばらしい手順はこちらですが、「jshint-next」サイトにあることに注意してください。
そのページのコード例:
// This module errs on any identifier that doesn't starts with 'kitty'.
function myModule(linter) {
linter.on("Identifier", function (ident) {
if (ident.name && ident.name.slice(0, 5) !== "kitty")
linter.report.addError("C001", "More cats please.");
});
}
以下は、リンターのセットアップ方法に関する最初のセクションからのものです。
var Linter = require("jshint").Linter;
var code = "<your beautiful JavaScript code here>";
// Create a new instance of Linter.
var linter = new Linter(code);
// Now you can teach JSHint about your predefined variables.
// Note that default JavaScript identifiers are already there.
linter.addGlobals({
jQuery: false,
MyPlugin: true
});
// If you have any JSHint extensions, you can attach them
// to the current instance.
linter.addModule(myModule);
// Finally, parse your code.
linter.parse();
私はそれがかなり一般的であることを理解しています(あなたはまだlinter.on
を超えたオプションを研究する必要がありますIdentifier
;String
例えばあまりにもあります)が、それはかなり有望に見えます. 繰り返しますが、上記の手順を使用して統合する方法を確認できます。で使用されstyle.js
ている形式のようです。
私はまだこれを試していません。家にいる時間がないだけです。申し訳ありません。
grep
虎三郎の「ジャスト・イット」の答えがうまくいかない具体的な理由はありますか?これをコード品質ワークフローの一部にする必要がありますか? もしそうなら、この「独自のモジュールを書く」ことが道のりのようです。
気が向いたら、JSLint をハックするかなり明白な方法もありますが、Crockford がそれを評価するかどうかはわかりません。;^)