sporran 3.1.0

  • README.md
  • changelog.md
  • Installing
  • Versions
  • 27

Sporran - a PouchDB alike database client for Dart


Sporran is a PouchDB alike implementation for Dart.

It uses Lawndart(browser local storage client) and Wilt(browser CouchDB client) to allow browser based CouchDB users to transition between online and offline modes and carry on working normally.

When the browser is online Sporran acts just like Wilt, i.e is a CouchDB client, but all database transactions are reflected into local storage. If the browser goes offline Sporran switches to using local storage only, when the browser comes back online the local database is synced up with CouchDB, all transparent to the user.

The CouchDB change notification interface is also used to keep Sporran in sync with any 3rd party changes to your CouchDB database.

Please read the documents under the doc folder for usage information, the API is also under this folder and is available here


Queries you can direct to me at steve.hamblett@linux.com or raise an issue here.


Update to new Wilt + JsonObjectLite, remove analysis errors


Updates ready for Dart 2, remove the completion interface.


Updates for issues 7, 5, 6, 8 and 4 Note that issue 4 changes how Sporran is constructed and is thus breaking.


Updates for DartV1.5.3, all tests running


Issues 1 and 2, Sporran now has a futures based API


Initial release

1. Depend on it

Add this to your package's pubspec.yaml file:

  sporran: "^3.1.0"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:sporran/sporran.dart';
Version Uploaded Documentation Archive
3.1.0 Dec 15, 2017 Go to the documentation of sporran 3.1.0 Download sporran 3.1.0 archive
3.0.0 Sep 12, 2017 Go to the documentation of sporran 3.0.0 Download sporran 3.0.0 archive
2.1.0 Sep 17, 2014 Go to the documentation of sporran 2.1.0 Download sporran 2.1.0 archive
2.0.0 Mar 13, 2014 Go to the documentation of sporran 2.0.0 Download sporran 2.0.0 archive
1.0.0 Mar 3, 2014 Go to the documentation of sporran 1.0.0 Download sporran 1.0.0 archive


This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • tool failures on Feb 10, 2018
  • Dart: 2.0.0-dev.20.0
  • pana: 0.10.1


Describes how popular the package is relative to other packages. [more]
16 / 100
Code health derived from static analysis. [more]
7 / 100
Reflects how tidy and up-to-date the package is. [more]
85 / 100
Overall score:
Weighted score of the above. [more]


Detected platforms: web

Primary library: package:sporran/sporran.dart with components: html.


  • Fix lib/src/SporranDatabase.dart.

    Strong-mode analysis of lib/src/SporranDatabase.dart failed with the following error:

    line: 197 col: 16
    The getter 'error' isn't defined for the class 'JsonObjectLite'.

  • Fix lib/src/Sporran.dart.

    Strong-mode analysis of lib/src/Sporran.dart failed with the following error:

    line: 164 col: 16
    The setter 'operation' isn't defined for the class 'JsonObjectLite'.

  • Fix issues reported by dartanalyzer.

    dartanalyzer reported 2 error(s) and 0 warning(s).

  • Use constrained dependencies.

    The pubspec.yaml contains 3 dependencies without version constraints. Specify version ranges for the following dependencies: browser, lawndart, wilt.

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use sporran.dart.

  • Use analysis_options.yaml.

    Rename old .analysis_options file to analysis_options.yaml.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.8.0 <2.0.0
browser any 0.10.0+2
lawndart >=0.6.4 0.9.0
wilt >=3.0.0 3.4.0
Transitive dependencies
async 2.0.3 2.0.4
charcode 1.1.1
collection 1.14.5
convert 2.0.1
crypto 2.0.2+1
http 0.11.3+16
http_parser 3.1.1
json_object_lite 1.1.1
path 1.5.1
source_span 1.4.0
string_scanner 1.0.2
typed_data 1.1.5
Dev dependencies
coverage ^0.7.3
dart_dev ^1.0.0
dart_style >=0.2.0 <0.3.0
dartdoc >=0.8.0 <=0.10.0
test ^0.12.0