Repository navigation
Upgrade to pnpm 12 and refresh dependencies - #433
Merged
Merged
Conversation
Pin pnpm 12.11.2 via packageManager so local, CI and nixpacks deploys use the same version, and move the build-script allowlist to allowBuilds since pnpm 11+ no longer reads onlyBuiltDependencies. Remove unused packages, update the rest within their current majors, and bump @supabase/ssr to 0.12 to match the updated supabase-js types.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
✅ Deploy Preview for ubclaunchpad ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Features and Changes
Installs were failing on current pnpm, and three different pnpm versions were in use (9.1.0 in the nixpacks deploy, 10.14.0 in CI, 12.x locally).
pnpm 11+ no longer reads the
pnpmfield inpackage.jsonoronlyBuiltDependencies, sopnpm installon pnpm 12 errored withERR_PNPM_IGNORED_BUILDSfor Prisma and Supabase.This PR puts every environment on one pnpm version, migrates the config, and cleans up the dependency list.
No application behavior is meant to change.
pnpm version and config
package.jsonnow declares"packageManager": "pnpm@12.11.2"and the oldpnpmfield is removed.pnpm-workspace.yamluses the newallowBuildsmap:prisma,@prisma/enginesandsupabaseare allowed to run install scripts.@prisma/clientwas dropped from the list because it has no install script in 7.x.unrs-resolver(pulled in by the ESLint import resolver) is set tofalse, since it ships prebuilt binaries and its script is only a fallback.CI and deploy
pnpm/action-setup@v6.1.0with noversioninput, so the pnpm version comes frompackageManager.actions/checkoutandactions/setup-nodeare bumped from v4 to v7 (v4 runs on GitHub's deprecated Node 20 action runtime).nixpacks.tomlno longer pinspnpm@9.1.0; corepack picks the version up frompackageManager, and the install uses--frozen-lockfile.Removed unused dependencies
None of these are imported or referenced anywhere in the repo:
@fortawesome/*(4 packages),@radix-ui/react-slot,@radix-ui/themes@uiw/react-codemirror,@uiw/codemirror-theme-tokyo-night,@uiw/react-textarea-code-editor,@codemirror/lang-javascriptpocketbase,postgres,react-hook-form,react-icons,react-json-editor-ajrm,react-resizable-panels,react-router-domfsandpath, which were npm placeholder packages for Node built-ins (src/app/lib/notion/projects.tsstill gets the real Node modules).Updated dependencies
@supabase/supabase-js2.47 to 2.117, TypeScript 5.7 to 5.9).Prisma 7.2 also printed an unsupported-Node warning on Node 26, which 7.10 resolves.
nextandeslint-config-nextgo to 14.2.35, the final 14.x patch, which fixes the middleware authorization bypass and several DoS advisories.@supabase/ssrgoes from 0.5.2 to 0.12.7.0.5.2 no longer type-checked against the updated
supabase-js(thesetAllcookie callbacks became implicitany).The
getAll/setAllAPI is unchanged across these releases.src/lib/utils/supabase/middleware.tsapplies the cache headers that@supabase/ssrnow passes tosetAll, so CDNs do not cache responses that set auth cookies.pnpm auditgoes from 202 advisories (6 critical) to 35 (3 critical).Screenshots / Screen Recordings
N/A - dependency and tooling change, no intended UI changes.
Testing your changes
pnpm install --frozen-lockfileon pnpm 12.11.2 / Node 26 succeeds, with Prisma and Supabase install scripts running.pnpm buildsucceeds.pnpm lint: no errors, same 4 pre-existingreact-hooks/exhaustive-depswarnings asmain.tsc --noEmit: 96 errors on bothmainand this branch, and the sets match.These are pre-existing and hidden by
ignoreBuildErrors: true; the only new errors (the Supabase cookie callbacks) were fixed by the@supabase/ssrbump.mainand this branch were run side by side, and 21 routes were requested on each (landing page,/auth,/contact-us, the/portal/*pages, API routes, static assets, 404s).Status codes, redirect targets and response bodies matched, apart from build IDs and chunk filenames.
Neither server logged errors.
forms.count(),teams.count()) through thePrismaPgadapter returned results against the database.The CI run on this PR is also the first check of the new
action-setup/packageManagersetup, and the nixpacks deploy path has not been run.Steps on how to test your changes
pnpm install(pnpm 12 switches to 12.11.2 automatically frompackageManager; older pnpm can usecorepack enable).pnpm dev, sign in, and click through the portal: onboarding, a form application, and the admin forms and members pages.Other Notes
The 3 remaining critical advisories (including RCE in the image optimizer) are only fixed in Next 15.5.24+, so the Next 16 / React 19 upgrade will follow in a separate PR.
swiper11 (prototype pollution, fixed in 12), and dev-only tooling (Prisma CLI, ESLint plugin).@react-email/components0.0.x.