theme_extensions_builder 3.1.0 copy "theme_extensions_builder: ^3.1.0" to clipboard
theme_extensions_builder: ^3.1.0 copied to clipboard

Code generator for Flutter's 3.0 ThemeExtension classes. theme_extensions_builder generator helps to minimize the required boilerplate code.

9
likes
150/ 160
pub points
57%
popularity

We analyzed this package 2 days ago, and awarded it 150 pub points (of a possible 160):

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

10/10 points: Provide a valid pubspec.yaml

Issue tracker URL doesn't exist.

At the time of the analysis https://github.com/pro100andrey/theme_extensions_builder/issues was unreachable. Make sure that the website is reachable via HEAD requests.

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: MIT.

OK
Provide documentation
20 / 20trigger folding of the section

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

2 out of 3 API elements (66.7 %) have documentation comments.

Some symbols that are missing documentation: builder.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

  • ✓ Web

These issues are present but do not affect the score, because they may not originate in your package:

Package not compatible with platform Android

Because:

  • package:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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 Windows

Because:

  • package:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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 Linux

Because:

  • package:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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 macOS

Because:

  • package:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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:theme_extensions_builder/theme_extensions_builder.dart that imports:
  • package:theme_extensions_builder/builder.dart that imports:
  • package:theme_extensions_builder/src/generator/theme_extensions_builder_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.

partial
Pass static analysis
40 / 50trigger folding of the section

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

INFO: 'withNullability' is deprecated and shouldn't be used. Only non-nullable by default mode is supported.

lib/src/generator/theme_extensions_builder_generator.dart:84:49

   ╷
84 │         typeName: element.type.getDisplayString(withNullability: true),
   │                                                 ^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/generator/theme_extensions_builder_generator.dart

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 >=5.14.0 <7.0.0 6.7.0 6.9.0
build ^2.4.1 2.4.1 2.4.1
build_config ^1.1.1 1.1.1 1.1.1
flutter flutter 0.0.0 0.0.0
meta ^1.11.0 1.15.0 1.15.0
source_gen ^1.5.0 1.5.0 1.5.0
theme_extensions_builder_annotation ^3.1.0 3.1.0 3.1.0
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 72.0.0 74.0.0
_macros - 0.3.2 0.3.2
args - 2.5.0 2.5.0
async - 2.11.0 2.11.0
characters - 1.3.0 1.3.0
checked_yaml - 2.0.3 2.0.3
collection - 1.18.0 1.19.0
convert - 3.1.1 3.1.1
crypto - 3.0.5 3.0.5
dart_style - 2.3.6 2.3.6
file - 7.0.0 7.0.0
glob - 2.1.2 2.1.2
json_annotation - 4.9.0 4.9.0
logging - 1.2.0 1.2.0
macros - 0.1.2-main.4 0.1.3-main.0
material_color_utilities - 0.11.1 0.12.0
package_config - 2.1.0 2.1.0
path - 1.9.0 1.9.0
pub_semver - 2.1.4 2.1.4
pubspec_parse - 1.3.0 1.3.0
sky_engine - 0.0.99 0.0.99
source_span - 1.10.0 1.10.0
string_scanner - 1.3.0 1.3.0
term_glyph - 1.2.1 1.2.1
typed_data - 1.3.2 1.3.2
vector_math - 2.1.4 2.1.4
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.

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.12, Flutter 3.24.1, Dart 3.5.1.

Check the analysis log for details.

9
likes
150
pub points
57%
popularity

Publisher

verified publisherpro100.dev

Code generator for Flutter's 3.0 ThemeExtension classes. theme_extensions_builder generator helps to minimize the required boilerplate code.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

analyzer, build, build_config, flutter, meta, source_gen, theme_extensions_builder_annotation

More

Packages that depend on theme_extensions_builder