mongodb 7.7.0-dev.20261025.sha.2a13e4bc → 7.7.0-dev.20261027.sha.b7eb8fd1
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/README.md +1 -1
- package/lib/deps.js +35 -1
- package/lib/deps.js.map +1 -1
- package/package.json +1 -1
- package/src/deps.ts +38 -1
package/README.md
CHANGED
|
@@ -142,7 +142,7 @@ The MongoDB driver can optionally be enhanced by the following feature packages:
|
|
|
142
142
|
|
|
143
143
|
Maintained by MongoDB:
|
|
144
144
|
|
|
145
|
-
- Zstd network compression - [@mongodb-js/zstd](https://github.com/mongodb-js/zstd)
|
|
145
|
+
- Zstd network compression - [@mongodb-js/zstd](https://github.com/mongodb-js/zstd) (only needed on Node.js versions earlier than 22.15.0, later versions have zstd built in)
|
|
146
146
|
- MongoDB field level and queryable encryption - [mongodb-client-encryption](https://github.com/mongodb/libmongocrypt#readme)
|
|
147
147
|
- GSSAPI / SSPI / Kerberos authentication - [kerberos](https://github.com/mongodb-js/kerberos)
|
|
148
148
|
|
package/lib/deps.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.getGcpMetadata = getGcpMetadata;
|
|
|
7
7
|
exports.getSnappy = getSnappy;
|
|
8
8
|
exports.getSocks = getSocks;
|
|
9
9
|
exports.getMongoDBClientEncryption = getMongoDBClientEncryption;
|
|
10
|
+
const zlib = require("zlib");
|
|
10
11
|
const error_1 = require("./error");
|
|
11
12
|
function makeErrorModule(error) {
|
|
12
13
|
const props = error ? { kModuleError: error } : {};
|
|
@@ -34,14 +35,47 @@ function getKerberos() {
|
|
|
34
35
|
}
|
|
35
36
|
return kerberos;
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns Node.js' built-in zstd (available since Node.js 22.15.0), or null when unavailable.
|
|
40
|
+
*/
|
|
41
|
+
function getBuiltInZstdLibrary() {
|
|
42
|
+
if (typeof zlib.zstdCompress !== 'function' || typeof zlib.zstdDecompress !== 'function') {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
compress(buf, level) {
|
|
47
|
+
const options = level == null ? {} : { params: { [zlib.constants.ZSTD_c_compressionLevel]: level } };
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
zlib.zstdCompress(buf, options, (error, result) => {
|
|
50
|
+
if (error)
|
|
51
|
+
return reject(error);
|
|
52
|
+
resolve(result);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
decompress(buf) {
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
zlib.zstdDecompress(buf, (error, result) => {
|
|
59
|
+
if (error)
|
|
60
|
+
return reject(error);
|
|
61
|
+
resolve(result);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
37
67
|
function getZstdLibrary() {
|
|
68
|
+
const builtInZstd = getBuiltInZstdLibrary();
|
|
69
|
+
if (builtInZstd != null) {
|
|
70
|
+
return builtInZstd;
|
|
71
|
+
}
|
|
38
72
|
let ZStandard;
|
|
39
73
|
try {
|
|
40
74
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
41
75
|
ZStandard = require('@mongodb-js/zstd');
|
|
42
76
|
}
|
|
43
77
|
catch (error) {
|
|
44
|
-
ZStandard = makeErrorModule(new error_1.MongoMissingDependencyError('
|
|
78
|
+
ZStandard = makeErrorModule(new error_1.MongoMissingDependencyError('Built-in zstd is unavailable (requires Node.js 22.15.0 or later) and optional module `@mongodb-js/zstd` not found. Please upgrade Node.js or install `@mongodb-js/zstd` to enable zstd compression', { cause: error, dependencyName: 'zstd' }));
|
|
45
79
|
}
|
|
46
80
|
return ZStandard;
|
|
47
81
|
}
|
package/lib/deps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/deps.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as zlib from 'zlib';
|
|
2
|
+
|
|
1
3
|
import { type Stream } from './cmap/connect';
|
|
2
4
|
import { MongoMissingDependencyError } from './error';
|
|
3
5
|
import type { Callback } from './utils';
|
|
@@ -60,7 +62,42 @@ type ZStandardLib = {
|
|
|
60
62
|
|
|
61
63
|
export type ZStandard = ZStandardLib | { kModuleError: MongoMissingDependencyError };
|
|
62
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Returns Node.js' built-in zstd (available since Node.js 22.15.0), or null when unavailable.
|
|
67
|
+
*/
|
|
68
|
+
function getBuiltInZstdLibrary(): ZStandardLib | null {
|
|
69
|
+
if (typeof zlib.zstdCompress !== 'function' || typeof zlib.zstdDecompress !== 'function') {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
compress(buf: Uint8Array, level?: number): Promise<Uint8Array> {
|
|
75
|
+
const options =
|
|
76
|
+
level == null ? {} : { params: { [zlib.constants.ZSTD_c_compressionLevel]: level } };
|
|
77
|
+
return new Promise((resolve, reject) => {
|
|
78
|
+
zlib.zstdCompress(buf, options, (error, result) => {
|
|
79
|
+
if (error) return reject(error);
|
|
80
|
+
resolve(result);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
decompress(buf: Uint8Array): Promise<Uint8Array> {
|
|
85
|
+
return new Promise((resolve, reject) => {
|
|
86
|
+
zlib.zstdDecompress(buf, (error, result) => {
|
|
87
|
+
if (error) return reject(error);
|
|
88
|
+
resolve(result);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
63
95
|
export function getZstdLibrary(): ZStandardLib | { kModuleError: MongoMissingDependencyError } {
|
|
96
|
+
const builtInZstd = getBuiltInZstdLibrary();
|
|
97
|
+
if (builtInZstd != null) {
|
|
98
|
+
return builtInZstd;
|
|
99
|
+
}
|
|
100
|
+
|
|
64
101
|
let ZStandard: ZStandardLib | { kModuleError: MongoMissingDependencyError };
|
|
65
102
|
try {
|
|
66
103
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
@@ -68,7 +105,7 @@ export function getZstdLibrary(): ZStandardLib | { kModuleError: MongoMissingDep
|
|
|
68
105
|
} catch (error) {
|
|
69
106
|
ZStandard = makeErrorModule(
|
|
70
107
|
new MongoMissingDependencyError(
|
|
71
|
-
'
|
|
108
|
+
'Built-in zstd is unavailable (requires Node.js 22.15.0 or later) and optional module `@mongodb-js/zstd` not found. Please upgrade Node.js or install `@mongodb-js/zstd` to enable zstd compression',
|
|
72
109
|
{ cause: error, dependencyName: 'zstd' }
|
|
73
110
|
)
|
|
74
111
|
);
|