drift_crdt 1.0.9 copy "drift_crdt: ^1.0.9" to clipboard
drift_crdt: ^1.0.9 copied to clipboard

A Flutter-only implementation of a drift CRDT database, based on the `sqlite_crdt` package and `sqflite`.

7
likes
100/ 160
pub points
38%
popularity

We analyzed this package 4 days ago, and awarded it 100 pub points (of a possible 160):

partial
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

Issue tracker URL doesn't exist.

At the time of the analysis https://github.com/JanezStupar/drift_crdt/issues was unreachable. Make sure that the website is reachable via HEAD requests.

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.

failed
Provide documentation
10 / 20trigger folding of the section

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

OUT: Documenting drift_crdt... Discovering libraries... Linking elements... Precaching local docs for 1269690 elements... Initialized dartdoc with 1598 libraries Generating docs for library serializable.dart from package:drift_crdt/serializable.dart... Generating docs for library lazy_database.dart from package:drift_crdt/lazy_database.dart... Generating docs for library drift_crdt.dart from package:drift_crdt/drift_crdt.dart... Documented 3 public libraries in 96.1 seconds ERR: warning: drift_crdt has no library level documentation comments from drift_crdt: (file:///tmp/pana_YMDRAP/lib/lazy_database.dart:1:9) error: file already written at "drift_crdt/drift_crdt-library.html" for symbol drift_crdt: (file:///tmp/pana_YMDRAP/lib/drift_crdt.dart:5:9) conflicting with file already generated by drift_crdt: (file:///tmp/pana_YMDRAP/lib/lazy_database.dart:1:9) Dartdoc generates a path and filename to write to for each symbol. 'drift_crdt' conflicts with another symbol in the generated path, and therefore can not be written out. Changing the name, library name, or class name (if appropriate) of one of the conflicting items can resolve the conflict. Alternatively, use the @nodoc directive in one symbol's [19 more lines]

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

Because:

  • package:drift_crdt/drift_crdt.dart that declares support for platforms: Android, iOS, Windows, Linux, macOS.

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:drift_crdt/drift_crdt.dart that imports:
  • package:synchroflite/synchroflite.dart that imports:
  • package:sqflite_common_ffi_web/sqflite_ffi_web.dart that declares support for platforms: Web.
Package does not support platform `iOS`.

Because:

  • package:drift_crdt/drift_crdt.dart that imports:
  • package:synchroflite/synchroflite.dart that imports:
  • package:sqflite_common_ffi_web/sqflite_ffi_web.dart that declares support for platforms: Web.
Package does not support platform `Windows`.

Because:

  • package:drift_crdt/drift_crdt.dart that imports:
  • package:synchroflite/synchroflite.dart that imports:
  • package:sqflite_common_ffi_web/sqflite_ffi_web.dart that declares support for platforms: Web.
Package does not support platform `Linux`.

Because:

  • package:drift_crdt/drift_crdt.dart that imports:
  • package:synchroflite/synchroflite.dart that imports:
  • package:sqflite_common_ffi_web/sqflite_ffi_web.dart that declares support for platforms: Web.
Package does not support platform `macOS`.

Because:

  • package:drift_crdt/drift_crdt.dart that imports:
  • package:synchroflite/synchroflite.dart that imports:
  • package:sqflite_common_ffi_web/sqflite_ffi_web.dart that declares support for platforms: Web.

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

ERROR: Missing concrete implementation of 'QueryExecutor.beginExclusive'.

lib/lazy_database.dart:8:7

  ╷
8 │ class CrdtLazyDatabase extends QueryExecutor {
  │       ^^^^^^^^^^^^^^^^
  ╵

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

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

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

Package Constraint Compatible Latest
crdt ^5.1.2 5.1.3 5.1.3
drift ^2.15.0 2.21.0 2.21.0
flutter flutter 0.0.0 0.0.0
json_annotation ^4.8.1 4.9.0 4.9.0
json_serializable ^6.2.0 6.8.0 6.8.0
path ^1.8.0 1.9.1 1.9.1
sqflite ^2.1.0 2.4.1 2.4.1
synchroflite ^0.1.3 0.1.5 0.1.5
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 72.0.0 76.0.0
_macros - 0.3.2 0.3.2
analyzer - 6.7.0 6.11.0
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
build - 2.4.1 2.4.1
build_config - 1.1.1 1.1.1
characters - 1.3.0 1.3.1
charcode - 1.3.1 1.3.1
checked_yaml - 2.0.3 2.0.3
collection - 1.18.0 1.19.1
convert - 3.1.2 3.1.2
crypto - 3.0.6 3.0.6
dart_style - 2.3.7 2.3.7
dev_build - 1.1.0+2 1.1.0+2
ffi - 2.1.3 2.1.3
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
glob - 2.1.2 2.1.2
http - 1.2.2 1.2.2
http_parser - 4.0.2 4.1.1
logging - 1.3.0 1.3.0
macros - 0.1.2-main.4 0.1.3-main.0
material_color_utilities - 0.11.1 0.12.0
meta - 1.15.0 1.16.0
package_config - 2.1.0 2.1.0
platform - 3.1.6 3.1.6
plugin_platform_interface - 2.1.8 2.1.8
pool - 1.5.1 1.5.1
process_run - 1.2.2 1.2.2
pub_semver - 2.1.4 2.1.4
pubspec_parse - 1.3.0 1.3.0
sky_engine - 0.0.99 0.0.99
source_gen - 1.5.0 1.5.0
source_helper - 1.3.4 1.3.4
source_span - 1.10.0 1.10.0
sprintf - 7.0.0 7.0.0
sqflite_android - 2.4.0 2.4.0
sqflite_common - 2.5.4+5 2.5.4+5
sqflite_common_ffi - 2.3.4 2.3.4
sqflite_common_ffi_web - 0.4.5+3 0.4.5+3
sqflite_darwin - 2.4.1 2.4.1
sqflite_platform_interface - 2.4.0 2.4.0
sql_crdt - 2.1.7 3.0.2
sqlite3 - 2.4.7 2.4.7
sqlparser - 0.34.1 0.39.2
stack_trace - 1.12.0 1.12.0
stream_channel - 2.1.2 2.1.2
string_scanner - 1.4.0 1.4.0
synchronized - 3.3.0+3 3.3.0+3
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
watcher - 1.1.0 1.1.0
web - 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

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.15, Flutter 3.24.4, Dart 3.5.4.

Check the analysis log for details.

7
likes
100
pub points
38%
popularity

Publisher

verified publisherjanezstupar.com

A Flutter-only implementation of a drift CRDT database, based on the `sqlite_crdt` package and `sqflite`.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

crdt, drift, flutter, json_annotation, json_serializable, path, sqflite, synchroflite

More

Packages that depend on drift_crdt