Skip to content

Commit 1e11410

Browse files
committed
fix: generated binding file
1 parent b570caa commit 1e11410

File tree

2 files changed

+79
-35
lines changed

2 files changed

+79
-35
lines changed

index.d.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
/* tslint:disable */
2-
/* eslint-disable */
3-
41
/* auto-generated by NAPI-RS */
2+
/* eslint-disable */
53

64
export function plus100(input: number): number
5+

index.js

Lines changed: 77 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
/* tslint:disable */
1+
// prettier-ignore
22
/* eslint-disable */
3-
/* prettier-ignore */
4-
53
/* auto-generated by NAPI-RS */
64

75
const { existsSync, readFileSync } = require('fs')
@@ -13,18 +11,52 @@ let nativeBinding = null
1311
let localFileExisted = false
1412
let loadError = null
1513

16-
function isMusl() {
17-
// For Node 10
18-
if (!process.report || typeof process.report.getReport !== 'function') {
19-
try {
20-
const lddPath = require('child_process').execSync('which ldd').toString().trim()
21-
return readFileSync(lddPath, 'utf8').includes('musl')
22-
} catch (e) {
14+
const isMusl = () => {
15+
let musl = false
16+
if (process.platform === 'linux') {
17+
musl = isMuslFromFilesystem()
18+
if (musl === null) {
19+
musl = isMuslFromReport()
20+
}
21+
if (musl === null) {
22+
musl = isMuslFromChildProcess()
23+
}
24+
}
25+
return musl
26+
}
27+
28+
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
29+
30+
const isMuslFromFilesystem = () => {
31+
try {
32+
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
33+
} catch {
34+
return null
35+
}
36+
}
37+
38+
const isMuslFromReport = () => {
39+
const report = typeof process.report.getReport === 'function' ? process.report.getReport() : null
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)) {
2348
return true
2449
}
25-
} else {
26-
const { glibcVersionRuntime } = process.report.getReport().header
27-
return !glibcVersionRuntime
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
2860
}
2961
}
3062

