UNPKG

rxdb

Version:

A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/

637 lines 35.3 kB
{ "name": "rxdb", "description": "A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/", "version": "16.21.1", "author": "pubkey", "repository": { "type": "git", "url": "https://github.com/pubkey/rxdb" }, "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", "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", "supabase", "mongodb", "appwrite", "couchdb", "firestore", "firebase" ], "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/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/replication-mongodb": { "types": "./dist/types/plugins/replication-mongodb/index.d.ts", "require": "./dist/cjs/plugins/replication-mongodb/index.js", "import": "./dist/esm/plugins/replication-mongodb/index.js", "default": "./dist/esm/plugins/replication-mongodb/index.js" }, "./plugins/replication-supabase": { "types": "./dist/types/plugins/replication-supabase/index.d.ts", "require": "./dist/cjs/plugins/replication-supabase/index.js", "import": "./dist/esm/plugins/replication-supabase/index.js", "default": "./dist/esm/plugins/replication-supabase/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: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:browser:custom:chromium": " npm run transpile && cross-env CI=true DEFAULT_STORAGE=custom karma start ./config/karma.conf.cjs --single-run --browsers Chromium", "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:replication-mongodb": "node ./config/mongodb-connection-tester.js && npm run transpile && cross-env DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-mongodb.test.js", "test:replication-supabase": "npm run transpile && cross-env DEFAULT_STORAGE=dexie mocha --config ./config/.mocharc.cjs ./test_tmp/replication-supabase.test.js", "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 && madge --circular test_tmp", "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 mongod --replSet rs0 --bind_ip_all", "mongodb:stop": "docker rm -f rxdb-mongodb", "supabase:start": "npm run supabase:stop && supabase start --workdir ./config/ -x storage-api,imgproxy,vector,edge-runtime,logflare,pgadmin-schema-diff,inbucket", "supabase:stop": "rm -rf ./config/supabase/.[!.]* && supabase stop --workdir ./config/ --no-backup", "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.28.4", "@types/clone": "2.1.4", "@types/cors": "2.8.19", "@types/express": "5.0.5", "@types/simple-peer": "9.11.9", "@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.2.0", "crypto-js": "4.2.0", "custom-idle-queue": "4.1.0", "dexie": "4.0.10", "event-reduce-js": "5.2.7", "firebase": "11.10.0", "get-graphql-from-jsonschema": "8.1.0", "graphql": "16.12.0", "graphql-ws": "5.16.2", "is-my-json-valid": "2.20.6", "isomorphic-ws": "5.0.0", "js-base64": "3.7.8", "jsonschema-key-compression": "1.7.0", "mingo": "6.5.6", "mongodb": "6.21.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.3", "z-schema": "6.0.2" }, "devDependencies": { "@babel/cli": "7.28.3", "@babel/core": "7.28.5", "@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.28.5", "@babel/plugin-transform-spread": "7.27.1", "@babel/plugin-transform-template-literals": "7.27.1", "@babel/plugin-transform-typescript": "7.28.5", "@babel/polyfill": "7.12.1", "@babel/preset-env": "7.28.5", "@babel/preset-typescript": "7.28.5", "@babel/types": "7.28.5", "@eslint/compat": "1.4.1", "@eslint/eslintrc": "3.3.1", "@eslint/js": "9.39.1", "@firebase/rules-unit-testing": "4.0.1", "@rollup/plugin-commonjs": "29.0.0", "@rollup/plugin-node-resolve": "16.0.3", "@stylistic/eslint-plugin": "5.6.1", "@supabase/supabase-js": "2.86.0", "@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.19.1", "@types/request": "2.48.13", "@types/request-promise-native": "1.0.21", "@types/source-map-support": "0.5.10", "@typescript-eslint/eslint-plugin": "8.48.0", "@typescript-eslint/parser": "8.48.0", "appwrite": "21.4.0", "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.2.1", "copy-webpack-plugin": "13.0.1", "cors": "2.8.5", "cross-env": "10.1.0", "delete": "1.1.0", "dependency-check": "4.1.0", "disc": "1.3.3", "eslint": "9.39.1", "eslint-plugin-import": "2.32.0", "eslint-plugin-jsdoc": "61.4.1", "exists-file": "3.0.2", "express": "5.1.0", "fake-indexeddb": "6.2.5", "firebase-tools": "14.26.0", "get-port": "5.1.1", "globals": "16.5.0", "graphql-http": "1.22.4", "graphql-subscriptions": "2.0.0", "gzip-size-cli": "5.1.0", "html-webpack-plugin": "5.6.5", "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.4", "mocha": "11.7.5", "mocha.parallel": "0.15.6", "nconf": "0.13.0", "node-appwrite": "17.2.0", "node-datachannel": "0.30.0", "node-pre-gyp": "0.17.0", "pre-commit": "1.2.2", "process": "0.11.10", "querystring-es3": "0.2.1", "random-int": "3.1.0", "readline": "1.3.0", "rimraf": "5.0.10", "rollup": "4.53.3", "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", "supabase": "2.63.1", "terser": "5.44.1", "terser-webpack-plugin": "5.3.14", "ts-loader": "9.5.4", "typescript": "5.9.3", "walk-sync": "3.0.0", "watch": "1.0.2", "webpack": "5.103.0", "webpack-bundle-analyzer": "4.10.2", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.2" }, "overrides": { "eslint": "9.39.1", "webpack-dev-server": "5.2.2" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" }