Repository navigation
fix(npm): isolate embedded aube storage - #11760
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThe PR isolates embedded aube storage within mise's npm cache ownership boundary and disables aube's global virtual store.
Confidence Score: 5/5The PR appears safe to merge, with no concrete blocking or independently actionable non-blocking issue identified. The changed installation path consistently supplies mise-owned cache and store directories while disabling global virtual-store materialization, and the added tests cover both the override values and resulting storage boundary. Important Files Changed
Reviews (1): Last reviewed commit: "fix(npm): isolate embedded aube storage" | Re-trigger Greptile |
Instruction countsNothing was compared, and so nothing was gated. No series appears on both sides: either the base has no measurements recorded, or the two were measured on different runner classes, which are deliberately not comparable — counts shift between machine types by more than a real regression does. New, nothing to compare against: Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.
|
## Summary - install a known deprecated npm package through mise's embedded aube path - verify aube's warning arrives through mise's output pipeline - guard against suggesting the nonexistent `mise deprecations` command ## Why aube v1.38.0 routes install-time deprecation warnings through structured embedder events and suppresses standalone aube command hints for embedded hosts. This regression test exercises the full mise integration boundary, including the progress renderer that the old direct stderr write corrupted. Regression coverage for #11742 and aubepkg/aube#1236. ## Stack Depends on #11760, which depends on the aube v1.38.0 bump in #11759. ## Validation - `mise run test:e2e e2e/backend/test_npm_aube` *AI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable.* <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Test-only change with no production or runtime behavior impact. > > **Overview** > Extends **`e2e/backend/test_npm_aube`** with integration checks for install-time deprecation warnings on the embedded aube path. > > After **`mise install npm:inflight@1.0.6`**, the test captures combined stdout/stderr and asserts the output includes **`deprecated inflight@1.0.6`** and does **not** mention **`mise deprecations`**, so warnings go through mise’s renderer without bogus CLI hints. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 8d66348. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Summary
npm/aubecache subtreeRoot cause
Embedded aube previously inherited aube's process-wide cache/data namespaces and global virtual store. Removing a mise-managed npm tool therefore left package data owned by aube outside mise's cache-prune lifecycle, and standalone
aube store prunecould not reliably infer when mise installations disappeared.With project-local materialization, installed tools do not depend on the regenerable CAS after installation.
mise cache prune npmcan now reclaim that state according to mise's configured cache age.Fixes #11737
Stack
Depends on #11759, which updates the embedded aube crates to v1.38.0.
Validation
cargo test embedded_aube_uses_mise_owned_cache_and_storemise run test:e2e e2e/backend/test_npm_aubecargo checkcargo clippy --all-features --all-targets -- -D warningscargo fmt --all -- --checkAI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable.
Note
Medium Risk
Changes npm install storage and materialization behavior; misconfiguration could affect install layout or cache pruning, but scope is limited to embedded aube and is covered by e2e/unit tests.
Overview
Embedded aube installs no longer lean on aube's process-wide global virtual store or default cache/data namespaces for package materialization. Installs call
add_with_overrideswithEmbedderInstallOverrides:use_global_virtual_store: falseso tools land in each mise install dir (node_modules), and cache/store under$MISE_CACHE_DIR/npm/aube/{cache,store}so regenerable CAS/metadata is owned by mise's npm cache lifecycle.aube_host.rsdocs and tests are updated to reflect that on-disk layout is per-invocation overrides, while lockfile/manifest naming (aube.allowBuilds,aube-lock.yaml) stays compatible with standalone aube.Tests add a unit check for override paths and e2e assertions that packument cache and store files exist under the mise npm cache tree after
npm:cowsayinstall.Reviewed by Cursor Bugbot for commit e076492. Bugbot is set up for automated code reviews on this repo. Configure here.