sporran 3.1.0

  • README.md
  • changelog.md
  • Installing
  • Versions
  • 2

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

Use this package as a library

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


We analyzed this package on Jun 12, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.60.0
  • pana: 0.11.3


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


Detected platforms: web

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


  • Use constrained dependencies.

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

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 290 errors 3 hints.

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

    line: 464 col: 15
    The setter 'rev' isn't defined for the class 'JsonObjectLite'.

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

    line: 681 col: 59
    The getter 'data' isn't defined for the class 'JsonObjectLite'.

    Similar analysis of the following files failed:

    • lib/sporran.dart (hint)
  • 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+3
lawndart >=0.6.4 0.9.0
wilt >=3.0.0 3.4.1
Transitive dependencies
async 2.0.7
charcode 1.1.1
collection 1.14.10
convert 2.0.1
crypto 2.0.3
http 0.11.3+16
http_parser 3.1.2
json_object_lite 1.1.2
path 1.6.0
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