コンテンツにスキップ

wacz-validator

その WACZ が本当に valid なのか、valid でないなら何故かを示します。

WACZ(WARC データとメタデータを ZIP file にまとめた Package)の producer 非依存な validator です。 archive を渡すと、rule 単位で「何が適合し、何が適合しないか」を報告します。

producer 非依存とは、どのツールが書いたかを前提にしないという意味です。 spec が定める通りに ZIP file を読むので、どの recorder が生成した WACZ でも 同じ基準で判定します。

archive を replay しません — それは ReplayWeb.page の仕事です。archive を 生成もしません。このサイトに BrowserHive が出てくる場合、 それは wacz-validator が検証する対象を生成する別プロジェクトを指します。

flowchart LR
    tui["@wacz-validator/tui (bin: wacz-validator)"] ==>|"WS / JSON-RPC"| daemon["@wacz-validator/daemon"]
    browser(["browser (将来)"]) -.->|"WS"| daemon
    cli["@wacz-validator/validate-cli (bin: wacz-validator-validate)"] -->|"検証に使う"| core["@wacz-validator/core"]
    daemon -->|"検証に使う"| core
    tui -->|import| protocol["@wacz-validator/protocol"]
    daemon -->|import| protocol
    protocol -.->|"import type のみ"| core
    core -->|import| shared["@wacz-validator/contract"]
    protocol -->|import| shared

    classDef shared fill:#fff3cd,stroke:#d4a72c,color:#5c4500;
    classDef future fill:#eeeeee,stroke:#999999,color:#666666;
    class shared,protocol shared;
    class browser future;

daemon が stateless であることが、将来の browser frontend が terminal UI と 同じ protocol で繋げる理由です。アーキテクチャを参照。

やりたいこと ページ
はじめて archive を検証する クイックスタート
各 rule が何を見るか知る Rules
--profile を理解する プロファイル
JSON 出力を使う JSON レポート
実際に失敗する archive を見る Corpus
s3:// の archive を検証する Apple Container スタック