---
collection: js-toolchain
collection_name: JavaScript Runtimes & Tooling
week_start: 2026-11-02
title: Vitest gets selective about what runs, and pnpm cleans up its installs
release_count: 4
generated: 2026-11-09
canonical: https://releases.sh/collections/js-toolchain/digest/2026-11-02
---

# Vitest gets selective about what runs, and pnpm cleans up its installs

Vitest added test filtering that skips everything that passed last time, while pnpm tightened workspace installs, deploy, and agent skills, and Turborepo made lockfile creation roughly 10x faster.

### Rerun only what broke

The headline of the week is [Vitest's new test filtering](https://github.com/vitest-dev/vitest/releases/tag/v5.1.0): a `--last-failed` flag that reruns only the tests that failed on the prior run, plus `--since-last-run` to limit a run to tests touched since the last execution. Together they turn "run the suite again" into "run what's plausibly broken," which is the difference between a tolerable and an intolerable edit-test loop on a large codebase. The same update rounds out the debugging surface: fake timer support now covers `node:timers` and `node:timers/promise`, `Temporal.Instant` and `Temporal.ZonedDateTime` work with `vi.setSystemTime()`, and failed snapshots can be reviewed interactively. Two filtering bugs got fixed along the way — setup files not rerunning after `--changed` filtering, and mock factories that only form cycles later — and browser mode moved its default port to 23315, so anyone hardcoding the old one will want to update their config.

### pnpm tidies the edges of the install graph

pnpm's week was mostly about making workspaces behave under stress. Its [platform-variant support on pnpr registries](https://pnpm.io/blog/releases/12.18.0) now covers packing, publishing, and installing; `pnpm store add` makes offline installs from downloaded tarballs possible; and agent skills gained per-skill approval, which matters as more projects ship machine-facing instructions alongside their code. The bigger win for monorepo users is quieter: repeat installs and `verifyDepsBeforeRun` no longer read `package.json` for workspace projects that haven't changed, so the check stops costing what a full resolve costs. Peer dependency resolution got several bug fixes in the same pass.

The patch line then swept through the awkward cases. A [frozen install with `excludeLinksFromLockfile`](https://pnpm.io/blog/releases/11.28.11) no longer fails, `pnpm link` behaves inside workspaces, `pnpm deploy` keeps dangling symlinks in the project instead of dying with `ENOENT` — useful when a build legitimately points at a `node_modules` directory that was removed — and `verifyDepsBeforeRun` no longer kicks off needless installs. None of it is glamorous, but each item is the kind of failure a CI pipeline hits once and then works around forever; this week those workarounds are less necessary.

### Faster lockfiles in the background

Turborepo's contribution is a quick perf note: [creating turbo.lock is roughly 10x faster](https://github.com/vercel/turborepo/releases/tag/v2.11.11-canary.2), and prefix environment matching got faster too. The canary also moves managed tool installs into a shared content-addressed store under `~/.local/share` on macOS, so multiple projects stop duplicating the same toolchain, and restores shell completion. Toolchain setup is the least interesting part of a build and the most annoying to wait on — this is churn worth taking, though nothing here changes how you use Turborepo.

Taken together, the week was about making the boring loop faster and less annoying: Vitest so you don't rerun what already passed, pnpm so installs don't touch what didn't change, and Turborepo so the setup step costs less before the build even starts.

## Releases covered

### pnpm

- [pnpm 12.18.0](https://pnpm.io/blog/releases/12.18.0)
- [pnpm 11.28.11](https://pnpm.io/blog/releases/11.28.11)

### Vercel

- [Turborepo v2.11.11-canary.2 makes creating turbo.lock about 10x faster](https://github.com/vercel/turborepo/releases/tag/v2.11.11-canary.2)

### Vitest

- [Vitest v5.1.0 adds --last-failed and --since-last-run test filtering](https://github.com/vitest-dev/vitest/releases/tag/v5.1.0)
