firebase_dart 1.2.3 copy "firebase_dart: ^1.2.3" to clipboard
firebase_dart: ^1.2.3 copied to clipboard

A port of the Firebase database, auth and storage client to pure Dart code, usable on different platforms

125
likes
130/ 160
pub points
90%
popularity

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

OK
Provide documentation
20 / 20trigger folding of the section

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

424 out of 707 API elements (60.0 %) have documentation comments.

Some symbols that are missing documentation: firebase_auth, firebase_core, firebase_dart, firebase_dart.EmailAuthCredential.EmailAuthCredential.fromJson, firebase_dart.EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Web

Because:

  • package:firebase_dart/firebase_dart.dart that imports:
  • package:firebase_dart/core.dart that imports:
  • package:firebase_dart/src/core.dart that imports:
  • package:firebase_dart/src/implementation.dart that imports:
  • package:firebase_dart/auth.dart that imports:
  • package:firebase_dart/src/auth/auth.dart that imports:
  • package:firebase_dart/src/auth/recaptcha_verifier.dart that imports:
  • package:firebase_dart/src/auth/recaptcha_verifier_web.dart that imports:
  • package:firebase_dart/src/auth/impl/auth.dart that imports:
  • package:firebase_dart/src/auth/impl/user.dart that imports:
  • package:firebase_dart/src/auth/authhandlers.dart that imports:
  • package:firebase_dart/src/implementation/isolate/auth.dart that imports:
  • package:firebase_dart/src/implementation/isolate/util.dart that imports:
  • dart:isolate

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:firebase_dart/firebase_dart.dart that imports:
  • package:firebase_dart/core.dart that imports:
  • package:firebase_dart/src/core.dart that imports:
  • package:firebase_dart/src/implementation.dart that imports:
  • package:firebase_dart/auth.dart that imports:
  • package:firebase_dart/src/auth/auth.dart that imports:
  • package:firebase_dart/src/auth/recaptcha_verifier.dart that imports:
  • package:firebase_dart/src/auth/recaptcha_verifier_io.dart that imports:
  • package:firebase_dart/src/auth/impl/auth.dart that imports:
  • package:firebase_dart/src/auth/impl/user.dart that imports:
  • package:firebase_dart/src/auth/authhandlers.dart that imports:
  • package:firebase_dart/src/implementation/isolate/auth.dart that imports:
  • package:firebase_dart/src/implementation/isolate/util.dart that imports:
  • dart:isolate

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 43 issues. Showing the first 2:

INFO: The import of '../core.dart' is unnecessary because all of the used elements are also provided by the import of '../src/core.dart'.

lib/implementation/pure_dart.dart:15:8

   ╷
15 │ import '../core.dart';
   │        ^^^^^^^^^^^^^^
   ╵

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

INFO: 'allProviders' is deprecated and shouldn't be used. Not supported. Member documentation may have more information.

lib/src/auth/backend/backend.dart:92:9

   ╷
92 │       ..allProviders = [for (var p in user.providerUserInfo!) p.providerId!]
   │         ^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/auth/backend/backend.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
_discoveryapis_commons ^1.0.0 1.0.7 1.0.7
async ^2.5.0 2.12.0 2.12.0
clock ^1.1.0 1.1.2 1.1.2
collection ^1.15.0 1.19.1 1.19.1
crypto ^3.0.0 3.0.6 3.0.6
expressions ^0.2.2 0.2.5+2 0.2.5+2
firebaseapis >=0.1.2 <0.3.0 0.2.0 0.2.0
hive ^2.0.0 2.2.3 2.2.3
http >=0.13.0 <2.0.0 1.2.2 1.2.2
intl >=0.17.0 <0.20.0 0.19.0 0.20.0
jose ^0.3.2 0.3.4 0.3.4
js >=0.6.3 <0.8.0 0.7.1 0.7.1
logging ^1.0.0 1.3.0 1.3.0
meta ^1.3.0 1.16.0 1.16.0
openid_client ^0.4.3 0.4.8 0.4.8
quiver ^3.0.0 3.2.2 3.2.2
rxdart >=0.27.0 <0.29.0 0.28.0 0.28.0
sortedmap ^0.5.2 0.5.4 0.5.4
stream_channel ^2.1.0 2.1.2 2.1.2
synchronized ^3.0.0 3.3.0+3 3.3.0+3
uuid >=3.0.1 <5.0.0 4.5.1 4.5.1
web_socket_channel >=2.0.0 <4.0.0 3.0.1 3.0.1
Transitive dependencies
Package Constraint Compatible Latest
args - 2.6.0 2.6.0
asn1lib - 1.5.8 1.5.8
boolean_selector - 2.1.2 2.1.2
convert - 3.1.2 3.1.2
crypto_keys - 0.3.0+1 0.3.0+1
fixnum - 1.1.1 1.1.1
http_parser - 4.1.1 4.1.1
matcher - 0.12.17 0.12.17
path - 1.9.1 1.9.1
petitparser - 6.0.2 6.0.2
pointycastle - 3.9.1 3.9.1
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
test_api - 0.7.3 0.7.3
typed_data - 1.4.0 1.4.0
web - 1.1.0 1.1.0
web_socket - 0.1.6 0.1.6
x509 - 0.2.4+3 0.2.4+3

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

The constraint `>=0.17.0 <0.20.0` on intl does not support the stable version `0.20.0`, that was published 6 days ago.

When intl is 30 days old, this package will no longer be awarded points in this category.

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

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 1 error:

  • UNDEFINED_GETTER - lib/src/database/impl/connections/protocol/transport.dart:35:16 - The getter 'ready' isn't defined for the type 'WebSocketChannel'.

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.

125
likes
130
pub points
90%
popularity

Publisher

verified publisherappsup.be

A port of the Firebase database, auth and storage client to pure Dart code, usable on different platforms

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

_discoveryapis_commons, async, clock, collection, crypto, expressions, firebaseapis, hive, http, intl, jose, js, logging, meta, openid_client, quiver, rxdart, sortedmap, stream_channel, synchronized, uuid, web_socket_channel

More

Packages that depend on firebase_dart