Skip to content

fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization) - #20020

Merged
logaretm merged 1 commit into
developfrom
sig/nuxt-fix-template
Mar 27, 2026
Merged

fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization)#20020
logaretm merged 1 commit into
developfrom
sig/nuxt-fix-template

Conversation

@s1gr1d

Copy link
Copy Markdown
Member

Creates a virtual module with Vite when using Nuxt 4+ instead of creating a template. useServerTemplate() cannot be used here as it's not Nitro-only but the SSR-space (server) within Nuxt.

Closes#20010

@s1gr1d
s1gr1d requested a review from logaretmMarch 27, 2026 14:25
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Deps

  • Bump babel-loader from 10.0.0 to 10.1.1 by dependabot in #19997
  • Bump handlebars from 4.7.7 to 4.7.9 by dependabot in #20008

Other

  • (browser) Replace element timing spans with metrics by logaretm in #19869
  • (bun) Add bunRuntimeMetricsIntegration by chargome in #19979
  • (core) Support embedding APIs in google-genai by nicohrubec in #19797
  • (node) Add nodeRuntimeMetricsIntegration by chargome in #19923
  • (nuxt) Support parametrized SSR routes in Nuxt 5 by s1gr1d in #19977

Bug Fixes 🐛

  • (e2e) Pin @opentelemetry/api to 1.9.0 in ts3.8 test app by logaretm in #19992
  • (node) Ensure startNewTrace propagates traceId in OTel environments by logaretm in #19963
  • (nuxt) Use virtual module for Nuxt pages data (SSR route parametrization) by s1gr1d in #20020
  • (opentelemetry) Convert seconds timestamps in span.end() to milliseconds by logaretm in #19958

Documentation 📚

  • (release) Update publishing-a-release.md by nicohrubec in #19982

Internal Changes 🔧

Core

  • Introduce instrumented method registry for AI integrations by nicohrubec in #19981
  • Consolidate getOperationName into one shared utility by nicohrubec in #19971

Deps

  • Bump amqplib from 0.10.7 to 0.10.9 by dependabot in #20000
  • Bump actions/upload-artifact from 6 to 7 by dependabot in #19569
  • Bump srvx from 0.11.12 to 0.11.13 by dependabot in #20001
  • Bump @apollo/server from 5.4.0 to 5.5.0 by dependabot in #20007

Deps Dev

  • Bump node-forge from 1.3.2 to 1.4.0 by dependabot in #20012
  • Bump yaml from 2.8.2 to 2.8.3 by dependabot in #19985

Other

  • (deno) Expand Deno E2E test coverage by chargome in #19957
  • (e2e) Add e2e tests for nodeRuntimeMetricsIntegration by chargome in #19989

🤖 This preview updates automatically when you update the PR.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

filename: 'sentry--nuxt-pages-data.mjs',
getContents: () => `export default ${JSON.stringify(pagesData, null, 2)};`,
});
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Fix PR missing regression test for virtual module

Low Severity

This is a fix PR that introduces a new virtual module strategy for Nuxt v4+ and a new legacy plugin file, but doesn't include any unit, integration, or E2E test to validate the regression (SSR route parametrization issue #20010). Adding a test that verifies the virtual module approach works for Nuxt v4+ and the template fallback for Nuxt v3 would help prevent regressions.

Additional Locations (1)
Fix in CursorFix in Web

Triggered by project rule: PR Review Guidelines for Cursor Bot

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.

We have Nuxt 4 tests already covering that

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

⚠️Warning: Base artifact is not the latest one, because the latest workflow run is not done yet. This may lead to incorrect results. Try to re-run all tests to get up to date results.

PathSize% ChangeChange
@sentry/browser25.69 kB--
@sentry/browser - with treeshaking flags24.17 kB--
@sentry/browser (incl. Tracing)42.17 kB--
@sentry/browser (incl. Tracing, Profiling)46.79 kB--
@sentry/browser (incl. Tracing, Replay)80.98 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags70.6 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)85.7 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)97.97 kB--
@sentry/browser (incl. Feedback)42.48 kB--
@sentry/browser (incl. sendFeedback)30.35 kB--
@sentry/browser (incl. FeedbackAsync)35.4 kB--
@sentry/browser (incl. Metrics)26.96 kB--
@sentry/browser (incl. Logs)27.1 kB--
@sentry/browser (incl. Metrics & Logs)27.78 kB--
@sentry/react27.45 kB--
@sentry/react (incl. Tracing)44.52 kB--
@sentry/vue30.13 kB--
@sentry/vue (incl. Tracing)44.08 kB--
@sentry/svelte25.7 kB--
CDN Bundle28.39 kB--
CDN Bundle (incl. Tracing)43.2 kB--
CDN Bundle (incl. Logs, Metrics)29.76 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)44.25 kB--
CDN Bundle (incl. Replay, Logs, Metrics)68.56 kB--
CDN Bundle (incl. Tracing, Replay)80.08 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)81.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)85.62 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)86.67 kB--
CDN Bundle - uncompressed82.93 kB--
CDN Bundle (incl. Tracing) - uncompressed128.07 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed87.07 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed131.48 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed210.06 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed244.95 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed248.34 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed257.86 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed261.25 kB--
@sentry/nextjs (client)46.93 kB--
@sentry/sveltekit (client)42.67 kB--
@sentry/node-core56.51 kB+0.03%+13 B 🔺
@sentry/node173.6 kB+0.01%+12 B 🔺
@sentry/node - without tracing96.54 kB+0.01%+5 B 🔺
@sentry/aws-serverless113.54 kB+0.01%+8 B 🔺

View base workflow run

@logaretm
logaretm merged commit ae74361 into developMar 27, 2026
46 checks passed
@logaretm
logaretm deleted the sig/nuxt-fix-template branch March 27, 2026 20:25
Sign up for freeto 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.

[Nuxt] sentry--nuxt-pages-data template uses addTemplate but is imported from server plugin via #build — breaks on Nuxt 4.4+

2 participants

@s1gr1d@logaretm