Skip to content

chore: one npm workspace for the playground, and a Renovate config that lands - #431

Merged
robelest merged 1 commit into
mainfrom
chore/pnpm
Oct 31, 2026
Merged

robelest merged 1 commit into
mainfrom
chore/pnpm

Conversation

@robelest

@robelest robelest commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Stays on npm, per review, and fixes why Renovate's PRs never landed: the playground's separate lockfile resolved without the root (react@undefined), and the npm 10 constraint crashed on vitest's peers (edgesOut, #242).

  • The playground is an npm workspace: one package-lock.json, still linked to the root through file:...
  • devEngines requires npm 11 or later. allowScripts denies the esbuild and @swc/core install scripts that npm 12 blocks (both ship prebuilt binaries).
  • A check script (typecheck, lint, test) for the shared release workflow.
  • CI installs once and builds the playground with -w playground.
  • The playground release reads its version from package.json and commits the root lockfile, since npm version inside a workspace doesn't commit or tag. Root releases are unchanged.
  • Renovate: no npm constraint (replaces Update npm tool constraint to v12 #386), the "Routine updates" group split by ecosystem (monorepo presets, vite, eslint, AI SDK, GitHub Actions), Monday mornings, no dashboard, the 14 day release age as a rule (best-practices' npm preset otherwise sets 3 days), npmDedupe, no engines updates. No automerge.

Comment thread .github/workflows/test.yml Fixed
@pkg-pr-new

pkg-pr-new Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@convex-dev/agent@431

commit: 92e8b6b

@robelest
robelest marked this pull request as ready for review October 29, 2026 15:53

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 19 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread pnpm-workspace.yaml Resolved
@robelest
robelest requested a review from ianmacartney October 29, 2026 16:42
@robelest robelest mentioned this pull request Oct 30, 2026
1 task
@robelest
robelest force-pushed the chore/pnpm branch 3 times, most recently from 35cd41d to 5341caa Compare October 30, 2026 22:45

@ianmacartney ianmacartney left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this is ok, but keep in mind that as we unify some release tooling for components publishing from CI, those may all assume npm commands work. so adding this setup is some tech debt we're taking on to maintain the difference. Up to you if it's worth the gains over the current setup

…at lands

The playground had its own lockfile, which Renovate resolved without the
root (react@undefined), and the npm 10 constraint crashed on vitest's peers
(edgesOut), so "Routine updates" has been stuck since April.

- The playground is a workspace: one package-lock.json, still linked to the
  root through file:...
- devEngines requires npm 11 or later, and allowScripts denies the esbuild and
  @swc/core install scripts that npm 12 blocks (both ship prebuilt binaries).
- A check script (typecheck, lint, test) for the shared release workflow.
- CI installs once and builds the playground with -w playground.
- The playground release reads its version from package.json and commits the
  root lockfile, since npm version in a workspace doesn't commit or tag.
- Renovate: no npm constraint, the routine group split by ecosystem, Monday
  mornings, no dashboard, 14 day release age as a rule, npmDedupe, no engines
  updates.
@robelest robelest changed the title chore: move to pnpm with a workspace catalog chore: one npm workspace for the playground, and a Renovate config that lands Oct 31, 2026
@robelest
robelest merged commit 804c310 into main Oct 31, 2026
6 checks passed
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.

3 participants