Skip to content

ccmux v0.2.0

Choose a tag to compare

@github-actions github-actions released this 29 Jul 10:35

fix: shipped bundle is truly self-contained — stub react-devtools-core at build time so a cache-cleared / offline machine no longer dies on start with ENOENT; + guard test against future hoisted externals

  • Fix the shipped bundle silently depending on the global bun cache / npm at startup. ink imports an
    optional DEV-only React DevTools client (react-devtools-core) via a HOISTED static import, so it
    loaded on every launch — and built with --external it resolved that import at runtime against
    ~/.bun/install/cache (or an npm auto-install). A machine whose cache was cleared, or that had no
    network, died on start with ENOENT ... react-devtools-core — the daemon (and every session it
    supervises) down. The "self-contained" bundle was never actually self-contained. The build now
    compiles an inert stub in its place (Bun.build() API + a resolve plugin instead of the
    bun build --external spawn), so the single-file bundle carries no external import and starts
    offline / with an empty cache. The bundling moved to scripts/bundle.ts (one build path shared by
    stage / CI / release), the misleading "never reached in prod" comment and the obsolete "build only
    outside the project tree" caveat are gone, and a guard test builds via that same path and asserts
    the bundle starts under a wiped cache + dead registry — so this can never silently regress.