UNPKG

cn-font-split

Version:

划时代的字体切割工具,CJK与任何字符!支持 otf、ttf、woff2 字体多线程切割,完美地细颗粒度地进行包大小控制。A revolutionary font subetter that supports CJK and any characters! It enables multi-threaded subset of otf, ttf, and woff2 fonts, allowing for precise control over package size.

1 lines 2.46 kB
{"version":3,"file":"isMusl.mjs","sources":["../../src/node/isMusl.ts"],"sourcesContent":["import { readFileSync } from 'fs';\nimport { execSync } from 'child_process';\nimport path from 'path';\nexport const isMusl = () => {\n let musl: boolean | null = false;\n if (process.platform === 'linux') {\n musl = isMuslFromFilesystem();\n if (musl === null) {\n musl = isMuslFromReport();\n }\n if (musl === null) {\n musl = isMuslFromChildProcess();\n }\n }\n return !!musl;\n};\n\nexport const isMuslFromFilesystem = () => {\n try {\n return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl');\n } catch {\n return null;\n }\n};\n\nexport const isMuslFromReport = () => {\n const report: any =\n typeof process.report.getReport === 'function'\n ? process.report.getReport()\n : null;\n if (!report) {\n return null;\n }\n if (report.header && report.header.glibcVersionRuntime) {\n return false;\n }\n if (Array.isArray(report.sharedObjects)) {\n if (\n report.sharedObjects.some(\n (f: string) =>\n f.includes('libc.musl-') || f.includes('ld-musl-'),\n )\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const isMuslFromChildProcess = () => {\n try {\n return execSync('ldd --version', { encoding: 'utf8' }).includes('musl');\n } catch (e) {\n // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false\n return false;\n }\n};\n"],"names":["isMusl","musl","isMuslFromFilesystem","isMuslFromReport","isMuslFromChildProcess","readFileSync","report","f","execSync"],"mappings":";;AAGO,MAAMA,IAAS,MAAM;AACxB,MAAIC,IAAuB;AACvB,SAAA,QAAQ,aAAa,YACrBA,IAAOC,EAAqB,GACxBD,MAAS,SACTA,IAAOE,EAAiB,IAExBF,MAAS,SACTA,IAAOG,EAAuB,KAG/B,CAAC,CAACH;AACb,GAEaC,IAAuB,MAAM;AAClC,MAAA;AACA,WAAOG,EAAa,gBAAgB,OAAO,EAAE,SAAS,MAAM;AAAA,EAAA,QACxD;AACG,WAAA;AAAA,EAAA;AAEf,GAEaF,IAAmB,MAAM;AAC5B,QAAAG,IACF,OAAO,QAAQ,OAAO,aAAc,aAC9B,QAAQ,OAAO,UAAA,IACf;AACV,SAAKA,IAGDA,EAAO,UAAUA,EAAO,OAAO,sBACxB,KAEP,SAAM,QAAQA,EAAO,aAAa,KAE9BA,EAAO,cAAc;AAAA,IACjB,CAACC,MACGA,EAAE,SAAS,YAAY,KAAKA,EAAE,SAAS,UAAU;AAAA,EAAA,KATtD;AAgBf,GAEaH,IAAyB,MAAM;AACpC,MAAA;AACO,WAAAI,EAAS,iBAAiB,EAAE,UAAU,QAAQ,EAAE,SAAS,MAAM;AAAA,UAC9D;AAED,WAAA;AAAA,EAAA;AAEf;"}