Skip to content

Commit

Permalink
fix(cli): allow more platform & arch fallback to wasm (#1969)
Browse files Browse the repository at this point in the history
  • Loading branch information
Brooooooklyn committed Feb 22, 2024
1 parent 0306e30 commit da99081
Showing 1 changed file with 30 additions and 15 deletions.
45 changes: 30 additions & 15 deletions cli/src/api/templates/js-binding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ switch (platform) {
}
break
default:
throw new Error(\`Unsupported architecture on Android \${arch}\`)
loadError = new Error(\`Unsupported architecture on Android \${arch}\`)
}
break
case 'win32':
Expand Down Expand Up @@ -141,7 +141,7 @@ switch (platform) {
}
break
default:
throw new Error(\`Unsupported architecture on Windows: \${arch}\`)
loadError = new Error(\`Unsupported architecture on Windows: \${arch}\`)
}
break
case 'darwin':
Expand Down Expand Up @@ -182,22 +182,37 @@ switch (platform) {
}
break
default:
throw new Error(\`Unsupported architecture on macOS: \${arch}\`)
loadError = new Error(\`Unsupported architecture on macOS: \${arch}\`)
}
break
case 'freebsd':
if (arch !== 'x64') {
throw new Error(\`Unsupported architecture on FreeBSD: \${arch}\`)
}
localFileExisted = existsSync(join(__dirname, '${localName}.freebsd-x64.node'))
try {
if (localFileExisted) {
nativeBinding = require('./${localName}.freebsd-x64.node')
} else {
nativeBinding = require('${pkgName}-freebsd-x64')
}
} catch (e) {
loadError = e
switch (arch) {
case 'x64':
localFileExisted = existsSync(join(__dirname, '${localName}.freebsd-x64.node'))
try {
if (localFileExisted) {
nativeBinding = require('./${localName}.freebsd-x64.node')
} else {
nativeBinding = require('${pkgName}-freebsd-x64')
}
} catch (e) {
loadError = e
}
break
case 'arm64':
localFileExisted = existsSync(join(__dirname, '${localName}.freebsd-arm64.node'))
try {
if (localFileExisted) {
nativeBinding = require('./${localName}.freebsd-arm64.node')
} else {
nativeBinding = require('${pkgName}-freebsd-arm64')
}
} catch (e) {
loadError = e
}
break
default:
loadError = new Error(\`Unsupported architecture on FreeBSD: \${arch}\`)
}
break
case 'linux':
Expand Down

0 comments on commit da99081

Please sign in to comment.