@xingwangzhe/force-rs 0.1.2 → 0.1.4

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.
Binary file
Binary file
Binary file
Binary file
Binary file
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // prettier-ignore
2
2
  /* eslint-disable */
3
3
  // @ts-nocheck
4
- /* auto-generated by NAPI-RS */
4
+ /* auto-generated by NAPI-RS — simplified: removed unused optional-dependency fallbacks (single-package merged build) */
5
5
 
6
6
  const { readFileSync } = require('fs')
7
7
  let nativeBinding = null
@@ -55,7 +55,6 @@ const isMuslFromChildProcess = () => {
55
55
  try {
56
56
  return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
57
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
58
  return false
60
59
  }
61
60
  }
@@ -63,463 +62,103 @@ const isMuslFromChildProcess = () => {
63
62
  function requireNative() {
64
63
  if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
65
64
  try {
66
- return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
65
+ return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH)
67
66
  } catch (err) {
68
67
  loadErrors.push(err)
69
68
  }
70
- } else if (process.platform === 'android') {
71
- if (process.arch === 'arm64') {
72
- try {
73
- return require('./force-rs.android-arm64.node')
74
- } catch (e) {
75
- loadErrors.push(e)
76
- }
77
- try {
78
- const binding = require('@xingwangzhe/force-rs-android-arm64')
79
- const bindingPackageVersion = require('@xingwangzhe/force-rs-android-arm64/package.json').version
80
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.android-arm-eabi.node')
90
- } catch (e) {
91
- loadErrors.push(e)
92
- }
93
- try {
94
- const binding = require('@xingwangzhe/force-rs-android-arm-eabi')
95
- const bindingPackageVersion = require('@xingwangzhe/force-rs-android-arm-eabi/package.json').version
96
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
98
- }
99
- return binding
100
- } catch (e) {
101
- loadErrors.push(e)
102
- }
69
+ }
70
+
71
+ const platform = process.platform
72
+ const arch = process.arch
73
+
74
+ // All platform .node binaries are bundled in this package — load directly
75
+ if (platform === 'android') {
76
+ if (arch === 'arm64') {
77
+ try { return require('./force-rs.android-arm64.node') } catch (e) { loadErrors.push(e) }
78
+ } else if (arch === 'arm') {
79
+ try { return require('./force-rs.android-arm-eabi.node') } catch (e) { loadErrors.push(e) }
103
80
  } else {
104
- loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
81
+ loadErrors.push(new Error(`Unsupported architecture on Android: ${arch}`))
105
82
  }
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('./force-rs.win32-x64-gnu.node')
111
- } catch (e) {
112
- loadErrors.push(e)
113
- }
114
- try {
115
- const binding = require('@xingwangzhe/force-rs-win32-x64-gnu')
116
- const bindingPackageVersion = require('@xingwangzhe/force-rs-win32-x64-gnu/package.json').version
117
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.win32-x64-msvc.node')
127
- } catch (e) {
128
- loadErrors.push(e)
129
- }
130
- try {
131
- const binding = require('@xingwangzhe/force-rs-win32-x64-msvc')
132
- const bindingPackageVersion = require('@xingwangzhe/force-rs-win32-x64-msvc/package.json').version
133
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.win32-ia32-msvc.node')
144
- } catch (e) {
145
- loadErrors.push(e)
146
- }
147
- try {
148
- const binding = require('@xingwangzhe/force-rs-win32-ia32-msvc')
149
- const bindingPackageVersion = require('@xingwangzhe/force-rs-win32-ia32-msvc/package.json').version
150
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.win32-arm64-msvc.node')
160
- } catch (e) {
161
- loadErrors.push(e)
162
- }
163
- try {
164
- const binding = require('@xingwangzhe/force-rs-win32-arm64-msvc')
165
- const bindingPackageVersion = require('@xingwangzhe/force-rs-win32-arm64-msvc/package.json').version
166
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
168
- }
169
- return binding
170
- } catch (e) {
171
- loadErrors.push(e)
172
- }
83
+ } else if (platform === 'win32') {
84
+ if (arch === 'x64') {
85
+ try { return require('./force-rs.win32-x64-msvc.node') } catch (e) { loadErrors.push(e) }
86
+ try { return require('./force-rs.win32-x64-gnu.node') } catch (e) { loadErrors.push(e) }
87
+ } else if (arch === 'ia32') {
88
+ try { return require('./force-rs.win32-ia32-msvc.node') } catch (e) { loadErrors.push(e) }
89
+ } else if (arch === 'arm64') {
90
+ try { return require('./force-rs.win32-arm64-msvc.node') } catch (e) { loadErrors.push(e) }
173
91
  } else {
174
- loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
92
+ loadErrors.push(new Error(`Unsupported architecture on Windows: ${arch}`))
175
93
  }
176
- } else if (process.platform === 'darwin') {
177
- try {
178
- return require('./force-rs.darwin-universal.node')
179
- } catch (e) {
180
- loadErrors.push(e)
181
- }
182
- try {
183
- const binding = require('@xingwangzhe/force-rs-darwin-universal')
184
- const bindingPackageVersion = require('@xingwangzhe/force-rs-darwin-universal/package.json').version
185
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.darwin-x64.node')
195
- } catch (e) {
196
- loadErrors.push(e)
197
- }
198
- try {
199
- const binding = require('@xingwangzhe/force-rs-darwin-x64')
200
- const bindingPackageVersion = require('@xingwangzhe/force-rs-darwin-x64/package.json').version
201
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.darwin-arm64.node')
211
- } catch (e) {
212
- loadErrors.push(e)
213
- }
214
- try {
215
- const binding = require('@xingwangzhe/force-rs-darwin-arm64')
216
- const bindingPackageVersion = require('@xingwangzhe/force-rs-darwin-arm64/package.json').version
217
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
219
- }
220
- return binding
221
- } catch (e) {
222
- loadErrors.push(e)
223
- }
94
+ } else if (platform === 'darwin') {
95
+ try { return require('./force-rs.darwin-universal.node') } catch (e) { loadErrors.push(e) }
96
+ if (arch === 'x64') {
97
+ try { return require('./force-rs.darwin-x64.node') } catch (e) { loadErrors.push(e) }
98
+ } else if (arch === 'arm64') {
99
+ try { return require('./force-rs.darwin-arm64.node') } catch (e) { loadErrors.push(e) }
224
100
  } else {
225
- loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
101
+ loadErrors.push(new Error(`Unsupported architecture on macOS: ${arch}`))
226
102
  }
227
- } else if (process.platform === 'freebsd') {
228
- if (process.arch === 'x64') {
229
- try {
230
- return require('./force-rs.freebsd-x64.node')
231
- } catch (e) {
232
- loadErrors.push(e)
233
- }
234
- try {
235
- const binding = require('@xingwangzhe/force-rs-freebsd-x64')
236
- const bindingPackageVersion = require('@xingwangzhe/force-rs-freebsd-x64/package.json').version
237
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.freebsd-arm64.node')
247
- } catch (e) {
248
- loadErrors.push(e)
249
- }
250
- try {
251
- const binding = require('@xingwangzhe/force-rs-freebsd-arm64')
252
- const bindingPackageVersion = require('@xingwangzhe/force-rs-freebsd-arm64/package.json').version
253
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
255
- }
256
- return binding
257
- } catch (e) {
258
- loadErrors.push(e)
259
- }
103
+ } else if (platform === 'freebsd') {
104
+ if (arch === 'x64') {
105
+ try { return require('./force-rs.freebsd-x64.node') } catch (e) { loadErrors.push(e) }
106
+ } else if (arch === 'arm64') {
107
+ try { return require('./force-rs.freebsd-arm64.node') } catch (e) { loadErrors.push(e) }
260
108
  } else {
261
- loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
109
+ loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${arch}`))
262
110
  }
263
- } else if (process.platform === 'linux') {
264
- if (process.arch === 'x64') {
265
- if (isMusl()) {
266
- try {
267
- return require('./force-rs.linux-x64-musl.node')
268
- } catch (e) {
269
- loadErrors.push(e)
270
- }
271
- try {
272
- const binding = require('@xingwangzhe/force-rs-linux-x64-musl')
273
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-x64-musl/package.json').version
274
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
276
- }
277
- return binding
278
- } catch (e) {
279
- loadErrors.push(e)
280
- }
111
+ } else if (platform === 'linux') {
112
+ const musl = isMusl()
113
+ if (arch === 'x64') {
114
+ if (musl) {
115
+ try { return require('./force-rs.linux-x64-musl.node') } catch (e) { loadErrors.push(e) }
281
116
  } else {
282
- try {
283
- return require('./force-rs.linux-x64-gnu.node')
284
- } catch (e) {
285
- loadErrors.push(e)
286
- }
287
- try {
288
- const binding = require('@xingwangzhe/force-rs-linux-x64-gnu')
289
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-x64-gnu/package.json').version
290
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
292
- }
293
- return binding
294
- } catch (e) {
295
- loadErrors.push(e)
296
- }
117
+ try { return require('./force-rs.linux-x64-gnu.node') } catch (e) { loadErrors.push(e) }
297
118
  }
298
- } else if (process.arch === 'arm64') {
299
- if (isMusl()) {
300
- try {
301
- return require('./force-rs.linux-arm64-musl.node')
302
- } catch (e) {
303
- loadErrors.push(e)
304
- }
305
- try {
306
- const binding = require('@xingwangzhe/force-rs-linux-arm64-musl')
307
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-arm64-musl/package.json').version
308
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
310
- }
311
- return binding
312
- } catch (e) {
313
- loadErrors.push(e)
314
- }
119
+ } else if (arch === 'arm64') {
120
+ if (musl) {
121
+ try { return require('./force-rs.linux-arm64-musl.node') } catch (e) { loadErrors.push(e) }
315
122
  } else {
316
- try {
317
- return require('./force-rs.linux-arm64-gnu.node')
318
- } catch (e) {
319
- loadErrors.push(e)
320
- }
321
- try {
322
- const binding = require('@xingwangzhe/force-rs-linux-arm64-gnu')
323
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-arm64-gnu/package.json').version
324
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
326
- }
327
- return binding
328
- } catch (e) {
329
- loadErrors.push(e)
330
- }
123
+ try { return require('./force-rs.linux-arm64-gnu.node') } catch (e) { loadErrors.push(e) }
331
124
  }
332
- } else if (process.arch === 'arm') {
333
- if (isMusl()) {
334
- try {
335
- return require('./force-rs.linux-arm-musleabihf.node')
336
- } catch (e) {
337
- loadErrors.push(e)
338
- }
339
- try {
340
- const binding = require('@xingwangzhe/force-rs-linux-arm-musleabihf')
341
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-arm-musleabihf/package.json').version
342
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
344
- }
345
- return binding
346
- } catch (e) {
347
- loadErrors.push(e)
348
- }
125
+ } else if (arch === 'arm') {
126
+ if (musl) {
127
+ try { return require('./force-rs.linux-arm-musleabihf.node') } catch (e) { loadErrors.push(e) }
349
128
  } else {
350
- try {
351
- return require('./force-rs.linux-arm-gnueabihf.node')
352
- } catch (e) {
353
- loadErrors.push(e)
354
- }
355
- try {
356
- const binding = require('@xingwangzhe/force-rs-linux-arm-gnueabihf')
357
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-arm-gnueabihf/package.json').version
358
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
360
- }
361
- return binding
362
- } catch (e) {
363
- loadErrors.push(e)
364
- }
129
+ try { return require('./force-rs.linux-arm-gnueabihf.node') } catch (e) { loadErrors.push(e) }
365
130
  }
366
- } else if (process.arch === 'loong64') {
367
- if (isMusl()) {
368
- try {
369
- return require('./force-rs.linux-loong64-musl.node')
370
- } catch (e) {
371
- loadErrors.push(e)
372
- }
373
- try {
374
- const binding = require('@xingwangzhe/force-rs-linux-loong64-musl')
375
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-loong64-musl/package.json').version
376
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
378
- }
379
- return binding
380
- } catch (e) {
381
- loadErrors.push(e)
382
- }
131
+ } else if (arch === 'loong64') {
132
+ if (musl) {
133
+ try { return require('./force-rs.linux-loong64-musl.node') } catch (e) { loadErrors.push(e) }
383
134
  } else {
384
- try {
385
- return require('./force-rs.linux-loong64-gnu.node')
386
- } catch (e) {
387
- loadErrors.push(e)
388
- }
389
- try {
390
- const binding = require('@xingwangzhe/force-rs-linux-loong64-gnu')
391
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-loong64-gnu/package.json').version
392
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
394
- }
395
- return binding
396
- } catch (e) {
397
- loadErrors.push(e)
398
- }
135
+ try { return require('./force-rs.linux-loong64-gnu.node') } catch (e) { loadErrors.push(e) }
399
136
  }
400
- } else if (process.arch === 'riscv64') {
401
- if (isMusl()) {
402
- try {
403
- return require('./force-rs.linux-riscv64-musl.node')
404
- } catch (e) {
405
- loadErrors.push(e)
406
- }
407
- try {
408
- const binding = require('@xingwangzhe/force-rs-linux-riscv64-musl')
409
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-riscv64-musl/package.json').version
410
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
412
- }
413
- return binding
414
- } catch (e) {
415
- loadErrors.push(e)
416
- }
137
+ } else if (arch === 'riscv64') {
138
+ if (musl) {
139
+ try { return require('./force-rs.linux-riscv64-musl.node') } catch (e) { loadErrors.push(e) }
417
140
  } else {
418
- try {
419
- return require('./force-rs.linux-riscv64-gnu.node')
420
- } catch (e) {
421
- loadErrors.push(e)
422
- }
423
- try {
424
- const binding = require('@xingwangzhe/force-rs-linux-riscv64-gnu')
425
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-riscv64-gnu/package.json').version
426
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.linux-ppc64-gnu.node')
437
- } catch (e) {
438
- loadErrors.push(e)
439
- }
440
- try {
441
- const binding = require('@xingwangzhe/force-rs-linux-ppc64-gnu')
442
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-ppc64-gnu/package.json').version
443
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.linux-s390x-gnu.node')
453
- } catch (e) {
454
- loadErrors.push(e)
455
- }
456
- try {
457
- const binding = require('@xingwangzhe/force-rs-linux-s390x-gnu')
458
- const bindingPackageVersion = require('@xingwangzhe/force-rs-linux-s390x-gnu/package.json').version
459
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
461
- }
462
- return binding
463
- } catch (e) {
464
- loadErrors.push(e)
141
+ try { return require('./force-rs.linux-riscv64-gnu.node') } catch (e) { loadErrors.push(e) }
465
142
  }
143
+ } else if (arch === 'ppc64') {
144
+ try { return require('./force-rs.linux-ppc64-gnu.node') } catch (e) { loadErrors.push(e) }
145
+ } else if (arch === 's390x') {
146
+ try { return require('./force-rs.linux-s390x-gnu.node') } catch (e) { loadErrors.push(e) }
466
147
  } else {
467
- loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
148
+ loadErrors.push(new Error(`Unsupported architecture on Linux: ${arch}`))
468
149
  }
469
- } else if (process.platform === 'openharmony') {
470
- if (process.arch === 'arm64') {
471
- try {
472
- return require('./force-rs.openharmony-arm64.node')
473
- } catch (e) {
474
- loadErrors.push(e)
475
- }
476
- try {
477
- const binding = require('@xingwangzhe/force-rs-openharmony-arm64')
478
- const bindingPackageVersion = require('@xingwangzhe/force-rs-openharmony-arm64/package.json').version
479
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.openharmony-x64.node')
489
- } catch (e) {
490
- loadErrors.push(e)
491
- }
492
- try {
493
- const binding = require('@xingwangzhe/force-rs-openharmony-x64')
494
- const bindingPackageVersion = require('@xingwangzhe/force-rs-openharmony-x64/package.json').version
495
- if (bindingPackageVersion !== '0.1.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 0.1.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('./force-rs.openharmony-arm.node')
505
- } catch (e) {
506
- loadErrors.push(e)
507
- }
508
- try {
509
- const binding = require('@xingwangzhe/force-rs-openharmony-arm')
510
- const bindingPackageVersion = require('@xingwangzhe/force-rs-openharmony-arm/package.json').version
511
- if (bindingPackageVersion !== '0.1.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 0.1.1 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
513
- }
514
- return binding
515
- } catch (e) {
516
- loadErrors.push(e)
517
- }
150
+ } else if (platform === 'openharmony') {
151
+ if (arch === 'arm64') {
152
+ try { return require('./force-rs.openharmony-arm64.node') } catch (e) { loadErrors.push(e) }
153
+ } else if (arch === 'x64') {
154
+ try { return require('./force-rs.openharmony-x64.node') } catch (e) { loadErrors.push(e) }
155
+ } else if (arch === 'arm') {
156
+ try { return require('./force-rs.openharmony-arm.node') } catch (e) { loadErrors.push(e) }
518
157
  } else {
519
- loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
158
+ loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${arch}`))
520
159
  }
