Lightning CLI Heroku Pluginと呼ばれるツールが公開されましたのでご紹介します。
Lighting CLIはLightingコンポーネントのためのコードレビューツールで、 Summer ’16リリースで追加されるLockerServiceの対応準備に非常もに有用としています。
内部的にはJavascriptのlint(構文チェック)ツールであるESLintを利用しており、自身でそのチェック項目をカスタマイズすることも可能です。
インストール方法
まずLightning CLI Heroku Pluginをインストールします。 Lightning CLI Heroku Pluginはその名の通りHeroku CLIのプラグインとして提供されているので、Heroku CLIがインストールされている必要があります。 またLightning CLI Heroku Pluginはnpmモジュールですので、node.jsも必要となります。 それらを簡単にインストールするためのHeroku Toolbeltというパッケージがありますので、初めての方はこちらを利用すると良いでしょう。
Heroku Toolbeltをインストールしたら、コマンドラインよりsalesforce-lightning-cliパッケージをインストールします。
1heroku plugins:install salesforce-lightning-cliこれでLightning CLIが利用できる様になりました。
利用方法
利用方法は以下の様にLightning コンポーネントのフォルダを指定します。
1heroku lightning:lint ./path/to/lightning/components/するとLightningの構文規則に則っていないAPIを利用している場合にエラーとなる箇所を教えてくれます。 例えばLightning LockerService内ではDOMに対するinnerHTMLの操作や、XMLHttpRequestの生成を禁止されていますが、 通常のESLintではチェックできない項目に対するチェックが可能です。
1error secure-document Invalid SecureDocument API
2Line:109:29
3 scrapping = document.innerHTML;
4 ^
5
6warning no-plusplus Unary operator '++' used
7Line:120:50
8 for (var i = (index+1); i < sibs.length; i++) {
9 ^
10
11error secure-window Invalid SecureWindow API
12Line:33:21
13 var req = new XMLHttpRequest();
14 ^
15
16error default-case Expected a default case
17Line:108:13
18 switch (e.keyCode) {
19 ^
コマンドラインオプション
lightning:lintには幾つかのコマンドラインオプションがあります。 heroku lightning:lint –helpで見ることができますがいかに日本語の説明を記載しておきます。
1Linter for Lightning Components
2 -i, --ignore IGNORE
3# 任意のフォルダを無視します。 例: --ignore **/foo/**
4 --files FILES
5# 特定のファイルを対象とします。デフォルトの対象は全ての .js ファイルとなっています。 例: --files **/*Controller.js
6 -j, --json
7# 他のツールとの統合用にJSONファイルを出力します。デフォルトでは標準出力に行われます。 例: --json
8 --config CONFIG
9# ESLint設定ファイルのパスを指定します。コードスタイルルールのみが利用され、その他は無視されます。 例: --config path/to/.eslintrc
10 --quiet
11# エラーのみをリポートします。デフォルトではエラー及び警告がリポートされます。 例: --quietLightning CLIは現状lintしかありませんが今後機能追加がされていくと思われますので、アップデートされ次第都度ご紹介します。