Lightning Web セキュリティ用 ESLint ルールのインストール

新たに開発された ESLint ルールは、Lightning Web セキュリティを利用したコードの作成に役立ちます。開発マシンにインストールして、ソースコードで実行できます。

ESLint ルールは、npm パッケージとして提供されており、ローカルシステムにインストールして、IDE またはコマンドラインで使用します。

ESLint ルールのドキュメントは、こちらの GitHub リポジトリに格納されています。

Lightning Web セキュリティにブランド変更される前に、新しいアーキテクチャが Locker の名前で開発されました。コード、および npm パッケージ名で locker が使用されていることを確認できます。ただし、lint ルールでは、現在の Lightning Locker ではなく、Lightning Web セキュリティがサポートされています。

Note

Lightning Web セキュリティの ESLint サポートの追加 

  1. 開発システムのプロジェクトディレクトリでターミナルウィンドウを開きます。

  2. ノードのプロジェクト依存関係をインストールします。

    1$ npm install
  3. https://www.npmjs.com/package/@locker/eslint-config-locker から ESLint のルールと設定をインストールします。

    1$ npm install --save-dev eslint @locker/eslint-config-locker
  4. .eslintrc プロジェクトの extends プロパティに @locker/eslint-config-locker を追加します。デフォルトでは、このファイルは force-app/main/default/lwc ディレクトリにあります。

    次の行では、エラーのみが含まれる base ESLint ルールが設定されています。

    1{
    2  "extends": [
    3    "eslint:recommended",
    4    "@salesforce/eslint-config-lwc/recommended",
    5    "@locker/eslint-config-locker"
    6  ]
    7}
  5. エラーに加えて警告も通知したい場合は、.eslintrcrecommended の設定を使用してください。ESLint 警告は、特定の問題をデバッグする場合に役立つことがありますが、日常の使用には必要のない特別な情報も生成されます。

    1{
    2  "extends": [
    3    "eslint:recommended",
    4    "@salesforce/eslint-config-lwc/recommended",
    5    "@locker/eslint-config-locker/recommended"
    6  ]
    7}
  6. 静的リソースとして使用される Aura コンポーネントまたはコードを開発している場合は、uncompiled の設定を追加します。

    1{
    2  "extends": [
    3    "eslint:recommended",
    4    "@salesforce/eslint-config-lwc/recommended",
    5    "@locker/eslint-config-locker/recommended",
    6    "@locker/eslint-config-locker/uncompiled"
    7  ]
    8}

組織が新しい Salesforce リリースにアップグレードされたら、npm update を実行して、ESLint ルールがリリースの LWS のディストーションと一致するようにします。リリースで追加されるディストーションのリストについては、Salesforce リリースノートを参照してください。

Note

VS Code での ESLint ルールの使用 

Salesforce では、Lightning Web コンポーネントの開発に Visual Studio Code と Salesforce Extensions for Visual Studio Code (Visual Studio Code 向け Salesforce 拡張機能) を使用することを推奨しています。Lightning Web セキュリティに対してエラーがあった場合は、VS Code 内のコードがルールに違反している場所に ESLint ルールが表示されます。このルールは、コードに影響を与えるディストーションに対応付けられます。ルール違反のポップアップには、ルールのドキュメントへのリンクが表示されます。

lint ルール違反のポップアップを次に示します。このポップアップには、関連するルールのドキュメントへのリンクが含まれています。

トリガされた lint ルールのポップアップ

このポップアップには、エラーではなく lint 警告が表示されます。

プロジェクトに対する基本ルールの実行 

  1. **「Lightning Web セキュリティの ESLint サポートの追加」**セクションの説明に従って、ESLint のルールと設定をインストールします。

  2. 通常のコマンドを実行して、コードをリンティングします。

    Salesforce DX プロジェクトを使用している場合は、使用環境に適した npm または yarn コマンドを実行してください。

    1$ npm run lint

    または

    1$ yarn lint

    Salesforce DX プロジェクトを使用していない場合は、LWC コンポーネントに eslint コマンドを実行できます。コンポーネントが lwc フォルダに入っている場合のコマンドは、次のようになります。

    1$ eslint **/lwc/**

    いずれの場合も出力は次の例のようになります。

    110:16  error  Document#fullscreen is prohibited in Lightning Locker  @locker/locker/distorted-document-blocked-properties
    2
    3 1 problem (1 error, 0 warnings)
    4
    5error Command failed with exit code 1.

The Japanese Summer '24 guide is now live

日本語の Summer '24 ガイドが公開されました! 「Component Reference (コンポーネントリファレンス)」は、以前と同様にコンポーネントライブラリにあります。