pouchdb-adapter-indexeddb
Advanced tools
Comparing version 0.0.0 to 7.2.1
{ | ||
"name": "pouchdb-adapter-indexeddb", | ||
"version": "0.0.0", | ||
"description": "Empty holding package claimed by the PouchDB authors.", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
"version": "7.2.1", | ||
"description": "PouchDB adapter using IndexedDB as its data store.", | ||
"main": "./lib/index.js", | ||
"keywords": [], | ||
"author": "Dale Harvey <dale@arandomurl.com>", | ||
"license": "Apache-2.0", | ||
"repository": "https://github.com/pouchdb/pouchdb", | ||
"jsnext:main": "./lib/index.es.js", | ||
"dependencies": { | ||
"pouchdb-adapter-utils": "7.2.1", | ||
"pouchdb-binary-utils": "7.2.1", | ||
"pouchdb-errors": "7.2.1", | ||
"pouchdb-md5": "7.2.1", | ||
"pouchdb-merge": "7.2.1", | ||
"pouchdb-utils": "7.2.1" | ||
}, | ||
"keywords": [], | ||
"author": "Nolan Lawson <nolan@nolanlawson.com>", | ||
"license": "Apache-2.0" | ||
"module": "./lib/index.es.js", | ||
"files": [ | ||
"lib", | ||
"dist", | ||
"tonic-example.js" | ||
] | ||
} |
pouchdb-adapter-indexeddb | ||
============= | ||
====== | ||
Empty holding package claimed by the PouchDB authors. | ||
PouchDB adapter using IndexedDB as its data store. Designed to run in the browser. Its adapter name is `'indexeddb'`. | ||
### Usage | ||
```bash | ||
npm install pouchdb-adapter-indexeddb | ||
``` | ||
```js | ||
PouchDB.plugin(require('pouchdb-adapter-indexeddb')); | ||
var db = new PouchDB('mydb', {adapter: 'indexeddb'}); | ||
``` | ||
For full API documentation and guides on PouchDB, see [PouchDB.com](http://pouchdb.com/). For details on PouchDB sub-packages, see the [Custom Builds documentation](http://pouchdb.com/custom.html). | ||
### Source | ||
PouchDB and its sub-packages are distributed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md). | ||
For a full list of packages, see [the GitHub source](https://github.com/pouchdb/pouchdb/tree/master/packages). | ||
### Differences between CouchDB and PouchDB's find implementations under IndexedDb | ||
*These should be merged into some part of the external PouchDB documentation when this becomes a publicly usable adapter, if it's the default adapter or if it's one you can mix in manually.* | ||
PouchDB attempts to be 100% compatible with CouchDB. However, there are some subtle differences you should be aware of between CouchDB and PouchDB running on IndexedDB. | ||
First, note that these differences only exist in the native indexeddb index implementation. You can run an explain query to determine which index you're using. **TODO: example.** | ||
#### Data type ordering | ||
In upper bounded ranged queries (e.g, `{foo: {$lt: 10}}`) the returned order of `null`, `true` and `false` alongside very small integers (Number.MIN_SAFE_INTEGER + 2 and below) may be inconsistent with CouchDB's ordering. | ||
This may be fixed in the future. See: | ||
- **TODO ticket** | ||
- https://github.com/pouchdb/pouchdb/blob/master/tests/find/test-suite-1/test.data-type-order.js#L131 | ||
#### Object indexing in Mango | ||
CouchDB supports `null`, booleans, numbers, strings, arrays and objects in its indexes, and ranged queries operate in that order. | ||
Unfortunately IndexedDB does not support objects in indexes. If an object is present on indexed keypath that document will not be present in the index. | ||
This will manifest in two ways: | ||
- If you are trying to use an object as a key to an index you will not get the correct results | ||
- If you are doing a lower bounded ranged query (eg. `{foo: {$gt: 10}}`) objects on this keypath (here `foo`) will not return their documents. | ||
This is highly unlikely to be fixed in the future by PouchDB, as it would require improvements to IndexedDB. See: | ||
- https://github.com/pouchdb/pouchdb/blob/master/tests/find/test-suite-1/test.data-type-order.js#L66 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
106219
5
2747
1
53
6
2
+ Addedpouchdb-adapter-utils@7.2.1
+ Addedpouchdb-binary-utils@7.2.1
+ Addedpouchdb-errors@7.2.1
+ Addedpouchdb-md5@7.2.1
+ Addedpouchdb-merge@7.2.1
+ Addedpouchdb-utils@7.2.1
+ Addedargsarray@0.0.1(transitive)
+ Addedbuffer-from@1.1.0(transitive)
+ Addedclone-buffer@1.0.0(transitive)
+ Addedimmediate@3.0.6(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedpouchdb-adapter-utils@7.2.1(transitive)
+ Addedpouchdb-binary-utils@7.2.1(transitive)
+ Addedpouchdb-collections@7.2.1(transitive)
+ Addedpouchdb-errors@7.2.1(transitive)
+ Addedpouchdb-md5@7.2.1(transitive)
+ Addedpouchdb-merge@7.2.1(transitive)
+ Addedpouchdb-utils@7.2.1(transitive)
+ Addedspark-md5@3.0.0(transitive)
+ Addeduuid@3.3.3(transitive)