521
160
  } else {
522
- loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
161
+ loadErrors.push(new Error(`Unsupported OS: ${platform}, architecture: ${arch}`))
523
162
  }
524
163
  }
525
164
 
@@ -529,9 +168,6 @@ nativeBinding = requireNative()
529
168
  // unset / any other value → native binding preferred, WASI is only a fallback
530
169
  // 'true' → force WASI fallback even if native loaded
531
170
  // '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
171
  const forceWasi =
536
172
  process.env.NAPI_RS_FORCE_WASI === 'true' || process.env.NAPI_RS_FORCE_WASI === 'error'
537
173
 
@@ -546,21 +182,6 @@ if (!nativeBinding || forceWasi) {
546
182
  wasiBindingError = err
547
183
  }
548
184
  }
549
- if (!nativeBinding || forceWasi) {
550
- try {
551
- wasiBinding = require('@xingwangzhe/force-rs-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
185
  if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
565
186
  const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
566
187
  error.cause = wasiBindingError
@@ -571,12 +192,11 @@ if (!nativeBinding || forceWasi) {
571
192
  if (!nativeBinding) {
572
193
  if (loadErrors.length > 0) {
573
194
  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.',
195
+ `Cannot find native binding for the current platform (${process.platform}-${process.arch}). ` +
196
+ 'All platform binaries are bundled in this package. ' +
197
+ 'If you see this error, the current platform may not be supported. ' +
198
+ 'Please check the package documentation for supported platforms.',
577
199
  )
578
- // assign instead of the `new Error(message, { cause })` options form,
579
- // which Node < 16.9 silently ignores
580
200
  error.cause = loadErrors.reduce((err, cur) => {
581
201
  cur.cause = err
582
202
  return cur
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xingwangzhe/force-rs",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Fast force-directed 3D graph layout powered by Rust + Barnes-Hut octree. Fully compatible with d3-force-3d force model (repulsion, spring with correct degree-biased strength, translational center gravity). Parallelized with Rayon — 47K nodes × 89K edges in ~0.01s/tick on 16 cores.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -50,6 +50,6 @@
50
50
  "devDependencies": {
51
51
  "@napi-rs/cli": "^3.2.0",
52
52
  "oxlint": "^1.72.0",
53
- "typescript": "^6.0.0"
53
+ "typescript": "^7.0.2"
54
54
  }
55
55
  }