PackageTrack
Sign in Get early access

better_protoc_plugin

An opinionated, "new and improved" protobuf protoc compiler plugin used to generate Dart code with real Dart enums, message interfaces, automatic DateTime/Duration conversion, etc.

1.2.2 dra11y/better_protoc_plugin

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Too new to tell

only 2 release windows

Nearly every release is documented

notes for 7 of 7 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

7 releases · first in 2023

0 releases in the last 12 months

see the full history below

Release timeline

7 releases · Oct 2023 to Nov 2023
2024 2025 2026
Release Pre-release

Releases

latest 7
  1. 1.2.2 11 Nov 2023
    Release notes

    skip better_protos on google protos; v1.2.2

    Open source →
    Release notes
    • Skip better_protos on Google protos because they don't play nice for some reason. Achieved by ensuring the package name does not contain google. TODO: Maybe add a skip file or package level option in the future.
    Open source →
  2. 1.2.1 11 Nov 2023
    Release notes
    • Remove extra annoying print.
    Open source →
  3. 1.2.0 11 Nov 2023
    Release notes
    • Dart_options are gone! Pass only a single better_protos option to protoc!
    Open source →
  4. 1.1.0 16 Oct 2023
    Release notes
    • Actually generate dart:core DateTime and Duration getters/setters
    Open source →
  5. 1.0.2 16 Oct 2023
    Release notes
    • Add @override prefix to enum value field
    Open source →
  6. 1.0.1 16 Oct 2023
    Release notes
    • New .proto file-level experimental options (all default to false):
      • generate DateTime / Dart Duration getters/setters and autoconvert these <-> google.protobuf.Timestamp / google.protobuf.Duration:
        option (dart_options.use_date_time) = true | false;
        
      • generate nullable optionals (Type? vs Type):
        option (dart_options.nullable_optionals) = true | false;
        
      • generate abstract interface classes (prefixed with 'I') for messages:
        option (dart_options.message_interfaces) = true | false;
        
    Open source →
  7. 1.0.0 16 Oct 2023
    Release notes
    • generate abstract interface class for each message prefixed with 'I' by default
    • use real Dart enums + unit test
    • enum values now use lowerCamelCase + unit test
    • upgrade to Dart 3 SDK
    • remove unnecessary ignore rules and @dart = 2.12 version directive
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive