Skip to content

fix(deps): pin @yarnpkg/core to 4.9.1 for npm installs - #2154

Merged
martin-helmich merged 1 commit into
masterfrom
fix/npm-resolvable-yarnpkg-core
Oct 7, 2026
Merged

martin-helmich merged 1 commit into
masterfrom
fix/npm-resolvable-yarnpkg-core

Conversation

@martin-helmich

Copy link
Copy Markdown
Member

@yarnpkg/core@4.9.2 (published 2026-09-24) leaks a Yarn-internal patch: specifier into its published manifest:

"got": "patch:got@npm%3A11.8.2#~/.yarn/patches/got-npm-11.8.2-c1eb105458.patch"

npm cannot resolve that, so the "Test if dependencies are resolvable without errors" job (plain npm install, no lockfile) fails on every PR with EUNSUPPORTEDPROTOCOL. We pull the package in transitively via @yarnpkg/pnpify → @yarnpkg/nm → @yarnpkg/core.

This adds an npm overrides entry pinning @yarnpkg/core to 4.9.1. Yarn ignores overrides, so yarn.lock and regular Yarn installs are unaffected.

Upstream issue: yarnpkg/berry#7281. The override can be dropped once a fixed version is released.

🤖 Generated with Claude Code

@yarnpkg/core@4.9.2 was published with a Yarn-internal `patch:` specifier
for its `got` dependency, which npm cannot resolve. This breaks the
"Test if dependencies are resolvable without errors" job, which runs a
plain `npm install`. Yarn ignores `overrides`, so yarn.lock is unaffected.

See yarnpkg/berry#7281

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@martin-helmich
martin-helmich merged commit 3b31935 into master Oct 7, 2026
11 checks passed
@martin-helmich
martin-helmich deleted the fix/npm-resolvable-yarnpkg-core branch October 7, 2026 13:21
mittwald-machine added a commit that referenced this pull request Oct 8, 2026
# [2.0.0](v1.25.0...v2.0.0) (2026-10-08)

### Bug Fixes

* **deps:** pin @yarnpkg/core to 4.9.1 for npm installs ([#2154](#2154)) ([3b31935](3b31935))

### Features

* **stack:** require an explicit stack ID instead of guessing one ([#2146](#2146)) ([18433d2](18433d2))

### BREAKING CHANGES

* **stack:** and will result in a major release.

## Motivation

Projects no longer get a default stack, and existing default stacks can
now be deleted. The CLI used to rely on the default stack in two ways:

- `container run`, `volume create` and `volume delete` fell back to the
project ID as stack ID when no stack was given. Without a default stack
this fails with an opaque API error.
- `stack delete` only emptied a project's default stack instead of
deleting it.

The root cause is a design flaw in the CLI, not in the API: the API
modelled stacks from the very beginning, so that the stack feature could
later be introduced properly without breaking the API. The CLI, however,
wrongly relied on every project always having a default stack (with the
project ID as its stack ID). This change removes that assumption.

Additionally, all stack-aware commands silently picked a project's stack
if it was the only one. Implicitly choosing a stack (e.g. for `volume
delete`) is risky, and scripts relying on it break as soon as a second
stack is created.

## Changes

- Remove `optionalStackFlags` / `withStackIdOrDefault`; `container run`,
`volume create` and `volume delete` now use the regular `stackFlags` /
`withStackId`
- Remove the auto-selection of a project's only stack from `withStackId`
- `stack delete` always calls `deleteStack`; `--with-volumes` is
deprecated and has no effect
- `volume create` checks that the stack belongs to the given project
(the project ID was only used for the default-stack fallback before)

## Breaking changes

- `container run`, `volume create`, `volume delete`, `stack deploy`,
`stack ps`, `stack delete` and `stack template install` fail with `No
stack ID given. Please specify one with --stack-id or set a default
stack with 'mw context set --stack-id <stack-id>'` if no stack ID is
given via flag, argument or context — even if the project has only a
single stack.
- `stack delete` removes a project's default stack instead of emptying
it.

## Testing

`yarn lint`, `yarn compile` and `yarn test` pass. There are no existing
tests covering stack resolution or the affected commands; the change was
not tested against the live API. The docs in `docs/*.md` will be
regenerated by the README workflow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant