{"library":"protons","title":"protons","description":"Protons is a high-performance Protocol Buffers v3 transpiler that converts .proto files into TypeScript. Current stable version is 8.1.1 (March 2026), with active development under the IPFS project. It differs from protobuf.js by supporting only proto3 semantics, using BigInts for 64-bit types (not Longs), representing optional unset fields as undefined, and deserializing map fields as ES6 Maps. Protons also allows limiting repeated/map element sizes for security and supports streaming decode since v8.0.0. Ships TypeScript types and requires both protons (dev) and protons-runtime (runtime) packages.","language":"javascript","status":"active","last_verified":"Fri May 01","install":{"commands":["npm install protons"],"cli":{"name":"protons","version":null}},"imports":["import { Foo } from './foo.ts'","import protons from 'protons'","import { decode } from 'protons-runtime'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"// 1. Install: npm install --save-dev protons && npm install --save protons-runtime\n// 2. Create foo.proto:\n// syntax = 'proto3';\n// message Foo {\n//   string message = 1;\n// }\n// 3. Generate TypeScript:\n// npx protons ./path/to/foo.proto ./path/to/foo.ts\n// 4. Use in code:\nimport { Foo } from './foo.ts';\nconst foo = { message: 'hello world' };\nconst encoded = Foo.encode(foo);\nconst decoded = Foo.decode(encoded);\nconsole.info(decoded.message); // 'hello world'","lang":"typescript","description":"Shows full workflow: installing dependencies, defining a proto, generating TypeScript, and encoding/decoding a message.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}