Skip to content

Merge branch 'main' into feat/spm #3296

Merge branch 'main' into feat/spm

Merge branch 'main' into feat/spm #3296

GitHub Actions / Analysis of sentry_flutter succeeded Nov 11, 2024 in 1m 57s

Package analysis results for sentry_flutter

Score

140/160 points
(87.5%)

Supported platforms

  • Flutter
    • android
    • ios
    • windows
    • linux
    • macos
    • web

Details

Follow Dart file conventions (30/30)

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

Provide documentation (20/20)

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

807 out of 1311 API elements (61.6 %) have documentation comments.

Some symbols that are missing documentation: sentry_flutter.AdditionalInfoExtractor, sentry_flutter.Breadcrumb.Breadcrumb.console, sentry_flutter.Breadcrumb.Breadcrumb.http, sentry_flutter.Breadcrumb.Breadcrumb.userInteraction, sentry_flutter.Breadcrumb.copyWith.

✔ 10/10 points: Package has an example

Platform support (20/20)

✔ 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 does not support platform `Android`.

Because:

  • package:sentry_flutter/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/on_error_integration.dart that imports:
  • package:sentry_flutter/src/sentry_flutter_options.dart that imports:
  • package:sentry_flutter/src/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/integrations.dart that imports:
  • package:sentry_flutter/src/integrations/load_release_integration.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `iOS`.

Because:

  • package:sentry_flutter/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/on_error_integration.dart that imports:
  • package:sentry_flutter/src/sentry_flutter_options.dart that imports:
  • package:sentry_flutter/src/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/integrations.dart that imports:
  • package:sentry_flutter/src/integrations/load_release_integration.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `Linux`.

Because:

  • package:sentry_flutter/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/on_error_integration.dart that imports:
  • package:sentry_flutter/src/sentry_flutter_options.dart that imports:
  • package:sentry_flutter/src/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/integrations.dart that imports:
  • package:sentry_flutter/src/integrations/load_release_integration.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `macOS`.

Because:

  • package:sentry_flutter/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/on_error_integration.dart that imports:
  • package:sentry_flutter/src/sentry_flutter_options.dart that imports:
  • package:sentry_flutter/src/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/integrations.dart that imports:
  • package:sentry_flutter/src/integrations/load_release_integration.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package not compatible with platform Web

Because:

  • package:sentry_flutter/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/on_error_integration.dart that imports:
  • package:sentry_flutter/src/sentry_flutter_options.dart that imports:
  • package:sentry_flutter/src/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/integrations/integrations.dart that imports:
  • package:sentry_flutter/src/integrations/load_release_integration.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_linux.dart that imports:
  • dart:io

❌ 0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:sentry_flutter/sentry_flutter.dart that imports:
  • package:sentry_flutter/src/navigation/sentry_display_widget.dart that imports:
  • package:sentry_flutter/src/navigation/time_to_initial_display_tracker.dart that imports:
  • package:sentry/src/sentry_tracer.dart that imports:
  • package:sentry/src/sentry_tracer_finish_status.dart that imports:
  • package:sentry/sentry.dart that imports:
  • package:sentry/src/type_check_hint.dart that imports:
  • package:sentry/src/http_client/failed_request_client.dart that imports:
  • package:sentry/src/http_client/sentry_http_client.dart that imports:
  • package:sentry/src/http_client/breadcrumb_client.dart that imports:
  • package:sentry/src/hub_adapter.dart that imports:
  • package:sentry/src/sentry.dart that imports:
  • package:sentry/src/dart_exception_type_identifier.dart that imports:
  • package:sentry/src/dart_exception_type_identifier_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.

Pass static analysis (50/50)

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

Support up-to-date dependencies (20/40)

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

Package Constraint Compatible Latest
ffi ^2.0.0 2.1.3 2.1.3
file >=6.1.4 7.0.1 7.0.1
flutter flutter 0.0.0 0.0.0
flutter_web_plugins flutter 0.0.0 0.0.0
meta ^1.3.0 1.15.0 1.16.0
package_info_plus >=1.0.0 8.1.1 8.1.1
sentry /github/workspace/dart 8.10.1 8.10.1
Transitive dependencies
Package Constraint Compatible Latest
async - 2.12.0 2.12.0
characters - 1.3.0 1.3.1
clock - 1.1.2 1.1.2
collection - 1.18.0 1.19.1
crypto - 3.0.6 3.0.6
fixnum - 1.1.1 1.1.1
http - 1.2.2 1.2.2
http_parser - 4.0.2 4.1.1
material_color_utilities - 0.11.1 0.12.0
package_info_plus_platform_interface - 3.0.1 3.0.1
path - 1.9.1 1.9.1
plugin_platform_interface - 2.1.8 2.1.8
sky_engine - 0.0.99 0.0.99
source_span - 1.10.0 1.10.0
sprintf - 7.0.0 7.0.0
stack_trace - 1.12.0 1.12.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
uuid - 4.5.1 4.5.1
vector_math - 2.1.4 2.1.4
web - 1.1.0 1.1.0
win32 - 5.8.0 5.8.0

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

  • URI_DOES_NOT_EXIST - lib/src/event_processor/url_filter/web_url_filter_event_processor.dart:3:8 - Target of URI doesn't exist: 'package:web/web.dart'.
  • URI_DOES_NOT_EXIST - lib/src/integrations/connectivity/web_connectivity_provider.dart:5:8 - Target of URI doesn't exist: 'package:web/web.dart'.

Run flutter pub downgrade and then flutter 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.

Versions