proto_generator 3.8.2 copy "proto_generator: ^3.8.2" to clipboard
proto_generator: ^3.8.2 copied to clipboard

Code generation of .proto and Dart mapper classes to facilitate the usage of PODOs (plain-old-dart-objects) with gRPC

9
likes
100/ 160
pub points
65%
popularity

We analyzed this package 17 hours ago, and awarded it 100 pub points (of a possible 160):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: MPL-2.0.

partial
Provide documentation
10 / 20trigger folding of the section

0/10 points: 20% or more of the public API has dartdoc comments

6 out of 33 API elements (18.2 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

To highlight public API members missing documentation consider enabling the public_member_api_docs lint.

Some symbols that are missing documentation: proto_generator.ProtoGenerator, proto_generator.ProtoGenerator.ProtoGenerator, proto_generator.ProtoGenerator.options, proto_generator.ProtoGenerator.throwOnUnresolved, proto_generator.ProtoGenerator.typeChecker.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 3 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Android

Because:

  • package:proto_generator/proto_generator.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package not compatible with platform iOS

Because:

  • package:proto_generator/proto_generator.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package not compatible with platform Web

Because:

  • package:proto_generator/proto_generator.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/utils.dart that imports:
  • package:build/build.dart that imports:
  • package:build/src/generate/run_post_process_builder.dart that imports:
  • package:build/src/builder/post_process_builder.dart that imports:
  • package:build/src/builder/builder.dart that imports:
  • package:build/src/builder/build_step.dart that imports:
  • package:build/src/asset/reader.dart that imports:
  • package:glob/glob.dart that imports:
  • package:glob/src/list_tree.dart that imports:
  • package:file/file.dart that imports:
  • package:file/src/interface.dart that imports:
  • package:file/src/io.dart that imports:
  • dart:io

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:proto_generator/proto_generator.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/utils.dart that imports:
  • package:build/build.dart that imports:
  • package:build/src/generate/run_post_process_builder.dart that imports:
  • package:build/src/builder/post_process_builder.dart that imports:
  • package:build/src/builder/builder.dart that imports:
  • package:build/src/builder/build_step.dart that imports:
  • package:build/src/asset/reader.dart that imports:
  • package:glob/glob.dart that imports:
  • package:glob/src/list_tree.dart that imports:
  • package:file/file.dart that imports:
  • package:file/src/interface.dart that imports:
  • package:file/src/io.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

failed
Pass static analysis
30 / 50trigger folding of the section

30/50 points: code has no errors, warnings, lints, or formatting issues

Found 13 issues. Showing the first 2:

WARNING: This API is available since SDK 2.15.0, but constraints '>=2.12.0 <3.0.0' don't guarantee it.

lib/src/proto_mapper/proto_mapper_generator.dart:465:56

    ╷
465 │   final values = TimePrecision.values.where((tp) => tp.name == value);
    │                                                        ^^^^
    ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/proto_mapper/proto_mapper_generator.dart

INFO: 'isVoid' is deprecated and shouldn't be used. Use `is VoidType` instead.

lib/src/proto_services/proto_services_generator.dart:158:19

    ╷
158 │     if (finalType.isVoid) return '';
    │                   ^^^^^^
    ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/proto_services/proto_services_generator.dart

failed
Support up-to-date dependencies
10 / 40trigger folding of the section

0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
analyzer ^5.1.0 5.13.0 7.0.0
build ^2.0.0 2.4.1 2.4.1
built_value ^8.4.1 8.9.2 8.9.2
code_builder ^4.3.0 4.10.1 4.10.1
decimal ^2.0.0 2.3.3 3.0.2
grpc ^3.0.2 3.2.4 4.0.1
proto_annotations ^2.3.1 2.3.1 3.1.0
recase ^4.0.0 4.1.0 4.1.0
source_gen ^1.2.1 1.5.0 1.5.0
squarealfa_common_types ^1.2.1 1.2.1 2.0.0
squarealfa_generators_common ^2.10.0 2.10.1 3.1.1
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 61.0.0 77.0.0
archive - 3.6.1 3.6.1
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
boolean_selector - 2.1.2 2.1.2
build_config - 1.1.1 1.1.1
build_resolvers - 2.4.2 2.4.2
build_test - 2.2.2 2.2.2
built_collection - 5.1.1 5.1.1
checked_yaml - 2.0.3 2.0.3
clock - 1.1.2 1.1.2
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
coverage - 1.11.0 1.11.0
crypto - 3.0.6 3.0.6
csslib - 1.0.2 1.0.2
dart_style - 2.3.2 2.3.7
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
frontend_server_client - 4.0.0 4.0.0
glob - 2.1.2 2.1.2
google_identity_services_web - 0.3.3 0.3.3
googleapis_auth - 1.6.0 1.6.0
graphs - 2.3.2 2.3.2
html - 0.15.5 0.15.5
http - 1.2.2 1.2.2
http2 - 2.3.0 2.3.0
http_multi_server - 3.2.1 3.2.1
http_parser - 4.1.1 4.1.1
io - 1.0.4 1.0.4
js - 0.7.1 0.7.1
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
matcher - 0.12.16+1 0.12.17
meta - 1.16.0 1.16.0
mime - 2.0.0 2.0.0
node_preamble - 2.0.2 2.0.2
package_config - 2.1.0 2.1.0
path - 1.9.1 1.9.1
pool - 1.5.1 1.5.1
protobuf - 3.1.0 3.1.0
pub_semver - 2.1.4 2.1.4
pubspec_parse - 1.3.0 1.3.0
rational - 2.2.3 2.2.3
shelf - 1.4.2 1.4.2
shelf_packages_handler - 3.0.2 3.0.2
shelf_static - 1.1.3 1.1.3
shelf_web_socket - 2.0.0 2.0.0
source_map_stack_trace - 2.1.2 2.1.2
source_maps - 0.10.12 0.10.12
source_span - 1.10.0 1.10.0
stack_trace - 1.12.0 1.12.0
stream_channel - 2.1.2 2.1.2
stream_transform - 2.1.0 2.1.0
string_scanner - 1.4.0 1.4.0
term_glyph - 1.2.1 1.2.1
test - 1.25.8 1.25.8
test_api - 0.7.3 0.7.3
test_core - 0.6.5 0.6.5
typed_data - 1.4.0 1.4.0
vm_service - 14.3.1 14.3.1
watcher - 1.1.0 1.1.0
web - 1.1.0 1.1.0
web_socket - 0.1.6 0.1.6
web_socket_channel - 3.0.1 3.0.1
webkit_inspection_protocol - 1.2.1 1.2.1
yaml - 3.1.2 3.1.2

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

Found 6 issues. Showing the first 2:

The constraint `^5.1.0` on analyzer does not support the stable version `6.0.0`.

Try running dart pub upgrade --major-versions analyzer to update the constraint.

The constraint `^2.0.0` on decimal does not support the stable version `3.0.0`.

Try running dart pub upgrade --major-versions decimal to update the constraint.

10/10 points: Package supports latest stable Dart and Flutter SDKs

0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 19 errors:

  • UNDEFINED_GETTER - lib/src/proto/field_code_generators/entity_field_code_generator.dart:21:28 - The getter 'element' isn't defined for the type 'ParameterizedType'.
  • UNDEFINED_GETTER - lib/src/proto/field_code_generators/entity_field_code_generator.dart:22:40 - The getter 'element' isn't defined for the type 'ParameterizedType'.
  • UNDEFINED_GETTER - lib/src/proto/field_code_generators/entity_field_code_generator.dart:36:26 - The getter 'element' isn't defined for the type 'DartType'.

Run dart pub downgrade and then dart analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Analyzed with Pana 0.22.15, Dart 3.5.4.

Check the analysis log for details.

9
likes
100
pub points
65%
popularity

Publisher

verified publishersquarealfa.com

Code generation of .proto and Dart mapper classes to facilitate the usage of PODOs (plain-old-dart-objects) with gRPC

Homepage
Repository (GitLab)
View/report issues
Contributing

Documentation

API reference

License

MPL-2.0 (license)

Dependencies

analyzer, build, built_value, code_builder, decimal, grpc, proto_annotations, recase, source_gen, squarealfa_common_types, squarealfa_generators_common

More

Packages that depend on proto_generator