proto
このプロジェクトで取り扱う Protocol Buffers のデータ定義が全てまとまっているディレクトリ。
利用方法
JavaScript API
依存パッケージとして @bufbuild/protobuf が必要。
peerDependencies にバージョン要件があるため確認すること。
Protobuf のメッセージやサービス定義のファイルが 1:1 で JS/DTS に変換されており、 @yamori/proto/path/to/file_pb.js としてアクセスできる。
例えば以下のような Protobuf の定義ファイルがあった場合、
# packages/proto/yamori/foo/bar.proto
package yamori.foo.bar;
message Bar {
string value = 1;
}
以下のように import できる。
import { fromBinary } from "@bufbuild/protobuf";
import { type Bar, BarSchema } from "@yamori/proto/yamori/foo/bar_pb.js";
export function decodeBar(bytes: Uint8Array): Bar {
return fromBinary(BarSchema, bytes);
}
開発
このパッケージ自体の開発を行う場合のドキュメント。
品質チェック
このプロジェクトでは Buf CLI を使って Protobuf ファイルの品質をチェックしている。以下のコマンドでチェックを実行できる。
$ bun check
コード生成
Protobuf データのデコード・エンコードを行うコードを生成するには以下のコマンドを実行する。
$ bun make