Files
supabase/pnpm-workspace.yaml
T
Ivan Vasilov 24ce0ba5f8 chore: migrate repo to pnpm v11 (#48033)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Chore / dependency tooling update.

## What is the current behavior?

The repo is pinned to pnpm 10.24.0. Closes
https://linear.app/supabase/issue/FE-3673/migrate-the-repo-to-use-pnpm-v11.

## What is the new behavior?

The repo is pinned to pnpm 11.13.1, pnpm v11 workspace settings are
migrated to `allowBuilds`, and the Studio Dockerfile installs pnpm
11.13.1.

## Additional context

Validated with `CI=true mise exec node@22 -- pnpm install
--frozen-lockfile`, `mise exec node@22 -- pnpm run typecheck`, and `mise
exec node@22 -- pnpm run lint`; full Prettier check still fails on
existing generated docs/router files outside this migration.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated tooling requirements (pnpm **11.13.1**, Node **>=22.13**) and
aligned container build tooling accordingly.
* Adjusted package manager behavior (scoped registry override, update
notifications disabled) and workspace build/engine validation settings.

* **Maintenance**
* Updated `clean` scripts across apps/packages to remove only
build/cache artifacts (no longer delete installed dependencies).
* Reduced Turbo `clean` task output to **errors-only** for cleaner logs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-20 12:57:42 +02:00

113 lines
3.0 KiB
YAML

packages:
- apps/*
- packages/*
- blocks/*
- e2e/*
blockExoticSubdeps: true
engineStrict: true
updateNotifier: false
# Doesn't work because of Typescript issues with peer dependencies, see https://github.com/pnpm/pnpm/issues/9739
enableGlobalVirtualStore: false
catalog:
'@monaco-editor/react': ^4.7.0
'@sentry/nextjs': ^10.59.0
'@sentry/tanstackstart-react': ^10.59.0
'@supabase/auth-js': 2.110.6
'@supabase/postgrest-js': 2.110.6
'@supabase/realtime-js': 2.110.6
'@supabase/ssr': 0.10.2
'@supabase/supabase-js': 2.110.6
'@tanstack/react-router': ^1.169.2
'@tanstack/react-start': ^1.167.65
'@tanstack/react-table': ^8.21.3
'@types/node': ^22.0.0
'@types/react': ^19.2.14
'@types/react-dom': ^19.2.3
# TypeScript 7 has no programmatic API until 7.1, so `typescript` stays aliased
# to the 6.0-API compat package for tools that import it (typescript-eslint,
# Next.js build typechecking), while `@typescript/native` provides the native
# TS 7 `tsc` binary used by typecheck scripts.
# https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/
'@typescript/native': npm:typescript@~7.0.2
'@vitejs/plugin-react': ^6.0.1
'@vitest/coverage-v8': ^4.1.4
'@vitest/ui': ^4.1.4
lodash: ^4.18.1
lodash-es: ^4.18.1
monaco-editor: 0.52.2
next: 16.2.6
next-themes: ^0.4.6
postcss: ^8.5.10
radix-ui: ^1.4.3
react: ^19.2.6
react-dom: ^19.2.6
recharts: ^2.15.4
tailwindcss: ^4.2.4
tsx: ^4.22.0
typescript: ~6.0.2
valtio: ^2.3.2
vite: ^8.0.16
vite-tsconfig-paths: ^6.1.1
vitest: ^4.1.4
zod: 3.25.76
allowBuilds:
'@parcel/watcher': false
'@sentry/cli': false
contentlayer2: false
core-js: false
es5-ext: false
esbuild: false
libpg-query: false
msw: false
node-pty: true
protobufjs: false
sharp: false
supabase: true
minimumReleaseAge: 4320
minimumReleaseAgeExclude:
- '@ai-sdk/*'
- '@supabase/*'
- '@supabase-labs/*'
- typescript
- '@typescript/*'
# First-party, published from supabase-community/mdast-jsx.
- mdast-jsx
# The following are excluded to fix vulnerablities.
- react-use
overrides:
'@ardatan/relay-compiler>immutable': ^3.8.3
'monaco-editor': 'catalog:'
'@mapbox/node-pre-gyp>tar': ^7.5.11
'@sentry/webpack-plugin>uuid': ^11.1.1
'@usercentrics/cmp-browser-sdk>uuid': ^11.1.1
braintrust>esbuild: ^0.28.1
braintrust>uuid: ^11.1.1
cacache>tar: ^7.5.11
dompurify: ^3.3.2
express-rate-limit>ip-address: ^10.1.1
# Pin h3 v1 to a single version so the Nuxt registry example (vue-blocks)
# doesn't end up with two copies (1.15.10 + 1.15.11) and hit nominal
# H3Event type mismatches. v2 (h3@2) is intentionally left untouched.
'h3@1': 1.15.11
lodash: 'catalog:'
lodash-es: 'catalog:'
mdx-bundler>uuid: ^11.1.1
node-gyp>tar: ^7.5.11
nodemailer: ^7.0.11
postcss: 'catalog:'
qs: ^6.15.2
refractor>prismjs: ^1.30.0
supabase>tar: ^7.5.11
tmp: ^0.2.7
vite>esbuild: ^0.28.1
webpack: ^5.104.1
patchedDependencies:
react-data-grid: patches/react-data-grid.patch