@@ -37,7 +69,7 @@ switch (platform) {
3769
if (localFileExisted) {
3870
nativeBinding = require('./package-template.android-arm64.node')
3971
} else {
40-
nativeBinding = require('@napi-rs/package-template-android-arm64')
72+
nativeBinding = require('@napi-rs/package-template-pnpm-android-arm64')
4173
}
4274
} catch (e) {
4375
loadError = e
@@ -49,7 +81,7 @@ switch (platform) {
4981
if (localFileExisted) {
5082
nativeBinding = require('./package-template.android-arm-eabi.node')
5183
} else {
52-
nativeBinding = require('@napi-rs/package-template-android-arm-eabi')
84+
nativeBinding = require('@napi-rs/package-template-pnpm-android-arm-eabi')
5385
}
5486
} catch (e) {
5587
loadError = e
@@ -69,7 +101,7 @@ switch (platform) {
69101
if (localFileExisted) {
70102
nativeBinding = require('./package-template.win32-x64-msvc.node')
71103
} else {
72-
nativeBinding = require('@napi-rs/package-template-win32-x64-msvc')
104+
nativeBinding = require('@napi-rs/package-template-pnpm-win32-x64-msvc')
73105
}
74106
} catch (e) {
75107
loadError = e
@@ -83,7 +115,7 @@ switch (platform) {
83115
if (localFileExisted) {
84116
nativeBinding = require('./package-template.win32-ia32-msvc.node')
85117
} else {
86-
nativeBinding = require('@napi-rs/package-template-win32-ia32-msvc')
118+
nativeBinding = require('@napi-rs/package-template-pnpm-win32-ia32-msvc')
87119
}
88120
} catch (e) {
89121
loadError = e
@@ -97,7 +129,7 @@ switch (platform) {
97129
if (localFileExisted) {
98130
nativeBinding = require('./package-template.win32-arm64-msvc.node')
99131
} else {
100-
nativeBinding = require('@napi-rs/package-template-win32-arm64-msvc')
132+
nativeBinding = require('@napi-rs/package-template-pnpm-win32-arm64-msvc')
101133
}
102134
} catch (e) {
103135
loadError = e
@@ -113,7 +145,7 @@ switch (platform) {
113145
if (localFileExisted) {
114146
nativeBinding = require('./package-template.darwin-universal.node')
115147
} else {
116-
nativeBinding = require('@napi-rs/package-template-darwin-universal')
148+
nativeBinding = require('@napi-rs/package-template-pnpm-darwin-universal')
117149
}
118150
break
119151
} catch {}
@@ -124,7 +156,7 @@ switch (platform) {
124156
if (localFileExisted) {
125157
nativeBinding = require('./package-template.darwin-x64.node')
126158
} else {
127-
nativeBinding = require('@napi-rs/package-template-darwin-x64')
159+
nativeBinding = require('@napi-rs/package-template-pnpm-darwin-x64')
128160
}
129161
} catch (e) {
130162
loadError = e
@@ -138,7 +170,7 @@ switch (platform) {
138170
if (localFileExisted) {
139171
nativeBinding = require('./package-template.darwin-arm64.node')
140172
} else {
141-
nativeBinding = require('@napi-rs/package-template-darwin-arm64')
173+
nativeBinding = require('@napi-rs/package-template-pnpm-darwin-arm64')
142174
}
143175
} catch (e) {
144176
loadError = e
@@ -157,7 +189,7 @@ switch (platform) {
157189
if (localFileExisted) {
158190
nativeBinding = require('./package-template.freebsd-x64.node')
159191
} else {
160-
nativeBinding = require('@napi-rs/package-template-freebsd-x64')
192+
nativeBinding = require('@napi-rs/package-template-pnpm-freebsd-x64')
161193
}
162194
} catch (e) {
163195
loadError = e
@@ -174,7 +206,7 @@ switch (platform) {
174206
if (localFileExisted) {
175207
nativeBinding = require('./package-template.linux-x64-musl.node')
176208
} else {
177-
nativeBinding = require('@napi-rs/package-template-linux-x64-musl')
209+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-x64-musl')
178210
}
179211
} catch (e) {
180212
loadError = e
@@ -187,7 +219,7 @@ switch (platform) {
187219
if (localFileExisted) {
188220
nativeBinding = require('./package-template.linux-x64-gnu.node')
189221
} else {
190-
nativeBinding = require('@napi-rs/package-template-linux-x64-gnu')
222+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-x64-gnu')
191223
}
192224
} catch (e) {
193225
loadError = e
@@ -203,7 +235,7 @@ switch (platform) {
203235
if (localFileExisted) {
204236
nativeBinding = require('./package-template.linux-arm64-musl.node')
205237
} else {
206-
nativeBinding = require('@napi-rs/package-template-linux-arm64-musl')
238+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-arm64-musl')
207239
}
208240
} catch (e) {
209241
loadError = e
@@ -216,7 +248,7 @@ switch (platform) {
216248
if (localFileExisted) {
217249
nativeBinding = require('./package-template.linux-arm64-gnu.node')
218250
} else {
219-
nativeBinding = require('@napi-rs/package-template-linux-arm64-gnu')
251+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-arm64-gnu')
220252
}
221253
} catch (e) {
222254
loadError = e
@@ -231,7 +263,7 @@ switch (platform) {
231263
if (localFileExisted) {
232264
nativeBinding = require('./package-template.linux-arm-gnueabihf.node')
233265
} else {
234-
nativeBinding = require('@napi-rs/package-template-linux-arm-gnueabihf')
266+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-arm-gnueabihf')
235267
}
236268
} catch (e) {
237269
loadError = e
@@ -246,7 +278,7 @@ switch (platform) {
246278
if (localFileExisted) {
247279
nativeBinding = require('./package-template.linux-riscv64-musl.node')
248280
} else {
249-
nativeBinding = require('@napi-rs/package-template-linux-riscv64-musl')
281+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-riscv64-musl')
250282
}
251283
} catch (e) {
252284
loadError = e
@@ -259,7 +291,7 @@ switch (platform) {
259291
if (localFileExisted) {
260292
nativeBinding = require('./package-template.linux-riscv64-gnu.node')
261293
} else {
262-
nativeBinding = require('@napi-rs/package-template-linux-riscv64-gnu')
294+
nativeBinding = require('@napi-rs/package-template-pnpm-linux-riscv64-gnu')
263295
}
264296
} catch (e) {
265297
loadError = e
@@ -274,13 +306,26 @@ switch (platform) {
274306
throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
275307
}
276308

309+
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
310+
try {
311+
nativeBinding = require('./package-template.wasi.cjs')
312+
} catch {
313+
// ignore
314+
}
315+
if (!nativeBinding) {
316+
try {
317+
nativeBinding = require('@napi-rs/package-template-pnpm-wasm32-wasi')
318+
} catch (err) {
319+
console.error(err)
320+
}
321+
}
322+
}
323+
277324
if (!nativeBinding) {
278325
if (loadError) {
279326
throw loadError
280327
}
281328
throw new Error(`Failed to load native binding`)
282329
}
283330

284-
const { plus100 } = nativeBinding
285-
286-
module.exports.plus100 = plus100
331+
module.exports.plus100 = nativeBinding.plus100

0 commit comments

Comments
 (0)