meta_expression 0.2.1 copy "meta_expression: ^0.2.1" to clipboard
meta_expression: ^0.2.1 copied to clipboard

A meta-expression is one of a kind of (code generator-based) macros.

3
likes
70/ 160
pub points
0%
popularity

We analyzed this package 7 days ago, and awarded it 70 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.

failed
Provide documentation
0 / 20trigger folding of the section

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

1 out of 9 API elements (11.1 %) 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: builder, builder.MetaExpressionLibraryGenerator, builder.MetaExpressionLibraryGenerator.MetaExpressionLibraryGenerator, builder.metaExpression, meta_expression_generator.

0/10 points: Package has an example

No example found.

See package layout guidelines on how to add 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:meta_expression/builder.dart that imports:
  • package:meta_expression/src/_internal/regular_library_builder.dart that imports:
  • package:meta_expression/src/_internal/library_transformer.dart that imports:
  • package:meta_expression/src/_internal/compilation_unit_transformer.dart that imports:
  • package:meta_expression/src/_internal/annotation_analyzer.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:meta_expression/builder.dart that imports:
  • package:meta_expression/src/_internal/regular_library_builder.dart that imports:
  • package:meta_expression/src/_internal/library_transformer.dart that imports:
  • package:meta_expression/src/_internal/compilation_unit_transformer.dart that imports:
  • package:meta_expression/src/_internal/annotation_analyzer.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:meta_expression/builder.dart that imports:
  • package:meta_expression/src/_internal/remote_instance.dart that imports:
  • dart:isolate

0/0 points: WASM compatibility

Unable to detect compatibility with runtime wasm, and this package 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
0 / 50trigger folding of the section

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

Found 10 issues. Showing the first 2:

ERROR: The method 'item2' can't be unconditionally invoked because the receiver can be 'null'.

lib/builder.dart:44:14

   ╷
44 │     instance.item2();
   │              ^^^^^
   ╵

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

ERROR: The argument type 'CatchClauseParameter' can't be assigned to the parameter type 'SimpleIdentifier'.

lib/src/_internal/local_scope_analyzer.dart:38:23

   ╷
38 │       _addDeclaration(exceptionParameter);
   │                       ^^^^^^^^^^^^^^^^^^
   ╵

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

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

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

Package Constraint Compatible Latest
_fe_analyzer_shared any 73.0.0 76.0.0
analyzer any 6.8.0 6.11.0
build any 2.4.1 2.4.1
dart_style any 2.3.7 2.3.7
logging any 1.3.0 1.3.0
meta_expression_annotation ^0.2.1 0.2.1 0.2.1
path any 1.9.1 1.9.1
source_gen any 1.5.0 1.5.0
source_helper any 1.3.4 1.3.4
source_span any 1.10.0 1.10.0
tuple any 2.0.2 2.0.2
Transitive dependencies
Package Constraint Compatible Latest
_macros - 0.3.2 0.3.2
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
crypto - 3.0.6 3.0.6
file - 7.0.1 7.0.1
glob - 2.1.2 2.1.2
macros - 0.1.2-main.4 0.1.3-main.0
meta - 1.16.0 1.16.0
package_config - 2.1.0 2.1.0
pub_semver - 2.1.4 2.1.4
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.

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 14 errors:

  • UNCHECKED_USE_OF_NULLABLE_VALUE - lib/builder.dart:44:14 - The method 'item2' can't be unconditionally invoked because the receiver can be 'null'.
  • ARGUMENT_TYPE_NOT_ASSIGNABLE - lib/builder.dart:236:18 - The argument type 'List<LibraryElement?>' can't be assigned to the parameter type 'List
  • UNCHECKED_USE_OF_NULLABLE_VALUE - lib/src/_internal/library_transformer.dart:37:30 - A nullable expression can't be used as an iterator in a for-in loop.

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.

3
likes
70
pub points
0%
popularity

Publisher

unverified uploader

A meta-expression is one of a kind of (code generator-based) macros.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

_fe_analyzer_shared, analyzer, build, dart_style, logging, meta_expression_annotation, path, source_gen, source_helper, source_span, tuple

More

Packages that depend on meta_expression