Salesforce
デベロッパー
ブログ

Lightning CLI Heroku Plugin

Avatar for ディベロッパーリレーションチームディベロッパーリレーションチーム
“Herokuでの開発を強化するLightning CLI Heroku Pluginの紹介”
April 24, 2016

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パッケージをインストールします。

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# エラーのみをリポートします。デフォルトではエラー及び警告がリポートされます。 例: --quiet

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