Aquesta és una versió anterior. La versió actual és la 2.8.3. aube 2.8.3 · Data de publicació:
Fitxers d’instal·lació 1.28.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable | — | — | github.com | VirusTotal |
| ARM64 | ZIP → Portable | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
This release makes aube embeddable in other applications, landing a stable in-process embedding API for both Rust and Node.js/Bun/Electron hosts, and fixes a warm-path bug where changed local file:/portal: directory dependencies weren't reinstalled.
Highlights
- Embed aube in your own apps — Three stacked pieces come together to let you drive installs programmatically: invocation-scoped install controls with structured events and cancellation (#1036), a stable aube::embed Rust facade (#1042), and a production @jdxcode/aube-node Node-API addon (#1025) — all by @jdx.
Added
- @jdxcode/aube-node Node-API addon (#1025 by @jdx) — Run aube installs in-process from Node.js, Bun, Electron, and compiled Bun executables. The addon exposes install/add, dev-dependency saves, structured progress/output events, cooperative cancellation via AbortSignal, offline mode, structured errors (AubeError with stable code and diagnostic), and result statistics. It creates package.json when absent, saves requested versions exactly, honors supported lockfile formats and project registry/auth config, skips lifecycle scripts, and uses aube's install-state fast path. Independent projects install concurrently; operations on the same workspace serialize through its project lock, and cancellation during add restores manifest and lockfile snapshots. Ships the root package plus eight optional platform packages (macOS, Windows, glibc and musl Linux), with signed macOS addons, attested tarballs, and npm trusted publishing.
import { install } from "@jdxcode/aube-node"
const result = await install(projectDirectory, {
add: [
{ name: "react", version: "19.1.0" },
{ name: "typescript", version: "5.9.3", dev: true },
],
offline: false,
signal,
onEvent(event) {
// event.kind: "phase" | "progress" | "output"
},
})
- Stable aube::embed Rust API (#1042 by @jdx) — Native Rust hosts get a supported public contract (initialize, install, add, error_code) without depending on internal aube-util, aube-settings, or CLI command structs. add_to_project holds the workspace project lock across manifest mutation and install, supports offline/network modes, and rolls back package.json and the lockfile on cancellation. Includes docs covering embedding, concurrency, lifecycle policy, and errors.
- Install control hooks (#1036 by @jdx) — New invocation-scoped InstallControl with human (CLI default), structured-event, and silent output modes. A non-blocking InstallReporter delivers phase, progress, and output events, and cooperative cancellation returns the stable ERR_AUBE_INSTALL_CANCELLED diagnostic at safe install boundaries. Concurrent installs stay isolated via Tokio task-local state; standalone aube install behavior is unchanged.
Fixed
- Refresh changed local directory dependencies (#1034 by @jdx) — Editing the contents of a file: directory or portal: dependency could previously hit the Already up to date fast path and leave stale installed output, even when the file size was unchanged. Install freshness now records per-source content and metadata fingerprints (BLAKE3), and the linker re-materializes mutable local entries during the ensuing full install.
💚 Sponsor aube
aube is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools including mise. Work on aube is funded by sponsors.
If aube is saving your team install time or CI minutes, please consider sponsoring at jdx.dev. Individual and company sponsorships are what keep the project fast, free, and independent.