Introduction
Pbkit is a collection of tools related to protobuf.
It is written in TypeScript and uses the Deno API.
However, it can be executed in any JavaScript environment (including Node.js
or web browser) because it does not use platform APIs inside the core
directory.
What is Protobuf?
https://developers.google.com/protocol-buffers
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.
What features are provided?
CLI
pb
- Protobuf schema compiler likeprotoc
.protoc
has native binary dependencies, butpb
command is written in pure TypeScript, so it can be used comfortably in Node.js projects, etc., and can even easily be run in a web browser.
pollapo
- A package manager for the protobuf schema.- A GitHub repository of
.proto
files is treated as a single pollapo package.
- A GitHub repository of
Browser Extension
- pbkit-devtools
Editor Extension
- vscode-pbkit
- Syntax highlight, Go to definition for VSCode.
- repo
- Visual Studio Marketplace
Library
- Deno - deno.land/x/pbkit
- NPM - pbkit
- @pbkit/runtime - This is a separate package with only the
runtime
folder. - See also - https://github.com/pbkit/npm-packages
- RPC related libraries
- @pbkit/runtime - This is a separate package with only the
Who uses pbkit?
Company
- Riiid - Pbkit was originally created to use protobuf in Riiid.
Open source project
- AST explorer - Used to parse protobuf files
- AstQL - Used to parse protobuf files
License
pbkit is dual-licensed under Apache 2.0 and MIT terms.
see LICENSE-APACHE and LICENSE-MIT for details.