この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

同期または変換時のソースの除外方法

ローカルファイルシステムと対象組織の間でメタデータを同期するとき、ソースファイルを除外する必要が生じる場合があります。同様に、ソースを Salesforce DX ソース形式に変換するとき、特定のファイルを除外する必要が生じることがあります。どちらの場合も、.forceignore ファイルを使用して個々のファイルまたはディレクトリ内のすべてのファイルを除外できます。

任意のテキストエディタを使用して .forceignore ファイルを作成し、除外するファイルまたはディレクトリを指定します。

すべての force:source:* コマンド (force:source:pushforce:source:pullforce:source:deployforce:source:retrieve など) が実行されるとき、.forceignore ファイルによってファイルが除外されます。

source コマンドで無視されるその他のファイル

source コマンドでは、.forceignore ファイルに含まれていなくても、次のファイルが無視されます。
  • 「ドット」で開始するソースファイルまたはディレクトリ (.DS_Store.sfdx など)
  • .dup で終了するファイル
  • package2-descriptor.json
  • package2-manifest.json

ローカルソースとまだ同期されていないリモートの変更の除外

スクラッチ組織で直接変更し、その変更をローカルの DX プロジェクトに取得したくない場合があります。リモートのメタデータ変更を除外するには、.forceignore で形式 <api name>.<metadata type> を使用します。

「dreamhouse」という名前の権限セットがある場合、dreamhouse.permissionset.forceignore に追加します。

ソース追跡コマンドでの同じメタデータの除外

ローカルの DX プロジェクト (ファイルシステム) とスクラッチ組織で同じメタデータを除外するには、2 つのエントリを作成して、force:source:statusforce:source:pushforce:source:pullforce:source:deployforce:source:retrieve に対応します。たとえば、Marketing Profile というカスタムプロファイルがある場合、次の 2 つのエントリを .forceignore に含めます。
  • force-app/main/default/profiles/Marketing Profile.profile-meta.xml (force:source:pushforce:source:deployforce:source:status の実行時に無視)
  • Marketing Profile.profile (force:source:pullforce:source:retrieveforce:source:status の実行時に無視)

特殊文字を含むメタデータ

メタデータ名に特殊文字 (スラッシュ、バックスラッシュ、引用符など) が含まれる場合、すべてのオペレーティングシステムでローカルファイルシステム上のファイル名がエンコードされます。たとえば、Custom: Marketing Profile というカスタムプロファイルを取得する場合、生成されるファイル名のコロンはエンコードされます。

Custom%3A Marketing Profile.profile-meta.xml

.forceignore で特殊文字を含むファイル名を参照する場合は、エンコードされたファイル名を使用します。

.forceignore を配置する場所

.forceignore に指定するパスは、必ず .forceignore ファイルが含まれるディレクトリに対する相対パスにします。.forceignore ファイルが機能するためには、実行するコマンドに応じて適切な場所に配置する必要があります。

  • force:source:* 追跡コマンドの場合、.forceignore ファイルをプロジェクトのルートに追加します。
  • force:mdapi:convert の場合、ファイルをメタデータ retrieve ディレクトリ (package.xml を含む) に追加します。

サンプル構文

.forceignore ファイルには .gitignore と似た機能があります。次は除外するソースを示すオプションです。次の例では、すべてのパスはプロジェクトルートディレクトリに対する相対パスです。

1# Specify a relative path to a directory from the project root
2helloWorld/main/default/classes
3
4# Specify a wildcard directory - any directory named “classes” is excluded
5**classes
6
7# Specify file extensions
8**.cls
9**.pdf
10
11# Specify a specific file
12helloWorld/main/default/HelloWorld.cls

現在無視されているファイルやディレクトリのリスト

force:source:ignored コマンドを使用して、プロジェクトのファイルやディレクトリのうち、現在 force:source:* コマンドで無視されているものをリストします。force:source:ignored コマンドは .forceignore ファイルを参照して、無視されているファイルをリストアップします。

パラメータを指定せずにこのコマンドを実行すると、無視されているすべてのパッケージディレクトリにあるすべてのファイルがリストされます。--sourcepath パラメータを使用した場合は、特定のファイルまたはディレクトリのみがチェックされます。ディレクトリを指定すると、コマンドがすべてのサブディレクトリを再帰的にチェックします。

次の例では、特定のファイルが無視されているかどうかがチェックされます。

1sfdx force:source:ignored:list --sourcepath=package.xml

この例では、特定のディレクトリ内の無視されているすべてのファイルのリストを取得します。

1sfdx force:source:ignored:list --sourcepath=force-app/main/default

無視されているファイルが見つかった場合の出力例:

1Found the following ignored files:
2force-app/main/default/aura/.eslintrc.json
3force-app/main/default/lwc/.eslintrc.json
4force-app/main/default/lwc/jsconfig.json

指定したファイルが見つからなかった場合の出力例:

1ERROR running force:source:ignored:list:  ENOENT: no such file or directory, stat 'package.xml'

ファイルが無視されていない場合の出力例:

1No ignored files found in paths:
2README.md