Skip to content

Consider trying nub (all-in-one Node toolkit) #22

Description

@connorads

What

nub — single Rust binary that's an all-in-one Node frontend: TS/JSX file runner, script runner (nub run), bin runner (nubx, npx replacement), package manager, and Node version manager. Doesn't replace Node — transpiles + polyfills and execs your pinned node. Package manager is the embedded aube engine by jdx (same aube I already use as my mise npm backend).

Why not yet (revisit, don't adopt)

  • Brand new + fast churn. First publish 0.0.1 2026-05-27; 58 versions in ~26 days, several/day.
  • Quarantine lag. My 4-day gate pins to whatever's ≥4d old (e.g. 0.1.1) — ~9 releases behind latest and permanently lagging during the period it's least stable.
  • Install paths fight my controls: curl | bash, or npm i -g --ignore-scripts=false (disables my global ignore-scripts=true). No mise registry entry yet, so quarantine machinery doesn't apply cleanly.
  • Config sovereignty: nub bundles its own aube config (24h aging) rather than my tuned ~/.config/aube/config.toml (4d, trustPolicy, advisoryBloomCheck, lowDownloadThreshold). Adopting it = ceding policy I control.
  • Overlap: duplicates mise (Node versions) + aube/pnpm/bun (package mgmt), both already hardened.

Revisit when

  • mise registry entry exists (so mise use honours quarantine)
  • version cadence settles + clears my 4d gate without lagging badly
  • confirmed whether embedded aube reads my ~/.config/aube/config.toml or ships weaker defaults
  • weekly downloads clear lowDownloadThreshold = 1000

Could try ephemerally via nubx in a throwaway worktree without a global install in the meantime.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions