Skip to content

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 19 Jun 15:39

This release focuses on package-manager fidelity — npm-lockfile round-trips and pnpm injected-dependency migration — alongside an internal Rust idiomaticity pass and a tsconfig-cache crash fix.

Note

The workspace minimum supported Rust version moved 1.85 → 1.88 (6230023) to allow let-chains in nub's own crates. This affects only people building nub from source; the published packages ship prebuilt binaries and need no toolchain.

Package manager

Area What changed Commit
npm lockfile fidelity npm's per-package keys — hasInstallScript, hasShrinkwrap, inBundle, deprecated, bundleDependencies — are now captured and re-emitted, so a nub-mediated rewrite of a real npm lockfile no longer produces a spurious diff on native-addon packages 1050f8e
Injected dependencies nub pm use nub now migrates projects that use pnpm's dependenciesMeta.injected instead of refusing them; the install path already materialized injected deps faithfully, so this removes a stale migration refusal 1732386

The three repo-wide inject settings — injectWorkspacePackages, dedupeInjectedDeps, and syncInjectedDepsAfterScripts — still warn and drop on migration.

Runtime fixes

The tsconfig cache in nub-native now recovers from a poisoned mutex instead of panicking: both lock accesses in load_for_dir use unwrap_or_else(|e| e.into_inner()), so a single earlier transient panic no longer makes every subsequent loadTsconfig / resolveTs call fail. Thanks to @nerkoux for the fix. (#24, 92c4069)

Documentation

  • The Yarn environment-variable compatibility note now lists the specific supported settings instead of jargon (6b98d7f).

Internals

A behavior-preserving Rust idiomaticity pass across nub's own crates — combinators, helper extraction, and let-chain flattening of nested conditionals. No runtime behavior changes.

Crate What changed Commit
nub-cli Idiomatic cleanups in cli.rs and the agent module 0d1329a
nub-core Nested conditionals flattened with let-chains 1ad14c6
nub-native Idiomatic cleanups in cache/resolve/lib b66f72f
pm_engine Combinators and helper extraction 237e5a6

A follow-up fixed fmt plus a clippy double_ended_iterator_last lint surfaced by the pass (40f9e58).

Testing

  • New pnpm injected-deps conformance fixture (72d4494, a965eec).
  • A hasInstallScript round-trip conformance fixture ships with the npm-lockfile field-preservation change (1050f8e).

Commits in this release

  • vendor/aube: bump pin for npm-lockfile round-trip field preservation (1050f8e)
  • release: scannable release-notes style — codify in skill Step 4 + AGENTS.md (eabd574)
  • fray: tighten reminder + rest-guard inbox discipline (drain oldest, incomplete-handoff = needs-retry) (594210b)
  • cli: idiomatic cleanups in cli.rs and agent module (0d1329a)
  • nub-core: flatten nested conditionals with let-chains (1ad14c6)
  • nub-native: idiomatic cleanups in cache/resolve/lib (b66f72f)
  • pm_engine: idiomatic cleanups (combinators, helper extraction) (237e5a6)
  • nub-native: recover from mutex poison in tsconfig cache (#24, 92c4069)
  • docs: replace jargon YARN_* compat note with explicit supported settings (6b98d7f)
  • ci: fix fmt + clippy double_ended_iterator_last from idiomaticity pass (40f9e58)
  • chore: bump workspace MSRV to 1.88 for let-chains (6230023)
  • pm: allow nub-identity migration for projects using dependenciesMeta.injected (1732386)
  • tests: add pnpm injected-deps conformance fixture (72d4494)
  • tests: fix stale injected-deps dir-B comment in conformance run.sh (a965eec)
  • v0.1.5 (8698b06)

Full Changelog: v0.1.4...v0.1.5