Skip to content

Update dependencies and fix audit vulnerabilities#1021

Merged
rchlfryn merged 8 commits intomainfrom
update-packages
Apr 18, 2026
Merged

Update dependencies and fix audit vulnerabilities#1021
rchlfryn merged 8 commits intomainfrom
update-packages

Conversation

@rchlfryn
Copy link
Copy Markdown
Collaborator

@rchlfryn rchlfryn commented Apr 3, 2026

Description

Updates all safely upgradable dependencies, aligns versions with the Payload website template, and fixes audit vulnerabilities in direct dependencies.

Related Issues

N/A

Key Changes

Safe patch/minor updates:

  • @react-email/components 1.0.6 → 1.0.11
  • react-email / @react-email/preview-server 5.2.5 → 5.2.10
  • axios 1.12.0 → 1.14.0
  • pino-pretty 13.1.2 → 13.1.3
  • @types/node 22.5.4 → 22.19.17
  • @types/react 19.0.1 → 19.2.14
  • @types/react-dom 19.0.1 → 19.2.3

Medium-risk updates:

  • sharp 0.33.5 → 0.34.5
  • lucide-react 0.575.0 → 1.7.0
  • @vercel/og 0.8.5 → 0.11.1
  • @vercel/blob 1.1.1 → 2.3.3
  • @libsql/client 0.15.4 → 0.17.2
  • lint-staged 15.5.0 → 16.4.0

Template alignment:

  • typescript 5.7.2 → 5.7.3
  • tailwind-merge 2.6.0 → 3.5.0
  • react / react-dom 19.1.0 → 19.2.4

Audit fixes:

  • @eslint/eslintrc 3.2.0 → 3.3.5 (minimatch ReDoS)
  • @sentry/nextjs 9.39.0 → 9.47.1 (minimatch, rollup)
  • lodash-es 4.17.23 → 4.18.1
  • path-to-regexp 8.3.0 → 8.4.2
  • posthog-js 1.257.0 → 1.364.7 (preact vuln)

Replaced isomorphic-dompurify with dompurify:

isomorphic-dompurify bundles its own copy of dompurify and releases slowly, so we were stuck on older versions with open security advisories. Using dompurify directly lets us get patches as soon as they're published, and drops the heavy JSDOM dependency that the wrapper pulled in for server-side use. Updated the import in src/blocks/GenericEmbed/Component.tsx accordingly. Also adjusted Next.js build config so JSDOM isn't bundled, keeping __dirname correct at runtime.

Not updated (require dedicated PRs):

  • Next.js 16 (major framework upgrade)
  • Tailwind CSS 4 (full rewrite)
  • ESLint 10, Sentry 10, TypeScript 6, Zod 4, Pino 10

How to test

  • pnpm tsc — passes
  • pnpm lint — passes
  • pnpm test — 286 tests pass
  • Verify file uploads work in admin (tests @vercel/blob v2)
  • Verify OG images render (@vercel/og update)
  • Spot-check icons render correctly (lucide-react 1.0)
  • Verify image processing works (sharp 0.34)
  • Verify GenericEmbed block renders and sanitizes HTML correctly (dompurify swap)

Screenshots / Demo video

N/A — dependency updates only

Migration Explanation

No database migrations needed. All changes are package version bumps.

Future enhancements / Questions

Remaining audit vulnerabilities are all transitive deps blocked by major upgrades:

  • next vulns → needs Next.js 16
  • webpack, rollup → needs Sentry 10
  • flatted, ajv → needs ESLint 10
  • yaml → needs Tailwind 4
  • nodemailer, esbuild → needs Payload upstream fix

🤖 Generated with Claude Code

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 8, 2026

Preview deployment: https://update-packages.preview.avy-fx.org

rchlfryn and others added 6 commits April 17, 2026 09:34
Updates @react-email/components, react-email, axios, pino-pretty,
and @types/node, @types/react, @types/react-dom to latest compatible versions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- sharp: 0.33.5 → 0.34.5
- lucide-react: 0.575.0 → 1.7.0
- @vercel/og: 0.8.5 → 0.11.1
- @vercel/blob: 1.1.1 → 2.3.3
- @libsql/client: 0.15.4 → 0.17.2
- lint-staged: 15.5.0 → 16.4.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- typescript: 5.7.2 → 5.7.3
- @types/react: 19.1.8 → 19.2.14
- @types/react-dom: 19.1.6 → 19.2.3
- tailwind-merge: 2.6.0 → 3.5.0
- react: 19.1.0 → 19.2.4
- react-dom: 19.1.0 → 19.2.4

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- @eslint/eslintrc: 3.2.0 → 3.3.5 (fixes minimatch ReDoS)
- @sentry/nextjs: 9.39.0 → 9.47.1 (fixes minimatch, rollup)
- isomorphic-dompurify: 2.26.0 → 2.36.0 (fixes dompurify vulns)
- lodash-es: 4.17.23 → 4.18.1
- path-to-regexp: 8.3.0 → 8.4.2
- posthog-js: 1.257.0 → 1.364.7 (fixes preact vuln)
- copyfiles: updated for minimatch fix

Remaining audit issues are all in transitive deps of next, eslint,
tailwindcss, @payloadcms/*, and @sentry/webpack-plugin — require
major version upgrades to resolve.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rchlfryn rchlfryn marked this pull request as ready for review April 17, 2026 19:10
@rchlfryn rchlfryn requested a review from busbyk April 17, 2026 19:10
Copy link
Copy Markdown
Collaborator

@busbyk busbyk left a comment

Choose a reason for hiding this comment

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

Looks good to me! Thanks for the thorough description 🙏

@rchlfryn rchlfryn added this pull request to the merge queue Apr 18, 2026
Merged via the queue into main with commit 1c890ef Apr 18, 2026
8 of 9 checks passed
@rchlfryn rchlfryn deleted the update-packages branch April 18, 2026 00:31
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