pollapo Riiid
winget install --id=Riiid.pollapo -e
Riiid protobuf dependency manager
Pollapo is a package manager for Protobuf schemas designed to simplify dependency management in modern web development projects. It allows developers to treat GitHub repositories containing .proto files as individual packages, making it easier to manage and share protobuf schemas across projects.
Key Features:
- Dependency Management: Pollapo handles dependencies for Riiid, ensuring that protobuf schemas are fetched and managed efficiently.
- Cross-Platform Compatibility: Built using TypeScript with Deno, Pollapo can be executed in any JavaScript environment, including Node.js and web browsers, without relying on native binaries.
- Seamless Integration: It integrates smoothly into existing development workflows, allowing developers to work with protobuf schemas directly within their projects.
Audience & Benefit: Ideal for developers working on web or backend services who need to manage Protobuf schemas. Pollapo streamlines the process of fetching, managing, and updating protobuf dependencies, reducing manual effort and potential errors in dependency management.
Pollapo can be installed via winget, making it easy to incorporate into your development environment.
README
pbkit
Protobuf toolkit for modern web development
Homepage
<a href="https://pbkit.dev/"><img src="https://img.shields.io/badge/%F0%9F%8F%A0-https%3A%2F%2Fpbkit.dev%2F-darkgreen" /></a>
Join our community!
<a href="https://discord.gg/PHmV3nhvQq">
<img src="https://img.shields.io/discord/922795162873233429?label=Discord&style=flat-square" />
</a>
Follow our SNS account!
<a href="https://twitter.com/pbkit_">
<img src="https://img.shields.io/twitter/url.svg?label=Follow%20%40pbkit_&style=social&url=https%3A%2F%2Ftwitter.com%2Fpbkit_" />
</a>
Releases
<a href="https://github.com/pbkit/pbkit/releases">
<img src="https://img.shields.io/github/release/pbkit/pbkit/all.svg" />
</a>
<a href="https://deno.land/x/pbkit">
<img src="https://img.shields.io/badge/deno.land/x/-pbkit-gray?logo=deno&labelColor=black" />
</a>
<a href="https://www.npmjs.com/package/pbkit"><img src="https://img.shields.io/npm/v/pbkit?label=npm%20install%20pbkit&logo=npm&logoColor=red" /></a>
> [!IMPORTANT]
> Pbkit v1 is actively under construction.
> v0.0.x
is available in "maintenance mode".
>
> See https://github.com/pbkit/pbkit/issues/307
> and join the roadmap discussion on Discord.
What is Protobuf?
> Protocol buffers are Google's language-neutral, platform-neutral, extensible > mechanism for serializing structured data – think XML, but smaller, faster, > and simpler.
And what is Pbkit?
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 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.- How to install and how to use
pollapo
- A package manager for the protobuf schema.- A GitHub repository of
.proto
files is treated as a single pollapo package. - How to install and how to use
- 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 -
- 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.
- Karrot - Use Pbkit to generate gRPC client used in Node.js servers.
- PortOne - Use Pbkit to generate gRPC client used in Node.js servers.
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.