rxdb-server 15.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/LICENSE.txt +555 -0
  2. package/README.md +7 -0
  3. package/dist/cjs/index.js +10 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/plugins/client-rest/index.js +86 -0
  6. package/dist/cjs/plugins/client-rest/index.js.map +1 -0
  7. package/dist/cjs/plugins/client-rest/utils.js +19 -0
  8. package/dist/cjs/plugins/client-rest/utils.js.map +1 -0
  9. package/dist/cjs/plugins/replication-server/helpers.js +38 -0
  10. package/dist/cjs/plugins/replication-server/helpers.js.map +1 -0
  11. package/dist/cjs/plugins/replication-server/index.js +169 -0
  12. package/dist/cjs/plugins/replication-server/index.js.map +1 -0
  13. package/dist/cjs/plugins/replication-server/types.js +2 -0
  14. package/dist/cjs/plugins/replication-server/types.js.map +1 -0
  15. package/dist/cjs/plugins/server/endpoint-replication.js +162 -0
  16. package/dist/cjs/plugins/server/endpoint-replication.js.map +1 -0
  17. package/dist/cjs/plugins/server/endpoint-rest.js +219 -0
  18. package/dist/cjs/plugins/server/endpoint-rest.js.map +1 -0
  19. package/dist/cjs/plugins/server/helper.js +173 -0
  20. package/dist/cjs/plugins/server/helper.js.map +1 -0
  21. package/dist/cjs/plugins/server/index.js +84 -0
  22. package/dist/cjs/plugins/server/index.js.map +1 -0
  23. package/dist/cjs/plugins/server/rx-server.js +51 -0
  24. package/dist/cjs/plugins/server/rx-server.js.map +1 -0
  25. package/dist/cjs/plugins/server/types.js +37 -0
  26. package/dist/cjs/plugins/server/types.js.map +1 -0
  27. package/dist/esm/index.js +4 -0
  28. package/dist/esm/index.js.map +1 -0
  29. package/dist/esm/package.json +1 -0
  30. package/dist/esm/plugins/client-rest/index.js +64 -0
  31. package/dist/esm/plugins/client-rest/index.js.map +1 -0
  32. package/dist/esm/plugins/client-rest/utils.js +13 -0
  33. package/dist/esm/plugins/client-rest/utils.js.map +1 -0
  34. package/dist/esm/plugins/replication-server/helpers.js +32 -0
  35. package/dist/esm/plugins/replication-server/helpers.js.map +1 -0
  36. package/dist/esm/plugins/replication-server/index.js +146 -0
  37. package/dist/esm/plugins/replication-server/index.js.map +1 -0
  38. package/dist/esm/plugins/replication-server/types.js +3 -0
  39. package/dist/esm/plugins/replication-server/types.js.map +1 -0
  40. package/dist/esm/plugins/server/endpoint-replication.js +156 -0
  41. package/dist/esm/plugins/server/endpoint-replication.js.map +1 -0
  42. package/dist/esm/plugins/server/endpoint-rest.js +213 -0
  43. package/dist/esm/plugins/server/endpoint-rest.js.map +1 -0
  44. package/dist/esm/plugins/server/helper.js +157 -0
  45. package/dist/esm/plugins/server/helper.js.map +1 -0
  46. package/dist/esm/plugins/server/index.js +30 -0
  47. package/dist/esm/plugins/server/index.js.map +1 -0
  48. package/dist/esm/plugins/server/rx-server.js +45 -0
  49. package/dist/esm/plugins/server/rx-server.js.map +1 -0
  50. package/dist/esm/plugins/server/types.js +37 -0
  51. package/dist/esm/plugins/server/types.js.map +1 -0
  52. package/dist/types/index.d.ts +1 -0
  53. package/dist/types/plugins/client-rest/index.d.ts +22 -0
  54. package/dist/types/plugins/client-rest/utils.d.ts +2 -0
  55. package/dist/types/plugins/replication-server/helpers.d.ts +2 -0
  56. package/dist/types/plugins/replication-server/index.d.ts +21 -0
  57. package/dist/types/plugins/replication-server/types.d.ts +17 -0
  58. package/dist/types/plugins/server/endpoint-replication.d.ts +20 -0
  59. package/dist/types/plugins/server/endpoint-rest.d.ts +16 -0
  60. package/dist/types/plugins/server/helper.d.ts +23 -0
  61. package/dist/types/plugins/server/index.d.ts +7 -0
  62. package/dist/types/plugins/server/rx-server.d.ts +44 -0
  63. package/dist/types/plugins/server/types.d.ts +66 -0
  64. package/package.json +139 -0
  65. package/plugins/client-rest/index.cjs +2 -0
  66. package/plugins/client-rest/index.d.cts +1 -0
  67. package/plugins/client-rest/index.d.mts +1 -0
  68. package/plugins/client-rest/index.mjs +1 -0
  69. package/plugins/client-rest/index.ts +1 -0
  70. package/plugins/client-rest/package.json +18 -0
  71. package/plugins/replication-server/index.cjs +2 -0
  72. package/plugins/replication-server/index.d.cts +1 -0
  73. package/plugins/replication-server/index.d.mts +1 -0
  74. package/plugins/replication-server/index.mjs +1 -0
  75. package/plugins/replication-server/index.ts +1 -0
  76. package/plugins/replication-server/package.json +18 -0
  77. package/plugins/server/index.cjs +2 -0
  78. package/plugins/server/index.d.cts +1 -0
  79. package/plugins/server/index.d.mts +1 -0
  80. package/plugins/server/index.mjs +1 -0
  81. package/plugins/server/index.ts +1 -0
  82. package/plugins/server/package.json +18 -0
@@ -0,0 +1,21 @@
1
+ import { RxCollection, ReplicationPullOptions, ReplicationPushOptions, RxStorageDefaultCheckpoint, ById } from 'rxdb/plugins/core';
2
+ import { RxReplicationState } from 'rxdb/plugins/replication';
3
+ import { Subject } from 'rxjs';
4
+ import { ServerSyncOptions } from './types.ts';
5
+ export * from './types.ts';
6
+ export declare class RxServerReplicationState<RxDocType> extends RxReplicationState<RxDocType, RxStorageDefaultCheckpoint> {
7
+ readonly replicationIdentifier: string;
8
+ readonly collection: RxCollection<RxDocType>;
9
+ readonly pull?: ReplicationPullOptions<RxDocType, RxStorageDefaultCheckpoint> | undefined;
10
+ readonly push?: ReplicationPushOptions<RxDocType> | undefined;
11
+ readonly live: boolean;
12
+ retryTime: number;
13
+ autoStart: boolean;
14
+ headers: ById<string>;
15
+ readonly outdatedClient$: Subject<void>;
16
+ readonly unauthorized$: Subject<void>;
17
+ readonly forbidden$: Subject<void>;
18
+ constructor(replicationIdentifier: string, collection: RxCollection<RxDocType>, pull?: ReplicationPullOptions<RxDocType, RxStorageDefaultCheckpoint> | undefined, push?: ReplicationPushOptions<RxDocType> | undefined, live?: boolean, retryTime?: number, autoStart?: boolean, headers?: ById<string>);
19
+ setHeaders(headers: ById<string>): void;
20
+ }
21
+ export declare function replicateServer<RxDocType>(options: ServerSyncOptions<RxDocType>): RxServerReplicationState<RxDocType>;
@@ -0,0 +1,17 @@
1
+ import type { ReplicationOptions, ReplicationPullOptions, ReplicationPushOptions, RxStorageDefaultCheckpoint } from 'rxdb/plugins/core';
2
+ export type ServerSyncPullOptions<RxDocType> = Omit<ReplicationPullOptions<RxDocType, RxStorageDefaultCheckpoint>, 'handler' | 'stream$'> & {};
3
+ export type ServerSyncPushOptions<RxDocType> = Omit<ReplicationPushOptions<RxDocType>, 'handler'> & {};
4
+ export type ServerSyncOptions<RxDocType> = Omit<ReplicationOptions<RxDocType, any>, 'pull' | 'push'> & {
5
+ url: string;
6
+ headers?: {
7
+ [k: string]: string;
8
+ };
9
+ pull?: ServerSyncPullOptions<RxDocType>;
10
+ push?: ServerSyncPushOptions<RxDocType>;
11
+ /**
12
+ * If the EventSource API is not available
13
+ * on the runtime, pass an own implementation here.
14
+ * Mostly used with the "eventsource" npm package on Node.js.
15
+ */
16
+ eventSource?: typeof EventSource | any;
17
+ };
@@ -0,0 +1,20 @@
1
+ import { RxCollection, RxReplicationHandler, StringKeys } from 'rxdb/plugins/core';
2
+ import type { RxServer } from './rx-server.ts';
3
+ import type { RxServerChangeValidator, RxServerEndpoint, RxServerQueryModifier } from './types.ts';
4
+ export type RxReplicationEndpointMessageType = {
5
+ id: string;
6
+ method: StringKeys<RxReplicationHandler<any, any>> | 'auth';
7
+ params: any[];
8
+ };
9
+ export declare class RxServerReplicationEndpoint<AuthType, RxDocType> implements RxServerEndpoint<AuthType, RxDocType> {
10
+ readonly server: RxServer<AuthType>;
11
+ readonly name: string;
12
+ readonly collection: RxCollection<RxDocType>;
13
+ readonly serverOnlyFields: string[];
14
+ readonly cors?: string | undefined;
15
+ readonly type = "replication";
16
+ readonly urlPath: string;
17
+ readonly changeValidator: RxServerChangeValidator<AuthType, RxDocType>;
18
+ readonly queryModifier: RxServerQueryModifier<AuthType, RxDocType>;
19
+ constructor(server: RxServer<AuthType>, name: string, collection: RxCollection<RxDocType>, queryModifier: RxServerQueryModifier<AuthType, RxDocType>, changeValidator: RxServerChangeValidator<AuthType, RxDocType>, serverOnlyFields: string[], cors?: string | undefined);
20
+ }
@@ -0,0 +1,16 @@
1
+ import { RxCollection } from 'rxdb/plugins/core';
2
+ import type { RxServer } from './rx-server.ts';
3
+ import type { RxServerChangeValidator, RxServerEndpoint, RxServerQueryModifier } from './types.ts';
4
+ export declare const REST_PATHS: readonly ["query", "query/observe", "get", "set", "delete"];
5
+ export declare class RxServerRestEndpoint<AuthType, RxDocType> implements RxServerEndpoint<AuthType, RxDocType> {
6
+ readonly server: RxServer<AuthType>;
7
+ readonly name: string;
8
+ readonly collection: RxCollection<RxDocType>;
9
+ readonly serverOnlyFields: string[];
10
+ readonly cors?: string | undefined;
11
+ readonly type = "rest";
12
+ readonly urlPath: string;
13
+ readonly changeValidator: RxServerChangeValidator<AuthType, RxDocType>;
14
+ readonly queryModifier: RxServerQueryModifier<AuthType, RxDocType>;
15
+ constructor(server: RxServer<AuthType>, name: string, collection: RxCollection<RxDocType>, queryModifier: RxServerQueryModifier<AuthType, RxDocType>, changeValidator: RxServerChangeValidator<AuthType, RxDocType>, serverOnlyFields: string[], cors?: string | undefined);
16
+ }
@@ -0,0 +1,23 @@
1
+ import { RxServer } from './rx-server';
2
+ import type { Request, Response } from 'express';
3
+ import { RxServerAuthData, RxServerEndpoint } from './types';
4
+ import { MangoQuerySelector, RxDocumentData } from 'rxdb/plugins/core';
5
+ export declare function setCors(server: RxServer<any>, path: string, cors?: string): void;
6
+ /**
7
+ * "block" the previous version urls and send a 426 on them so that
8
+ * the clients know they must update.
9
+ */
10
+ export declare function blockPreviousVersionPaths(server: RxServer<any>, path: string, currentVersion: number): void;
11
+ export declare function closeConnection(response: Response, code: number, message: string): Promise<void>;
12
+ export declare function addAuthMiddleware<AuthType>(server: RxServer<AuthType>, path: string): WeakMap<Request, RxServerAuthData<AuthType>>;
13
+ export declare function getDocAllowedMatcher<RxDocType, AuthType>(endpoint: RxServerEndpoint<AuthType, RxDocType>, authData: RxServerAuthData<AuthType>): import("rxdb/plugins/core").QueryMatcher<RxDocumentData<RxDocType>>;
14
+ export declare function writeSSEHeaders(res: Response): void;
15
+ export declare function docContainsServerOnlyFields(serverOnlyFields: string[], doc: any): string | undefined;
16
+ export declare function removeServerOnlyFieldsMonad<RxDocType>(serverOnlyFields: string[]): (docData?: RxDocType | RxDocumentData<RxDocType>) => any;
17
+ export declare function mergeServerDocumentFieldsMonad<RxDocType>(serverOnlyFields: string[]): (clientDoc: RxDocType | RxDocumentData<RxDocType>, serverDoc?: RxDocType | RxDocumentData<RxDocType>) => RxDocType | RxDocumentData<RxDocType>;
18
+ /**
19
+ * $regex queries are dangerous because they can dos-attach the
20
+ *
21
+ * @param selector
22
+ */
23
+ export declare function doesContainRegexQuerySelector(selector: MangoQuerySelector<any> | any): boolean;
@@ -0,0 +1,7 @@
1
+ import { RxServer } from './rx-server.ts';
2
+ import { RxServerOptions } from './types.ts';
3
+ export * from './types.ts';
4
+ export * from './endpoint-replication.ts';
5
+ export * from './endpoint-rest.ts';
6
+ export * from './helper.ts';
7
+ export declare function startRxServer<AuthType>(options: RxServerOptions<AuthType>): Promise<RxServer<AuthType>>;
@@ -0,0 +1,44 @@
1
+ /// <reference types="node" />
2
+ import type { RxCollection, RxDatabase } from 'rxdb/plugins/core';
3
+ import { RxServerReplicationEndpoint } from './endpoint-replication.ts';
4
+ import type { RxServerAuthHandler, RxServerChangeValidator, RxServerEndpoint, RxServerQueryModifier } from './types.ts';
5
+ import { Server as HttpServer } from 'http';
6
+ import { Express } from 'express';
7
+ import { RxServerRestEndpoint } from './endpoint-rest.ts';
8
+ export declare class RxServer<AuthType> {
9
+ readonly database: RxDatabase;
10
+ readonly authHandler: RxServerAuthHandler<AuthType>;
11
+ readonly httpServer: HttpServer;
12
+ readonly expressApp: Express;
13
+ readonly cors: string;
14
+ readonly endpoints: RxServerEndpoint<AuthType, any>[];
15
+ private closeFn;
16
+ constructor(database: RxDatabase, authHandler: RxServerAuthHandler<AuthType>, httpServer: HttpServer, expressApp: Express, cors?: string);
17
+ addReplicationEndpoint<RxDocType>(opts: {
18
+ name: string;
19
+ collection: RxCollection<RxDocType>;
20
+ queryModifier?: RxServerQueryModifier<AuthType, RxDocType>;
21
+ changeValidator?: RxServerChangeValidator<AuthType, RxDocType>;
22
+ /**
23
+ * Set a origin for allowed CORS requests.
24
+ * Overwrites the cors option of the server.
25
+ * [default='*']
26
+ */
27
+ cors?: '*' | string;
28
+ serverOnlyFields?: string[];
29
+ }): Promise<RxServerReplicationEndpoint<AuthType, RxDocType>>;
30
+ addRestEndpoint<RxDocType>(opts: {
31
+ name: string;
32
+ collection: RxCollection<RxDocType>;
33
+ queryModifier?: RxServerQueryModifier<AuthType, RxDocType>;
34
+ changeValidator?: RxServerChangeValidator<AuthType, RxDocType>;
35
+ /**
36
+ * Set a origin for allowed CORS requests.
37
+ * Overwrites the cors option of the server.
38
+ * [default='*']
39
+ */
40
+ cors?: '*' | string;
41
+ serverOnlyFields?: string[];
42
+ }): Promise<RxServerRestEndpoint<AuthType, RxDocType>>;
43
+ close(): Promise<void>;
44
+ }
@@ -0,0 +1,66 @@
1
+ /// <reference types="node" />
2
+ import type { FilledMangoQuery, RxDatabase, RxReplicationWriteToMasterRow, MaybePromise, RxCollection } from 'rxdb/plugins/core';
3
+ import { IncomingHttpHeaders } from 'http';
4
+ import { Express } from 'express';
5
+ export type RxServerOptions<AuthType> = {
6
+ database: RxDatabase;
7
+ authHandler?: RxServerAuthHandler<AuthType>;
8
+ serverApp?: Express;
9
+ appOptions?: any;
10
+ /**
11
+ * [default=localhost]
12
+ */
13
+ hostname?: 'localhost' | '0.0.0.0' | string;
14
+ port: number;
15
+ /**
16
+ * Set a origin for allowed CORS requests.
17
+ * Can be overwritten by the cors option of the endpoints.
18
+ * [default='*']
19
+ */
20
+ cors?: '*' | string;
21
+ };
22
+ export type RxServerAuthData<AuthType> = {
23
+ data: AuthType;
24
+ validUntil: number;
25
+ };
26
+ /**
27
+ * Returns the auth state by the given request headers.
28
+ * Throws if auth not valid.
29
+ */
30
+ export type RxServerAuthHandler<AuthType> = (headers: IncomingHttpHeaders) => MaybePromise<RxServerAuthData<AuthType>>;
31
+ /**
32
+ * Modifies a given query in a way to limit the results
33
+ * to what the authenticated user is allowed to see.
34
+ * For example the query selector
35
+ * input: {
36
+ * selector: {
37
+ * myField: { $gt: 100 }
38
+ * }
39
+ * }
40
+ * could be modified to restrict the results to only return
41
+ * documents that are "owned" by the user
42
+ * return: {
43
+ * selector: {
44
+ * myField: { $gt: 100 },
45
+ * userId: { $eq: authData.userId }
46
+ * }
47
+ * }
48
+ *
49
+ *
50
+ */
51
+ export type RxServerQueryModifier<AuthType, RxDocType> = (authData: RxServerAuthData<AuthType>, query: FilledMangoQuery<RxDocType>) => FilledMangoQuery<RxDocType>;
52
+ /**
53
+ * Validates if a given change is allowed to be performed on the server.
54
+ * Returns true if allowed, false if not.
55
+ * If a client tries to make a non-allowed change,
56
+ * the client will be disconnected.
57
+ */
58
+ export type RxServerChangeValidator<AuthType, RxDocType> = (authData: RxServerAuthData<AuthType>, change: RxReplicationWriteToMasterRow<RxDocType>) => boolean;
59
+ export interface RxServerEndpoint<AuthType, RxDocType> {
60
+ collection: RxCollection<RxDocType>;
61
+ name: string;
62
+ type: 'replication' | 'rest' | string;
63
+ urlPath: string;
64
+ queryModifier?: RxServerQueryModifier<AuthType, RxDocType>;
65
+ changeValidator?: RxServerChangeValidator<AuthType, RxDocType>;
66
+ }
package/package.json ADDED
@@ -0,0 +1,139 @@
1
+ {
2
+ "name": "rxdb-server",
3
+ "version": "15.4.3",
4
+ "description": "RxDB Server Plugin",
5
+ "license": "SSPL",
6
+ "author": "pubkey",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/pubkey/rxdb"
10
+ },
11
+ "homepage": "https://rxdb.info/rx-server.html",
12
+ "keywords": [
13
+ "rxdb",
14
+ "server"
15
+ ],
16
+ "engines": {
17
+ "node": ">=20"
18
+ },
19
+ "types": "./dist/types/index.d.ts",
20
+ "sideEffects": false,
21
+ "main": "./dist/cjs/index.js",
22
+ "module": "./dist/esm/index.js",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/types/index.d.ts",
26
+ "require": "./dist/cjs/index.js",
27
+ "import": "./dist/esm/index.js",
28
+ "default": "./dist/esm/index.js"
29
+ },
30
+ "./plugins/server": {
31
+ "types": "./dist/types/plugins/server/index.d.ts",
32
+ "require": "./dist/cjs/plugins/server/index.js",
33
+ "import": "./dist/esm/plugins/server/index.js",
34
+ "default": "./dist/esm/plugins/server/index.js"
35
+ },
36
+ "./plugins/replication-server": {
37
+ "types": "./dist/types/plugins/replication-server/index.d.ts",
38
+ "require": "./dist/cjs/plugins/replication-server/index.js",
39
+ "import": "./dist/esm/plugins/replication-server/index.js",
40
+ "default": "./dist/esm/plugins/replication-server/index.js"
41
+ },
42
+ "./plugins/client-rest": {
43
+ "types": "./dist/types/plugins/client-rest/index.d.ts",
44
+ "require": "./dist/cjs/plugins/client-rest/index.js",
45
+ "import": "./dist/esm/plugins/client-rest/index.js",
46
+ "default": "./dist/esm/plugins/client-rest/index.js"
47
+ },
48
+ "./package.json": "./package.json"
49
+ },
50
+ "scripts": {
51
+ "prebuild:scripts": "rimraf -rf scripts/generate-plugins-package-json.mjs && cp node_modules/rxdb/scripts/generate-plugins-package-json.mjs scripts/generate-plugins-package-json.mjs",
52
+ "prebuild:babel": "rimraf -rf babel.config.js && cp node_modules/rxdb/babel.config.js babel.config.js",
53
+ "prebuild": "npm run prebuild:babel && npm run prebuild:scripts",
54
+ "build:cjs": "rimraf -rf dist/cjs && cross-env NODE_ENV=es5 babel src --out-dir dist/cjs --source-maps --extensions \".ts,.js\"",
55
+ "build:es": "rimraf -rf dist/esm && cross-env NODE_ENV=es6 babel src --out-dir dist/esm --source-maps --extensions \".ts,.js\" && echo '{ \"type\": \"module\", \"sideEffects\": false }' > dist/esm/package.json",
56
+ "build:types": "rimraf -rf ./dist/types && tsc --project ./config/tsconfig.types.json",
57
+ "build": "npm run prebuild && rimraf -rf ./dist && npm run build:plugins && concurrently \"npm run build:cjs\" \"npm run build:es\" \"npm run build:types\" --success all",
58
+ "build:plugins": "node ./scripts/generate-plugins-package-json.mjs",
59
+ "// build:bundle": "bundles the npm module so it can be installed into other folder to run tests",
60
+ "build:bundle": "rimraf -rf rxdb-server.tgz && npx yarn@1.22.10 pack ./ --filename ./rxdb-server.tgz",
61
+ "version": "node ./scripts/version.js",
62
+ "check-types": "npm run build && tsc",
63
+ "test:unit": "npm run build && ts-mocha ./test/unit.test.ts --bail --exit",
64
+ "test:integration:init": "(cd ./scripts && bash test-integration-init.sh)",
65
+ "test:integration:memory": "(cd test-integration && npm run transpile && npm run test:node:memory)",
66
+ "test:integration:foundationdb": "(cd test-integration && npm run transpile && npm run test:node:foundationdb)",
67
+ "test:integration:mongodb": "(cd test-integration && npm run transpile && npm run test:node:mongodb)"
68
+ },
69
+ "peerDependencies": {
70
+ "rxdb": "*",
71
+ "rxjs": "*"
72
+ },
73
+ "dependencies": {
74
+ "@types/eventsource": "1.1.15",
75
+ "@types/express": "4.17.21",
76
+ "array-push-at-sort-position": "4.0.1",
77
+ "async-test-util": "2.2.1",
78
+ "eth-crypto": "2.6.0",
79
+ "eventsource": "2.0.2",
80
+ "percom": "1.1.3",
81
+ "web-locks": "0.0.8",
82
+ "web-worker": "1.2.0"
83
+ },
84
+ "devDependencies": {
85
+ "@babel/cli": "7.23.4",
86
+ "@babel/core": "7.23.6",
87
+ "@babel/plugin-external-helpers": "7.23.3",
88
+ "@babel/plugin-proposal-class-properties": "7.18.6",
89
+ "@babel/plugin-proposal-object-rest-spread": "7.20.7",
90
+ "@babel/plugin-transform-literals": "7.23.3",
91
+ "@babel/plugin-transform-member-expression-literals": "7.23.3",
92
+ "@babel/plugin-transform-modules-commonjs": "7.23.3",
93
+ "@babel/plugin-transform-property-literals": "7.23.3",
94
+ "@babel/plugin-transform-runtime": "7.23.6",
95
+ "@babel/plugin-transform-spread": "7.23.3",
96
+ "@babel/plugin-transform-template-literals": "7.23.3",
97
+ "@babel/plugin-transform-typescript": "7.23.3",
98
+ "@babel/polyfill": "7.12.1",
99
+ "@babel/preset-env": "7.23.3",
100
+ "@babel/preset-typescript": "7.23.3",
101
+ "@babel/types": "7.23.5",
102
+ "@faker-js/faker": "8.3.1",
103
+ "@types/mocha": "10.0.6",
104
+ "@types/node": "20.10.5",
105
+ "@types/sqlite3": "3.1.11",
106
+ "@types/websql": "0.0.30",
107
+ "babel-loader": "9.1.3",
108
+ "babel-plugin-transform-class-properties": "6.24.1",
109
+ "concurrently": "8.2.2",
110
+ "cross-env": "7.0.3",
111
+ "detect-browser": "5.3.0",
112
+ "express": "4.18.2",
113
+ "get-port": "5.1.1",
114
+ "http-server": "14.1.1",
115
+ "karma": "6.4.2",
116
+ "karma-chrome-launcher": "3.2.0",
117
+ "karma-detect-browsers": "2.3.3",
118
+ "karma-firefox-launcher": "2.1.2",
119
+ "karma-mocha": "2.0.1",
120
+ "karma-sourcemap-loader": "0.4.0",
121
+ "karma-spec-reporter": "0.0.36",
122
+ "karma-typescript": "5.5.4",
123
+ "karma-webpack": "5.0.0",
124
+ "mini-css-extract-plugin": "2.7.6",
125
+ "minify-all-js": "0.1.9",
126
+ "mocha": "10.2.0",
127
+ "rimraf": "5.0.5",
128
+ "rxdb": "15.4.3",
129
+ "rxjs": "7.8.1",
130
+ "ts-loader": "9.5.1",
131
+ "ts-mocha": "10.0.0",
132
+ "ts-node": "10.9.1",
133
+ "typescript": "5.3.3",
134
+ "webpack": "5.89.0",
135
+ "webpack-bundle-analyzer": "4.10.1",
136
+ "webpack-cli": "5.1.4",
137
+ "webpack-dev-server": "4.15.1"
138
+ }
139
+ }
@@ -0,0 +1,2 @@
1
+ const pkg = require('../../dist/cjs/plugins/client-rest/index.js');
2
+ module.exports = pkg;
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/client-rest/index';
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/client-rest/index';
@@ -0,0 +1 @@
1
+ export * from '../../dist/esm/plugins/client-rest/index.js';
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/client-rest/index';
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "rxdb-plugins-client-rest",
3
+ "description": "This package.json file is generated by the \"npm run build:plugins\" script, do not edit it manually!",
4
+ "sideEffects": false,
5
+ "types": "../../dist/types/plugins/client-rest/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "default": {
9
+ "types": "./index.d.ts",
10
+ "import": "./index.mjs",
11
+ "default": "./index.cjs"
12
+ }
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
16
+ "main": "./index.cjs",
17
+ "module": "./index.mjs"
18
+ }
@@ -0,0 +1,2 @@
1
+ const pkg = require('../../dist/cjs/plugins/replication-server/index.js');
2
+ module.exports = pkg;
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/replication-server/index';
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/replication-server/index';
@@ -0,0 +1 @@
1
+ export * from '../../dist/esm/plugins/replication-server/index.js';
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/replication-server/index';
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "rxdb-plugins-replication-server",
3
+ "description": "This package.json file is generated by the \"npm run build:plugins\" script, do not edit it manually!",
4
+ "sideEffects": false,
5
+ "types": "../../dist/types/plugins/replication-server/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "default": {
9
+ "types": "./index.d.ts",
10
+ "import": "./index.mjs",
11
+ "default": "./index.cjs"
12
+ }
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
16
+ "main": "./index.cjs",
17
+ "module": "./index.mjs"
18
+ }
@@ -0,0 +1,2 @@
1
+ const pkg = require('../../dist/cjs/plugins/server/index.js');
2
+ module.exports = pkg;
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/server/index';
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/server/index';
@@ -0,0 +1 @@
1
+ export * from '../../dist/esm/plugins/server/index.js';
@@ -0,0 +1 @@
1
+ export * from '../../dist/types/plugins/server/index';
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "rxdb-plugins-server",
3
+ "description": "This package.json file is generated by the \"npm run build:plugins\" script, do not edit it manually!",
4
+ "sideEffects": false,
5
+ "types": "../../dist/types/plugins/server/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "default": {
9
+ "types": "./index.d.ts",
10
+ "import": "./index.mjs",
11
+ "default": "./index.cjs"
12
+ }
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
16
+ "main": "./index.cjs",
17
+ "module": "./index.mjs"
18
+ }