Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

protons-runtime

ipfs178kApache-2.0 OR MIT5.5.0TypeScript support: included

Shared code to make your bundle smaller when running protons in your app

readme

protons-runtime

ipfs.tech Discuss codecov CI

Shared code to make your bundle smaller when running protons in your app

About

This module contains serialization/deserialization code used when encoding/decoding protobufs.

It should be declared as a dependency of your project:

npm i protons-runtime

Install

$ npm i protons-runtime

Contains shared code to reduce code duplication between modules transpiled by protons.

API Docs

License

Licensed under either of

Contribute

Contributions welcome! Please check out the issues.

Also see our contributing document for more information on how we work, and about contributing in general.

Please be aware that all interactions related to this repo are subject to the IPFS Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

changelog

3.1.1 (2024-08-08)

Bug Fixes

3.1.0 (2024-08-07)

Features

3.0.1 (2024-08-07)

Dependencies

  • bump @bufbuild/protobuf from 1.10.0 to 2.0.0 (#139) (bbe93a2)

3.0.0 (2024-08-07)

⚠ BREAKING CHANGES

  • singular fields should be optional to write (#83)
  • ts definitions will need to be generated from .proto files - singular message fields have become optional as message fields are always optional in proto3
  • the exported types of protons-runtime have changed and protobuf encoders/decoders will need to be regenerated
  • Uses Uint8ArrayList v2
  • This module is now ESM only

Features

Bug Fixes

  • add uint8arraylist peer dep (#61) (eb16e86), closes #59
  • adhere more closely to the language guide for proto3 default values (#66) (406d775), closes #43
  • encode enum values (#30) (676c01d)
  • improve uint64 perf (#122) (3234bb6)
  • increase encoding/decoding performance (#58) (9987b97)
  • only import reader/writer to decrease bundle size (#69) (8eea129)
  • port protobuf reader/writer to ts (#60) (d101804)
  • remove redundant defs and declare codec return type (#28) (c3ea5ec)
  • remove writing default values (#88) (078c62f)
  • single instance codec (#55) (66d9387), closes #51
  • singular fields should be optional to write (#83) (229afbc), closes #42
  • sort imports (#84) (6f796f1)
  • support empty messages (#78) (8a02910)
  • throw when .proto is empty (#81) (ed392cb)
  • throw when unsupported fields are detected (#80) (8108875), closes #34
  • tidy up formatting of generated code (#57) (387c9e9)
  • treat nested enums as enums and not messages (#87) (3af689b)
  • update aegir, make codec creation dynamic (#26) (ecc46cc)
  • update project config (3199131)
  • update sibling dep versions (a77d027)
  • use CLI flag --output (#46) (58dc0ba)
  • use uint8-varint, byte-accesor and longbits modules (#56) (66d72f5)
  • use uint8arrays alloc for new buffers (#123) (d1bfc94)
  • write string into output buffer as uint8array (#118) (03ab706)

Trivial Changes

Documentation

Dependencies

Tests

  • regenerate custom options (768573b)