json_serializable 6.9.0 copy "json_serializable: ^6.9.0" to clipboard
json_serializable: ^6.9.0 copied to clipboard

Automatically generate code for converting to and from JSON by annotating Dart classes.

3584
likes
160/ 160
pub points
99%
popularity

We analyzed this package 16 hours ago, and awarded it 160 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: BSD-3-Clause.

OK
Provide documentation
20 / 20trigger folding of the section

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

53 out of 122 API elements (43.4 %) have documentation comments.

Some symbols that are missing documentation: json_serializable, json_serializable.JsonEnumGenerator, json_serializable.JsonEnumGenerator.JsonEnumGenerator, json_serializable.JsonEnumGenerator.throwOnUnresolved, json_serializable.JsonEnumGenerator.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:json_serializable/json_serializable.dart that imports:
  • package:json_serializable/src/json_serializable_generator.dart that imports:
  • package:json_serializable/src/type_helpers/uri_helper.dart that imports:
  • package:json_serializable/src/type_helpers/to_from_string.dart that imports:
  • package:json_serializable/src/default_container.dart that imports:
  • package:json_serializable/src/utils.dart that imports:
  • package:json_serializable/src/shared_checkers.dart that imports:
  • package:source_helper/source_helper.dart that imports:
  • package:source_helper/src/dart_type_extension.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:json_serializable/json_serializable.dart that imports:
  • package:json_serializable/src/json_serializable_generator.dart that imports:
  • package:json_serializable/src/type_helpers/uri_helper.dart that imports:
  • package:json_serializable/src/type_helpers/to_from_string.dart that imports:
  • package:json_serializable/src/default_container.dart that imports:
  • package:json_serializable/src/utils.dart that imports:
  • package:json_serializable/src/shared_checkers.dart that imports:
  • package:source_helper/source_helper.dart that imports:
  • package:source_helper/src/dart_type_extension.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:json_serializable/json_serializable.dart that imports:
  • package:json_serializable/src/json_serializable_generator.dart that imports:
  • package:json_serializable/src/type_helpers/uri_helper.dart that imports:
  • package:json_serializable/src/type_helpers/to_from_string.dart that imports:
  • package:json_serializable/src/default_container.dart that imports:
  • package:json_serializable/src/utils.dart that imports:
  • package:json_serializable/src/type_helpers/config_types.dart that imports:
  • package:analyzer/dart/constant/value.dart that imports:
  • package:analyzer/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.dart that imports:
  • package:analyzer/src/summary2/reference.dart that imports:
  • package:analyzer/dart/element/element.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/generated/resolver.dart that imports:
  • package:analyzer/src/generated/static_type_analyzer.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/dart/resolver/flow_analysis_visitor.dart that imports:
  • package:analyzer/src/dart/element/type_schema.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/named_type_builder.dart that imports:
  • package:analyzer/src/summary2/link.dart that imports:
  • package:analyzer/src/summary2/top_level_inference.dart that imports:
  • package:analyzer/src/task/strong_mode.dart that imports:
  • package:analyzer/src/dart/element/inheritance_manager3.dart that imports:
  • package:analyzer/src/dart/element/member.dart that imports:
  • package:analyzer/dart/analysis/session.dart that imports:
  • package:analyzer/file_system/file_system.dart that imports:
  • package:watcher/watcher.dart that imports:
  • package:watcher/src/file_watcher/polling.dart that imports:
  • package:watcher/src/stat.dart that imports:
  • dart:io

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:json_serializable/json_serializable.dart that imports:
  • package:json_serializable/src/json_serializable_generator.dart that imports:
  • package:json_serializable/src/type_helpers/uri_helper.dart that imports:
  • package:json_serializable/src/type_helpers/to_from_string.dart that imports:
  • package:json_serializable/src/default_container.dart that imports:
  • package:json_serializable/src/utils.dart that imports:
  • package:json_serializable/src/type_helpers/config_types.dart that imports:
  • package:analyzer/dart/constant/value.dart that imports:
  • package:analyzer/dart/element/type.dart that imports:
  • package:analyzer/src/dart/element/type.dart that imports:
  • package:analyzer/src/generated/utilities_dart.dart that imports:
  • package:analyzer/src/dart/element/element.dart that imports:
  • package:analyzer/src/summary2/reference.dart that imports:
  • package:analyzer/dart/element/element.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/dart/ast/ast.dart that imports:
  • package:analyzer/src/dart/ast/ast.dart that imports:
  • package:analyzer/src/generated/resolver.dart that imports:
  • package:analyzer/src/generated/static_type_analyzer.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/dart/resolver/flow_analysis_visitor.dart that imports:
  • package:analyzer/src/dart/element/type_schema.dart that imports:
  • package:analyzer/src/dart/element/type_visitor.dart that imports:
  • package:analyzer/src/summary2/named_type_builder.dart that imports:
  • package:analyzer/src/summary2/link.dart that imports:
  • package:analyzer/src/summary2/top_level_inference.dart that imports:
  • package:analyzer/src/task/strong_mode.dart that imports:
  • package:analyzer/src/dart/element/inheritance_manager3.dart that imports:
  • package:analyzer/src/dart/element/member.dart that imports:
  • package:analyzer/dart/analysis/session.dart that imports:
  • package:analyzer/file_system/file_system.dart that imports:
  • package:watcher/watcher.dart that imports:
  • package:watcher/src/file_watcher/polling.dart that imports:
  • package:watcher/src/stat.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.

OK
Pass static analysis
50 / 50trigger folding of the section

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

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

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

Package Constraint Compatible Latest
analyzer ^6.5.0 6.8.0 7.0.0
async ^2.10.0 2.12.0 2.12.0
build ^2.4.1 2.4.1 2.4.1
build_config ^1.1.0 1.1.1 1.1.1
collection ^1.17.0 1.19.1 1.19.1
json_annotation >=4.9.0 <4.10.0 4.9.0 4.9.0
meta ^1.14.0 1.16.0 1.16.0
path ^1.9.0 1.9.1 1.9.1
pub_semver ^2.1.4 2.1.4 2.1.4
pubspec_parse ^1.0.0 1.3.0 1.3.0
source_gen ^1.4.0 1.5.0 1.5.0
source_helper ^1.3.4 1.3.4 1.3.4
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 73.0.0 77.0.0
_macros - 0.3.2 0.3.2
args - 2.6.0 2.6.0
checked_yaml - 2.0.3 2.0.3
convert - 3.1.2 3.1.2
crypto - 3.0.6 3.0.6
dart_style - 2.3.7 2.3.7
file - 7.0.1 7.0.1
glob - 2.1.2 2.1.2
logging - 1.3.0 1.3.0
macros - 0.1.2-main.4 0.1.3-main.0
package_config - 2.1.0 2.1.0
source_span - 1.10.0 1.10.0
string_scanner - 1.4.0 1.4.0
term_glyph - 1.2.1 1.2.1
typed_data - 1.4.0 1.4.0
watcher - 1.1.0 1.1.0
yaml - 3.1.2 3.1.2

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

The constraint `^6.5.0` on analyzer does not support the stable version `7.0.0`, that was published 0 days ago.

When analyzer is 30 days old, this package will no longer be awarded points in this category.

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

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

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.15, Dart 3.5.4.

Check the analysis log for details.