GitNexus/gitnexus/scripts/arm64-prebuild.cjs
Gergő Magyar faf05f2eb7
fix(install): restore Linux ARM64 npm installation (#3601)
* fix(install): validate and package Linux ARM64 parser replacements

* fix(install): add rebuilt ARM64 grammar binaries

* fix(install): place ARM64 binaries in versioned bundle paths

* refactor(install): share ARM64 prebuild validation

* fix(review): keep grammar rebuild provenance accurate

* test: pin audited ARM64 repair provenance (#3601)
2026-10-16 15:28:35 +01:00

15 lines
517 B
JavaScript

// A tuple directory and an N-API symbol alone also accept the broken upstream
// x86-64 binaries. Require an ELF64 little-endian AArch64 shared object.
function isArm64NapiSharedObject(bytes) {
return (
bytes.length >= 64 &&
bytes.subarray(0, 4).equals(Buffer.from([127, 69, 76, 70])) &&
bytes[4] === 2 &&
bytes[5] === 1 &&
bytes.readUInt16LE(16) === 3 &&
bytes.readUInt16LE(18) === 183 &&
bytes.includes('napi_register_module_v1')
);
}
module.exports = { isArm64NapiSharedObject };