AltimateAI / AltimateAI/altimate-code

refactor: extract isMusl() to a shared module (deduplicate 4 implementations)

未關閉
#822 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
TypeScript
星號
811
分支
134
平均合併
3 天 2 小時
30 天內合併 PR
50

描述

Found during v0.7.1 release review (Tech Lead persona).

The same musl-detection logic exists in four places:
- `packages/opencode/script/build.ts:208-220` — TS, used by build-time `--single` guard
- `packages/opencode/bin/altimate:156-171` — JS (the npm wrapper) — early-exit
- `packages/opencode/script/postinstall.mjs:50-71` — MJS, npm postinstall early-exit
- `install:117-133` — bash, curl-install early-exit

The TS/JS/MJS copies should be lifted to `packages/opencode/script/lib/platform.mjs` (or equivalent) and imported. The bash one stays — different language.

## Why this isn't in v0.7.1

The review explicitly flagged this as a P2 (drifting fix points), and the user's rule is "Don't add features, refactor, or introduce abstractions beyond what the task requires." The v0.7.1 fix scope was the curl-install crash + binary rename. Refactor in a follow-up.

## Acceptance

- Single shared implementation, imported by all three callers.
- Existing musl tests still pass.
- A new test that asserts the three callers' detection results agree on a fixture set of `/etc/alpine-release` + `ldd --version` outputs.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。