rxdb-server 17.1.0 → 17.3.0
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.
- package/CHANGELOG.md +5 -0
- package/README.md +4 -0
- package/dist/cjs/plugins/adapter-express/index.js +10 -1
- package/dist/cjs/plugins/adapter-express/index.js.map +1 -1
- package/dist/cjs/plugins/client-rest/index.js +12 -7
- package/dist/cjs/plugins/client-rest/index.js.map +1 -1
- package/dist/cjs/plugins/replication-server/index.js +1 -1
- package/dist/cjs/plugins/replication-server/index.js.map +1 -1
- package/dist/cjs/plugins/server/endpoint-replication.js +9 -2
- package/dist/cjs/plugins/server/endpoint-replication.js.map +1 -1
- package/dist/cjs/plugins/server/endpoint-rest.js +58 -9
- package/dist/cjs/plugins/server/endpoint-rest.js.map +1 -1
- package/dist/cjs/plugins/server/helper.js +44 -7
- package/dist/cjs/plugins/server/helper.js.map +1 -1
- package/dist/cjs/plugins/server/index.js +12 -0
- package/dist/cjs/plugins/server/index.js.map +1 -1
- package/dist/cjs/plugins/server/performance-test.js +276 -0
- package/dist/cjs/plugins/server/performance-test.js.map +1 -0
- package/dist/esm/plugins/adapter-express/index.js +10 -1
- package/dist/esm/plugins/adapter-express/index.js.map +1 -1
- package/dist/esm/plugins/client-rest/index.js +12 -7
- package/dist/esm/plugins/client-rest/index.js.map +1 -1
- package/dist/esm/plugins/replication-server/index.js +1 -1
- package/dist/esm/plugins/replication-server/index.js.map +1 -1
- package/dist/esm/plugins/server/endpoint-replication.js +10 -3
- package/dist/esm/plugins/server/endpoint-replication.js.map +1 -1
- package/dist/esm/plugins/server/endpoint-rest.js +59 -10
- package/dist/esm/plugins/server/endpoint-rest.js.map +1 -1
- package/dist/esm/plugins/server/helper.js +43 -7
- package/dist/esm/plugins/server/helper.js.map +1 -1
- package/dist/esm/plugins/server/index.js +1 -0
- package/dist/esm/plugins/server/index.js.map +1 -1
- package/dist/esm/plugins/server/performance-test.js +271 -0
- package/dist/esm/plugins/server/performance-test.js.map +1 -0
- package/dist/types/plugins/server/helper.d.ts +11 -1
- package/dist/types/plugins/server/index.d.ts +1 -0
- package/dist/types/plugins/server/performance-test.d.ts +43 -0
- package/orga/changelog/README.md +18 -0
- package/package.json +8 -41
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reusable performance test suite for RxDB server adapters.
|
|
3
|
+
* This function can be exported and used by consumers who
|
|
4
|
+
* create custom adapters to verify their performance characteristics.
|
|
5
|
+
*/
|
|
6
|
+
import type { RxDatabase } from 'rxdb/plugins/core';
|
|
7
|
+
import type { RxServerAdapter } from './types.ts';
|
|
8
|
+
export type PerformanceTestResult = {
|
|
9
|
+
/** Name of the test case */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Total time in milliseconds */
|
|
12
|
+
timeMs: number;
|
|
13
|
+
/** Number of operations performed */
|
|
14
|
+
opsCount: number;
|
|
15
|
+
/** Calculated operations per second */
|
|
16
|
+
opsPerSecond: number;
|
|
17
|
+
};
|
|
18
|
+
export type PerformanceTestOptions<ServerAppType> = {
|
|
19
|
+
adapter: RxServerAdapter<ServerAppType, any, any>;
|
|
20
|
+
/**
|
|
21
|
+
* Function that creates a fresh RxDatabase instance.
|
|
22
|
+
* Must return a database that can be closed after each test.
|
|
23
|
+
*/
|
|
24
|
+
createDatabase: () => Promise<RxDatabase>;
|
|
25
|
+
/**
|
|
26
|
+
* Function that resolves an available port for the server.
|
|
27
|
+
*/
|
|
28
|
+
getPort: () => Promise<number>;
|
|
29
|
+
/**
|
|
30
|
+
* Number of documents to use for each test.
|
|
31
|
+
* [default=30]
|
|
32
|
+
*/
|
|
33
|
+
batchSize?: number;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Runs a set of performance tests against the given adapter.
|
|
37
|
+
* Each test creates its own server and collection, measures
|
|
38
|
+
* the time for the operations, and tears down afterwards.
|
|
39
|
+
*
|
|
40
|
+
* Returns an array of results that callers can assert against
|
|
41
|
+
* or log for comparison purposes.
|
|
42
|
+
*/
|
|
43
|
+
export declare function performanceTest<ServerAppType>(options: PerformanceTestOptions<ServerAppType>): Promise<PerformanceTestResult[]>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## Changelog Entries
|
|
2
|
+
|
|
3
|
+
Add one file per changelog entry to this folder. Each file should contain one or more changelog lines starting with `-`.
|
|
4
|
+
|
|
5
|
+
**File naming**: Use a descriptive filename ending in `.md`, for example:
|
|
6
|
+
|
|
7
|
+
- `fix-count-query-with-limit.md`
|
|
8
|
+
- `add-supabase-attachment-support.md`
|
|
9
|
+
|
|
10
|
+
**File content example**:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
- FIX some bug that caused incorrect results
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
On rxdb release, all `.md` files in this folder (except this README) are read out from rxdb-server and merged into the changelog at rxdb core.
|
|
17
|
+
|
|
18
|
+
This approach prevents merge conflicts in `CHANGELOG.md` when multiple PRs are open at the same time.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rxdb-server",
|
|
3
|
-
"version": "17.
|
|
3
|
+
"version": "17.3.0",
|
|
4
4
|
"description": "RxDB Server Plugin",
|
|
5
5
|
"license": "SSPL",
|
|
6
6
|
"author": "pubkey",
|
|
@@ -73,72 +73,39 @@
|
|
|
73
73
|
"test:integration:mongodb": "(cd test-integration && npm run transpile && npm run test:node:mongodb)"
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
|
-
"rxdb": "
|
|
76
|
+
"rxdb": "17.3.0",
|
|
77
77
|
"rxjs": "*"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
+
"@types/cors": "2.8.19",
|
|
80
81
|
"@types/express": "5.0.6",
|
|
81
|
-
"array-push-at-sort-position": "5.0.0",
|
|
82
82
|
"async-test-util": "2.5.0",
|
|
83
83
|
"cors": "2.8.6",
|
|
84
|
-
"
|
|
85
|
-
"eventsource": "4.1.0",
|
|
86
|
-
"percom": "1.1.3",
|
|
87
|
-
"web-locks": "0.0.9",
|
|
88
|
-
"web-worker": "1.5.0"
|
|
84
|
+
"eventsource": "4.1.0"
|
|
89
85
|
},
|
|
90
86
|
"devDependencies": {
|
|
91
87
|
"@babel/cli": "7.28.6",
|
|
92
88
|
"@babel/core": "7.29.0",
|
|
93
|
-
"@babel/plugin-external-helpers": "7.27.1",
|
|
94
|
-
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
95
|
-
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
|
|
96
89
|
"@babel/plugin-transform-literals": "7.27.1",
|
|
97
|
-
"@babel/plugin-transform-member-expression-literals": "7.27.1",
|
|
98
90
|
"@babel/plugin-transform-modules-commonjs": "7.28.6",
|
|
99
91
|
"@babel/plugin-transform-react-jsx": "7.28.6",
|
|
100
|
-
"@babel/plugin-transform-property-literals": "7.27.1",
|
|
101
92
|
"@babel/plugin-transform-runtime": "7.29.0",
|
|
102
|
-
"@babel/plugin-transform-spread": "7.28.6",
|
|
103
93
|
"@babel/plugin-transform-template-literals": "7.27.1",
|
|
104
94
|
"@babel/plugin-transform-typescript": "7.28.6",
|
|
105
|
-
"@babel/
|
|
106
|
-
"@babel/preset-env": "7.29.2",
|
|
95
|
+
"@babel/preset-env": "7.29.5",
|
|
107
96
|
"@babel/preset-typescript": "7.28.5",
|
|
108
|
-
"@babel/types": "7.29.0",
|
|
109
|
-
"@faker-js/faker": "10.4.0",
|
|
110
97
|
"@types/mocha": "10.0.10",
|
|
111
|
-
"@types/node": "24.12.
|
|
112
|
-
"@types/websql": "0.0.30",
|
|
113
|
-
"babel-loader": "10.1.1",
|
|
98
|
+
"@types/node": "24.12.4",
|
|
114
99
|
"babel-plugin-transform-class-properties": "6.24.1",
|
|
115
100
|
"concurrently": "9.2.1",
|
|
116
101
|
"cross-env": "10.1.0",
|
|
117
|
-
"detect-browser": "5.3.0",
|
|
118
102
|
"express": "5.2.1",
|
|
119
103
|
"get-port": "5.1.1",
|
|
120
|
-
"http-server": "14.1.1",
|
|
121
|
-
"karma": "6.4.4",
|
|
122
|
-
"karma-chrome-launcher": "3.2.0",
|
|
123
|
-
"karma-detect-browsers": "2.3.3",
|
|
124
|
-
"karma-firefox-launcher": "2.1.3",
|
|
125
|
-
"karma-mocha": "2.0.1",
|
|
126
|
-
"karma-sourcemap-loader": "0.4.0",
|
|
127
|
-
"karma-spec-reporter": "0.0.36",
|
|
128
|
-
"karma-typescript": "5.5.4",
|
|
129
|
-
"karma-webpack": "5.0.1",
|
|
130
|
-
"mini-css-extract-plugin": "2.10.2",
|
|
131
|
-
"minify-all-js": "0.1.9",
|
|
132
104
|
"mocha": "11.7.5",
|
|
133
105
|
"rimraf": "6.1.3",
|
|
134
|
-
"rxdb": "
|
|
106
|
+
"rxdb": "https://github.com/pubkey/rxdb/archive/7b916f6a3092ca4c2c6e1b6f8554f192a60ee61d.tar.gz",
|
|
135
107
|
"rxjs": "7.8.2",
|
|
136
|
-
"ts-loader": "9.5.4",
|
|
137
108
|
"ts-node": "10.9.2",
|
|
138
|
-
"typescript": "5.9.3"
|
|
139
|
-
"webpack": "5.105.4",
|
|
140
|
-
"webpack-bundle-analyzer": "5.3.0",
|
|
141
|
-
"webpack-cli": "7.0.2",
|
|
142
|
-
"webpack-dev-server": "5.2.3"
|
|
109
|
+
"typescript": "5.9.3"
|
|
143
110
|
}
|
|
144
111
|
}
|