Upgrade package manager from pnpm 10 to pnpm 11

Open
#146 0 comments 0 reactions 1 assignee View on GitHub

@infeo is already working on this.

Since May 8, 2026.

Assessment

This issue has not been assessed yet.

Description

Overview

This issue tracks the upgrade of the package manager from pnpm 10 to pnpm 11.

pnpm 11 Release Notes

Key Changes in pnpm 11

  • Node.js 22+ required — support for Node.js 18, 19, 20, and 21 is dropped. pnpm is now pure ESM.
  • Supply-chain protection on by default — minimumReleaseAge defaults to 1 day (1440 min) and blockExoticSubdeps defaults to true.
  • allowBuilds replaces legacy build-dependency settings — onlyBuiltDependencies, neverBuiltDependencies, ignoredBuiltDependencies, and ignoreDepScripts are removed.
  • Configuration split — .npmrc is now auth/registry only; all other pnpm settings must live in pnpm-workspace.yaml or the new global ~/.config/pnpm/config.yaml.
  • New SQLite-backed store index (store v11) — replaces JSON-per-package index for faster installs.
  • Native publish flow — pnpm publish, login, logout, etc. no longer delegate to npm CLI.
  • Isolated global installs via the global virtual store.
  • New commands — pnpm ci, pnpm sbom, pnpm clean, pnpm peers check, pnpm runtime set, and short pn/pnx aliases.
  • Environment variables use pnpm_config_* prefix instead of npm_config_*.

Required Changes in This Repository

  1. Update packageManager field in package.json to [email protected].
  2. Migrate pnpm-workspace.yaml — replace allowBuilds: false entries with the new allowBuilds model; note that strictDepBuilds and related legacy fields are removed.
  3. Ensure CI environment uses Node.js 22+.
  4. Review any .npmrc settings and move non-auth config to pnpm-workspace.yaml.
  5. Update the lockfile (pnpm-lock.yaml) by running pnpm install after the upgrade.
  6. Update scripts/check-pm.js if needed (the npm_config_user_agent env var logic may need updating since pnpm 11 uses pnpm_config_* prefix for its own settings).

Context

This issue was raised in the context of PR #145, which introduced pnpm 10 as the package manager.

Requested by: @infeo

Dominant language
TypeScript
Stars
66
Forks
45
Avg merge
5h 16m
Merged PRs (30d)
5

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cryptomator/docs

All issues in cryptomator/docs

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.