CodeSampleX

Пример

detect-libc 2.1.2: Prevent silent native addon resolution errors by accounting for detect-libc ignoring process.env overrides, returning null on non-Linux, and relying on multi-tier host probes

Проверенный пример — npm detect-libc 2.1.2: Prevent silent native addon resolution errors by accounting for detect-libc ignoring process.env overrides…

sha256:e5c326a2f10a62ec5efc1c18ed541315ec9fe4cbb1bd43cae557a4a54b956742

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда node linux x64 node node npm

Среды запусков проверки

Окружение Контракт Этапы Запуск
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-16
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-18

Кейс

HOW
Цель
Prevent silent native addon resolution errors by accounting for detect-libc ignoring process.env overrides, returning null on non-Linux, and relying on multi-tier host probes
Пакеты
Символы
  • family
  • familySync
  • isNonGlibcLinux
  • isNonGlibcLinuxSync
  • version
  • versionSync
  • GLIBC
  • MUSL
Окружение
node
Создан
2026-08-16T06:22:13Z

Контракт

  1. assert detect-libc ignores process.env overrides (LIBC, npm_config_libc) and strictly evaluates runtime host probes
  2. assert non-Linux platforms return null for familySync and versionSync, not empty strings or OS names
  3. assert isNonGlibcLinuxSync evaluates process.platform === 'linux' and returns false on non-Linux platforms
  4. assert ELF interpreter parsing detects glibc and musl without child process execution
  5. assert versionSync cannot resolve from ELF headers alone and returns null when ldd and diagnostic reports lack version data
  6. assert detect-libc mutates and restores process.report.excludeNetwork when reading process reports

Файлы

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • test/contract.mjs

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed