{"_id":"@botanicastudios/rxdb","_rev":"3-1968ef09a476ff6da673e4019d1fa07b","name":"@botanicastudios/rxdb","dist-tags":{"latest":"16.17.0-fork"},"versions":{"16.15.0":{"name":"@botanicastudios/rxdb","version":"16.15.0","keywords":["db","database","offline-first","local-first","local first","nosql","no-sql","jsonschema","schema","rxjs","pwa","progessive web app","hybrid app","localstorage","indexeddb","storage","react-native","encryption","encrypted","firestore","firebase","couchdb","pouchdb","nats","websql","sqlite","query","live-query","realtime query","reactive","replication","realtime","realtime database","local database","embedded database","in-memory","memory","memory database","local database","embedded","embed","electron database","mongodb","lokijs","JSON","angular database","react database","capacitor database","node.js database","document","file database","json database","key value database","database driver","database abstraction layer","document database","graph database","mock database","cross-database","asyncstorage","localforage","mongoose","migrate database","websocket database","database-client","dbms","database engine","datastore"],"author":{"name":"pubkey"},"license":"Apache-2.0","_id":"@botanicastudios/rxdb@16.15.0","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"homepage":"https://rxdb.info/","bugs":{"url":"https://github.com/pubkey/rxdb/issues"},"dist":{"shasum":"dd5b7b25ae11516f84ff0ca0fc4a1375c2daaed3","tarball":"https://registry.npmjs.org/@botanicastudios/rxdb/-/rxdb-16.15.0.tgz","fileCount":1687,"integrity":"sha512-TVU8ALwZjAhO0IanQ0MxFMDVIm90eWXm467UQiU8OckkmRRaOibf24VY+4GrksnlmNyUsx/JwrJzGL8Smdlehg==","signatures":[{"sig":"MEUCIQCmuGXhajkjNwwesqEGr1KLGlpfQMbwLeiGnw56EkFNHwIgfYFzWdUXDvkjmYM5WX8iUsWF+nkIi/i0veVZfFGC1s4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8668854},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json","./plugins/core":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./plugins/crdt":{"types":"./dist/types/plugins/crdt/index.d.ts","import":"./dist/esm/plugins/crdt/index.js","default":"./dist/esm/plugins/crdt/index.js","require":"./dist/cjs/plugins/crdt/index.js"},"./plugins/state":{"types":"./dist/types/plugins/state/index.d.ts","import":"./dist/esm/plugins/state/index.js","default":"./dist/esm/plugins/state/index.js","require":"./dist/cjs/plugins/state/index.js"},"./plugins/utils":{"types":"./dist/types/plugins/utils/index.d.ts","import":"./dist/esm/plugins/utils/index.js","default":"./dist/esm/plugins/utils/index.js","require":"./dist/cjs/plugins/utils/index.js"},"./plugins/backup":{"types":"./dist/types/plugins/backup/index.d.ts","import":"./dist/esm/plugins/backup/index.js","default":"./dist/esm/plugins/backup/index.js","require":"./dist/cjs/plugins/backup/index.js"},"./plugins/update":{"types":"./dist/types/plugins/update/index.d.ts","import":"./dist/esm/plugins/update/index.js","default":"./dist/esm/plugins/update/index.js","require":"./dist/cjs/plugins/update/index.js"},"./plugins/vector":{"types":"./dist/types/plugins/vector/index.d.ts","import":"./dist/esm/plugins/vector/index.js","default":"./dist/esm/plugins/vector/index.js","require":"./dist/cjs/plugins/vector/index.js"},"./plugins/cleanup":{"types":"./dist/types/plugins/cleanup/index.d.ts","import":"./dist/esm/plugins/cleanup/index.js","default":"./dist/esm/plugins/cleanup/index.js","require":"./dist/cjs/plugins/cleanup/index.js"},"./plugins/flutter":{"types":"./dist/types/plugins/flutter/index.d.ts","import":"./dist/esm/plugins/flutter/index.js","default":"./dist/esm/plugins/flutter/index.js","require":"./dist/cjs/plugins/flutter/index.js"},"./plugins/dev-mode":{"types":"./dist/types/plugins/dev-mode/index.d.ts","import":"./dist/esm/plugins/dev-mode/index.js","default":"./dist/esm/plugins/dev-mode/index.js","require":"./dist/cjs/plugins/dev-mode/index.js"},"./plugins/electron":{"types":"./dist/types/plugins/electron/index.d.ts","import":"./dist/esm/plugins/electron/index.js","default":"./dist/esm/plugins/electron/index.js","require":"./dist/cjs/plugins/electron/index.js"},"./plugins/pipeline":{"types":"./dist/types/plugins/pipeline/index.d.ts","import":"./dist/esm/plugins/pipeline/index.js","default":"./dist/esm/plugins/pipeline/index.js","require":"./dist/cjs/plugins/pipeline/index.js"},"./plugins/json-dump":{"types":"./dist/types/plugins/json-dump/index.d.ts","import":"./dist/esm/plugins/json-dump/index.js","default":"./dist/esm/plugins/json-dump/index.js","require":"./dist/cjs/plugins/json-dump/index.js"},"./plugins/test-utils":{"types":"./dist/types/plugins/test-utils/index.d.ts","import":"./dist/esm/plugins/test-utils/index.js","default":"./dist/esm/plugins/test-utils/index.js","require":"./dist/cjs/plugins/test-utils/index.js"},"./plugins/attachments":{"types":"./dist/types/plugins/attachments/index.d.ts","import":"./dist/esm/plugins/attachments/index.js","default":"./dist/esm/plugins/attachments/index.js","require":"./dist/cjs/plugins/attachments/index.js"},"./plugins/replication":{"types":"./dist/types/plugins/replication/index.d.ts","import":"./dist/esm/plugins/replication/index.js","default":"./dist/esm/plugins/replication/index.js","require":"./dist/cjs/plugins/replication/index.js"},"./plugins/validate-ajv":{"types":"./dist/types/plugins/validate-ajv/index.d.ts","import":"./dist/esm/plugins/validate-ajv/index.js","default":"./dist/esm/plugins/validate-ajv/index.js","require":"./dist/cjs/plugins/validate-ajv/index.js"},"./plugins/query-builder":{"types":"./dist/types/plugins/query-builder/index.d.ts","import":"./dist/esm/plugins/query-builder/index.js","default":"./dist/esm/plugins/query-builder/index.js","require":"./dist/cjs/plugins/query-builder/index.js"},"./plugins/storage-dexie":{"types":"./dist/types/plugins/storage-dexie/index.d.ts","import":"./dist/esm/plugins/storage-dexie/index.js","default":"./dist/esm/plugins/storage-dexie/index.js","require":"./dist/cjs/plugins/storage-dexie/index.js"},"./plugins/storage-denokv":{"types":"./dist/types/plugins/storage-denokv/index.d.ts","import":"./dist/esm/plugins/storage-denokv/index.js","default":"./dist/esm/plugins/storage-denokv/index.js","require":"./dist/cjs/plugins/storage-denokv/index.js"},"./plugins/storage-memory":{"types":"./dist/types/plugins/storage-memory/index.d.ts","import":"./dist/esm/plugins/storage-memory/index.js","default":"./dist/esm/plugins/storage-memory/index.js","require":"./dist/cjs/plugins/storage-memory/index.js"},"./plugins/storage-remote":{"types":"./dist/types/plugins/storage-remote/index.d.ts","import":"./dist/esm/plugins/storage-remote/index.js","default":"./dist/esm/plugins/storage-remote/index.js","require":"./dist/cjs/plugins/storage-remote/index.js"},"./plugins/storage-sqlite":{"types":"./dist/types/plugins/storage-sqlite/index.d.ts","import":"./dist/esm/plugins/storage-sqlite/index.js","default":"./dist/esm/plugins/storage-sqlite/index.js","require":"./dist/cjs/plugins/storage-sqlite/index.js"},"./plugins/key-compression":{"types":"./dist/types/plugins/key-compression/index.d.ts","import":"./dist/esm/plugins/key-compression/index.js","default":"./dist/esm/plugins/key-compression/index.js","require":"./dist/cjs/plugins/key-compression/index.js"},"./plugins/leader-election":{"types":"./dist/types/plugins/leader-election/index.d.ts","import":"./dist/esm/plugins/leader-election/index.js","default":"./dist/esm/plugins/leader-election/index.js","require":"./dist/cjs/plugins/leader-election/index.js"},"./plugins/local-documents":{"types":"./dist/types/plugins/local-documents/index.d.ts","import":"./dist/esm/plugins/local-documents/index.js","default":"./dist/esm/plugins/local-documents/index.js","require":"./dist/cjs/plugins/local-documents/index.js"},"./plugins/storage-mongodb":{"types":"./dist/types/plugins/storage-mongodb/index.d.ts","import":"./dist/esm/plugins/storage-mongodb/index.js","default":"./dist/esm/plugins/storage-mongodb/index.js","require":"./dist/cjs/plugins/storage-mongodb/index.js"},"./plugins/migration-schema":{"types":"./dist/types/plugins/migration-schema/index.d.ts","import":"./dist/esm/plugins/migration-schema/index.js","default":"./dist/esm/plugins/migration-schema/index.js","require":"./dist/cjs/plugins/migration-schema/index.js"},"./plugins/replication-nats":{"types":"./dist/types/plugins/replication-nats/index.d.ts","import":"./dist/esm/plugins/replication-nats/index.js","default":"./dist/esm/plugins/replication-nats/index.js","require":"./dist/cjs/plugins/replication-nats/index.js"},"./plugins/migration-storage":{"types":"./dist/types/plugins/migration-storage/index.d.ts","import":"./dist/esm/plugins/migration-storage/index.js","default":"./dist/esm/plugins/migration-storage/index.js","require":"./dist/cjs/plugins/migration-storage/index.js"},"./plugins/validate-z-schema":{"types":"./dist/types/plugins/validate-z-schema/index.d.ts","import":"./dist/esm/plugins/validate-z-schema/index.js","default":"./dist/esm/plugins/validate-z-schema/index.js","require":"./dist/cjs/plugins/validate-z-schema/index.js"},"./plugins/replication-webrtc":{"types":"./dist/types/plugins/replication-webrtc/index.d.ts","import":"./dist/esm/plugins/replication-webrtc/index.js","default":"./dist/esm/plugins/replication-webrtc/index.js","require":"./dist/cjs/plugins/replication-webrtc/index.js"},"./plugins/replication-couchdb":{"types":"./dist/types/plugins/replication-couchdb/index.d.ts","import":"./dist/esm/plugins/replication-couchdb/index.js","default":"./dist/esm/plugins/replication-couchdb/index.js","require":"./dist/cjs/plugins/replication-couchdb/index.js"},"./plugins/replication-graphql":{"types":"./dist/types/plugins/replication-graphql/index.d.ts","import":"./dist/esm/plugins/replication-graphql/index.js","default":"./dist/esm/plugins/replication-graphql/index.js","require":"./dist/cjs/plugins/replication-graphql/index.js"},"./plugins/storage-sqlite-prod":{"types":"./dist/types/plugins/storage-sqlite-prod/index.d.ts","import":"./dist/esm/plugins/storage-sqlite-prod/index.js","default":"./dist/esm/plugins/storage-sqlite-prod/index.js","require":"./dist/cjs/plugins/storage-sqlite-prod/index.js"},"./plugins/encryption-crypto-js":{"types":"./dist/types/plugins/encryption-crypto-js/index.d.ts","import":"./dist/esm/plugins/encryption-crypto-js/index.js","default":"./dist/esm/plugins/encryption-crypto-js/index.js","require":"./dist/cjs/plugins/encryption-crypto-js/index.js"},"./plugins/replication-appwrite":{"types":"./dist/types/plugins/replication-appwrite/index.d.ts","import":"./dist/esm/plugins/replication-appwrite/index.js","default":"./dist/esm/plugins/replication-appwrite/index.js","require":"./dist/cjs/plugins/replication-appwrite/index.js"},"./plugins/storage-foundationdb":{"types":"./dist/types/plugins/storage-foundationdb/index.d.ts","import":"./dist/esm/plugins/storage-foundationdb/index.js","default":"./dist/esm/plugins/storage-foundationdb/index.js","require":"./dist/cjs/plugins/storage-foundationdb/index.js"},"./plugins/storage-localstorage":{"types":"./dist/types/plugins/storage-localstorage/index.d.ts","import":"./dist/esm/plugins/storage-localstorage/index.js","default":"./dist/esm/plugins/storage-localstorage/index.js","require":"./dist/cjs/plugins/storage-localstorage/index.js"},"./plugins/replication-firestore":{"types":"./dist/types/plugins/replication-firestore/index.d.ts","import":"./dist/esm/plugins/replication-firestore/index.js","default":"./dist/esm/plugins/replication-firestore/index.js","require":"./dist/cjs/plugins/replication-firestore/index.js"},"./plugins/replication-websocket":{"types":"./dist/types/plugins/replication-websocket/index.d.ts","import":"./dist/esm/plugins/replication-websocket/index.js","default":"./dist/esm/plugins/replication-websocket/index.js","require":"./dist/cjs/plugins/replication-websocket/index.js"},"./plugins/attachments-compression":{"types":"./dist/types/plugins/attachments-compression/index.d.ts","import":"./dist/esm/plugins/attachments-compression/index.js","default":"./dist/esm/plugins/attachments-compression/index.js","require":"./dist/cjs/plugins/attachments-compression/index.js"},"./plugins/storage-remote-websocket":{"types":"./dist/types/plugins/storage-remote-websocket/index.d.ts","import":"./dist/esm/plugins/storage-remote-websocket/index.js","default":"./dist/esm/plugins/storage-remote-websocket/index.js","require":"./dist/cjs/plugins/storage-remote-websocket/index.js"},"./plugins/validate-is-my-json-valid":{"types":"./dist/types/plugins/validate-is-my-json-valid/index.d.ts","import":"./dist/esm/plugins/validate-is-my-json-valid/index.js","default":"./dist/esm/plugins/validate-is-my-json-valid/index.js","require":"./dist/cjs/plugins/validate-is-my-json-valid/index.js"}},"gitHead":"0aa5e2f1ae0b13663d05a98ff497cdc4ec5e665f","scripts":{"aaa":"firebase init firestore","dev":"watch 'npm run test:node:memory' src/ test/","disc":"npm run transpile && npm run build:esm && cross-env NODE_ENV=disc webpack --config ./config/webpack.config.js","lint":"eslint .","test":"npm run test:node && npm run test:browser","build":"npm run clear && npm run build:version && concurrently \"npm run transpile\" \"npm run build:esm\" \"npm run build:types\" \"npm run build:plugins\"","clear":"rimraf -rf test_tmp/ && rimraf -rf dist/ && rimraf .transpile_state.json","profile":"npm run transpile && rm -f isolate-* && cross-env DEFAULT_STORAGE=memory NODE_PROF=true mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --v8-prof --expose-gc && node scripts/profile.mjs","lint:fix":"eslint . --fix","build:esm":"npm run build:version && rimraf -rf --max-retries=3 dist/esm && cross-env NODE_ENV=es6 babel src --out-dir dist/esm --source-maps --extensions \".ts,.js\" && cp ./scripts/module_package_no_side.json dist/esm/package.json","nats:stop":"docker rm -f rxdb-nats","test:core":"npm run transpile && mocha ./test_tmp/unit/core.node.js","test:deps":"npm run build && dependency-check ./package.json ./dist/cjs/index.js ./dist/cjs/plugins/validate-is-my-json-valid/index.js ./dist/cjs/plugins/attachments-compression/index.js ./dist/cjs/plugins/validate-ajv/index.js ./dist/cjs/plugins/update/index.js ./dist/cjs/plugins/key-compression/index.js ./dist/cjs/plugins/dev-mode/index.js ./dist/cjs/plugins/encryption-crypto-js/index.js ./dist/cjs/plugins/replication-graphql/index.js ./dist/cjs/plugins/replication-webrtc/index.js ./dist/cjs/plugins/replication-websocket/index.js ./dist/cjs/plugins/replication-firestore/index.js ./dist/cjs/plugins/replication-nats/index.js ./dist/cjs/plugins/validate-z-schema/index.js ./dist/cjs/plugins/storage-dexie/index.js ./dist/cjs/plugins/storage-memory/index.js ./dist/cjs/plugins/storage-mongodb/index.js --no-dev --ignore-module util --ignore-module url --ignore-module ws --ignore-module graphql --ignore-module as-typed --ignore-module \"@types/*\"","test:fast":"npm run test:fast:memory && npm run test:fast:dexie","test:full":"npm run transpile && mocha ./test_tmp/unit/full.node.js","test:node":"npm run test:node:dexie","transpile":"npm run build:version && node scripts/transpile.mjs && cp ./scripts/module_package.json test_tmp/package.json","build:size":"npm run build:webpack && echo \"Build-Size (minified+gzip):\" && gzip-size --raw ./test_tmp/webpack.bundle.js","couch:stop":"docker rm -f rxdb-couchdb","dockertest":"docker run -it -v $(pwd):/usr/src/app markadams/chromium-xvfb-js:latest-onbuild","docs:build":"rimraf -rf ./docs && mkdir ./docs && (cd docs-src/ && npm run build) && cp -r ./docs-src/build/* ./docs && cp ./docs-src/CNAME ./docs/CNAME","docs:serve":"(cd docs-src/ && npm start)","nats:start":"docker run --rm --name rxdb-nats -p 4222:4222 nats:2.9.17 -js","preversion":"npm run lint && npm run test","build:types":"npm run build:version && rimraf -rf --max-retries=3 ./dist/types && tsc --project ./config/tsconfig.types.json && cp -r ./src/types ./dist/types/types && node ./scripts/fix-types.mjs","check-types":"tsc","couch:start":"docker run -p 5984:5984 -e COUCHDB_USER=root -e COUCHDB_PASSWORD=root --rm --name rxdb-couchdb couchdb:3.3.3","dev:example":"watch 'npm run transpile:src && echo \"done\"' src/ test/","postinstall":"node scripts/postinstall.js || echo \"ignore\"","// test:fast":"run tests in the fast-mode. Most of them will run in parrallel, skips tests that are known slow","build:rollup":"npm run build && rollup --config ./config/rollup.config.mjs","docs:install":"(cd docs-src/ && npm install)","mongodb:stop":"docker rm -f rxdb-mongodb","test:typings":"npm run build:plugins && tsc --allowImportingTsExtensions --noEmit --skipLibCheck --lib \"ES2022,DOM\" ./test/typings.test.ts","// docs:serve":"start a local server to watch the docs. Served at http://localhost:4000/","build:plugins":"node ./scripts/generate-plugins-package-json.mjs","build:version":"node ./scripts/update-version-variable.mjs","build:webpack":"npm run build && cross-env NODE_ENV=build webpack --config ./config/webpack.config.js","mongodb:start":"docker run -p 27017:27017 -p 27018:27018 -p 27019:27019 --rm --name rxdb-mongodb mongo:8.0.4","test:circular":"npm run build && madge --circular ./dist/esm/index.js && madge --circular ./dist/esm/plugins/storage-dexie/index.js","test:bun:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie NODE_ENV=fast bun run ./node_modules/mocha/bin/mocha test_tmp/unit.test.js --bail --timeout 60000","test:fast:loop":"npm run test:fast && npm run test:fast:loop","test:node:loop":"npm run test:node && npm run test:node:loop","lint:debug:time":"TIMING=1 eslint .","test:bun:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory NODE_ENV=fast bun run ./node_modules/mocha/bin/mocha test_tmp/unit.test.js --bail --timeout 60000","test:deno:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie deno run --unstable --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail","test:fast:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","docs:remove:time":"node ./scripts/docs-remove-time.mjs","lint:debug:files":"DEBUG=eslint:cli-engine eslint .","test:deno:denokv":"npm run transpile && cross-env DEFAULT_STORAGE=denokv deno run --unstable-kv --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail --timeout 150000","test:deno:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory deno run --unstable --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail","test:fast:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:custom":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js --experimental-sqlite","test:node:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:remote":"npm run transpile && cross-env DEFAULT_STORAGE=remote mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:performance":"npm run build && npm run test:performance:dexie && npm run test:performance:memory:browser && npm run test:performance:memory:node","// test:fast:loop":"runs tests in the fast-mode in a loop. Use this to debug tests that only fail sometimes","// test:node:loop":"runs tests in node in a loop. Use this to debug tests that only fail sometimes","test:browser:loop":"npm run test:browser && npm run test:browser:loop","test:fast:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:browser:dexie":"  npm run transpile && cross-env CI=true DEFAULT_STORAGE=dexie   karma start ./config/karma.conf.cjs --single-run","test:browser:custom":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=custom  karma start ./config/karma.conf.cjs --single-run","test:browser:memory":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=memory  karma start ./config/karma.conf.cjs --single-run","test:browser:remote":"  npm run transpile && cross-env CI=true DEFAULT_STORAGE=remote karma start ./config/karma.conf.cjs --single-run","test:fast:loop:dexie":"npm run test:fast:dexie && npm run test:fast:loop:dexie","test:node:dexie:loop":"npm run test:node:dexie && npm run test:node:dexie:loop","test:deno:denokv:loop":"npm run test:deno:denokv && npm run test:deno:denokv:loop","test:fast:loop:memory":"npm run test:fast:memory && npm run test:fast:loop:memory","test:node:memory:loop":"npm run test:node:memory && npm run test:node:memory:loop","test:node:remote:loop":"npm run test:node:remote && npm run test:node:remote:loop","test:node:sqlite-prod":"npm run transpile && cross-env DEFAULT_STORAGE=sqlite-prod mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:replication-nats":"npm run transpile && concurrently \"npm run nats:start\" \"cross-env DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-nats.test.js\" --success first --kill-others","cloud-signaling-server":"node ./scripts/start-cloud-signaling-server.mjs --max-old-space-size=2048","test:fast:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:fast:loop:mongodb":"npm run test:fast:mongodb && npm run test:fast:loop:mongodb","test:node:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:localstorage":"npm run transpile && cross-env DEFAULT_STORAGE=localstorage mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:mongodb:loop":"npm run test:node:mongodb && npm run test:node:mongodb:loop","test:node:sqlite-trial":"npm run transpile && cross-env DEFAULT_STORAGE=sqlite-trial mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:performance:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:browser:memory:loop":"npm run test:browser:memory && npm run test:browser:memory:loop","test:browser:remote:loop":"npm run test:browser:remote && npm run test:browser:remote:loop","test:performance:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:replication-couchdb":"npm run transpile && concurrently \"npm run couch:start\" \"cross-env NATIVE_COUCHDB=5984 DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-couchdb.test.js\" --success first --kill-others","test:browser:localstorage":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=localstorage  karma start ./config/karma.conf.cjs --single-run","test:replication-appwrite":"npm run transpile && cross-env DEFAULT_STORAGE=dexie karma start ./config/karma.appwrite.conf.cjs","test:replication-firestore":"npm run transpile && firebase emulators:exec \"cross-env DEFAULT_STORAGE=dexie mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/replication-firestore.test.js\" --only firestore --config \"config/firestore.json\" --project \"rxdb-test\"","test:node:foundationdb:loop":"npm run test:node:foundationdb && npm run test:node:foundationdb:loop","test:performance:memory:bun":"npm run transpile && cross-env DEFAULT_STORAGE=memory bun run ./node_modules/mocha/bin/mocha test_tmp/performance.test.js --bail","test:memory-leak:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/memory-leak.test.js --inspect --unhandled-rejections=strict --expose-gc --max-old-space-size=256","test:performance:custom:node":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc --experimental-sqlite","test:performance:memory:deno":"npm run transpile && cross-env DEFAULT_STORAGE=memory deno run --unstable --allow-env --allow-read -A npm:mocha test/performance.test.ts --bail","test:performance:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:fast:memory-random-delay":"npm run transpile && cross-env DEFAULT_STORAGE=memory-random-delay NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:memory-random-delay":"npm run transpile && cross-env DEFAULT_STORAGE=memory-random-delay mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:performance:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:performance:custom:browser":"npm run transpile && cross-env DEFAULT_STORAGE=custom CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:performance:memory:browser":"npm run transpile && cross-env DEFAULT_STORAGE=memory CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:fast:loop:memory-random-delay":"npm run test:fast:memory-random-delay && npm run test:fast:loop:memory-random-delay","test:node:loop:memory-random-delay":"npm run test:node:memory-random-delay && npm run test:node:loop:memory-random-delay","test:query-correctness-fuzzing:custom:node":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --config ./config/.mocharc.cjs ./test_tmp/query-correctness-fuzzing.test.js --unhandled-rejections=strict --expose-gc","test:query-correctness-fuzzing:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/query-correctness-fuzzing.test.js --unhandled-rejections=strict --expose-gc"},"_npmUser":{"name":"tnjm","actor":{"name":"tnjm","type":"user","email":"toby.m@rsden.com"},"email":"toby.m@rsden.com"},"overrides":{"eslint":"9.28.0","webpack-dev-server":"5.2.2"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/pubkey/rxdb.git","type":"git"},"_npmVersion":"10.9.2","description":"A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"ws":"8.18.2","ajv":"8.17.1","nats":"2.29.3","util":"0.12.5","dexie":"4.0.10","mingo":"6.5.6","graphql":"15.10.1","mongodb":"6.16.0","as-typed":"1.3.2","firebase":"11.8.1","z-schema":"6.0.2","@types/ws":"8.18.1","crypto-js":"4.2.0","js-base64":"3.7.7","graphql-ws":"5.16.2","@types/cors":"2.8.19","ajv-formats":"3.0.1","simple-peer":"9.11.1","@types/clone":"2.1.4","isomorphic-ws":"5.0.0","oblivious-set":"1.4.0","@babel/runtime":"7.27.6","@types/express":"5.0.3","event-reduce-js":"5.2.7","is-my-json-valid":"2.20.6","broadcast-channel":"7.1.0","custom-idle-queue":"4.1.0","@types/simple-peer":"9.11.8","reconnecting-websocket":"4.4.0","jsonschema-key-compression":"1.7.0","array-push-at-sort-position":"4.0.1","get-graphql-from-jsonschema":"8.1.0"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"brfs":"2.0.2","cors":"2.8.5","disc":"1.3.3","rxjs":"7.8.2","clone":"2.1.2","karma":"6.4.4","madge":"8.0.0","mocha":"11.5.0","nconf":"0.13.0","watch":"1.0.2","assert":"2.1.0","delete":"1.1.0","eslint":"9.28.0","rimraf":"5.0.10","rollup":"4.42.0","stream":"0.0.3","terser":"5.42.0","express":"5.1.0","globals":"16.2.0","process":"0.11.10","shelljs":"0.10.0","webpack":"5.99.9","appwrite":"18.1.1","get-port":"5.1.1","readline":"1.3.0","rxdb-old":"npm:rxdb@15.39.0","cross-env":"7.0.3","leveldown":"6.1.1","ts-loader":"9.5.2","walk-sync":"3.0.0","@babel/cli":"7.27.2","@eslint/js":"9.28.0","pre-commit":"1.2.2","random-int":"3.0.0","typescript":"5.8.3","@babel/core":"7.27.4","@types/cors":"2.8.19","@types/node":"22.15.31","exists-file":"3.0.2","karma-mocha":"2.0.1","webpack-cli":"6.0.1","@babel/types":"7.27.6","@types/mocha":"10.0.10","babel-loader":"10.0.0","concurrently":"9.1.2","node-pre-gyp":"0.17.0","@types/assert":"1.5.11","gzip-size-cli":"5.1.0","karma-webpack":"5.0.1","node-appwrite":"17.0.0","@eslint/compat":"1.3.0","@types/core-js":"2.5.8","@types/request":"2.48.12","fake-indexeddb":"6.0.1","firebase-tools":"14.7.0","karma-coverage":"2.2.1","mocha.parallel":"0.15.6","@babel/polyfill":"7.12.1","async-test-util":"2.5.0","express-graphql":"0.12.0","querystring-es3":"0.2.1","@eslint/eslintrc":"3.3.1","@types/crypto-js":"4.2.2","dependency-check":"4.1.0","node-datachannel":"0.27.0","@babel/preset-env":"7.27.2","karma-ie-launcher":"1.0.0","source-map-support":"0.5.21","webpack-dev-server":"5.2.2","copy-webpack-plugin":"13.0.0","eslint-plugin-jsdoc":"50.8.0","html-webpack-plugin":"5.6.3","karma-spec-reporter":"0.0.36","eslint-plugin-import":"2.31.0","karma-opera-launcher":"1.0.0","child-process-promise":"2.2.1","graphql-subscriptions":"2.0.0","karma-chrome-launcher":"3.2.0","karma-detect-browsers":"2.3.3","karma-safari-launcher":"1.0.0","terser-webpack-plugin":"5.3.14","karma-firefox-launcher":"2.1.3","karma-sourcemap-loader":"0.4.0","@rollup/plugin-commonjs":"28.0.3","mini-css-extract-plugin":"2.9.2","webpack-bundle-analyzer":"4.10.2","@babel/preset-typescript":"7.27.1","@stylistic/eslint-plugin":"4.4.1","karma-babel-preprocessor":"8.0.2","@types/source-map-support":"0.5.10","@typescript-eslint/parser":"8.33.1","@rollup/plugin-node-resolve":"16.0.1","@firebase/rules-unit-testing":"4.0.1","@types/request-promise-native":"1.0.21","@babel/plugin-external-helpers":"7.27.1","@babel/plugin-transform-spread":"7.27.1","@babel/plugin-transform-runtime":"7.27.4","@babel/plugin-transform-literals":"7.27.1","@typescript-eslint/eslint-plugin":"8.33.1","@babel/plugin-transform-typescript":"7.27.1","@babel/plugin-proposal-class-properties":"7.18.6","babel-plugin-transform-class-properties":"6.24.1","@babel/plugin-transform-modules-commonjs":"7.27.1","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/plugin-transform-property-literals":"7.27.1","@babel/plugin-transform-template-literals":"7.27.1","@babel/plugin-transform-member-expression-literals":"7.27.1"},"peerDependencies":{"rxjs":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/rxdb_16.15.0_1751896812807_0.3733682147298134","host":"s3://npm-registry-packages-npm-production"}},"16.16.0-fork":{"name":"@botanicastudios/rxdb","version":"16.16.0-fork","keywords":["db","database","offline-first","local-first","local first","nosql","no-sql","jsonschema","schema","rxjs","pwa","progessive web app","hybrid app","localstorage","indexeddb","storage","react-native","encryption","encrypted","firestore","firebase","couchdb","pouchdb","nats","websql","sqlite","query","live-query","realtime query","reactive","replication","realtime","realtime database","local database","embedded database","in-memory","memory","memory database","local database","embedded","embed","electron database","mongodb","lokijs","JSON","angular database","react database","capacitor database","node.js database","document","file database","json database","key value database","database driver","database abstraction layer","document database","graph database","mock database","cross-database","asyncstorage","localforage","mongoose","migrate database","websocket database","database-client","dbms","database engine","datastore"],"author":{"name":"pubkey"},"license":"Apache-2.0","_id":"@botanicastudios/rxdb@16.16.0-fork","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"homepage":"https://rxdb.info/","bugs":{"url":"https://github.com/pubkey/rxdb/issues"},"dist":{"shasum":"46e642b487c9e797ab16876014d3fc5525a2b6f6","tarball":"https://registry.npmjs.org/@botanicastudios/rxdb/-/rxdb-16.16.0-fork.tgz","fileCount":1687,"integrity":"sha512-nc1rj8TxbPZtV/l6MFLT8j0CELb0teJ8RiFFz7lWRmBgeBel+4JldITUTCB8Yom54XdXKQBBOKzS6J4ExOBTXg==","signatures":[{"sig":"MEYCIQDvCCA9klmfyoFdwEyq9rrtV/cH1JxjG9ocvnwTftvZWgIhAK9y0gk9hHDDLNSuYntV37pOmU7YkwqMUwq3oIRgOqH+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8668840},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./package.json":"./package.json","./plugins/core":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./plugins/crdt":{"types":"./dist/types/plugins/crdt/index.d.ts","import":"./dist/esm/plugins/crdt/index.js","default":"./dist/esm/plugins/crdt/index.js","require":"./dist/cjs/plugins/crdt/index.js"},"./plugins/state":{"types":"./dist/types/plugins/state/index.d.ts","import":"./dist/esm/plugins/state/index.js","default":"./dist/esm/plugins/state/index.js","require":"./dist/cjs/plugins/state/index.js"},"./plugins/utils":{"types":"./dist/types/plugins/utils/index.d.ts","import":"./dist/esm/plugins/utils/index.js","default":"./dist/esm/plugins/utils/index.js","require":"./dist/cjs/plugins/utils/index.js"},"./plugins/backup":{"types":"./dist/types/plugins/backup/index.d.ts","import":"./dist/esm/plugins/backup/index.js","default":"./dist/esm/plugins/backup/index.js","require":"./dist/cjs/plugins/backup/index.js"},"./plugins/update":{"types":"./dist/types/plugins/update/index.d.ts","import":"./dist/esm/plugins/update/index.js","default":"./dist/esm/plugins/update/index.js","require":"./dist/cjs/plugins/update/index.js"},"./plugins/vector":{"types":"./dist/types/plugins/vector/index.d.ts","import":"./dist/esm/plugins/vector/index.js","default":"./dist/esm/plugins/vector/index.js","require":"./dist/cjs/plugins/vector/index.js"},"./plugins/cleanup":{"types":"./dist/types/plugins/cleanup/index.d.ts","import":"./dist/esm/plugins/cleanup/index.js","default":"./dist/esm/plugins/cleanup/index.js","require":"./dist/cjs/plugins/cleanup/index.js"},"./plugins/flutter":{"types":"./dist/types/plugins/flutter/index.d.ts","import":"./dist/esm/plugins/flutter/index.js","default":"./dist/esm/plugins/flutter/index.js","require":"./dist/cjs/plugins/flutter/index.js"},"./plugins/dev-mode":{"types":"./dist/types/plugins/dev-mode/index.d.ts","import":"./dist/esm/plugins/dev-mode/index.js","default":"./dist/esm/plugins/dev-mode/index.js","require":"./dist/cjs/plugins/dev-mode/index.js"},"./plugins/electron":{"types":"./dist/types/plugins/electron/index.d.ts","import":"./dist/esm/plugins/electron/index.js","default":"./dist/esm/plugins/electron/index.js","require":"./dist/cjs/plugins/electron/index.js"},"./plugins/pipeline":{"types":"./dist/types/plugins/pipeline/index.d.ts","import":"./dist/esm/plugins/pipeline/index.js","default":"./dist/esm/plugins/pipeline/index.js","require":"./dist/cjs/plugins/pipeline/index.js"},"./plugins/json-dump":{"types":"./dist/types/plugins/json-dump/index.d.ts","import":"./dist/esm/plugins/json-dump/index.js","default":"./dist/esm/plugins/json-dump/index.js","require":"./dist/cjs/plugins/json-dump/index.js"},"./plugins/test-utils":{"types":"./dist/types/plugins/test-utils/index.d.ts","import":"./dist/esm/plugins/test-utils/index.js","default":"./dist/esm/plugins/test-utils/index.js","require":"./dist/cjs/plugins/test-utils/index.js"},"./plugins/attachments":{"types":"./dist/types/plugins/attachments/index.d.ts","import":"./dist/esm/plugins/attachments/index.js","default":"./dist/esm/plugins/attachments/index.js","require":"./dist/cjs/plugins/attachments/index.js"},"./plugins/replication":{"types":"./dist/types/plugins/replication/index.d.ts","import":"./dist/esm/plugins/replication/index.js","default":"./dist/esm/plugins/replication/index.js","require":"./dist/cjs/plugins/replication/index.js"},"./plugins/validate-ajv":{"types":"./dist/types/plugins/validate-ajv/index.d.ts","import":"./dist/esm/plugins/validate-ajv/index.js","default":"./dist/esm/plugins/validate-ajv/index.js","require":"./dist/cjs/plugins/validate-ajv/index.js"},"./plugins/query-builder":{"types":"./dist/types/plugins/query-builder/index.d.ts","import":"./dist/esm/plugins/query-builder/index.js","default":"./dist/esm/plugins/query-builder/index.js","require":"./dist/cjs/plugins/query-builder/index.js"},"./plugins/storage-dexie":{"types":"./dist/types/plugins/storage-dexie/index.d.ts","import":"./dist/esm/plugins/storage-dexie/index.js","default":"./dist/esm/plugins/storage-dexie/index.js","require":"./dist/cjs/plugins/storage-dexie/index.js"},"./plugins/storage-denokv":{"types":"./dist/types/plugins/storage-denokv/index.d.ts","import":"./dist/esm/plugins/storage-denokv/index.js","default":"./dist/esm/plugins/storage-denokv/index.js","require":"./dist/cjs/plugins/storage-denokv/index.js"},"./plugins/storage-memory":{"types":"./dist/types/plugins/storage-memory/index.d.ts","import":"./dist/esm/plugins/storage-memory/index.js","default":"./dist/esm/plugins/storage-memory/index.js","require":"./dist/cjs/plugins/storage-memory/index.js"},"./plugins/storage-remote":{"types":"./dist/types/plugins/storage-remote/index.d.ts","import":"./dist/esm/plugins/storage-remote/index.js","default":"./dist/esm/plugins/storage-remote/index.js","require":"./dist/cjs/plugins/storage-remote/index.js"},"./plugins/storage-sqlite":{"types":"./dist/types/plugins/storage-sqlite/index.d.ts","import":"./dist/esm/plugins/storage-sqlite/index.js","default":"./dist/esm/plugins/storage-sqlite/index.js","require":"./dist/cjs/plugins/storage-sqlite/index.js"},"./plugins/key-compression":{"types":"./dist/types/plugins/key-compression/index.d.ts","import":"./dist/esm/plugins/key-compression/index.js","default":"./dist/esm/plugins/key-compression/index.js","require":"./dist/cjs/plugins/key-compression/index.js"},"./plugins/leader-election":{"types":"./dist/types/plugins/leader-election/index.d.ts","import":"./dist/esm/plugins/leader-election/index.js","default":"./dist/esm/plugins/leader-election/index.js","require":"./dist/cjs/plugins/leader-election/index.js"},"./plugins/local-documents":{"types":"./dist/types/plugins/local-documents/index.d.ts","import":"./dist/esm/plugins/local-documents/index.js","default":"./dist/esm/plugins/local-documents/index.js","require":"./dist/cjs/plugins/local-documents/index.js"},"./plugins/storage-mongodb":{"types":"./dist/types/plugins/storage-mongodb/index.d.ts","import":"./dist/esm/plugins/storage-mongodb/index.js","default":"./dist/esm/plugins/storage-mongodb/index.js","require":"./dist/cjs/plugins/storage-mongodb/index.js"},"./plugins/migration-schema":{"types":"./dist/types/plugins/migration-schema/index.d.ts","import":"./dist/esm/plugins/migration-schema/index.js","default":"./dist/esm/plugins/migration-schema/index.js","require":"./dist/cjs/plugins/migration-schema/index.js"},"./plugins/replication-nats":{"types":"./dist/types/plugins/replication-nats/index.d.ts","import":"./dist/esm/plugins/replication-nats/index.js","default":"./dist/esm/plugins/replication-nats/index.js","require":"./dist/cjs/plugins/replication-nats/index.js"},"./plugins/migration-storage":{"types":"./dist/types/plugins/migration-storage/index.d.ts","import":"./dist/esm/plugins/migration-storage/index.js","default":"./dist/esm/plugins/migration-storage/index.js","require":"./dist/cjs/plugins/migration-storage/index.js"},"./plugins/validate-z-schema":{"types":"./dist/types/plugins/validate-z-schema/index.d.ts","import":"./dist/esm/plugins/validate-z-schema/index.js","default":"./dist/esm/plugins/validate-z-schema/index.js","require":"./dist/cjs/plugins/validate-z-schema/index.js"},"./plugins/replication-webrtc":{"types":"./dist/types/plugins/replication-webrtc/index.d.ts","import":"./dist/esm/plugins/replication-webrtc/index.js","default":"./dist/esm/plugins/replication-webrtc/index.js","require":"./dist/cjs/plugins/replication-webrtc/index.js"},"./plugins/replication-couchdb":{"types":"./dist/types/plugins/replication-couchdb/index.d.ts","import":"./dist/esm/plugins/replication-couchdb/index.js","default":"./dist/esm/plugins/replication-couchdb/index.js","require":"./dist/cjs/plugins/replication-couchdb/index.js"},"./plugins/replication-graphql":{"types":"./dist/types/plugins/replication-graphql/index.d.ts","import":"./dist/esm/plugins/replication-graphql/index.js","default":"./dist/esm/plugins/replication-graphql/index.js","require":"./dist/cjs/plugins/replication-graphql/index.js"},"./plugins/storage-sqlite-prod":{"types":"./dist/types/plugins/storage-sqlite-prod/index.d.ts","import":"./dist/esm/plugins/storage-sqlite-prod/index.js","default":"./dist/esm/plugins/storage-sqlite-prod/index.js","require":"./dist/cjs/plugins/storage-sqlite-prod/index.js"},"./plugins/encryption-crypto-js":{"types":"./dist/types/plugins/encryption-crypto-js/index.d.ts","import":"./dist/esm/plugins/encryption-crypto-js/index.js","default":"./dist/esm/plugins/encryption-crypto-js/index.js","require":"./dist/cjs/plugins/encryption-crypto-js/index.js"},"./plugins/replication-appwrite":{"types":"./dist/types/plugins/replication-appwrite/index.d.ts","import":"./dist/esm/plugins/replication-appwrite/index.js","default":"./dist/esm/plugins/replication-appwrite/index.js","require":"./dist/cjs/plugins/replication-appwrite/index.js"},"./plugins/storage-foundationdb":{"types":"./dist/types/plugins/storage-foundationdb/index.d.ts","import":"./dist/esm/plugins/storage-foundationdb/index.js","default":"./dist/esm/plugins/storage-foundationdb/index.js","require":"./dist/cjs/plugins/storage-foundationdb/index.js"},"./plugins/storage-localstorage":{"types":"./dist/types/plugins/storage-localstorage/index.d.ts","import":"./dist/esm/plugins/storage-localstorage/index.js","default":"./dist/esm/plugins/storage-localstorage/index.js","require":"./dist/cjs/plugins/storage-localstorage/index.js"},"./plugins/replication-firestore":{"types":"./dist/types/plugins/replication-firestore/index.d.ts","import":"./dist/esm/plugins/replication-firestore/index.js","default":"./dist/esm/plugins/replication-firestore/index.js","require":"./dist/cjs/plugins/replication-firestore/index.js"},"./plugins/replication-websocket":{"types":"./dist/types/plugins/replication-websocket/index.d.ts","import":"./dist/esm/plugins/replication-websocket/index.js","default":"./dist/esm/plugins/replication-websocket/index.js","require":"./dist/cjs/plugins/replication-websocket/index.js"},"./plugins/attachments-compression":{"types":"./dist/types/plugins/attachments-compression/index.d.ts","import":"./dist/esm/plugins/attachments-compression/index.js","default":"./dist/esm/plugins/attachments-compression/index.js","require":"./dist/cjs/plugins/attachments-compression/index.js"},"./plugins/storage-remote-websocket":{"types":"./dist/types/plugins/storage-remote-websocket/index.d.ts","import":"./dist/esm/plugins/storage-remote-websocket/index.js","default":"./dist/esm/plugins/storage-remote-websocket/index.js","require":"./dist/cjs/plugins/storage-remote-websocket/index.js"},"./plugins/validate-is-my-json-valid":{"types":"./dist/types/plugins/validate-is-my-json-valid/index.d.ts","import":"./dist/esm/plugins/validate-is-my-json-valid/index.js","default":"./dist/esm/plugins/validate-is-my-json-valid/index.js","require":"./dist/cjs/plugins/validate-is-my-json-valid/index.js"}},"gitHead":"5bdd3dfc4e87efecfaf11f924188c12e20f7128c","scripts":{"aaa":"firebase init firestore","dev":"watch 'npm run test:node:memory' src/ test/","disc":"npm run transpile && npm run build:esm && cross-env NODE_ENV=disc webpack --config ./config/webpack.config.js","lint":"eslint .","test":"npm run test:node && npm run test:browser","build":"npm run clear && npm run build:version && concurrently \"npm run transpile\" \"npm run build:esm\" \"npm run build:types\" \"npm run build:plugins\"","clear":"rimraf -rf test_tmp/ && rimraf -rf dist/ && rimraf .transpile_state.json","profile":"npm run transpile && rm -f isolate-* && cross-env DEFAULT_STORAGE=memory NODE_PROF=true mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --v8-prof --expose-gc && node scripts/profile.mjs","lint:fix":"eslint . --fix","build:esm":"npm run build:version && rimraf -rf --max-retries=3 dist/esm && cross-env NODE_ENV=es6 babel src --out-dir dist/esm --source-maps --extensions \".ts,.js\" && cp ./scripts/module_package_no_side.json dist/esm/package.json","nats:stop":"docker rm -f rxdb-nats","test:core":"npm run transpile && mocha ./test_tmp/unit/core.node.js","test:deps":"npm run build && dependency-check ./package.json ./dist/cjs/index.js ./dist/cjs/plugins/validate-is-my-json-valid/index.js ./dist/cjs/plugins/attachments-compression/index.js ./dist/cjs/plugins/validate-ajv/index.js ./dist/cjs/plugins/update/index.js ./dist/cjs/plugins/key-compression/index.js ./dist/cjs/plugins/dev-mode/index.js ./dist/cjs/plugins/encryption-crypto-js/index.js ./dist/cjs/plugins/replication-graphql/index.js ./dist/cjs/plugins/replication-webrtc/index.js ./dist/cjs/plugins/replication-websocket/index.js ./dist/cjs/plugins/replication-firestore/index.js ./dist/cjs/plugins/replication-nats/index.js ./dist/cjs/plugins/validate-z-schema/index.js ./dist/cjs/plugins/storage-dexie/index.js ./dist/cjs/plugins/storage-memory/index.js ./dist/cjs/plugins/storage-mongodb/index.js --no-dev --ignore-module util --ignore-module url --ignore-module ws --ignore-module graphql --ignore-module as-typed --ignore-module \"@types/*\"","test:fast":"npm run test:fast:memory && npm run test:fast:dexie","test:full":"npm run transpile && mocha ./test_tmp/unit/full.node.js","test:node":"npm run test:node:dexie","transpile":"npm run build:version && node scripts/transpile.mjs && cp ./scripts/module_package.json test_tmp/package.json","build:size":"npm run build:webpack && echo \"Build-Size (minified+gzip):\" && gzip-size --raw ./test_tmp/webpack.bundle.js","couch:stop":"docker rm -f rxdb-couchdb","dockertest":"docker run -it -v $(pwd):/usr/src/app markadams/chromium-xvfb-js:latest-onbuild","docs:build":"rimraf -rf ./docs && mkdir ./docs && (cd docs-src/ && npm run build) && cp -r ./docs-src/build/* ./docs && cp ./docs-src/CNAME ./docs/CNAME","docs:serve":"(cd docs-src/ && npm start)","nats:start":"docker run --rm --name rxdb-nats -p 4222:4222 nats:2.9.17 -js","preversion":"npm run lint && npm run test","build:types":"npm run build:version && rimraf -rf --max-retries=3 ./dist/types && tsc --project ./config/tsconfig.types.json && cp -r ./src/types ./dist/types/types && node ./scripts/fix-types.mjs","check-types":"tsc","couch:start":"docker run -p 5984:5984 -e COUCHDB_USER=root -e COUCHDB_PASSWORD=root --rm --name rxdb-couchdb couchdb:3.3.3","dev:example":"watch 'npm run transpile:src && echo \"done\"' src/ test/","postinstall":"node scripts/postinstall.js || echo \"ignore\"","// test:fast":"run tests in the fast-mode. Most of them will run in parrallel, skips tests that are known slow","build:rollup":"npm run build && rollup --config ./config/rollup.config.mjs","docs:install":"(cd docs-src/ && npm install)","mongodb:stop":"docker rm -f rxdb-mongodb","test:typings":"npm run build:plugins && tsc --allowImportingTsExtensions --noEmit --skipLibCheck --lib \"ES2022,DOM\" ./test/typings.test.ts","// docs:serve":"start a local server to watch the docs. Served at http://localhost:4000/","build:plugins":"node ./scripts/generate-plugins-package-json.mjs","build:version":"node ./scripts/update-version-variable.mjs","build:webpack":"npm run build && cross-env NODE_ENV=build webpack --config ./config/webpack.config.js","mongodb:start":"docker run -p 27017:27017 -p 27018:27018 -p 27019:27019 --rm --name rxdb-mongodb mongo:8.0.4","test:circular":"npm run build && madge --circular ./dist/esm/index.js && madge --circular ./dist/esm/plugins/storage-dexie/index.js","test:bun:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie NODE_ENV=fast bun run ./node_modules/mocha/bin/mocha test_tmp/unit.test.js --bail --timeout 60000","test:fast:loop":"npm run test:fast && npm run test:fast:loop","test:node:loop":"npm run test:node && npm run test:node:loop","lint:debug:time":"TIMING=1 eslint .","test:bun:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory NODE_ENV=fast bun run ./node_modules/mocha/bin/mocha test_tmp/unit.test.js --bail --timeout 60000","test:deno:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie deno run --unstable --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail","test:fast:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","docs:remove:time":"node ./scripts/docs-remove-time.mjs","lint:debug:files":"DEBUG=eslint:cli-engine eslint .","test:deno:denokv":"npm run transpile && cross-env DEFAULT_STORAGE=denokv deno run --unstable-kv --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail --timeout 150000","test:deno:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory deno run --unstable --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail","test:fast:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:custom":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js --experimental-sqlite","test:node:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:remote":"npm run transpile && cross-env DEFAULT_STORAGE=remote mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:performance":"npm run build && npm run test:performance:dexie && npm run test:performance:memory:browser && npm run test:performance:memory:node","// test:fast:loop":"runs tests in the fast-mode in a loop. Use this to debug tests that only fail sometimes","// test:node:loop":"runs tests in node in a loop. Use this to debug tests that only fail sometimes","test:browser:loop":"npm run test:browser && npm run test:browser:loop","test:fast:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:browser:dexie":"  npm run transpile && cross-env CI=true DEFAULT_STORAGE=dexie   karma start ./config/karma.conf.cjs --single-run","test:browser:custom":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=custom  karma start ./config/karma.conf.cjs --single-run","test:browser:memory":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=memory  karma start ./config/karma.conf.cjs --single-run","test:browser:remote":"  npm run transpile && cross-env CI=true DEFAULT_STORAGE=remote karma start ./config/karma.conf.cjs --single-run","test:fast:loop:dexie":"npm run test:fast:dexie && npm run test:fast:loop:dexie","test:node:dexie:loop":"npm run test:node:dexie && npm run test:node:dexie:loop","test:deno:denokv:loop":"npm run test:deno:denokv && npm run test:deno:denokv:loop","test:fast:loop:memory":"npm run test:fast:memory && npm run test:fast:loop:memory","test:node:memory:loop":"npm run test:node:memory && npm run test:node:memory:loop","test:node:remote:loop":"npm run test:node:remote && npm run test:node:remote:loop","test:node:sqlite-prod":"npm run transpile && cross-env DEFAULT_STORAGE=sqlite-prod mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:replication-nats":"npm run transpile && concurrently \"npm run nats:start\" \"cross-env DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-nats.test.js\" --success first --kill-others","cloud-signaling-server":"node ./scripts/start-cloud-signaling-server.mjs --max-old-space-size=2048","test:fast:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:fast:loop:mongodb":"npm run test:fast:mongodb && npm run test:fast:loop:mongodb","test:node:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:localstorage":"npm run transpile && cross-env DEFAULT_STORAGE=localstorage mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:mongodb:loop":"npm run test:node:mongodb && npm run test:node:mongodb:loop","test:node:sqlite-trial":"npm run transpile && cross-env DEFAULT_STORAGE=sqlite-trial mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:performance:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:browser:memory:loop":"npm run test:browser:memory && npm run test:browser:memory:loop","test:browser:remote:loop":"npm run test:browser:remote && npm run test:browser:remote:loop","test:performance:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:replication-couchdb":"npm run transpile && concurrently \"npm run couch:start\" \"cross-env NATIVE_COUCHDB=5984 DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-couchdb.test.js\" --success first --kill-others","test:browser:localstorage":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=localstorage  karma start ./config/karma.conf.cjs --single-run","test:replication-appwrite":"npm run transpile && cross-env DEFAULT_STORAGE=dexie karma start ./config/karma.appwrite.conf.cjs","test:replication-firestore":"npm run transpile && firebase emulators:exec \"cross-env DEFAULT_STORAGE=dexie mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/replication-firestore.test.js\" --only firestore --config \"config/firestore.json\" --project \"rxdb-test\"","test:node:foundationdb:loop":"npm run test:node:foundationdb && npm run test:node:foundationdb:loop","test:performance:memory:bun":"npm run transpile && cross-env DEFAULT_STORAGE=memory bun run ./node_modules/mocha/bin/mocha test_tmp/performance.test.js --bail","test:memory-leak:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/memory-leak.test.js --inspect --unhandled-rejections=strict --expose-gc --max-old-space-size=256","test:performance:custom:node":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc --experimental-sqlite","test:performance:memory:deno":"npm run transpile && cross-env DEFAULT_STORAGE=memory deno run --unstable --allow-env --allow-read -A npm:mocha test/performance.test.ts --bail","test:performance:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:fast:memory-random-delay":"npm run transpile && cross-env DEFAULT_STORAGE=memory-random-delay NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:memory-random-delay":"npm run transpile && cross-env DEFAULT_STORAGE=memory-random-delay mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:performance:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:performance:custom:browser":"npm run transpile && cross-env DEFAULT_STORAGE=custom CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:performance:memory:browser":"npm run transpile && cross-env DEFAULT_STORAGE=memory CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:fast:loop:memory-random-delay":"npm run test:fast:memory-random-delay && npm run test:fast:loop:memory-random-delay","test:node:loop:memory-random-delay":"npm run test:node:memory-random-delay && npm run test:node:loop:memory-random-delay","test:query-correctness-fuzzing:custom:node":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --config ./config/.mocharc.cjs ./test_tmp/query-correctness-fuzzing.test.js --unhandled-rejections=strict --expose-gc","test:query-correctness-fuzzing:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/query-correctness-fuzzing.test.js --unhandled-rejections=strict --expose-gc"},"_npmUser":{"name":"tnjm","actor":{"name":"tnjm","type":"user","email":"toby.m@rsden.com"},"email":"toby.m@rsden.com"},"overrides":{"eslint":"9.28.0","webpack-dev-server":"5.2.2"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/pubkey/rxdb.git","type":"git"},"_npmVersion":"10.9.2","description":"A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"ws":"8.18.2","ajv":"8.17.1","nats":"2.29.3","util":"0.12.5","dexie":"4.0.10","mingo":"6.5.6","graphql":"15.10.1","mongodb":"6.16.0","as-typed":"1.3.2","firebase":"11.8.1","z-schema":"6.0.2","@types/ws":"8.18.1","crypto-js":"4.2.0","js-base64":"3.7.7","graphql-ws":"5.16.2","@types/cors":"2.8.19","ajv-formats":"3.0.1","simple-peer":"9.11.1","@types/clone":"2.1.4","isomorphic-ws":"5.0.0","oblivious-set":"1.4.0","@babel/runtime":"7.27.6","@types/express":"5.0.3","event-reduce-js":"5.2.7","is-my-json-valid":"2.20.6","broadcast-channel":"7.1.0","custom-idle-queue":"4.1.0","@types/simple-peer":"9.11.8","reconnecting-websocket":"4.4.0","jsonschema-key-compression":"1.7.0","array-push-at-sort-position":"4.0.1","get-graphql-from-jsonschema":"8.1.0"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"brfs":"2.0.2","cors":"2.8.5","disc":"1.3.3","rxjs":"7.8.2","clone":"2.1.2","karma":"6.4.4","madge":"8.0.0","mocha":"11.5.0","nconf":"0.13.0","watch":"1.0.2","assert":"2.1.0","delete":"1.1.0","eslint":"9.28.0","rimraf":"5.0.10","rollup":"4.42.0","stream":"0.0.3","terser":"5.42.0","express":"5.1.0","globals":"16.2.0","process":"0.11.10","shelljs":"0.10.0","webpack":"5.99.9","appwrite":"18.1.1","get-port":"5.1.1","readline":"1.3.0","rxdb-old":"npm:rxdb@15.39.0","cross-env":"7.0.3","leveldown":"6.1.1","ts-loader":"9.5.2","walk-sync":"3.0.0","@babel/cli":"7.27.2","@eslint/js":"9.28.0","pre-commit":"1.2.2","random-int":"3.0.0","typescript":"5.8.3","@babel/core":"7.27.4","@types/cors":"2.8.19","@types/node":"22.15.31","exists-file":"3.0.2","karma-mocha":"2.0.1","webpack-cli":"6.0.1","@babel/types":"7.27.6","@types/mocha":"10.0.10","babel-loader":"10.0.0","concurrently":"9.1.2","node-pre-gyp":"0.17.0","@types/assert":"1.5.11","gzip-size-cli":"5.1.0","karma-webpack":"5.0.1","node-appwrite":"17.0.0","@eslint/compat":"1.3.0","@types/core-js":"2.5.8","@types/request":"2.48.12","fake-indexeddb":"6.0.1","firebase-tools":"14.7.0","karma-coverage":"2.2.1","mocha.parallel":"0.15.6","@babel/polyfill":"7.12.1","async-test-util":"2.5.0","express-graphql":"0.12.0","querystring-es3":"0.2.1","@eslint/eslintrc":"3.3.1","@types/crypto-js":"4.2.2","dependency-check":"4.1.0","node-datachannel":"0.27.0","@babel/preset-env":"7.27.2","karma-ie-launcher":"1.0.0","source-map-support":"0.5.21","webpack-dev-server":"5.2.2","copy-webpack-plugin":"13.0.0","eslint-plugin-jsdoc":"50.8.0","html-webpack-plugin":"5.6.3","karma-spec-reporter":"0.0.36","eslint-plugin-import":"2.31.0","karma-opera-launcher":"1.0.0","child-process-promise":"2.2.1","graphql-subscriptions":"2.0.0","karma-chrome-launcher":"3.2.0","karma-detect-browsers":"2.3.3","karma-safari-launcher":"1.0.0","terser-webpack-plugin":"5.3.14","karma-firefox-launcher":"2.1.3","karma-sourcemap-loader":"0.4.0","@rollup/plugin-commonjs":"28.0.3","mini-css-extract-plugin":"2.9.2","webpack-bundle-analyzer":"4.10.2","@babel/preset-typescript":"7.27.1","@stylistic/eslint-plugin":"4.4.1","karma-babel-preprocessor":"8.0.2","@types/source-map-support":"0.5.10","@typescript-eslint/parser":"8.33.1","@rollup/plugin-node-resolve":"16.0.1","@firebase/rules-unit-testing":"4.0.1","@types/request-promise-native":"1.0.21","@babel/plugin-external-helpers":"7.27.1","@babel/plugin-transform-spread":"7.27.1","@babel/plugin-transform-runtime":"7.27.4","@babel/plugin-transform-literals":"7.27.1","@typescript-eslint/eslint-plugin":"8.33.1","@babel/plugin-transform-typescript":"7.27.1","@babel/plugin-proposal-class-properties":"7.18.6","babel-plugin-transform-class-properties":"6.24.1","@babel/plugin-transform-modules-commonjs":"7.27.1","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/plugin-transform-property-literals":"7.27.1","@babel/plugin-transform-template-literals":"7.27.1","@babel/plugin-transform-member-expression-literals":"7.27.1"},"peerDependencies":{"rxjs":"^7.8.0"},"_npmOperationalInternal":{"tmp":"tmp/rxdb_16.16.0-fork_1751898744995_0.07863807355750407","host":"s3://npm-registry-packages-npm-production"}},"16.17.0-fork":{"name":"@botanicastudios/rxdb","description":"A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/","version":"16.17.0-fork","author":{"name":"pubkey"},"repository":{"type":"git","url":"git+https://github.com/pubkey/rxdb.git"},"homepage":"https://rxdb.info/","keywords":["db","database","offline-first","local-first","local first","nosql","no-sql","jsonschema","schema","rxjs","pwa","progessive web app","hybrid app","localstorage","indexeddb","storage","react-native","encryption","encrypted","firestore","firebase","couchdb","pouchdb","nats","websql","sqlite","query","live-query","realtime query","reactive","replication","realtime","realtime database","local database","embedded database","in-memory","memory","memory database","local database","embedded","embed","electron database","mongodb","lokijs","JSON","angular database","react database","capacitor database","node.js database","document","file database","json database","key value database","database driver","database abstraction layer","document database","graph database","mock database","cross-database","asyncstorage","localforage","mongoose","migrate database","websocket database","database-client","dbms","database engine","datastore"],"engines":{"node":">=18"},"license":"Apache-2.0","types":"./dist/types/index.d.ts","sideEffects":false,"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","require":"./dist/cjs/index.js","import":"./dist/esm/index.js","default":"./dist/esm/index.js"},"./plugins/core":{"types":"./dist/types/index.d.ts","require":"./dist/cjs/index.js","import":"./dist/esm/index.js","default":"./dist/esm/index.js"},"./plugins/utils":{"types":"./dist/types/plugins/utils/index.d.ts","require":"./dist/cjs/plugins/utils/index.js","import":"./dist/esm/plugins/utils/index.js","default":"./dist/esm/plugins/utils/index.js"},"./plugins/backup":{"types":"./dist/types/plugins/backup/index.d.ts","require":"./dist/cjs/plugins/backup/index.js","import":"./dist/esm/plugins/backup/index.js","default":"./dist/esm/plugins/backup/index.js"},"./plugins/cleanup":{"types":"./dist/types/plugins/cleanup/index.d.ts","require":"./dist/cjs/plugins/cleanup/index.js","import":"./dist/esm/plugins/cleanup/index.js","default":"./dist/esm/plugins/cleanup/index.js"},"./plugins/crdt":{"types":"./dist/types/plugins/crdt/index.d.ts","require":"./dist/cjs/plugins/crdt/index.js","import":"./dist/esm/plugins/crdt/index.js","default":"./dist/esm/plugins/crdt/index.js"},"./plugins/dev-mode":{"types":"./dist/types/plugins/dev-mode/index.d.ts","require":"./dist/cjs/plugins/dev-mode/index.js","import":"./dist/esm/plugins/dev-mode/index.js","default":"./dist/esm/plugins/dev-mode/index.js"},"./plugins/storage-dexie":{"types":"./dist/types/plugins/storage-dexie/index.d.ts","require":"./dist/cjs/plugins/storage-dexie/index.js","import":"./dist/esm/plugins/storage-dexie/index.js","default":"./dist/esm/plugins/storage-dexie/index.js"},"./plugins/storage-sqlite":{"types":"./dist/types/plugins/storage-sqlite/index.d.ts","require":"./dist/cjs/plugins/storage-sqlite/index.js","import":"./dist/esm/plugins/storage-sqlite/index.js","default":"./dist/esm/plugins/storage-sqlite/index.js"},"./plugins/storage-sqlite-prod":{"types":"./dist/types/plugins/storage-sqlite-prod/index.d.ts","require":"./dist/cjs/plugins/storage-sqlite-prod/index.js","import":"./dist/esm/plugins/storage-sqlite-prod/index.js","default":"./dist/esm/plugins/storage-sqlite-prod/index.js"},"./plugins/electron":{"types":"./dist/types/plugins/electron/index.d.ts","require":"./dist/cjs/plugins/electron/index.js","import":"./dist/esm/plugins/electron/index.js","default":"./dist/esm/plugins/electron/index.js"},"./plugins/flutter":{"types":"./dist/types/plugins/flutter/index.d.ts","require":"./dist/cjs/plugins/flutter/index.js","import":"./dist/esm/plugins/flutter/index.js","default":"./dist/esm/plugins/flutter/index.js"},"./plugins/storage-foundationdb":{"types":"./dist/types/plugins/storage-foundationdb/index.d.ts","require":"./dist/cjs/plugins/storage-foundationdb/index.js","import":"./dist/esm/plugins/storage-foundationdb/index.js","default":"./dist/esm/plugins/storage-foundationdb/index.js"},"./plugins/local-documents":{"types":"./dist/types/plugins/local-documents/index.d.ts","require":"./dist/cjs/plugins/local-documents/index.js","import":"./dist/esm/plugins/local-documents/index.js","default":"./dist/esm/plugins/local-documents/index.js"},"./plugins/storage-memory":{"types":"./dist/types/plugins/storage-memory/index.d.ts","require":"./dist/cjs/plugins/storage-memory/index.js","import":"./dist/esm/plugins/storage-memory/index.js","default":"./dist/esm/plugins/storage-memory/index.js"},"./plugins/storage-mongodb":{"types":"./dist/types/plugins/storage-mongodb/index.d.ts","require":"./dist/cjs/plugins/storage-mongodb/index.js","import":"./dist/esm/plugins/storage-mongodb/index.js","default":"./dist/esm/plugins/storage-mongodb/index.js"},"./plugins/storage-denokv":{"types":"./dist/types/plugins/storage-denokv/index.d.ts","require":"./dist/cjs/plugins/storage-denokv/index.js","import":"./dist/esm/plugins/storage-denokv/index.js","default":"./dist/esm/plugins/storage-denokv/index.js"},"./plugins/storage-localstorage":{"types":"./dist/types/plugins/storage-localstorage/index.d.ts","require":"./dist/cjs/plugins/storage-localstorage/index.js","import":"./dist/esm/plugins/storage-localstorage/index.js","default":"./dist/esm/plugins/storage-localstorage/index.js"},"./plugins/migration-schema":{"types":"./dist/types/plugins/migration-schema/index.d.ts","require":"./dist/cjs/plugins/migration-schema/index.js","import":"./dist/esm/plugins/migration-schema/index.js","default":"./dist/esm/plugins/migration-schema/index.js"},"./plugins/migration-storage":{"types":"./dist/types/plugins/migration-storage/index.d.ts","require":"./dist/cjs/plugins/migration-storage/index.js","import":"./dist/esm/plugins/migration-storage/index.js","default":"./dist/esm/plugins/migration-storage/index.js"},"./plugins/query-builder":{"types":"./dist/types/plugins/query-builder/index.d.ts","require":"./dist/cjs/plugins/query-builder/index.js","import":"./dist/esm/plugins/query-builder/index.js","default":"./dist/esm/plugins/query-builder/index.js"},"./plugins/replication":{"types":"./dist/types/plugins/replication/index.d.ts","require":"./dist/cjs/plugins/replication/index.js","import":"./dist/esm/plugins/replication/index.js","default":"./dist/esm/plugins/replication/index.js"},"./plugins/replication-firestore":{"types":"./dist/types/plugins/replication-firestore/index.d.ts","require":"./dist/cjs/plugins/replication-firestore/index.js","import":"./dist/esm/plugins/replication-firestore/index.js","default":"./dist/esm/plugins/replication-firestore/index.js"},"./plugins/replication-graphql":{"types":"./dist/types/plugins/replication-graphql/index.d.ts","require":"./dist/cjs/plugins/replication-graphql/index.js","import":"./dist/esm/plugins/replication-graphql/index.js","default":"./dist/esm/plugins/replication-graphql/index.js"},"./plugins/replication-webrtc":{"types":"./dist/types/plugins/replication-webrtc/index.d.ts","require":"./dist/cjs/plugins/replication-webrtc/index.js","import":"./dist/esm/plugins/replication-webrtc/index.js","default":"./dist/esm/plugins/replication-webrtc/index.js"},"./plugins/replication-appwrite":{"types":"./dist/types/plugins/replication-appwrite/index.d.ts","require":"./dist/cjs/plugins/replication-appwrite/index.js","import":"./dist/esm/plugins/replication-appwrite/index.js","default":"./dist/esm/plugins/replication-appwrite/index.js"},"./plugins/replication-websocket":{"types":"./dist/types/plugins/replication-websocket/index.d.ts","require":"./dist/cjs/plugins/replication-websocket/index.js","import":"./dist/esm/plugins/replication-websocket/index.js","default":"./dist/esm/plugins/replication-websocket/index.js"},"./plugins/storage-remote":{"types":"./dist/types/plugins/storage-remote/index.d.ts","require":"./dist/cjs/plugins/storage-remote/index.js","import":"./dist/esm/plugins/storage-remote/index.js","default":"./dist/esm/plugins/storage-remote/index.js"},"./plugins/storage-remote-websocket":{"types":"./dist/types/plugins/storage-remote-websocket/index.d.ts","require":"./dist/cjs/plugins/storage-remote-websocket/index.js","import":"./dist/esm/plugins/storage-remote-websocket/index.js","default":"./dist/esm/plugins/storage-remote-websocket/index.js"},"./plugins/attachments":{"types":"./dist/types/plugins/attachments/index.d.ts","require":"./dist/cjs/plugins/attachments/index.js","import":"./dist/esm/plugins/attachments/index.js","default":"./dist/esm/plugins/attachments/index.js"},"./plugins/attachments-compression":{"types":"./dist/types/plugins/attachments-compression/index.d.ts","require":"./dist/cjs/plugins/attachments-compression/index.js","import":"./dist/esm/plugins/attachments-compression/index.js","default":"./dist/esm/plugins/attachments-compression/index.js"},"./plugins/encryption-crypto-js":{"types":"./dist/types/plugins/encryption-crypto-js/index.d.ts","require":"./dist/cjs/plugins/encryption-crypto-js/index.js","import":"./dist/esm/plugins/encryption-crypto-js/index.js","default":"./dist/esm/plugins/encryption-crypto-js/index.js"},"./plugins/json-dump":{"types":"./dist/types/plugins/json-dump/index.d.ts","require":"./dist/cjs/plugins/json-dump/index.js","import":"./dist/esm/plugins/json-dump/index.js","default":"./dist/esm/plugins/json-dump/index.js"},"./plugins/key-compression":{"types":"./dist/types/plugins/key-compression/index.d.ts","require":"./dist/cjs/plugins/key-compression/index.js","import":"./dist/esm/plugins/key-compression/index.js","default":"./dist/esm/plugins/key-compression/index.js"},"./plugins/leader-election":{"types":"./dist/types/plugins/leader-election/index.d.ts","require":"./dist/cjs/plugins/leader-election/index.js","import":"./dist/esm/plugins/leader-election/index.js","default":"./dist/esm/plugins/leader-election/index.js"},"./plugins/replication-couchdb":{"types":"./dist/types/plugins/replication-couchdb/index.d.ts","require":"./dist/cjs/plugins/replication-couchdb/index.js","import":"./dist/esm/plugins/replication-couchdb/index.js","default":"./dist/esm/plugins/replication-couchdb/index.js"},"./plugins/replication-nats":{"types":"./dist/types/plugins/replication-nats/index.d.ts","require":"./dist/cjs/plugins/replication-nats/index.js","import":"./dist/esm/plugins/replication-nats/index.js","default":"./dist/esm/plugins/replication-nats/index.js"},"./plugins/update":{"types":"./dist/types/plugins/update/index.d.ts","require":"./dist/cjs/plugins/update/index.js","import":"./dist/esm/plugins/update/index.js","default":"./dist/esm/plugins/update/index.js"},"./plugins/state":{"types":"./dist/types/plugins/state/index.d.ts","require":"./dist/cjs/plugins/state/index.js","import":"./dist/esm/plugins/state/index.js","default":"./dist/esm/plugins/state/index.js"},"./plugins/pipeline":{"types":"./dist/types/plugins/pipeline/index.d.ts","require":"./dist/cjs/plugins/pipeline/index.js","import":"./dist/esm/plugins/pipeline/index.js","default":"./dist/esm/plugins/pipeline/index.js"},"./plugins/vector":{"types":"./dist/types/plugins/vector/index.d.ts","require":"./dist/cjs/plugins/vector/index.js","import":"./dist/esm/plugins/vector/index.js","default":"./dist/esm/plugins/vector/index.js"},"./plugins/validate-ajv":{"types":"./dist/types/plugins/validate-ajv/index.d.ts","require":"./dist/cjs/plugins/validate-ajv/index.js","import":"./dist/esm/plugins/validate-ajv/index.js","default":"./dist/esm/plugins/validate-ajv/index.js"},"./plugins/validate-is-my-json-valid":{"types":"./dist/types/plugins/validate-is-my-json-valid/index.d.ts","require":"./dist/cjs/plugins/validate-is-my-json-valid/index.js","import":"./dist/esm/plugins/validate-is-my-json-valid/index.js","default":"./dist/esm/plugins/validate-is-my-json-valid/index.js"},"./plugins/validate-z-schema":{"types":"./dist/types/plugins/validate-z-schema/index.d.ts","require":"./dist/cjs/plugins/validate-z-schema/index.js","import":"./dist/esm/plugins/validate-z-schema/index.js","default":"./dist/esm/plugins/validate-z-schema/index.js"},"./plugins/test-utils":{"types":"./dist/types/plugins/test-utils/index.d.ts","require":"./dist/cjs/plugins/test-utils/index.js","import":"./dist/esm/plugins/test-utils/index.js","default":"./dist/esm/plugins/test-utils/index.js"},"./package.json":"./package.json"},"scripts":{"postinstall":"node scripts/postinstall.js || echo \"ignore\"","test":"npm run test:node && npm run test:browser","// test:fast":"run tests in the fast-mode. Most of them will run in parrallel, skips tests that are known slow","test:fast":"npm run test:fast:memory && npm run test:fast:dexie","test:fast:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:fast:memory-random-delay":"npm run transpile && cross-env DEFAULT_STORAGE=memory-random-delay NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:fast:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:fast:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:fast:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb NODE_ENV=fast mocha --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","// test:fast:loop":"runs tests in the fast-mode in a loop. Use this to debug tests that only fail sometimes","test:fast:loop":"npm run test:fast && npm run test:fast:loop","test:fast:loop:memory":"npm run test:fast:memory && npm run test:fast:loop:memory","test:fast:loop:dexie":"npm run test:fast:dexie && npm run test:fast:loop:dexie","test:fast:loop:mongodb":"npm run test:fast:mongodb && npm run test:fast:loop:mongodb","test:fast:loop:memory-random-delay":"npm run test:fast:memory-random-delay && npm run test:fast:loop:memory-random-delay","test:node":"npm run test:node:dexie","test:node:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:memory-random-delay":"npm run transpile && cross-env DEFAULT_STORAGE=memory-random-delay mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:sqlite-trial":"npm run transpile && cross-env DEFAULT_STORAGE=sqlite-trial mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:sqlite-prod":"npm run transpile && cross-env DEFAULT_STORAGE=sqlite-prod mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:localstorage":"npm run transpile && cross-env DEFAULT_STORAGE=localstorage mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:bun:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie NODE_ENV=fast bun run ./node_modules/mocha/bin/mocha test_tmp/unit.test.js --bail --timeout 60000","test:bun:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory NODE_ENV=fast bun run ./node_modules/mocha/bin/mocha test_tmp/unit.test.js --bail --timeout 60000","test:deno:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie deno run --unstable --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail","test:deno:denokv":"npm run transpile && cross-env DEFAULT_STORAGE=denokv deno run --unstable-kv --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail --timeout 150000","test:deno:denokv:loop":"npm run test:deno:denokv && npm run test:deno:denokv:loop","test:deno:memory":"npm run transpile && cross-env DEFAULT_STORAGE=memory deno run --unstable --unstable-broadcast-channel --unstable-byonm --import-map=config/deno-import-map.json -A npm:mocha ./test/unit.test.ts --bail","test:node:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:mongodb:loop":"npm run test:node:mongodb && npm run test:node:mongodb:loop","test:node:remote":"npm run transpile && cross-env DEFAULT_STORAGE=remote mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js","test:node:remote:loop":"npm run test:node:remote && npm run test:node:remote:loop","test:node:memory:loop":"npm run test:node:memory && npm run test:node:memory:loop","test:node:dexie:loop":"npm run test:node:dexie && npm run test:node:dexie:loop","test:node:foundationdb:loop":"npm run test:node:foundationdb && npm run test:node:foundationdb:loop","test:node:custom":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/unit.test.js --experimental-sqlite","// test:node:loop":"runs tests in node in a loop. Use this to debug tests that only fail sometimes","test:node:loop":"npm run test:node && npm run test:node:loop","test:node:loop:memory-random-delay":"npm run test:node:memory-random-delay && npm run test:node:loop:memory-random-delay","test:browser:loop":"npm run test:browser && npm run test:browser:loop","test:browser:memory":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=memory  karma start ./config/karma.conf.cjs --single-run","test:browser:localstorage":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=localstorage  karma start ./config/karma.conf.cjs --single-run","test:browser:memory:loop":"npm run test:browser:memory && npm run test:browser:memory:loop","test:browser:dexie":"  npm run transpile && cross-env CI=true DEFAULT_STORAGE=dexie   karma start ./config/karma.conf.cjs --single-run","test:browser:remote":"  npm run transpile && cross-env CI=true DEFAULT_STORAGE=remote karma start ./config/karma.conf.cjs --single-run","test:browser:remote:loop":"npm run test:browser:remote && npm run test:browser:remote:loop","test:browser:custom":" npm run transpile && cross-env CI=true DEFAULT_STORAGE=custom  karma start ./config/karma.conf.cjs --single-run","test:replication-firestore":"npm run transpile && firebase emulators:exec \"cross-env DEFAULT_STORAGE=dexie mocha --expose-gc --config ./config/.mocharc.cjs ./test_tmp/replication-firestore.test.js\" --only firestore --config \"config/firestore.json\" --project \"rxdb-test\"","test:replication-appwrite":"npm run transpile && cross-env DEFAULT_STORAGE=dexie karma start ./config/karma.appwrite.conf.cjs","aaa":"firebase init firestore","test:replication-couchdb":"npm run transpile && concurrently \"npm run couch:start\" \"cross-env NATIVE_COUCHDB=5984 DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-couchdb.test.js\" --success first --kill-others","test:replication-nats":"npm run transpile && concurrently \"npm run nats:start\" \"cross-env DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-nats.test.js\" --success first --kill-others","test:core":"npm run transpile && mocha ./test_tmp/unit/core.node.js","test:full":"npm run transpile && mocha ./test_tmp/unit/full.node.js","test:typings":"npm run build:plugins && tsc --allowImportingTsExtensions --noEmit --skipLibCheck --lib \"ES2022,DOM\" ./test/typings.test.ts","test:deps":"npm run build && dependency-check ./package.json ./dist/cjs/index.js ./dist/cjs/plugins/validate-is-my-json-valid/index.js ./dist/cjs/plugins/attachments-compression/index.js ./dist/cjs/plugins/validate-ajv/index.js ./dist/cjs/plugins/update/index.js ./dist/cjs/plugins/key-compression/index.js ./dist/cjs/plugins/dev-mode/index.js ./dist/cjs/plugins/encryption-crypto-js/index.js ./dist/cjs/plugins/replication-graphql/index.js ./dist/cjs/plugins/replication-webrtc/index.js ./dist/cjs/plugins/replication-websocket/index.js ./dist/cjs/plugins/replication-firestore/index.js ./dist/cjs/plugins/replication-nats/index.js ./dist/cjs/plugins/validate-z-schema/index.js ./dist/cjs/plugins/storage-dexie/index.js ./dist/cjs/plugins/storage-memory/index.js ./dist/cjs/plugins/storage-mongodb/index.js --no-dev --ignore-module util --ignore-module url --ignore-module ws --ignore-module graphql --ignore-module as-typed --ignore-module \"@types/*\"","test:circular":"npm run build && madge --circular ./dist/esm/index.js && madge --circular ./dist/esm/plugins/storage-dexie/index.js","test:performance:dexie":"npm run transpile && cross-env DEFAULT_STORAGE=dexie CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:performance:memory:browser":"npm run transpile && cross-env DEFAULT_STORAGE=memory CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:performance:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:performance:memory:bun":"npm run transpile && cross-env DEFAULT_STORAGE=memory bun run ./node_modules/mocha/bin/mocha test_tmp/performance.test.js --bail","test:performance:memory:deno":"npm run transpile && cross-env DEFAULT_STORAGE=memory deno run --unstable --allow-env --allow-read -A npm:mocha test/performance.test.ts --bail","test:performance:foundationdb":"npm run transpile && cross-env DEFAULT_STORAGE=foundationdb mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:performance:mongodb":"npm run transpile && cross-env DEFAULT_STORAGE=mongodb mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc","test:performance:custom:browser":"npm run transpile && cross-env DEFAULT_STORAGE=custom CI=true karma start ./config/karma.performance.conf.cjs --single-run","test:performance:custom:node":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --unhandled-rejections=strict --expose-gc --experimental-sqlite","test:performance":"npm run build && npm run test:performance:dexie && npm run test:performance:memory:browser && npm run test:performance:memory:node","test:query-correctness-fuzzing:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/query-correctness-fuzzing.test.js --unhandled-rejections=strict --expose-gc","test:query-correctness-fuzzing:custom:node":"npm run transpile && cross-env DEFAULT_STORAGE=custom mocha --config ./config/.mocharc.cjs ./test_tmp/query-correctness-fuzzing.test.js --unhandled-rejections=strict --expose-gc","test:memory-leak:memory:node":"npm run transpile && cross-env DEFAULT_STORAGE=memory mocha --config ./config/.mocharc.cjs ./test_tmp/memory-leak.test.js --inspect --unhandled-rejections=strict --expose-gc --max-old-space-size=256","couch:start":"docker run -p 5984:5984 -e COUCHDB_USER=root -e COUCHDB_PASSWORD=root --rm --name rxdb-couchdb couchdb:3.3.3","couch:stop":"docker rm -f rxdb-couchdb","mongodb:start":"docker run -p 27017:27017 -p 27018:27018 -p 27019:27019 --rm --name rxdb-mongodb mongo:8.0.4","mongodb:stop":"docker rm -f rxdb-mongodb","nats:start":"docker run --rm --name rxdb-nats -p 4222:4222 nats:2.9.17 -js","nats:stop":"docker rm -f rxdb-nats","dockertest":"docker run -it -v $(pwd):/usr/src/app markadams/chromium-xvfb-js:latest-onbuild","profile":"npm run transpile && rm -f isolate-* && cross-env DEFAULT_STORAGE=memory NODE_PROF=true mocha --config ./config/.mocharc.cjs ./test_tmp/performance.test.js --v8-prof --expose-gc && node scripts/profile.mjs","clear":"rimraf -rf test_tmp/ && rimraf -rf dist/ && rimraf .transpile_state.json","lint":"eslint .","lint:fix":"eslint . --fix","lint:debug:files":"DEBUG=eslint:cli-engine eslint .","lint:debug:time":"TIMING=1 eslint .","check-types":"tsc","transpile":"npm run build:version && node scripts/transpile.mjs && cp ./scripts/module_package.json test_tmp/package.json","build:version":"node ./scripts/update-version-variable.mjs","build:esm":"npm run build:version && rimraf -rf --max-retries=3 dist/esm && cross-env NODE_ENV=es6 babel src --out-dir dist/esm --source-maps --extensions \".ts,.js\" && cp ./scripts/module_package_no_side.json dist/esm/package.json","build:types":"npm run build:version && rimraf -rf --max-retries=3 ./dist/types && tsc --project ./config/tsconfig.types.json && cp -r ./src/types ./dist/types/types && node ./scripts/fix-types.mjs","build":"npm run clear && npm run build:version && concurrently \"npm run transpile\" \"npm run build:esm\" \"npm run build:types\" \"npm run build:plugins\"","build:plugins":"node ./scripts/generate-plugins-package-json.mjs","build:webpack":"npm run build && cross-env NODE_ENV=build webpack --config ./config/webpack.config.js","build:rollup":"npm run build && rollup --config ./config/rollup.config.mjs","build:size":"npm run build:webpack && echo \"Build-Size (minified+gzip):\" && gzip-size --raw ./test_tmp/webpack.bundle.js","docs:install":"(cd docs-src/ && npm install)","// docs:serve":"start a local server to watch the docs. Served at http://localhost:4000/","docs:serve":"(cd docs-src/ && npm start)","docs:build":"rimraf -rf ./docs && mkdir ./docs && (cd docs-src/ && npm run build) && cp -r ./docs-src/build/* ./docs && cp ./docs-src/CNAME ./docs/CNAME","docs:remove:time":"node ./scripts/docs-remove-time.mjs","disc":"npm run transpile && npm run build:esm && cross-env NODE_ENV=disc webpack --config ./config/webpack.config.js","preversion":"npm run lint && npm run test","dev":"watch 'npm run test:node:memory' src/ test/","dev:example":"watch 'npm run transpile:src && echo \"done\"' src/ test/","cloud-signaling-server":"node ./scripts/start-cloud-signaling-server.mjs --max-old-space-size=2048"},"pre-commit":["lint"],"peerDependencies":{"rxjs":"^7.8.0"},"dependencies":{"@babel/runtime":"7.27.6","@types/clone":"2.1.4","@types/cors":"2.8.19","@types/express":"5.0.3","@types/simple-peer":"9.11.8","@types/ws":"8.18.1","ajv":"8.17.1","ajv-formats":"3.0.1","array-push-at-sort-position":"4.0.1","as-typed":"1.3.2","broadcast-channel":"7.1.0","crypto-js":"4.2.0","custom-idle-queue":"4.1.0","dexie":"4.0.10","event-reduce-js":"5.2.7","firebase":"11.8.1","get-graphql-from-jsonschema":"8.1.0","graphql":"15.10.1","graphql-ws":"5.16.2","is-my-json-valid":"2.20.6","isomorphic-ws":"5.0.0","js-base64":"3.7.7","jsonschema-key-compression":"1.7.0","mingo":"6.5.6","mongodb":"6.16.0","nats":"2.29.3","oblivious-set":"1.4.0","reconnecting-websocket":"4.4.0","simple-peer":"9.11.1","util":"0.12.5","ws":"8.18.2","z-schema":"6.0.2"},"devDependencies":{"@babel/cli":"7.27.2","@babel/core":"7.27.4","@babel/plugin-external-helpers":"7.27.1","@babel/plugin-proposal-class-properties":"7.18.6","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/plugin-transform-literals":"7.27.1","@babel/plugin-transform-member-expression-literals":"7.27.1","@babel/plugin-transform-modules-commonjs":"7.27.1","@babel/plugin-transform-property-literals":"7.27.1","@babel/plugin-transform-runtime":"7.27.4","@babel/plugin-transform-spread":"7.27.1","@babel/plugin-transform-template-literals":"7.27.1","@babel/plugin-transform-typescript":"7.27.1","@babel/polyfill":"7.12.1","@babel/preset-env":"7.27.2","@babel/preset-typescript":"7.27.1","@babel/types":"7.27.6","@eslint/compat":"1.3.0","@eslint/eslintrc":"3.3.1","@eslint/js":"9.28.0","@firebase/rules-unit-testing":"4.0.1","@rollup/plugin-commonjs":"28.0.3","@rollup/plugin-node-resolve":"16.0.1","@stylistic/eslint-plugin":"4.4.1","@types/assert":"1.5.11","@types/core-js":"2.5.8","@types/cors":"2.8.19","@types/crypto-js":"4.2.2","@types/mocha":"10.0.10","@types/node":"22.15.31","@types/request":"2.48.12","@types/request-promise-native":"1.0.21","@types/source-map-support":"0.5.10","@typescript-eslint/eslint-plugin":"8.33.1","@typescript-eslint/parser":"8.33.1","appwrite":"18.1.1","assert":"2.1.0","async-test-util":"2.5.0","babel-loader":"10.0.0","babel-plugin-transform-class-properties":"6.24.1","brfs":"2.0.2","child-process-promise":"2.2.1","clone":"2.1.2","concurrently":"9.1.2","copy-webpack-plugin":"13.0.0","cors":"2.8.5","cross-env":"7.0.3","delete":"1.1.0","dependency-check":"4.1.0","disc":"1.3.3","eslint":"9.28.0","eslint-plugin-import":"2.31.0","eslint-plugin-jsdoc":"50.8.0","exists-file":"3.0.2","express":"5.1.0","express-graphql":"0.12.0","fake-indexeddb":"6.0.1","firebase-tools":"14.7.0","get-port":"5.1.1","globals":"16.2.0","graphql-subscriptions":"2.0.0","gzip-size-cli":"5.1.0","html-webpack-plugin":"5.6.3","karma":"6.4.4","karma-babel-preprocessor":"8.0.2","karma-chrome-launcher":"3.2.0","karma-coverage":"2.2.1","karma-detect-browsers":"2.3.3","karma-firefox-launcher":"2.1.3","karma-ie-launcher":"1.0.0","karma-mocha":"2.0.1","karma-opera-launcher":"1.0.0","karma-safari-launcher":"1.0.0","karma-sourcemap-loader":"0.4.0","karma-spec-reporter":"0.0.36","karma-webpack":"5.0.1","leveldown":"6.1.1","madge":"8.0.0","mini-css-extract-plugin":"2.9.2","mocha":"11.5.0","mocha.parallel":"0.15.6","nconf":"0.13.0","node-appwrite":"17.0.0","node-datachannel":"0.27.0","node-pre-gyp":"0.17.0","pre-commit":"1.2.2","process":"0.11.10","querystring-es3":"0.2.1","random-int":"3.0.0","readline":"1.3.0","rimraf":"5.0.10","rollup":"4.42.0","rxdb-old":"npm:rxdb@15.39.0","rxjs":"7.8.2","shelljs":"0.10.0","source-map-support":"0.5.21","stream":"0.0.3","terser":"5.42.0","terser-webpack-plugin":"5.3.14","ts-loader":"9.5.2","typescript":"5.8.3","walk-sync":"3.0.0","watch":"1.0.2","webpack":"5.99.9","webpack-bundle-analyzer":"4.10.2","webpack-cli":"6.0.1","webpack-dev-server":"5.2.2"},"overrides":{"eslint":"9.28.0","webpack-dev-server":"5.2.2"},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","_id":"@botanicastudios/rxdb@16.17.0-fork","gitHead":"ceac56f97c2e31c8ae27a3ea1a97fccc728b5e00","bugs":{"url":"https://github.com/pubkey/rxdb/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-rYOxPVfDmulSaJVb+/ptim92XB2AwpSPoHo1q5GjBkCsB4W0Ls/AjlyIjaOqTOxmXC6aUtCo0llDGJ+4/mVdag==","shasum":"c9f76f830466404b1021057bf7c35ecc4019bd73","tarball":"https://registry.npmjs.org/@botanicastudios/rxdb/-/rxdb-16.17.0-fork.tgz","fileCount":1687,"unpackedSize":8668828,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD3uneJGcIG4FtW5RPT5i8h3mgbPCVv6OaqGluvgojprQIgNaltUm20pTKZqDP/2h7ynL1WQYiNZ8lWyb6glyMNSgg="}]},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com","actor":{"name":"tnjm","email":"toby.m@rsden.com","type":"user"}},"directories":{},"maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rxdb_16.17.0-fork_1751898877983_0.7209849927110865"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-07T14:00:12.713Z","modified":"2025-07-07T14:34:38.423Z","16.15.0":"2025-07-07T14:00:13.134Z","16.16.0-fork":"2025-07-07T14:32:25.255Z","16.17.0-fork":"2025-07-07T14:34:38.244Z"},"bugs":{"url":"https://github.com/pubkey/rxdb/issues"},"author":{"name":"pubkey"},"license":"Apache-2.0","homepage":"https://rxdb.info/","keywords":["db","database","offline-first","local-first","local first","nosql","no-sql","jsonschema","schema","rxjs","pwa","progessive web app","hybrid app","localstorage","indexeddb","storage","react-native","encryption","encrypted","firestore","firebase","couchdb","pouchdb","nats","websql","sqlite","query","live-query","realtime query","reactive","replication","realtime","realtime database","local database","embedded database","in-memory","memory","memory database","local database","embedded","embed","electron database","mongodb","lokijs","JSON","angular database","react database","capacitor database","node.js database","document","file database","json database","key value database","database driver","database abstraction layer","document database","graph database","mock database","cross-database","asyncstorage","localforage","mongoose","migrate database","websocket database","database-client","dbms","database engine","datastore"],"repository":{"type":"git","url":"git+https://github.com/pubkey/rxdb.git"},"description":"A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"readme":"<!--\n| Announcement                                                        |\n| :--: |\n| &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; [Help testing the RxDB version 16 release](https://github.com/pubkey/rxdb/issues/6650) &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; |\n-->\n\n<!-- | Announcement                                                        |\n| :--: |\n| &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; Version **16.0.0** is now released, read the [CHANGELOG](https://rxdb.info/releases/16.0.0.html) &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; |\n -->\n\n<!--\n|                                                                                  Announcement                                                                                  |\n| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\n| Please take part in the [RxDB user survey 2023](https://rxdb.info/survey.html). This will help me to better plan the steps for the next major release. (takes about 2 minutes) |\n-->\n\n<br />\n\n\n\n<p align=\"center\">\n  <a href=\"https://rxdb.info/\">\n    <img src=\"./docs-src/static/files/logo/logo_text.svg\" width=\"380px\" alt=\"JavaScript Database\" />\n  </a>\n  <br />\n  <br />\n  <h3 align=\"center\">A fast, local-first, reactive Database for JavaScript Applications</h3>\n</p>\n\n\n<p align=\"center\">\n    <a href=\"https://github.com/pubkey/rxdb/releases\"><img src=\"https://img.shields.io/github/v/release/pubkey/rxdb?color=%23ff00a0&include_prereleases&label=version&sort=semver&style=flat-square\"></a>\n    &nbsp;\n    <a href=\"https://rxdb.info/tutorials/typescript.html\"><img src=\"https://img.shields.io/npm/types/rxdb?style=flat-square\"></a>\n    &nbsp;\n    <a href=\"https://github.com/pubkey/rxdb/blob/master/LICENSE.txt\"><img src=\"https://img.shields.io/github/license/pubkey/rxdb?style=flat-square\"></a>\n    &nbsp;\n    <a href=\"https://github.com/pubkey/rxdb/stargazers\"><img src=\"https://img.shields.io/github/stars/pubkey/rxdb?color=f6f8fa&style=flat-square\"></a>\n    &nbsp;\n    <a href=\"https://www.npmjs.com/package/rxdb\"><img src=\"https://img.shields.io/npm/dm/rxdb?color=c63a3b&style=flat-square\"></a>   \n</p>\n\n<p align=\"center\">\n \t  <a href=\"https://rxdb.info/chat\"><img src=\"https://img.shields.io/discord/969553741705539624?label=discord&style=flat-square&color=5a66f6\"></a>\n\t  &nbsp;\n    <a href=\"https://twitter.com/intent/follow?screen_name=rxdbjs\"><img src=\"https://img.shields.io/badge/twitter-%40rxdbjs-1DA1F2?style=flat-square\"></a>\n\t  &nbsp;\n    <a href=\"https://www.linkedin.com/company/rxdb\"><img src=\"https://img.shields.io/badge/linkedin-%40rxdb-0e76a8?style=flat-square\"></a>\n    &nbsp;\n    <a href=\"https://rxdb.info/newsletter\"><img src=\"https://img.shields.io/badge/newsletter-subscribe-e05b29?style=flat-square\"></a>\n</p>\n\n\n<br />\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/logo/logo.svg\">&nbsp;&nbsp;What is RxDB?\n</h2>\n\n<p align=\"justify\">\n  RxDB (short for <b>R</b>eactive <b>D</b>ata<b>b</b>ase) is a <a href=\"https://rxdb.info/articles/local-first-future.html\">local-first</a>, NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps, Deno and <a href=\"https://rxdb.info/nodejs-database.html\">Node.js</a>.\n  Reactive means that you can not only query the current state, but <b>subscribe</b> to all state changes like the result of a query or even a single field of a document.\n  This is great for UI-based <b>realtime</b> applications in a way that makes it easy to develop and also has great performance benefits but can also be used to create fast backends in Node.js.<br />\n  RxDB provides an easy to implement <a href=\"https://rxdb.info/replication.html\">protocol</a> for realtime <b>replication</b> with your existing infrastructure or one of the plugins for <a href=\"https://rxdb.info/replication-http.html\">HTTP</a>, <a href=\"https://rxdb.info/replication-graphql.html\">GraphQL</a>, <a href=\"https://rxdb.info/replication-couchdb.html\">CouchDB</a>, <a href=\"https://rxdb.info/replication-websocket.html\">Websocket</a>, <a href=\"https://rxdb.info/replication-webrtc.html\">WebRTC</a>, <a href=\"https://github.com/marceljuenemann/rxdb-supabase\">Supabase</a>, <a href=\"https://rxdb.info/replication-firestore.html\">Firestore</a>, <a href=\"https://rxdb.info/replication-nats.html\">NATS</a>.<br />\n  RxDB is based on a storage interface that enables you to swap out the underlying storage engine. This increases <b>code reuse</b> because you can use the same database code for different JavaScript environments by just switching out the storage settings.\n</p>\n\nUse the [quickstart](https://rxdb.info/quickstart.html), read the [documentation](https://rxdb.info/install.html) or explore the [example projects](https://github.com/pubkey/rxdb/tree/master/examples).\n\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/people.svg\">&nbsp;&nbsp;Used by <b style=\"color: #e6008d;\">many</b>\n</h2>\n\nRxDB is a proven technology used by [thousands of developers](https://github.com/pubkey/rxdb/network/dependents) worldwide. With its flexibility, RxDB is used in a diverse range of apps and services.\n\n<a href=\"https://rxdb.info/#reviews\" target=\"_blank\">\n<img src=\"./docs-src/static/files/used-by-many.png\" />\n</a>\n<br />\n(<a href=\"https://forms.gle/7taae27VqLXqd4sF6\">add yours</a>)\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/multiplayer.svg\">&nbsp;&nbsp;Multiplayer realtime applications\n  <img height=\"36\" src=\"./docs-src/static/files/icons/with-gradient/text/made-easy.svg\">\n</h2>\n\n\n\n![realtime.gif](docs-src/static/files/animations/realtime.gif)\n\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/replication.svg\">&nbsp;&nbsp;Replicate with your <b style=\"color: #e6008d;\">existing infrastructure</b>\n</h2>\n\nRxDB provides an easy to implement, <b>battle-tested</b> <a href=\"https://rxdb.info/replication.html\">Sync Engine</a> for <a href=\"https://rxdb.info/articles/realtime-database.html\">realtime</a> replication with your existing infrastructure.<br />\nYou do not have to use a specific cloud or backend database. The protocol works by implementing three simple HTTP endpoints.\nThere are also production-ready plugins to easily replicate with <a href=\"https://rxdb.info/replication-graphql.html\">GraphQL</a>, <a href=\"https://rxdb.info/replication-couchdb.html\">CouchDB</a>, <a href=\"https://rxdb.info/replication-websocket.html\">Websocket</a>, <a href=\"https://rxdb.info/replication-webrtc.html\">WebRTC (P2P)</a>,<a href=\"https://github.com/marceljuenemann/rxdb-supabase\">Supabase</a>, <a href=\"https://rxdb.info/replication-firestore.html\">Firestore</a> or <a href=\"https://rxdb.info/replication-nats.html\">NATS</a>.\n\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/storage-layer.svg\">&nbsp;&nbsp;<b style=\"color: #8D2089;\">Flexible</b> storage layer\n</h2>\n\nRxDB is based on a [storage interface](https://rxdb.info/rx-storage.html) that enables you to swap out the underlying storage engine. This increases **code reuse** because the same database code can be used in different JavaScript environments by just switching out the storage settings.\n\nYou can use RxDB on top of [LocalStorage](https://rxdb.info/rx-storage-localstorage.html), [IndexedDB](https://rxdb.info/rx-storage-indexeddb.html), [OPFS](https://rxdb.info/rx-storage-opfs.html), [LokiJS](https://rxdb.info/rx-storage-lokijs.html), [Dexie.js](https://rxdb.info/rx-storage-dexie.html), [in-memory](https://rxdb.info/rx-storage-memory.html), [SQLite](https://rxdb.info/rx-storage-sqlite.html), in a [WebWorker](https://rxdb.info/rx-storage-worker.html) thread and even on top of [FoundationDB](https://rxdb.info/rx-storage-foundationdb.html) and [DenoKV](https://rxdb.info/rx-storage-denokv.html).\n\nNo matter what kind of runtime you have, as long as it runs JavaScript, it can run RxDB:\n\n<h4>\n  <img height=\"13\" src=\"https://cdnjs.cloudflare.com/ajax/libs/browser-logos/39.2.2/chrome/chrome_24x24.png\" />\n  <img height=\"13\" src=\"https://cdnjs.cloudflare.com/ajax/libs/browser-logos/39.2.2/firefox/firefox_24x24.png\" />\n  <img height=\"13\" src=\"https://cdnjs.cloudflare.com/ajax/libs/browser-logos/39.2.2/safari/safari_24x24.png\" />\n  <img height=\"13\" src=\"https://cdnjs.cloudflare.com/ajax/libs/browser-logos/39.2.2/edge/edge_24x24.png\" />\n  <img height=\"13\" src=\"https://cdnjs.cloudflare.com/ajax/libs/browser-logos/39.2.2/archive/internet-explorer_9-11/internet-explorer_9-11_24x24.png\" />\n  <a href=\"./examples/angular\">Browsers</a>\n  <img height=\"13\" src=\"docs-src/static/files/icons/nodejs.png\" />\n  <a href=\"./examples/node\">Node.js</a>\n  <img height=\"13\" src=\"docs-src/static/files/icons/react-native.png\" />\n  <a href=\"https://rxdb.info/react-native-database.html\">React Native</a>\n  <img height=\"13\" src=\"docs-src/static/files/icons/capacitor.svg\" />\n  <a href=\"https://rxdb.info/capacitor-database.html\">Capacitor</a>\n  <img height=\"13\" src=\"docs-src/static/files/icons/nativescript.svg\" />\n  <a href=\"https://github.com/herefishyfish/rxdb-nativescript\">NativeScript</a>\n  <img height=\"13\" src=\"docs-src/static/files/icons/flutter.svg\" />\n  <a href=\"./examples/flutter\">Flutter</a>\n  or as an <img height=\"13\" src=\"docs-src/static/files/icons/electron.png\" />\n  <a href=\"https://rxdb.info/electron-database.html\">Electron Database</a>\n</h4>\n\n\n<h2>\n  All the features that you need\n</h2>\n\nSince its beginning in 2018, RxDB has gained a huge set of features and plugins which makes it a flexible full solution regardless of which type of application you are building. Every feature that you need now or might need in the future is already there.\n\n\n<table>\n  <tr>\n    <td>\n      <a href=\"https://rxdb.info/logger.html\">Logging</a><br>\n      <a href=\"https://rxdb.info/rx-attachment.html\">Attachments</a><br>\n      <a href=\"https://rxdb.info/orm.html\">ORM</a><br>\n      <a href=\"https://rxdb.info/transactions-conflicts-revisions.html\">Conflict Handling</a><br>\n      <a href=\"https://rxdb.info/middleware.html\">Middleware</a><br>\n      <a href=\"https://rxdb.info/reactivity.html\">Signals</a>\n    </td>\n    <td>\n      <a href=\"https://rxdb.info/rx-state.html\">State</a><br>\n      <a href=\"https://rxdb.info/backup.html\">Backup</a><br>\n      <a href=\"https://rxdb.info/replication.html\">Replication</a><br>\n      <a href=\"https://rxdb.info/rx-server.html\">Server</a><br>\n      <a href=\"https://rxdb.info/rx-storage.html\">Storages</a><br>\n      <a href=\"https://rxdb.info/rx-local-document.html\">Local Documents</a>\n    </td>\n    <td>\n      <a href=\"https://rxdb.info/schema-validation.html\">Schema Validation</a><br>\n      <a href=\"https://rxdb.info/key-compression.html\">Compression</a><br>\n      <a href=\"https://rxdb.info/migration-schema.html\">Migration</a><br>\n      <a href=\"https://rxdb.info/encryption.html\">Encryption</a><br>\n      <a href=\"https://rxdb.info/crdt.html\">CRDT</a><br>\n      <a href=\"https://rxdb.info/population.html\">Population</a>\n    </td>\n  </tr>\n</table>\n\n<!-- - [Logging](https://rxdb.info/logger.html)\n- [Attachments](https://rxdb.info/rx-attachment.html)\n- [ORM](https://rxdb.info/orm.html)\n- [Conflict Handling](https://rxdb.info/transactions-conflicts-revisions.html)\n- [Middleware](https://rxdb.info/middleware.html)\n- [Signals](https://rxdb.info/reactivity.html)\n- [State](https://rxdb.info/rx-state.html)\n- [Backup](https://rxdb.info/backup.html)\n- [Replication](https://rxdb.info/replication.html)\n- [Server](https://rxdb.info/rx-server.html)\n- [Storages](https://rxdb.info/rx-storage.html)\n- [Local Documents](https://rxdb.info/rx-local-document.html)\n- [Schema Validation](https://rxdb.info/schema-validation.html)\n- [Compression](https://rxdb.info/key-compression.html)\n- [Migration](https://rxdb.info/migration-schema.html)\n- [Encryption](https://rxdb.info/encryption.html)\n- [CRDT](https://rxdb.info/crdt.html)\n- [Population](https://rxdb.info/population.html) -->\n\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/rocket.svg\">&nbsp;&nbsp;Quick start\n</h2>\n\n\n#### Install\n\n```sh\nnpm install rxdb rxjs --save\n```\n\n#### Store data\n\n```javascript\nimport { \n  createRxDatabase\n} from 'rxdb/plugins/core';\n\n/**\n * For browsers, we use the localstorage based storage.\n * In other JavaScript runtimes, we can use different storages:\n * @link https://rxdb.info/rx-storage.html\n */\nimport { getRxStorageLocalstorage } from 'rxdb/plugins/storage-localstorage';\n\n// create a database\nconst db = await createRxDatabase({\n    name: 'heroesdb', // the name of the database\n    storage: getRxStorageLocalstorage()\n});\n\n// add collections\nawait db.addCollections({\n  heroes: {\n    schema: mySchema\n  }\n});\n\n// insert a document\nawait db.heroes.insert({\n  name: 'Bob',\n  healthpoints: 100\n});\n```\n\n#### Query data once\n```javascript\nconst aliveHeroes = await db.heroes.find({\n  selector: {\n    healthpoints: {\n      $gt: 0\n    }\n  }\n}).exec(); // the exec() returns the result once\n```\n\n#### Observe a Query\n```javascript\nawait db.heroes.find({\n  selector: {\n    healthpoints: {\n      $gt: 0\n    }\n  }\n})\n.$ // the $ returns an observable that emits each time the result set of the query changes\n.subscribe(aliveHeroes => console.dir(aliveHeroes));\n```\n\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/rocket.svg\">&nbsp;&nbsp;Get started\n</h2>\n\n\nGet started now by [reading the docs](https://rxdb.info/quickstart.html) or exploring the [example-projects](./examples).\n\n<h2>\n  <img height=\"16\" width=\"16\" src=\"./docs-src/static/files/icons/with-gradient/contribute.svg\">&nbsp;&nbsp;Support and Contribute\n</h2>\n\n- **Leave a Star ☝️**\n- [Check out how you can contribute to this project](https://rxdb.info/contribution.html).\n- [Read this when you have found a bug](./orga/bug-checklist.md)\n- [Buy access to the premium plugins](https://rxdb.info/premium/)\n- [Join us at discord to get help](https://rxdb.info/chat)\n- [Follow us at LinkedIn](https://www.linkedin.com/company/rxdb/)\n\n<!-- \n  There are many websites that just exact-copy the readme of github projects.\n  This generates free backlinks so we add some links here to pages\n  that we need to rank better.\n-->\n#### More content\n[Angular Database](https://rxdb.info/articles/angular-database.html), [Frontend Database](https://rxdb.info/articles/frontend-database.html), [localStorage](https://rxdb.info/articles/localstorage.html), [React Database](https://rxdb.info/articles/react-database.html), [Browser Database](https://rxdb.info/articles/browser-database.html), [React Native Database](https://rxdb.info/react-native-database.html), [PWA Database](https://rxdb.info/articles/progressive-web-app-database.html), [In-memory NoSQL database](https://rxdb.info/articles/in-memory-nosql-database.html), [JSON database](https://rxdb.info/articles/json-database.html), [Angular IndexedDB](https://rxdb.info/articles/angular-indexeddb.html), [React IndexedDB](https://rxdb.info/articles/react-indexeddb.html), [Optimistic UI](https://rxdb.info/articles/optimistic-ui.html), [local database](https://rxdb.info/articles/local-database.html), [React Native Encryption](https://rxdb.info/articles/react-native-encryption.html), [Vue Database](https://rxdb.info/articles/vue-database.html), [jQuery Database](https://rxdb.info/articles/jquery-database.html), [Vue IndexedDB](https://rxdb.info/articles/vue-indexeddb.html), [Firestore Alternative](https://rxdb.info/articles/firestore-alternative.html), [Firebase Realtime Database Alternative](https://rxdb.info/articles/firebase-realtime-database-alternative.html), [Ionic Storage](https://rxdb.info/articles/ionic-storage.html)\n\n","readmeFilename":"README.md"}