Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
pouchdb-adapter-indexeddb
Advanced tools
PouchDB adapter using IndexedDB as its data store. Designed to run in the browser. Its adapter name is 'indexeddb'
.
npm install pouchdb-adapter-indexeddb
PouchDB.plugin(require('pouchdb-adapter-indexeddb'));
var db = new PouchDB('mydb', {adapter: 'indexeddb'});
For full API documentation and guides on PouchDB, see PouchDB.com. For details on PouchDB sub-packages, see the Custom Builds documentation.
PouchDB and its sub-packages are distributed as a monorepo.
For a full list of packages, see the GitHub source.
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.
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:
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:
{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:
partial_filter_selector
Mango indexes with a partial_filter_selector
are using map-reduce views. All performance gains of native IndexedDB indexes will be lost.
Also ordering is CouchDB compatible.
This fallback is required because IndexedDB indexes only work on all db entries. And not on a subsection.
FAQs
PouchDB adapter using IndexedDB as its data store.
The npm package pouchdb-adapter-indexeddb receives a total of 1,292 weekly downloads. As such, pouchdb-adapter-indexeddb popularity was classified as popular.
We found that pouchdb-adapter-indexeddb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.