@c-time/frelio-dependency-map (英语)
Frelio SSG 。
(单位:千美元)
依存マップは、各出力ファイルがどのソースファイル(テンプレート、コンテンツタイプ定義、コンテンツデータ)に依存しているかを追跡する。これにより、ソースファイルの変更時に影響を受ける出力のみを再生成する差分ビルドが可能になる。
ランタイム依存なし。
インストール
npm install @c-time/frelio-dependency-map
使用例
import {
createFrelioDependencyMap,
setDependencies,
findAffectedOutputs,
mergeFrelioDependencyMaps,
isFrelioDependencyMap,
} from '@c-time/frelio-dependency-map'
import type { FrelioDependencyMap } from '@c-time/frelio-dependency-map'
// 依存マップの作成
let map = createFrelioDependencyMap()
// 出力ファイルの依存を設定
map = setDependencies(map, '/news/hello.html', [
'content_types/news.json',
'templates/news/detail/index.html',
'contents/published/news/hello.json',
])
// ソースファイル変更時に影響を受ける出力を検索(glob パターン対応)
const affected = findAffectedOutputs(map, 'templates/news/detail/index.html')
// => ['/news/hello.html']
// 複数マップのマージ
const merged = mergeFrelioDependencyMaps(map1, map2)
API 密码
页:1
| 页:1 | 説明 |
|---|---|
FrelioDependencyMap | 出力パス |
OutputPath | 出力ファイルパス |
DependencyPath | 依存ファイルパス(glob パターン対応) |
DependencyPathPrefix | 页:1CONTENT_TYPES, (中文(简体) ), TEMPLATES, (中文(简体) ), CONTENTS(中文(简体) ) |
ValidationResult 编号 : ValidationError | バリデーション結果 |
関数
| 関数 | 説明 |
|---|---|
createFrelioDependencyMap() | 空の依存マップを作成 |
setDependencies(map, output, deps) | 出力ファイルの依存を設定 |
removeDependencies(map, output) | 出力ファイルの依存を削除 |
getDependencyPaths(map, output) | 出力ファイルの依存パスを取得 |
getOutputPaths(map) | 全出力パスを取得 |
getAllDependencyPaths(map) | 全依存パスを取得 |
findAffectedOutputs(map, changed) | 変更されたファイルに影響を受ける出力を検索 |
mergeFrelioDependencyMaps(...maps) | 複数の依存マップをマージ |
isFrelioDependencyMap(value) | 型ガード |
validateFrelioDependencyMap(value) | バリデーション |
ライセンス
麻省理工学院