base_frame 1.0.2
base_frame: ^1.0.2 copied to clipboard
A comprehensive Flutter base architecture plugin providing BLoC pattern implementation, network handling, localization, dependency injection, and reusable UI components for rapid app development.
We analyzed this package 25 hours ago, and awarded it 105 pub points (of a possible 160):
0/10 points: Provide a valid pubspec.yaml
The package description is too long.
Search engines display only the first part of the description. Try to keep the value of the description field in your package's pubspec.yaml file between 60 and 180 characters.
-
pubspec.yamldoesn't have ahomepageentry. -
pubspec.yamldoesn't have arepositoryentry.
5/5 points: Provide a valid README.md
0/5 points: Provide a valid CHANGELOG.md
`CHANGELOG.md` does not contain reference to the current version ("1.0.2").
Changelog entries help developers follow the progress of your package. Check out the Dart conventions for Maintaining a package changelog.
10/10 points: Use an OSI-approved license
Detected license: MIT.
10/10 points: 20% or more of the public API has dartdoc comments
1155 out of 1605 API elements (72.0 %) have documentation comments.
Some symbols that are missing documentation: api_imports, app_routes_service, app_routes_service.AppRoutesService, app_routes_service.AppRoutesService.AppRoutesService.new, app_routes_service.AppRoutesService.isAuthenticated.
10/10 points: Package has an example
10/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:base_frame/api/entities/common.dartthat imports:package:base_frame/imports/dart_package_imports.dartthat imports:package:connectivity_plus/connectivity_plus.dartthat imports:package:connectivity_plus/src/connectivity_plus_linux.dartthat imports:package:nm/nm.dartthat declares support for platforms:Linux.
Package does not support platform `iOS`.
Because:
package:base_frame/api/entities/common.dartthat imports:package:base_frame/imports/dart_package_imports.dartthat imports:package:connectivity_plus/connectivity_plus.dartthat imports:package:connectivity_plus/src/connectivity_plus_linux.dartthat imports:package:nm/nm.dartthat declares support for platforms:Linux.
Package does not support platform `Windows`.
Because:
package:base_frame/api/entities/common.dartthat imports:package:base_frame/imports/dart_package_imports.dartthat imports:package:connectivity_plus/connectivity_plus.dartthat imports:package:connectivity_plus/src/connectivity_plus_linux.dartthat imports:package:nm/nm.dartthat declares support for platforms:Linux.
Package not compatible with platform Linux
Because:
package:base_frame/base_frame_web.dartthat imports:package:web/web.dartthat imports:package:web/src/helpers.dartthat imports:package:web/src/helpers/http.dartthat imports:package:web/src/helpers/events/events.dartthat imports:package:web/src/helpers/events/streams.dartthat imports:package:web/src/dom.dartthat imports:package:web/src/dom/xhr.dartthat imports:package:web/src/dom/html.dartthat imports:package:web/src/dom/webmidi.dartthat imports:package:web/src/dom/hr_time.dartthat imports:package:web/src/dom/user_timing.dartthat imports:package:web/src/dom/performance_timeline.dartthat imports:dart:js_interop
Package does not support platform `macOS`.
Because:
package:base_frame/api/entities/common.dartthat imports:package:base_frame/imports/dart_package_imports.dartthat imports:package:connectivity_plus/connectivity_plus.dartthat imports:package:connectivity_plus/src/connectivity_plus_linux.dartthat imports:package:nm/nm.dartthat declares support for platforms:Linux.
Package not compatible with platform Web
Because:
package:base_frame/base_arch_controller/base_arch_controller.dartthat imports:package:base_frame/core/network/rest_api_client.dartthat imports:package:base_frame/core/logging.dartthat imports:package:logger/logger.dartthat imports:package:logger/src/outputs/advanced_file_output_stub.dartthat imports:dart:io
WASM compatibility:
Package not compatible with runtime wasm
Because:
package:base_frame/base_arch_controller/base_arch_controller.dartthat imports:package:base_frame/core/network/rest_api_client.dartthat imports:package:base_frame/core/logging.dartthat imports:package:logger/logger.dartthat imports:package:logger/src/outputs/advanced_file_output_stub.dartthat imports:dart:io
Note: This package supports Web but is not WASM-compatible, resulting in a partial score. See https://dart.dev/web/wasm for details.
Swift Package Manager support:
Package does not support the Swift Package Manager on macOS
It does not contain macos/base_frame/Package.swift.
Package does not support the Swift Package Manager on iOS
It does not contain ios/base_frame/Package.swift.
Note: This iOS or macOS plugin does not support the Swift Package Manager, resulting in a partial score. See https://docs.flutter.dev/to/spm for details.
40/50 points: code has no errors, warnings, lints, or formatting issues
Found 11 issues. Showing the first 2:
INFO: The type parameter name 'State' matches a visible type name.
lib/core/base_bloc.dart:7:32
╷
7 │ abstract class BaseBloc<Event, State> extends Bloc<Event, State> {
│ ^^^^^
╵
To reproduce make sure you are using the lints_core and run flutter analyze lib/core/base_bloc.dart
INFO: Missing type annotation.
lib/core/network/rest_api_client.dart:164:43
╷
164 │ Map<String, dynamic>? _getMapFromString(data) {
│ ^^^^
╵
To reproduce make sure you are using the lints_core and run flutter analyze lib/core/network/rest_api_client.dart
10/10 points: All of the package dependencies are supported in the latest version
| Package | Constraint | Compatible | Latest | Notes |
|---|---|---|---|---|
collection |
any |
1.19.1 | 1.19.1 | |
connectivity_plus |
any |
7.0.0 | 7.0.0 | |
dio |
any |
5.9.2 | 5.9.2 | |
flutter_bloc |
any |
9.1.1 | 9.1.1 | |
logger |
any |
2.7.0 | 2.7.0 | |
plugin_platform_interface |
any |
2.1.8 | 2.1.8 | |
rxdart |
any |
0.28.0 | 0.28.0 | |
web |
any |
1.1.1 | 1.1.1 |
Transitive dependencies
| Package | Constraint | Compatible | Latest | Notes |
|---|---|---|---|---|
args |
- | 2.7.0 | 2.7.0 | |
async |
- | 2.13.0 | 2.13.0 | |
bloc |
- | 9.2.0 | 9.2.0 | |
characters |
- | 1.4.1 | 1.4.1 | |
clock |
- | 1.1.2 | 1.1.2 | |
connectivity_plus_platform_interface |
- | 2.0.1 | 2.0.1 | |
dbus |
- | 0.7.12 | 0.7.12 | |
dio_web_adapter |
- | 2.1.2 | 2.1.2 | |
ffi |
- | 2.2.0 | 2.2.0 | |
http_parser |
- | 4.1.2 | 4.1.2 | |
material_color_utilities |
- | 0.13.0 | 0.13.0 | |
meta |
- | 1.17.0 | 1.18.1 | |
mime |
- | 2.0.0 | 2.0.0 | |
nested |
- | 1.0.0 | 1.0.0 | |
nm |
- | 0.5.0 | 0.5.0 | |
path |
- | 1.9.1 | 1.9.1 | |
petitparser |
- | 7.0.2 | 7.0.2 | |
provider |
- | 6.1.5+1 | 6.1.5+1 | |
source_span |
- | 1.10.2 | 1.10.2 | |
string_scanner |
- | 1.4.1 | 1.4.1 | |
term_glyph |
- | 1.2.2 | 1.2.2 | |
typed_data |
- | 1.4.0 | 1.4.0 | |
vector_math |
- | 2.2.0 | 2.2.0 | |
xml |
- | 6.6.1 | 6.6.1 |
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 19 errors:
TYPE_TEST_WITH_UNDEFINED_NAME-lib/core/error/failures.dart:36:22- The name 'DioException' isn't defined, so it can't be used in an 'is' expression.UNDEFINED_IDENTIFIER-lib/core/error/failures.dart:38:14- Undefined name 'DioExceptionType'.UNDEFINED_IDENTIFIER-lib/core/error/failures.dart:45:14- Undefined name 'DioExceptionType'.
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.
Analyzed with Pana 0.23.10, Flutter 3.41.4, Dart 3.11.1.
Check the analysis log for details.