Salesforce Developers Japan Blog

Lightning CLI Heroku Plugin

Lightning CLI Heroku Pluginと呼ばれるツールが公開されましたのでご紹介します。

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

Heroku Toolbeltをインストールしたら、コマンドラインよりsalesforce-lightning-cliパッケージをインストールします。

heroku plugins:install salesforce-lightning-cli

これでLightning CLIが利用できる様になりました。

利用方法

利用方法は以下の様にLightning コンポーネントのフォルダを指定します。

heroku lightning:lint ./path/to/lightning/components/

するとLightningの構文規則に則っていないAPIを利用している場合にエラーとなる箇所を教えてくれます。 例えばLightning LockerService内ではDOMに対するinnerHTMLの操作や、XMLHttpRequestの生成を禁止されていますが、 通常のESLintではチェックできない項目に対するチェックが可能です。

error     secure-document    Invalid SecureDocument API
Line:109:29
        scrapping = document.innerHTML;
                             ^

warning   no-plusplus   Unary operator '++' used
Line:120:50
        for (var i = (index+1); i < sibs.length; i++) {
                                                 ^

error    secure-window  Invalid SecureWindow API
Line:33:21
        var req = new XMLHttpRequest();
                  ^

error  default-case  Expected a default case
Line:108:13
            switch (e.keyCode) {
            ^

 

コマンドラインオプション

lightning:lintには幾つかのコマンドラインオプションがあります。  heroku lightning:lint –helpで見ることができますがいかに日本語の説明を記載しておきます。

Linter for Lightning Components
 -i, --ignore IGNORE 
# 任意のフォルダを無視します。 例: --ignore **/foo/**
 --files FILES       
# 特定のファイルを対象とします。デフォルトの対象は全ての .js ファイルとなっています。 例: --files **/*Controller.js
 -j, --json          
# 他のツールとの統合用にJSONファイルを出力します。デフォルトでは標準出力に行われます。 例: --json
 --config CONFIG     
# ESLint設定ファイルのパスを指定します。コードスタイルルールのみが利用され、その他は無視されます。 例: --config path/to/.eslintrc
 --quiet             
# エラーのみをリポートします。デフォルトではエラー及び警告がリポートされます。 例: --quiet

Lightning CLIは現状lintしかありませんが今後機能追加がされていくと思われますので、アップデートされ次第都度ご紹介します。

コメント

Lightning CLI Heroku Plugin