最新の JavaScript Lint をインストールする
JavaScript Lint (jsl) というツールがある。JavaScript の文法チェックをするツールだ。似たようなのに JSLint ってのがあるけど、そっちは Web アプリになっていて、オンラインで実行する。jsl の方はローカルにインストールして実行する。
で、以前僕の Ubuntu にインストールしたんだけど、だいぶ前のことだし(version 0.3.0)、もう新しいバージョンがあるはずだと思って探してみた。どうやら sourceforge でプロジェクト管理してるようだ。
http://sourceforge.net/projects/javascriptlint/
せっかくなので最新バージョンをソースからインストールしてみた。
ソースコードを取得する
ソースコードは subversion で管理されてる。
http://sourceforge.net/scm/?type=svn&group_id=168518
そのページに書いてある通りチェックアウトする。
% svn co https://javascriptlint.svn.sourceforge.net/svnroot/javascriptlint javascriptlint
結構大量にチェックアウトする。今回取ってきたリビジョンは 300。
チェックアウトしたら、最新版を使いたいので trunk に cd する。tags とかせこいもんいらないぜ、っていうひとは最初から trunk だけにしとけばいいと思う。
ビルド、インストールする
INSTALL ファイルに書いてある通りにインストールするんだけど、その前に準備。いろいろコンパイルするのに必要なものを先にインストールしておく。
% sudo apt-get install build-essential % sudo apt-get install python-dev
1つ目の build-essential はコンパイルとかいろいろできるようになるパッケージ。2つ目の python-dev は python のヘッダファイルとかのパッケージ。これがないとビルドの時にエラーで失敗するので入れておこう。
で、いざインストール。
% python setup.py build % sudo python setup.py install
/usr/local/bin/jsl ってのが実行ファイル本体。
起動
tests にテスト用ファイルがあるので、さっそく lint してみる。
% jsl tests/errors/syntax_error.js JavaScript Lint Developed by Matthias Miller (http://www.JavaScriptLint.com) /home/mollifier/local/javascript/javascriptlint/src/trunk/tests/errors/syntax_error.js /home/mollifier/local/javascript/javascriptlint/src/trunk/tests/errors/syntax_error.js(2): warning: syntax_error 0 error(s), 1 warnings(s)
うむうむ、ちゃんとできてる。
余計なメッセージを消すオプションはこんな感じ。
% jsl --nologo --nofilelisting --nosummary tests/errors/syntax_error.js /home/mollifier/local/javascript/javascriptlint/src/trunk/tests/errors/syntax_error.js(2): warning: syntax_error
すっきり。
vim の設定
ついでに vim で開いてるファイルを jsl でチェックできるようにした。
まず ~/.vim/compiler/javascriptlint.vim にこんな感じに書いておく。
if exists("current_compiler") finish endif let current_compiler = "javascriptlint" if exists(":CompilerSet") != 2 command -nargs=* CompilerSet setlocal <args> endif let s:cpo_save = &cpo set cpo-=C CompilerSet makeprg=jsl\ --nologo\ --nofilelisting\ --nosummary\ % CompilerSet errorformat=%f(%l):\ %m let &cpo = s:cpo_save unlet s:cpo_save
で、 ~/.vim/after/ftplugin/javascript.vim にこんな感じで書いておく。
compiler javascriptlint if !exists('b:undo_ftplugin') let b:undo_ftplugin = '' endif let b:undo_ftplugin .= ' \ | setlocal makeprg< \ | setlocal errorformat< \'
これで vim で JavaScript ファイル開いてるときに :make
コマンドで jsl チェックができるようになる。便利。
なんか前とチェックの仕方が変わったような気がしてしっくりこないけど、新しい方がいいだろうということでこっちを使っていくことにする。