Color mode

Search notes

Filter with tag:, lang:, or path:.

ビルド依存関係(Build Dependency)

Coreとプラグインの間の取り決めで、処理済みコンテンツや出力したファイルが、ビルド間でどの入力に依存するかを宣言します。

コンテンツ依存関係

プラグインはprocessedContentCacheにdependencyMode(none、tracked、global、unsafe)を宣言します。 CoreはCoreのコンテンツAPIを通じた読み取りを、安定した識別子を持つ依存関係として記録します。 コンテンツ、ファイル、リンクの依存関係は記録され、以降のビルドで比較されます。

出力依存関係

出力依存関係はコンテンツ依存関係とは別に扱います。それぞれの種類は、変更セットの異なる部分に反応します。

種類 影響を受ける条件
content { slug } そのコンテンツが変わったとき。
tag { tag } そのタグを持つコンテンツが変わったとき。
folder { folder } そのフォルダー内のコンテンツが変わったとき。
global どのコンテンツかが変わったとき。
unknown 常に。Coreは出力の完全な再生成も要求します。

依存関係の宣言場所

出力依存関係は次の場所で宣言できます。

  • プラグインページのpageTypes[].outputDependencies。
  • onManifestCreatedで既存のマニフェストエントリのHTMLを更新するプラグインの、ルートのoutputDependencies。Coreはこれをすべてのコンテンツ出力に追加します。
  • 生成物のcontext.output.emit(..., { dependencies })。依存関係を宣言していない生成物はunknownとなり、出力全体の再生成を引き起こします。

依存関係の種類とその効果は次のとおりです。

種類 説明
content { slug } 特定のコンテンツのslugが変わったときに再生成します。
tag { tag } そのタグを持つコンテンツが変わったときに再生成します。
folder { folder } そのフォルダー内のコンテンツが変わったときに再生成します。
global ソースを問わず、どのコンテンツかが変わったときに再生成します。
unknown 常に出力全体の再生成を引き起こします。スコープを記述できないときに使います。

スコープが分かっている場合はcontent、tag、folderを使い、マニフェスト全体のコレクション変換にはglobalを使います。unknownは、入力を完全には表現できない場合にだけ使ってください。誤った出力宣言は古いファイルを残す可能性があるため、unknownは増分SSGを犠牲にして出力全体を描画し直す、意図的な選択です。

関連用語

さらに詳しく

Local Graph

Nearby Notes

Open in Explorer →
ビルド依存関係(Build Dependency)キャッシュの無効化(Cache Invalidation)出力依存関係(Output Dependency)フィンガープリント(Fingerprint)プラグイン依存関係(Plugin Dependency)出力一覧(Output Inventory)
CurrentOutgoingBacklink