JSLint を MacOSX の JSC でローカル(コマンドライン)実行する

JavaScript のエラーチェックツール JSLint を、ローカル環境 (MacOSX) のコマンドラインから実行します。 JSLint は WindowsWSH, MozillaRhino の他、MacOSXJSC (JavaScriptCore) フレームワークからローカル実行できます。


1. JSLint のソースコードをダウンロード
github に公開されている JSLintソースコード (GitHub - douglascrockford/JSLint: The JavaScript Code Quality Tool) をダウンロードします。


フォルダ名を「JSLINT」等に変更し、任意のディレクトリ(これから頻繁に参照する)に配置します。


2. JSC JSLint Wrapper をダウンロード
shell script to invoke jslint via jsc on Mac OS X · GitHub に公開されている JSC 用の JSLint ラッパーをダウンロードします。


フォルダ名を「JSC_JSLINT_WRAPPER」等に変更し、任意のディレクトリ(これから頻繁に参照する)に配置します。


主要ファイルのディレクトリ関係は以下のようになっています。

/Users/User/JSLint/jslint.js
           /JSC_JSLINT_WRAPPER/jsc_jslint_wrapper.js
                              /jslint


3. JSC JSLint Wrapper の jslint を編集/span>
JSC_JSLINT_WRAPPER/jslintシェルスクリプトとして実行するファイルです。
JSC_JSLINT_WRAPPER/jslint をエディタで開き、次のように編集してください。

# JSLINT/jslint.js を /Users/User/ に配置していたとする。
5.  JSLINT=/Users/User/JSLINT/jslint.js
# JSC_JSLINT_WRAPPER/jsc_jslint_wrapper.js を /Users/User/ に配置していたとする。
6.  JSC_WRAPPER=/Users/User/JSC_JSLINT_WRAPPER/jsc_jslint_wrapper.js

# 記述ミスを訂正する ("=`cat $sourcefile`" >> "`cat $sourcefile`")
29. /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc $JSLINT $JSC_WRAPPER -- "`cat $sourcefile`"


4. JSC_JSLINT_WRAPPER/jslint に実行権限を与える/span>
JSC_JSLINT_WRAPPER ディレクトリで以下のコマンドを実行してください。

chmod +x jslint


5. bash に jslint 実行ファイルのエイリアスを追加
bash から JSC_JSLINT_WRAPPER/jslint 実行ファイルのコマンドを直接実行できるように、エイリアス(ショートカット)を追加します。
ホームディレクトリ等のプロファイル(bash なら .bash_profile, .bashrc 等)を開き、以下を追加します。

alias jslint='/Users/User/JSC_JSLINT_WRAPPER/jslint'

# 動かないときは alias jslint <path-to-files>/jslint

再読込み後、bash はどこからでも jslint コマンドを使用できるようになります


6. JSLint を実行する

# bash
jslint xxx.js

# sh
sh /Users/User/JSC_JSLINT_WRAPPER/jslint xxx.js

エラー結果が出力されます。


JSLint の解析オプションは、jsc_jslint_wrapper.js の goodPartsOptions 変数でセットされています。
コマンドは [sh] > jslint > [jsc] > jsc_jslint_wrapper.js > jslint.js の順に実行されます。

JSCJavaScript が実行できるインタプリタです。
load('filename.js'); 関数を使って JavaScript ファイルを読み込んだり、色々便利です(参考:JavaScript shell scripting / Stoyan's phpied.com)。
簡単に jsc を実行できるように、コマンドライン・パス ($PATH で確認できる) の通ったディレクトリ /usr/local/bin に、/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc 実行ファイルのシンボリック・リンクを作成しておきましょう。

ln -s /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc /usr/local/bin

これで、コマンドラインのどのディレクトリからでも jsc コマンドを直接実行できるようになります

JavaScriptパターン ―優れたアプリケーションのための作法

JavaScriptパターン ―優れたアプリケーションのための作法