AltimateAI / AltimateAI/altimate-code

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

Aperta
#822 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
811
Fork
134
Merge medio
3g 2h
PR unite (30g)
50

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.