UNPKG

tell-libc

Version:
3 lines (2 loc) 599 B
#! /usr/bin/env node process.libc=(()=>{let e;if(process.platform!=="linux")return;try{const r=require("node:fs").readFileSync("/usr/bin/ldd","utf8");r.includes("musl")?e="musl":r.includes("GNU C Library")&&(e="glibc")}catch{}if(e)return e;const c=process.report.excludeNetwork;process.report.excludeNetwork=!0;const s=process.report.getReport();return process.report.excludeNetwork=c,s.header?.glibcVersionRuntime?e="glibc":Array.isArray(s.sharedObjects)&&s.sharedObjects.some(r=>r.includes("libc.musl-")||r.includes("ld-musl-"))&&(e="musl"),e})(),require.main===module&&console.log(process.libc);