yamori

有給休暇計算を主目的とした簡易勤怠管理システム

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