@medicomind/rolldown-compression 2.1.2 → 2.1.5
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 +27 -0
- package/README.md +12 -12
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +3 -3
- package/package.json +8 -8
- package/index.js +0 -590
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @medicomind/rolldown-compression
|
|
2
2
|
|
|
3
|
+
## 2.1.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`e7afef7`](https://github.com/Medico-Mind/rolldown-compression/commit/e7afef7d58f4c3b9f8355f2e723a20001c365d72) Thanks [@Mnwa](https://github.com/Mnwa)! - Fix dropping brotli worker pool when panic occured
|
|
8
|
+
|
|
9
|
+
## 2.1.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`5f34992`](https://github.com/Medico-Mind/rolldown-compression/commit/5f34992b6603ed6b5ed9363db1c7b369ed9c7d13) Thanks [@Mnwa](https://github.com/Mnwa)! - Simplify batch processing. Remove sort and max_len from tasks preprocessing.
|
|
14
|
+
|
|
15
|
+
- [`a1dee03`](https://github.com/Medico-Mind/rolldown-compression/commit/a1dee03460cb514d519ac942e534393efc1d7978) Thanks [@Mnwa](https://github.com/Mnwa)! - Use global pool for brotli worker pools. Return compress multi for windows
|
|
16
|
+
|
|
17
|
+
## 2.1.3
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- [`da23391`](https://github.com/Medico-Mind/rolldown-compression/commit/da23391ece86130432fe1b41d452ad65bac4cf75) Thanks [@Mnwa](https://github.com/Mnwa)! - Lower per-batch overhead in the native binding:
|
|
22
|
+
|
|
23
|
+
- Every batch now runs on rayon's global thread pool instead of a private pool built per `compress` call, and the whole batch — input preparation, compression, and result marshalling — runs on it rather than just the compression step. A non-zero `concurrency` sizes that global pool the first time it is requested; because the global pool can only be built once per process, later batches asking for a different thread count keep the size established by the first one, and a pool that cannot be sized is warned about on stderr rather than failing the batch. `concurrency: 0` (the default) leaves rayon's default sizing, one thread per logical CPU.
|
|
24
|
+
- Batch preparation and result collection are parallelized with rayon instead of running as serial iterator passes, so large batches spend less time on the single worker thread before and after the actual compression.
|
|
25
|
+
- Enabled the napi-rs fast path (`dyn-symbols` + `node_version_detect`), cutting FFI call overhead on supported Node versions.
|
|
26
|
+
- Internal: `Algorithm` now implements `FromStr`/`Display` instead of inherent `parse`/`name` methods.
|
|
27
|
+
|
|
28
|
+
No API or behavior changes — compressed output is unchanged.
|
|
29
|
+
|
|
3
30
|
## 2.1.2
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -190,22 +190,22 @@ Results on an Apple M1 Pro (10 cores), Node 26, default `UV_THREADPOOL_SIZE`:
|
|
|
190
190
|
#### With PGO
|
|
191
191
|
| scenario | output | native (rust) | node:zlib | speedup |
|
|
192
192
|
|-----------------------------------|----------|---------------|-----------|---------|
|
|
193
|
-
| gzip+brotli (ref. defaults: 9/11) | 15.06 MB |
|
|
194
|
-
| gzip (level 9) | 9.62 MB | 0.
|
|
195
|
-
| gzip (level 6) | 9.86 MB | 0.18s | 0.
|
|
196
|
-
| brotli (quality 11) | 5.45 MB |
|
|
197
|
-
| brotli (quality 6) | 9.88 MB | 0.
|
|
198
|
-
| zstd (level 19) | 5.54 MB |
|
|
193
|
+
| gzip+brotli (ref. defaults: 9/11) | 15.06 MB | 14.63s | 35.48s | 2.43x |
|
|
194
|
+
| gzip (level 9) | 9.62 MB | 0.29s | 0.78s | 2.69x |
|
|
195
|
+
| gzip (level 6) | 9.86 MB | 0.18s | 0.36s | 1.99x |
|
|
196
|
+
| brotli (quality 11) | 5.45 MB | 14.27s | 35.37s | 2.48x |
|
|
197
|
+
| brotli (quality 6) | 9.88 MB | 0.22s | 0.35s | 1.59x |
|
|
198
|
+
| zstd (level 19) | 5.54 MB | 7.42s | 12.99s | 1.75x |
|
|
199
199
|
|
|
200
200
|
#### Without PGO
|
|
201
201
|
| scenario | output | native (rust) | node:zlib | speedup |
|
|
202
202
|
|-----------------------------------|----------|---------------|-----------|---------|
|
|
203
|
-
| gzip+brotli (ref. defaults: 9/11) | 15.06 MB |
|
|
204
|
-
| gzip (level 9) | 9.62 MB | 0.
|
|
205
|
-
| gzip (level 6) | 9.86 MB | 0.
|
|
206
|
-
| brotli (quality 11) | 5.45 MB |
|
|
207
|
-
| brotli (quality 6) | 9.88 MB | 0.
|
|
208
|
-
| zstd (level 19) | 5.54 MB |
|
|
203
|
+
| gzip+brotli (ref. defaults: 9/11) | 15.06 MB | 14.79s | 35.50s | 2.40x |
|
|
204
|
+
| gzip (level 9) | 9.62 MB | 0.26s | 0.79s | 3.07x |
|
|
205
|
+
| gzip (level 6) | 9.86 MB | 0.18s | 0.36s | 1.98x |
|
|
206
|
+
| brotli (quality 11) | 5.45 MB | 14.37s | 35.46s | 2.47x |
|
|
207
|
+
| brotli (quality 6) | 9.88 MB | 0.22s | 0.35s | 1.58x |
|
|
208
|
+
| zstd (level 19) | 5.54 MB | 7.34s | 13.09s | 1.78x |
|
|
209
209
|
|
|
210
210
|
Reading these numbers honestly:
|
|
211
211
|
|
package/dist/index.cjs
CHANGED
|
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
}
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
20
20
|
value: mod,
|
|
21
21
|
enumerable: true
|
|
22
22
|
}) : target, mod));
|
|
@@ -192,7 +192,7 @@ const compressBuffers = (0, node_module.createRequire)(require("url").pathToFile
|
|
|
192
192
|
*/
|
|
193
193
|
const PLUGIN_NAME = "rolldown-compression";
|
|
194
194
|
/** Source bytes per batch in stream mode when `chunkSize` is 0. */
|
|
195
|
-
const STREAM_DEFAULT_CHUNK_SIZE =
|
|
195
|
+
const STREAM_DEFAULT_CHUNK_SIZE = 4194304;
|
|
196
196
|
const LOG_PRIORITY = {
|
|
197
197
|
silent: 0,
|
|
198
198
|
error: 1,
|
|
@@ -219,8 +219,8 @@ function toBuffer(source) {
|
|
|
219
219
|
}
|
|
220
220
|
function formatBytes(bytes) {
|
|
221
221
|
if (bytes < 1024) return `${bytes} B`;
|
|
222
|
-
if (bytes <
|
|
223
|
-
return `${(bytes /
|
|
222
|
+
if (bytes < 1048576) return `${(bytes / 1024).toFixed(1)} kB`;
|
|
223
|
+
return `${(bytes / 1048576).toFixed(2)} MB`;
|
|
224
224
|
}
|
|
225
225
|
/**
|
|
226
226
|
* Shared batching core: queues per-algorithm tasks, flushes them to the
|
package/dist/index.mjs
CHANGED
|
@@ -168,7 +168,7 @@ const compressBuffers = createRequire(import.meta.url)("../index.js").compressBu
|
|
|
168
168
|
*/
|
|
169
169
|
const PLUGIN_NAME = "rolldown-compression";
|
|
170
170
|
/** Source bytes per batch in stream mode when `chunkSize` is 0. */
|
|
171
|
-
const STREAM_DEFAULT_CHUNK_SIZE =
|
|
171
|
+
const STREAM_DEFAULT_CHUNK_SIZE = 4194304;
|
|
172
172
|
const LOG_PRIORITY = {
|
|
173
173
|
silent: 0,
|
|
174
174
|
error: 1,
|
|
@@ -195,8 +195,8 @@ function toBuffer(source) {
|
|
|
195
195
|
}
|
|
196
196
|
function formatBytes(bytes) {
|
|
197
197
|
if (bytes < 1024) return `${bytes} B`;
|
|
198
|
-
if (bytes <
|
|
199
|
-
return `${(bytes /
|
|
198
|
+
if (bytes < 1048576) return `${(bytes / 1024).toFixed(1)} kB`;
|
|
199
|
+
return `${(bytes / 1048576).toFixed(2)} MB`;
|
|
200
200
|
}
|
|
201
201
|
/**
|
|
202
202
|
* Shared batching core: queues per-algorithm tasks, flushes them to the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medicomind/rolldown-compression",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5",
|
|
4
4
|
"description": "Fast native (Rust) gzip / brotli / zstd compression plugin for Rolldown, powered by napi-rs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"rolldown",
|
|
@@ -91,13 +91,13 @@
|
|
|
91
91
|
"rolldown": "^1.0.0"
|
|
92
92
|
},
|
|
93
93
|
"optionalDependencies": {
|
|
94
|
-
"@medicomind/rolldown-compression-darwin-arm64": "2.1.
|
|
95
|
-
"@medicomind/rolldown-compression-darwin-x64": "2.1.
|
|
96
|
-
"@medicomind/rolldown-compression-linux-arm64-gnu": "2.1.
|
|
97
|
-
"@medicomind/rolldown-compression-linux-x64-gnu": "2.1.
|
|
98
|
-
"@medicomind/rolldown-compression-linux-x64-musl": "2.1.
|
|
99
|
-
"@medicomind/rolldown-compression-wasm32-wasi": "2.1.
|
|
100
|
-
"@medicomind/rolldown-compression-win32-x64-msvc": "2.1.
|
|
94
|
+
"@medicomind/rolldown-compression-darwin-arm64": "2.1.5",
|
|
95
|
+
"@medicomind/rolldown-compression-darwin-x64": "2.1.5",
|
|
96
|
+
"@medicomind/rolldown-compression-linux-arm64-gnu": "2.1.5",
|
|
97
|
+
"@medicomind/rolldown-compression-linux-x64-gnu": "2.1.5",
|
|
98
|
+
"@medicomind/rolldown-compression-linux-x64-musl": "2.1.5",
|
|
99
|
+
"@medicomind/rolldown-compression-wasm32-wasi": "2.1.5",
|
|
100
|
+
"@medicomind/rolldown-compression-win32-x64-msvc": "2.1.5"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@biomejs/biome": "^2.5.3",
|
package/index.js
DELETED
|
@@ -1,590 +0,0 @@
|
|
|
1
|
-
// prettier-ignore
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
/* auto-generated by NAPI-RS */
|
|
5
|
-
|
|
6
|
-
const { readFileSync } = require('fs')
|
|
7
|
-
let nativeBinding = null
|
|
8
|
-
const loadErrors = []
|
|
9
|
-
|
|
10
|
-
const isMusl = () => {
|
|
11
|
-
let musl = false
|
|
12
|
-
if (process.platform === 'linux') {
|
|
13
|
-
musl = isMuslFromFilesystem()
|
|
14
|
-
if (musl === null) {
|
|
15
|
-
musl = isMuslFromReport()
|
|
16
|
-
}
|
|
17
|
-
if (musl === null) {
|
|
18
|
-
musl = isMuslFromChildProcess()
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return musl
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
|
|
25
|
-
|
|
26
|
-
const isMuslFromFilesystem = () => {
|
|
27
|
-
try {
|
|
28
|
-
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
|
|
29
|
-
} catch {
|
|
30
|
-
return null
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const isMuslFromReport = () => {
|
|
35
|
-
let report = null
|
|
36
|
-
if (process.report && typeof process.report.getReport === 'function') {
|
|
37
|
-
process.report.excludeNetwork = true
|
|
38
|
-
report = process.report.getReport()
|
|
39
|
-
}
|
|
40
|
-
if (!report) {
|
|
41
|
-
return null
|
|
42
|
-
}
|
|
43
|
-
if (report.header && report.header.glibcVersionRuntime) {
|
|
44
|
-
return false
|
|
45
|
-
}
|
|
46
|
-
if (Array.isArray(report.sharedObjects)) {
|
|
47
|
-
if (report.sharedObjects.some(isFileMusl)) {
|
|
48
|
-
return true
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return false
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const isMuslFromChildProcess = () => {
|
|
55
|
-
try {
|
|
56
|
-
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
|
|
57
|
-
} catch (e) {
|
|
58
|
-
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
|
|
59
|
-
return false
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function requireNative() {
|
|
64
|
-
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
|
|
65
|
-
try {
|
|
66
|
-
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
|
|
67
|
-
} catch (err) {
|
|
68
|
-
loadErrors.push(err)
|
|
69
|
-
}
|
|
70
|
-
} else if (process.platform === 'android') {
|
|
71
|
-
if (process.arch === 'arm64') {
|
|
72
|
-
try {
|
|
73
|
-
return require('./rolldown-compression.android-arm64.node')
|
|
74
|
-
} catch (e) {
|
|
75
|
-
loadErrors.push(e)
|
|
76
|
-
}
|
|
77
|
-
try {
|
|
78
|
-
const binding = require('@medicomind/rolldown-compression-android-arm64')
|
|
79
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-android-arm64/package.json').version
|
|
80
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
81
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
82
|
-
}
|
|
83
|
-
return binding
|
|
84
|
-
} catch (e) {
|
|
85
|
-
loadErrors.push(e)
|
|
86
|
-
}
|
|
87
|
-
} else if (process.arch === 'arm') {
|
|
88
|
-
try {
|
|
89
|
-
return require('./rolldown-compression.android-arm-eabi.node')
|
|
90
|
-
} catch (e) {
|
|
91
|
-
loadErrors.push(e)
|
|
92
|
-
}
|
|
93
|
-
try {
|
|
94
|
-
const binding = require('@medicomind/rolldown-compression-android-arm-eabi')
|
|
95
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-android-arm-eabi/package.json').version
|
|
96
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
97
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
98
|
-
}
|
|
99
|
-
return binding
|
|
100
|
-
} catch (e) {
|
|
101
|
-
loadErrors.push(e)
|
|
102
|
-
}
|
|
103
|
-
} else {
|
|
104
|
-
loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
|
|
105
|
-
}
|
|
106
|
-
} else if (process.platform === 'win32') {
|
|
107
|
-
if (process.arch === 'x64') {
|
|
108
|
-
if ((process.config && process.config.variables && process.config.variables.shlib_suffix === 'dll.a') || (process.config && process.config.variables && process.config.variables.node_target_type === 'shared_library')) {
|
|
109
|
-
try {
|
|
110
|
-
return require('./rolldown-compression.win32-x64-gnu.node')
|
|
111
|
-
} catch (e) {
|
|
112
|
-
loadErrors.push(e)
|
|
113
|
-
}
|
|
114
|
-
try {
|
|
115
|
-
const binding = require('@medicomind/rolldown-compression-win32-x64-gnu')
|
|
116
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-win32-x64-gnu/package.json').version
|
|
117
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
118
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
119
|
-
}
|
|
120
|
-
return binding
|
|
121
|
-
} catch (e) {
|
|
122
|
-
loadErrors.push(e)
|
|
123
|
-
}
|
|
124
|
-
} else {
|
|
125
|
-
try {
|
|
126
|
-
return require('./rolldown-compression.win32-x64-msvc.node')
|
|
127
|
-
} catch (e) {
|
|
128
|
-
loadErrors.push(e)
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
const binding = require('@medicomind/rolldown-compression-win32-x64-msvc')
|
|
132
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-win32-x64-msvc/package.json').version
|
|
133
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
134
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
135
|
-
}
|
|
136
|
-
return binding
|
|
137
|
-
} catch (e) {
|
|
138
|
-
loadErrors.push(e)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
} else if (process.arch === 'ia32') {
|
|
142
|
-
try {
|
|
143
|
-
return require('./rolldown-compression.win32-ia32-msvc.node')
|
|
144
|
-
} catch (e) {
|
|
145
|
-
loadErrors.push(e)
|
|
146
|
-
}
|
|
147
|
-
try {
|
|
148
|
-
const binding = require('@medicomind/rolldown-compression-win32-ia32-msvc')
|
|
149
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-win32-ia32-msvc/package.json').version
|
|
150
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
151
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
152
|
-
}
|
|
153
|
-
return binding
|
|
154
|
-
} catch (e) {
|
|
155
|
-
loadErrors.push(e)
|
|
156
|
-
}
|
|
157
|
-
} else if (process.arch === 'arm64') {
|
|
158
|
-
try {
|
|
159
|
-
return require('./rolldown-compression.win32-arm64-msvc.node')
|
|
160
|
-
} catch (e) {
|
|
161
|
-
loadErrors.push(e)
|
|
162
|
-
}
|
|
163
|
-
try {
|
|
164
|
-
const binding = require('@medicomind/rolldown-compression-win32-arm64-msvc')
|
|
165
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-win32-arm64-msvc/package.json').version
|
|
166
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
167
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
168
|
-
}
|
|
169
|
-
return binding
|
|
170
|
-
} catch (e) {
|
|
171
|
-
loadErrors.push(e)
|
|
172
|
-
}
|
|
173
|
-
} else {
|
|
174
|
-
loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
|
|
175
|
-
}
|
|
176
|
-
} else if (process.platform === 'darwin') {
|
|
177
|
-
try {
|
|
178
|
-
return require('./rolldown-compression.darwin-universal.node')
|
|
179
|
-
} catch (e) {
|
|
180
|
-
loadErrors.push(e)
|
|
181
|
-
}
|
|
182
|
-
try {
|
|
183
|
-
const binding = require('@medicomind/rolldown-compression-darwin-universal')
|
|
184
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-darwin-universal/package.json').version
|
|
185
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
186
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
187
|
-
}
|
|
188
|
-
return binding
|
|
189
|
-
} catch (e) {
|
|
190
|
-
loadErrors.push(e)
|
|
191
|
-
}
|
|
192
|
-
if (process.arch === 'x64') {
|
|
193
|
-
try {
|
|
194
|
-
return require('./rolldown-compression.darwin-x64.node')
|
|
195
|
-
} catch (e) {
|
|
196
|
-
loadErrors.push(e)
|
|
197
|
-
}
|
|
198
|
-
try {
|
|
199
|
-
const binding = require('@medicomind/rolldown-compression-darwin-x64')
|
|
200
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-darwin-x64/package.json').version
|
|
201
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
202
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
203
|
-
}
|
|
204
|
-
return binding
|
|
205
|
-
} catch (e) {
|
|
206
|
-
loadErrors.push(e)
|
|
207
|
-
}
|
|
208
|
-
} else if (process.arch === 'arm64') {
|
|
209
|
-
try {
|
|
210
|
-
return require('./rolldown-compression.darwin-arm64.node')
|
|
211
|
-
} catch (e) {
|
|
212
|
-
loadErrors.push(e)
|
|
213
|
-
}
|
|
214
|
-
try {
|
|
215
|
-
const binding = require('@medicomind/rolldown-compression-darwin-arm64')
|
|
216
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-darwin-arm64/package.json').version
|
|
217
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
218
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
219
|
-
}
|
|
220
|
-
return binding
|
|
221
|
-
} catch (e) {
|
|
222
|
-
loadErrors.push(e)
|
|
223
|
-
}
|
|
224
|
-
} else {
|
|
225
|
-
loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
|
|
226
|
-
}
|
|
227
|
-
} else if (process.platform === 'freebsd') {
|
|
228
|
-
if (process.arch === 'x64') {
|
|
229
|
-
try {
|
|
230
|
-
return require('./rolldown-compression.freebsd-x64.node')
|
|
231
|
-
} catch (e) {
|
|
232
|
-
loadErrors.push(e)
|
|
233
|
-
}
|
|
234
|
-
try {
|
|
235
|
-
const binding = require('@medicomind/rolldown-compression-freebsd-x64')
|
|
236
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-freebsd-x64/package.json').version
|
|
237
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
238
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
239
|
-
}
|
|
240
|
-
return binding
|
|
241
|
-
} catch (e) {
|
|
242
|
-
loadErrors.push(e)
|
|
243
|
-
}
|
|
244
|
-
} else if (process.arch === 'arm64') {
|
|
245
|
-
try {
|
|
246
|
-
return require('./rolldown-compression.freebsd-arm64.node')
|
|
247
|
-
} catch (e) {
|
|
248
|
-
loadErrors.push(e)
|
|
249
|
-
}
|
|
250
|
-
try {
|
|
251
|
-
const binding = require('@medicomind/rolldown-compression-freebsd-arm64')
|
|
252
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-freebsd-arm64/package.json').version
|
|
253
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
254
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
255
|
-
}
|
|
256
|
-
return binding
|
|
257
|
-
} catch (e) {
|
|
258
|
-
loadErrors.push(e)
|
|
259
|
-
}
|
|
260
|
-
} else {
|
|
261
|
-
loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
|
|
262
|
-
}
|
|
263
|
-
} else if (process.platform === 'linux') {
|
|
264
|
-
if (process.arch === 'x64') {
|
|
265
|
-
if (isMusl()) {
|
|
266
|
-
try {
|
|
267
|
-
return require('./rolldown-compression.linux-x64-musl.node')
|
|
268
|
-
} catch (e) {
|
|
269
|
-
loadErrors.push(e)
|
|
270
|
-
}
|
|
271
|
-
try {
|
|
272
|
-
const binding = require('@medicomind/rolldown-compression-linux-x64-musl')
|
|
273
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-x64-musl/package.json').version
|
|
274
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
275
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
276
|
-
}
|
|
277
|
-
return binding
|
|
278
|
-
} catch (e) {
|
|
279
|
-
loadErrors.push(e)
|
|
280
|
-
}
|
|
281
|
-
} else {
|
|
282
|
-
try {
|
|
283
|
-
return require('./rolldown-compression.linux-x64-gnu.node')
|
|
284
|
-
} catch (e) {
|
|
285
|
-
loadErrors.push(e)
|
|
286
|
-
}
|
|
287
|
-
try {
|
|
288
|
-
const binding = require('@medicomind/rolldown-compression-linux-x64-gnu')
|
|
289
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-x64-gnu/package.json').version
|
|
290
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
291
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
292
|
-
}
|
|
293
|
-
return binding
|
|
294
|
-
} catch (e) {
|
|
295
|
-
loadErrors.push(e)
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
} else if (process.arch === 'arm64') {
|
|
299
|
-
if (isMusl()) {
|
|
300
|
-
try {
|
|
301
|
-
return require('./rolldown-compression.linux-arm64-musl.node')
|
|
302
|
-
} catch (e) {
|
|
303
|
-
loadErrors.push(e)
|
|
304
|
-
}
|
|
305
|
-
try {
|
|
306
|
-
const binding = require('@medicomind/rolldown-compression-linux-arm64-musl')
|
|
307
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-arm64-musl/package.json').version
|
|
308
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
309
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
310
|
-
}
|
|
311
|
-
return binding
|
|
312
|
-
} catch (e) {
|
|
313
|
-
loadErrors.push(e)
|
|
314
|
-
}
|
|
315
|
-
} else {
|
|
316
|
-
try {
|
|
317
|
-
return require('./rolldown-compression.linux-arm64-gnu.node')
|
|
318
|
-
} catch (e) {
|
|
319
|
-
loadErrors.push(e)
|
|
320
|
-
}
|
|
321
|
-
try {
|
|
322
|
-
const binding = require('@medicomind/rolldown-compression-linux-arm64-gnu')
|
|
323
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-arm64-gnu/package.json').version
|
|
324
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
325
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
326
|
-
}
|
|
327
|
-
return binding
|
|
328
|
-
} catch (e) {
|
|
329
|
-
loadErrors.push(e)
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
} else if (process.arch === 'arm') {
|
|
333
|
-
if (isMusl()) {
|
|
334
|
-
try {
|
|
335
|
-
return require('./rolldown-compression.linux-arm-musleabihf.node')
|
|
336
|
-
} catch (e) {
|
|
337
|
-
loadErrors.push(e)
|
|
338
|
-
}
|
|
339
|
-
try {
|
|
340
|
-
const binding = require('@medicomind/rolldown-compression-linux-arm-musleabihf')
|
|
341
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-arm-musleabihf/package.json').version
|
|
342
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
343
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
344
|
-
}
|
|
345
|
-
return binding
|
|
346
|
-
} catch (e) {
|
|
347
|
-
loadErrors.push(e)
|
|
348
|
-
}
|
|
349
|
-
} else {
|
|
350
|
-
try {
|
|
351
|
-
return require('./rolldown-compression.linux-arm-gnueabihf.node')
|
|
352
|
-
} catch (e) {
|
|
353
|
-
loadErrors.push(e)
|
|
354
|
-
}
|
|
355
|
-
try {
|
|
356
|
-
const binding = require('@medicomind/rolldown-compression-linux-arm-gnueabihf')
|
|
357
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-arm-gnueabihf/package.json').version
|
|
358
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
359
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
360
|
-
}
|
|
361
|
-
return binding
|
|
362
|
-
} catch (e) {
|
|
363
|
-
loadErrors.push(e)
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
} else if (process.arch === 'loong64') {
|
|
367
|
-
if (isMusl()) {
|
|
368
|
-
try {
|
|
369
|
-
return require('./rolldown-compression.linux-loong64-musl.node')
|
|
370
|
-
} catch (e) {
|
|
371
|
-
loadErrors.push(e)
|
|
372
|
-
}
|
|
373
|
-
try {
|
|
374
|
-
const binding = require('@medicomind/rolldown-compression-linux-loong64-musl')
|
|
375
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-loong64-musl/package.json').version
|
|
376
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
377
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
378
|
-
}
|
|
379
|
-
return binding
|
|
380
|
-
} catch (e) {
|
|
381
|
-
loadErrors.push(e)
|
|
382
|
-
}
|
|
383
|
-
} else {
|
|
384
|
-
try {
|
|
385
|
-
return require('./rolldown-compression.linux-loong64-gnu.node')
|
|
386
|
-
} catch (e) {
|
|
387
|
-
loadErrors.push(e)
|
|
388
|
-
}
|
|
389
|
-
try {
|
|
390
|
-
const binding = require('@medicomind/rolldown-compression-linux-loong64-gnu')
|
|
391
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-loong64-gnu/package.json').version
|
|
392
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
393
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
394
|
-
}
|
|
395
|
-
return binding
|
|
396
|
-
} catch (e) {
|
|
397
|
-
loadErrors.push(e)
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
} else if (process.arch === 'riscv64') {
|
|
401
|
-
if (isMusl()) {
|
|
402
|
-
try {
|
|
403
|
-
return require('./rolldown-compression.linux-riscv64-musl.node')
|
|
404
|
-
} catch (e) {
|
|
405
|
-
loadErrors.push(e)
|
|
406
|
-
}
|
|
407
|
-
try {
|
|
408
|
-
const binding = require('@medicomind/rolldown-compression-linux-riscv64-musl')
|
|
409
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-riscv64-musl/package.json').version
|
|
410
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
411
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
412
|
-
}
|
|
413
|
-
return binding
|
|
414
|
-
} catch (e) {
|
|
415
|
-
loadErrors.push(e)
|
|
416
|
-
}
|
|
417
|
-
} else {
|
|
418
|
-
try {
|
|
419
|
-
return require('./rolldown-compression.linux-riscv64-gnu.node')
|
|
420
|
-
} catch (e) {
|
|
421
|
-
loadErrors.push(e)
|
|
422
|
-
}
|
|
423
|
-
try {
|
|
424
|
-
const binding = require('@medicomind/rolldown-compression-linux-riscv64-gnu')
|
|
425
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-riscv64-gnu/package.json').version
|
|
426
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
427
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
428
|
-
}
|
|
429
|
-
return binding
|
|
430
|
-
} catch (e) {
|
|
431
|
-
loadErrors.push(e)
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
} else if (process.arch === 'ppc64') {
|
|
435
|
-
try {
|
|
436
|
-
return require('./rolldown-compression.linux-ppc64-gnu.node')
|
|
437
|
-
} catch (e) {
|
|
438
|
-
loadErrors.push(e)
|
|
439
|
-
}
|
|
440
|
-
try {
|
|
441
|
-
const binding = require('@medicomind/rolldown-compression-linux-ppc64-gnu')
|
|
442
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-ppc64-gnu/package.json').version
|
|
443
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
444
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
445
|
-
}
|
|
446
|
-
return binding
|
|
447
|
-
} catch (e) {
|
|
448
|
-
loadErrors.push(e)
|
|
449
|
-
}
|
|
450
|
-
} else if (process.arch === 's390x') {
|
|
451
|
-
try {
|
|
452
|
-
return require('./rolldown-compression.linux-s390x-gnu.node')
|
|
453
|
-
} catch (e) {
|
|
454
|
-
loadErrors.push(e)
|
|
455
|
-
}
|
|
456
|
-
try {
|
|
457
|
-
const binding = require('@medicomind/rolldown-compression-linux-s390x-gnu')
|
|
458
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-linux-s390x-gnu/package.json').version
|
|
459
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
460
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
461
|
-
}
|
|
462
|
-
return binding
|
|
463
|
-
} catch (e) {
|
|
464
|
-
loadErrors.push(e)
|
|
465
|
-
}
|
|
466
|
-
} else {
|
|
467
|
-
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
|
|
468
|
-
}
|
|
469
|
-
} else if (process.platform === 'openharmony') {
|
|
470
|
-
if (process.arch === 'arm64') {
|
|
471
|
-
try {
|
|
472
|
-
return require('./rolldown-compression.openharmony-arm64.node')
|
|
473
|
-
} catch (e) {
|
|
474
|
-
loadErrors.push(e)
|
|
475
|
-
}
|
|
476
|
-
try {
|
|
477
|
-
const binding = require('@medicomind/rolldown-compression-openharmony-arm64')
|
|
478
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-openharmony-arm64/package.json').version
|
|
479
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
480
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
481
|
-
}
|
|
482
|
-
return binding
|
|
483
|
-
} catch (e) {
|
|
484
|
-
loadErrors.push(e)
|
|
485
|
-
}
|
|
486
|
-
} else if (process.arch === 'x64') {
|
|
487
|
-
try {
|
|
488
|
-
return require('./rolldown-compression.openharmony-x64.node')
|
|
489
|
-
} catch (e) {
|
|
490
|
-
loadErrors.push(e)
|
|
491
|
-
}
|
|
492
|
-
try {
|
|
493
|
-
const binding = require('@medicomind/rolldown-compression-openharmony-x64')
|
|
494
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-openharmony-x64/package.json').version
|
|
495
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
496
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
497
|
-
}
|
|
498
|
-
return binding
|
|
499
|
-
} catch (e) {
|
|
500
|
-
loadErrors.push(e)
|
|
501
|
-
}
|
|
502
|
-
} else if (process.arch === 'arm') {
|
|
503
|
-
try {
|
|
504
|
-
return require('./rolldown-compression.openharmony-arm.node')
|
|
505
|
-
} catch (e) {
|
|
506
|
-
loadErrors.push(e)
|
|
507
|
-
}
|
|
508
|
-
try {
|
|
509
|
-
const binding = require('@medicomind/rolldown-compression-openharmony-arm')
|
|
510
|
-
const bindingPackageVersion = require('@medicomind/rolldown-compression-openharmony-arm/package.json').version
|
|
511
|
-
if (bindingPackageVersion !== '2.0.1' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
512
|
-
throw new Error(`Native binding package version mismatch, expected 2.0.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
513
|
-
}
|
|
514
|
-
return binding
|
|
515
|
-
} catch (e) {
|
|
516
|
-
loadErrors.push(e)
|
|
517
|
-
}
|
|
518
|
-
} else {
|
|
519
|
-
loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
|
|
520
|
-
}
|
|
521
|
-
} else {
|
|
522
|
-
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
nativeBinding = requireNative()
|
|
527
|
-
|
|
528
|
-
// NAPI_RS_FORCE_WASI is a tri-state flag:
|
|
529
|
-
// unset / any other value → native binding preferred, WASI is only a fallback
|
|
530
|
-
// 'true' → force WASI fallback even if native loaded
|
|
531
|
-
// 'error' → force WASI and throw if no WASI binding is found
|
|
532
|
-
// Treating any non-empty string as truthy (the historical behavior) meant
|
|
533
|
-
// NAPI_RS_FORCE_WASI=false, NAPI_RS_FORCE_WASI=0, etc. inadvertently triggered
|
|
534
|
-
// the WASI path, causing ENOENT for packages shipped without a .wasi.cjs file.
|
|
535
|
-
const forceWasi =
|
|
536
|
-
process.env.NAPI_RS_FORCE_WASI === 'true' || process.env.NAPI_RS_FORCE_WASI === 'error'
|
|
537
|
-
|
|
538
|
-
if (!nativeBinding || forceWasi) {
|
|
539
|
-
let wasiBinding = null
|
|
540
|
-
let wasiBindingError = null
|
|
541
|
-
try {
|
|
542
|
-
wasiBinding = require('./rolldown-compression.wasi.cjs')
|
|
543
|
-
nativeBinding = wasiBinding
|
|
544
|
-
} catch (err) {
|
|
545
|
-
if (forceWasi) {
|
|
546
|
-
wasiBindingError = err
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
if (!nativeBinding || forceWasi) {
|
|
550
|
-
try {
|
|
551
|
-
wasiBinding = require('@medicomind/rolldown-compression-wasm32-wasi')
|
|
552
|
-
nativeBinding = wasiBinding
|
|
553
|
-
} catch (err) {
|
|
554
|
-
if (forceWasi) {
|
|
555
|
-
if (!wasiBindingError) {
|
|
556
|
-
wasiBindingError = err
|
|
557
|
-
} else {
|
|
558
|
-
wasiBindingError.cause = err
|
|
559
|
-
}
|
|
560
|
-
loadErrors.push(err)
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
|
|
565
|
-
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
|
|
566
|
-
error.cause = wasiBindingError
|
|
567
|
-
throw error
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
if (!nativeBinding) {
|
|
572
|
-
if (loadErrors.length > 0) {
|
|
573
|
-
const error = new Error(
|
|
574
|
-
`Cannot find native binding. ` +
|
|
575
|
-
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
|
576
|
-
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
|
|
577
|
-
)
|
|
578
|
-
// assign instead of the `new Error(message, { cause })` options form,
|
|
579
|
-
// which Node < 16.9 silently ignores
|
|
580
|
-
error.cause = loadErrors.reduce((err, cur) => {
|
|
581
|
-
cur.cause = err
|
|
582
|
-
return cur
|
|
583
|
-
})
|
|
584
|
-
throw error
|
|
585
|
-
}
|
|
586
|
-
throw new Error(`Failed to load native binding`)
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
module.exports = nativeBinding
|
|
590
|
-
module.exports.compressBuffers = nativeBinding.compressBuffers
|