Skip to content

RFC: pnpm agent — server-side resolution for faster installs#9

Open
zkochan wants to merge 1 commit intopnpm:mainfrom
zkochan:pnpm-agent
Open

RFC: pnpm agent — server-side resolution for faster installs#9
zkochan wants to merge 1 commit intopnpm:mainfrom
zkochan:pnpm-agent

Conversation

@zkochan
Copy link
Copy Markdown
Member

@zkochan zkochan commented Apr 14, 2026

This RFC proposes a pnpm agent — an opt-in server that resolves dependencies server-side and streams only the files missing from the client's store.

Reference implementation: pnpm/pnpm#11251

Key ideas

  • Server resolves dependencies using pnpm's own install() with SQLite-backed metadata cache (~1s resolution vs ~3.4s)
  • File-level dedup: only streams individual files the client is missing, not whole packages
  • Streaming NDJSON protocol: file downloads overlap with server-side resolution
  • Gzip-compressed file streaming: 274MB → ~80MB over the wire
  • Client skips: metadata download, tarball decompression, SHA-512 rehashing, store integrity verification

Configuration

# pnpm-workspace.yaml
agent: http://agent.company.com:4873

See the full RFC text for details.

zkochan added a commit to pnpm/pnpm that referenced this pull request Apr 14, 2026
Copy link
Copy Markdown
Member

@gluxon gluxon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great idea. Definitely in support of the RFC.

zkochan added a commit to pnpm/pnpm that referenced this pull request Apr 16, 2026
zkochan added a commit to pnpm/pnpm that referenced this pull request Apr 16, 2026
zkochan added a commit to pnpm/pnpm that referenced this pull request Apr 17, 2026
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.

2 participants