sonnet_linter 0.1.1 copy "sonnet_linter: ^0.1.1" to clipboard
sonnet_linter: ^0.1.1 copied to clipboard

Lints Flutter apps for strings that could be internationalized using Sonnet

0
likes
105/ 160
pub points
238
downloads

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

failed
Follow Dart file conventions
25 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

0/5 points: Provide a valid README.md

`README.md` is empty.

The README.md file should inform others about your project, what it does, and how they can use it. Check out the guidelines on Writing great package pages.

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: Apache-2.0.

failed
Provide documentation
10 / 20trigger folding of the section

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

OUT: Documenting sonnet_linter... Discovering libraries... Linking elements... ERR: dartdoc 8.3.1 (/tmp/analyzerOJARCD/pub-cache/global_packages/dartdoc/bin/dartdoc.dart-3.6.0.snapshot) failed: LateInitializationError: Field 'objectClass' has not been initialized. #0 PackageGraph.objectClass (package:dartdoc/src/model/package_graph.dart) #1 Mixin.superclassConstraints.

10/10 points: Package has an example

failed
Platform support
0 / 20trigger folding of the section

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

These platforms are not supported:

Package not compatible with platform Android

Because:

  • package:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/fixes/add_sonnet_import.dart that imports:
  • package:sonnet_linter/src/utilities/source_replacer.dart that imports:
  • package:sonnet_linter/src/models/diagnostic.dart that imports:
  • package:string_literal_finder/string_literal_finder.dart that imports:
  • package:string_literal_finder/src/string_literal_finder.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:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/fixes/add_sonnet_import.dart that imports:
  • package:sonnet_linter/src/utilities/source_replacer.dart that imports:
  • package:sonnet_linter/src/models/diagnostic.dart that imports:
  • package:string_literal_finder/string_literal_finder.dart that imports:
  • package:string_literal_finder/src/string_literal_finder.dart that imports:
  • package:source_gen/source_gen.dart that imports:
  • package:source_gen/src/type_checker.dart that imports:
  • dart:mirrors
Package does not support platform `Windows`.

Because:

  • package:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/fixes/add_sonnet_import.dart that imports:
  • package:sonnet_linter/src/utilities/source_replacer.dart that imports:
  • package:sonnet_linter/src/models/diagnostic.dart that imports:
  • package:sonnet_linter/src/forks/casing.dart that imports:
  • package:number_to_character/number_to_character.dart that declares support for platforms: Android, iOS.
Package does not support platform `Linux`.

Because:

  • package:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/fixes/add_sonnet_import.dart that imports:
  • package:sonnet_linter/src/utilities/source_replacer.dart that imports:
  • package:sonnet_linter/src/models/diagnostic.dart that imports:
  • package:sonnet_linter/src/forks/casing.dart that imports:
  • package:number_to_character/number_to_character.dart that declares support for platforms: Android, iOS.
Package does not support platform `macOS`.

Because:

  • package:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/fixes/add_sonnet_import.dart that imports:
  • package:sonnet_linter/src/utilities/source_replacer.dart that imports:
  • package:sonnet_linter/src/models/diagnostic.dart that imports:
  • package:sonnet_linter/src/forks/casing.dart that imports:
  • package:number_to_character/number_to_character.dart that declares support for platforms: Android, iOS.
Package does not support platform `Web`.

Because:

  • package:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/fixes/add_sonnet_import.dart that imports:
  • package:sonnet_linter/src/utilities/source_replacer.dart that imports:
  • package:sonnet_linter/src/models/diagnostic.dart that imports:
  • package:sonnet_linter/src/forks/casing.dart that imports:
  • package:number_to_character/number_to_character.dart that declares support for platforms: Android, iOS.

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:sonnet_linter/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/sonnet_linter.dart that imports:
  • package:sonnet_linter/src/lints/import_sonnet_lint.dart that imports:
  • package:sonnet_linter/src/lints/testable_dart_rule.dart that imports:
  • package:custom_lint_builder/custom_lint_builder.dart that imports:
  • package:custom_lint_core/custom_lint_core.dart that imports:
  • package:custom_lint_core/src/type_checker.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/task/api/model.dart that imports:
  • package:analyzer/src/generated/source.dart that imports:
  • package:analyzer/src/generated/engine.dart that imports:
  • package:analyzer/error/listener.dart that imports:
  • package:analyzer/error/error.dart that imports:
  • package:analyzer/src/error/error_code_values.g.dart that imports:
  • package:analyzer/src/generated/parser.dart that imports:
  • package:analyzer/src/fasta/ast_builder.dart that imports:
  • package:analyzer/src/dart/ast/extensions.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/resolver/invocation_inference_helper.dart that imports:
  • package:analyzer/src/dart/resolver/invocation_inferrer.dart that imports:
  • package:analyzer/src/dart/element/type_system.dart that imports:
  • package:analyzer/src/dart/element/well_bounded.dart that imports:
  • package:analyzer/src/dart/element/type_algebra.dart that imports:
  • package:analyzer/src/summary2/record_type_builder.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:analyzer/src/file_system/file_system.dart that imports:
  • package:analyzer/src/util/uri.dart that imports:
  • package:analyzer/src/summary/package_bundle_reader.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

Found 4 issues. Showing the first 2:

INFO: Statements in an if should be enclosed in a block.

lib/src/forks/ast_extensions.dart:60:60

   ╷
60 │             .any((element) => element is AdjacentStrings)) return true;
   │                                                            ^^^^^^^^^^^^
   ╵

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

INFO: The variable name 'IGNORE_MATCHER' isn't a lowerCamelCase identifier.

lib/src/forks/ignore_info.dart:89:23

   ╷
89 │   static final RegExp IGNORE_MATCHER = RegExp(r'//+[ ]*ignore:');
   │                       ^^^^^^^^^^^^^^
   ╵

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

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

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

Package Constraint Compatible Latest
_fe_analyzer_shared ^61.0.0 61.0.0 78.0.0
analyzer ^5.13.0 5.13.0 7.1.0
analyzer_plugin ^0.11.2 0.11.2 0.12.0
collection ^1.18.0 1.19.0 1.19.1
custom_lint ^0.6.0 0.6.2 0.7.1
custom_lint_builder ^0.6.1 0.6.1 0.7.1
meta ^1.11.0 1.15.0 1.16.0
number_to_character ^0.0.12 0.0.12 0.0.12
path ^1.9.0 1.9.1 1.9.1
pubspec_parse ^1.3.0 1.5.0 1.5.0
sonnet ^0.1.0 0.1.0 0.1.0
sonnet_generator ^0.1.2 0.1.2 0.1.2
source_gen ^1.5.0 1.5.0 2.0.0
string_literal_finder ^1.3.0 1.3.0+2 1.3.0+2
string_literal_finder_annotations ^1.0.0 1.0.0 1.0.0
yaml ^3.1.2 3.1.3 3.1.3
Transitive dependencies
Package Constraint Compatible Latest
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
boolean_selector - 2.1.2 2.1.2
build - 2.4.1 2.4.2
characters - 1.3.0 1.4.0
checked_yaml - 2.0.3 2.0.3
ci - 0.1.0 0.1.0
cli_util - 0.4.2 0.4.2
clock - 1.1.2 1.1.2
convert - 3.1.2 3.1.2
crypto - 3.0.6 3.0.6
custom_lint_core - 0.6.1 0.7.1
dart_style - 2.3.2 3.0.1
dio - 5.7.0 5.7.0
dio_web_adapter - 2.0.0 2.0.0
ffi - 2.1.3 2.1.3
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
flutter - 0.0.0 0.0.0
flutter_web_plugins - 0.0.0 0.0.0
freezed_annotation - 2.4.4 2.4.4
glob - 2.1.2 2.1.2
hotreloader - 4.2.0 4.2.0
http_parser - 4.1.2 4.1.2
intl - 0.18.1 0.20.1
intl_generator - 0.4.1 0.4.1
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
logging_appenders - 1.3.1 1.3.1
matcher - 0.12.17 0.12.17
material_color_utilities - 0.11.1 0.12.0
package_config - 2.1.1 2.1.1
path_provider_linux - 2.2.1 2.2.1
path_provider_platform_interface - 2.1.2 2.1.2
path_provider_windows - 2.3.0 2.3.0
petitparser - 5.4.0 6.0.2
platform - 3.1.6 3.1.6
plugin_platform_interface - 2.1.8 2.1.8
pub_semver - 2.1.5 2.1.5
recase - 4.1.0 4.1.0
rxdart - 0.27.7 0.28.0
shared_preferences - 2.3.5 2.3.5
shared_preferences_android - 2.4.0 2.4.0
shared_preferences_foundation - 2.5.4 2.5.4
shared_preferences_linux - 2.4.1 2.4.1
shared_preferences_platform_interface - 2.4.1 2.4.1
shared_preferences_web - 2.4.2 2.4.2
shared_preferences_windows - 2.4.1 2.4.1
sky_engine - 0.0.0 0.0.0
source_span - 1.10.1 1.10.1
sprintf - 7.0.0 7.0.0
stack_trace - 1.12.1 1.12.1
stream_channel - 2.1.4 2.1.4
stream_transform - 2.1.1 2.1.1
string_scanner - 1.4.1 1.4.1
term_glyph - 1.2.2 1.2.2
test_api - 0.7.4 0.7.4
typed_data - 1.4.0 1.4.0
uuid - 4.5.1 4.5.1
vector_math - 2.1.4 2.1.4
vm_service - 14.3.1 15.0.0
watcher - 1.1.1 1.1.1
web - 1.1.0 1.1.0
xdg_directories - 1.1.0 1.1.0

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

Found 6 issues. Showing the first 2:

The constraint `^61.0.0` on _fe_analyzer_shared does not support the stable version `62.0.0`.

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

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

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.17, Dart 3.6.0.

Check the analysis log for details.