Skip to content

fix(deps): upgrade to Nuxt 5 nightly + Nitro 3 RC + h3 v2 - #3376

Draft
serhalp wants to merge 2 commits into
mainfrom
nuxt5-nitro3
Draft

serhalp wants to merge 2 commits into
mainfrom
nuxt5-nitro3

Conversation

@serhalp

@serhalp serhalp commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

🔗 Linked issue

N/A

🧭 Context

WIP exploring upgrading to latest Nuxt 5 nightly + Nitro 3 RC + h3 v2

📚 Description

TODO: @nuxt/test-utils@4.3.4 + Nuxt 5 nightly is breaking component tests
TODO (optional): docs site can't be upgraded because docus doesn't support these versions

Benchmarks on Apple M1 Pro, 16 GB RAM, macOS Darwin arm64, Node v24.22.1

Full build

Mean (ms) Median (ms)
Baseline (Nuxt 4) 59.4 s 63.3 s
Upgraded (Nuxt 5 + Nitro 3) 24.8 s 23.5 s

🚀 ~2.4× faster builds (mean −58%)

Default .output server output

Raw gzip files
Baseline (Nuxt 4) 53,906 KB 21,067 KB 1,768
Upgraded (Nuxt 5 + Nitro 3) 51,626 KB 20,309 KB 649
Delta −4.2% −3.6% −63.3%

@vercel

vercel Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs.npmx.dev Ready Ready Preview Nov 9, 2026 12:50am UTC
npmx.dev Ready Ready Preview Nov 9, 2026 12:50am UTC
1 Skipped Deployment
Project Deployment Actions Updated
npmx-lunaria Ignored Ignored Nov 9, 2026 12:50am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@socket-security

socket-security Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

@codecov

codecov Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

❌ 38 Tests Failed:

Tests completed Failed Passed Skipped
3564 38 3526 19
View the top 3 failed test(s) by shortest run time
badge.spec.ts::badge API › custom color parameter is applied to SVG
Stack Traces | 0.423s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › dark color keeps white text for contrast
Stack Traces | 0.441s run time
expect(received).toMatch(expected)
badge.spec.ts::badge API › updated badge › respects name=true parameter
Stack Traces | 0.447s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › deprecated badge › respects name=true parameter
Stack Traces | 0.45s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › custom label parameter is applied to SVG
Stack Traces | 0.452s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › downloads-day badge › respects name=true parameter
Stack Traces | 0.456s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › dependencies badge › respects name=true parameter
Stack Traces | 0.458s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › created badge › respects name=true parameter
Stack Traces | 0.459s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › size badge › respects name=true parameter
Stack Traces | 0.459s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › maintainers badge › respects name=true parameter
Stack Traces | 0.462s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › engines badge › respects name=true parameter
Stack Traces | 0.466s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › downloads badge › respects name=true parameter
Stack Traces | 0.468s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › downloads-week badge › respects name=true parameter
Stack Traces | 0.471s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › style=compact › shortens long built-in labels
Stack Traces | 0.483s run time
size should show size
badge.spec.ts::badge API › downloads-month badge › respects name=true parameter
Stack Traces | 0.488s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › license badge › respects name=true parameter
Stack Traces | 0.488s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › vulnerabilities badge › respects name=true parameter
Stack Traces | 0.495s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › style=shieldsio renders shields.io-like badge
Stack Traces | 0.502s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › types badge › respects name=true parameter
Stack Traces | 0.502s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › downloads-year badge › respects name=true parameter
Stack Traces | 0.512s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › version badge › respects name=true parameter
Stack Traces | 0.517s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › custom value parameter is applied to SVG
Stack Traces | 0.529s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › style=compact › does not trim a user-supplied label
Stack Traces | 0.531s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › light labelColor produces dark label text for contrast
Stack Traces | 0.543s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › custom labelColor parameter is applied to SVG
Stack Traces | 0.547s run time
expect(received).toContain(expected) // indexOf
badge.spec.ts::badge API › style=compact › produces a narrower badge than the default style for shortened labels
Stack Traces | 0.565s run time
expect(received).toBeLessThan(expected)
badge.spec.ts::badge API › style=compact › uses the package name when name=true instead of the trimmed label
Stack Traces | 0.571s run time
expect(received).toContain(expected) // indexOf
url-compatibility.spec.ts::npmjs.com URL Compatibility › Root Package Short-URLs (Redirects) › /vue redirects to /package/vue
Stack Traces | 15.8s run time
expect(page).toHaveURL(expected) failed
url-compatibility.spec.ts::npmjs.com URL Compatibility › Root Package Short-URLs (Redirects) › /@nuxt/kit redirects to /package/@nuxt/kit
Stack Traces | 16.1s run time
expect(page).toHaveURL(expected) failed
package-code.spec.ts::Package Code Viewer › /package-code/empathic/v/2.0.0 loads correctly
Stack Traces | 16.3s run time
expect(locator).toBeVisible() failed
create-command.spec.ts::Create Command › Visibility › /is-odd - should NOT show create command (no create-is-odd exists)
Stack Traces | 17.5s run time
expect(locator).toBeVisible() failed
create-command.spec.ts::Create Command › Visibility › /nuxt - should show create command (same maintainer, same org)
Stack Traces | 18.3s run time
expect(locator).toBeVisible() failed
create-command.spec.ts::Create Command › Visibility › /vite - should show create command (same maintainers)
Stack Traces | 18.4s run time
expect(locator).toBeVisible() failed
create-command.spec.ts::Create Command › Visibility › /next - should show create command (shared maintainer, same repo)
Stack Traces | 19.3s run time
expect(locator).toBeVisible() failed
connector.spec.ts::Organization Management › shows org members when connected
Stack Traces | 33.2s run time
expect(locator).toBeVisible() failed
package-replacements.spec.ts::Package Replacement Suggestions › /package/strip-ansi shows a replacement suggestion with a link to e18e docs
Stack Traces | 47.6s run time
expect(locator).toBeVisible() failed
create-command.spec.ts::Create Command › Copy Functionality › clicking copy button copies create command and shows confirmation
Stack Traces | 63.1s run time
expect(locator).toBeVisible() failed
create-command.spec.ts::Create Command › Copy Functionality › copy button is accessible and keyboard discoverable
Stack Traces | 63.3s run time
expect(locator).toBeVisible() failed

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

⚠️ Dependency Count

This PR adds 102 new dependencies (2206 → 2308), which exceeds the threshold of 15.

📊 Dependency Size Changes

Warning

This PR adds 55.4 MB of new dependencies, which exceeds the threshold of 200 kB.

📦 Package 📏 Size
@rolldown/binding-linux-x64-gnu@1.2.15 19.9 MB
nitro@3.0.261103-rc 3.6 MB
lru-cache@11.5.3 3.3 MB
@babel/types@7.29.11 2.8 MB
@vue/compiler-sfc@3.5.44 2.7 MB
@testing-library/dom@10.4.1 2.4 MB
nuxt-nightly@5.0.0-2611081715-26bec2e 2.2 MB
undici@8.12.3 2.2 MB
@babel/parser@7.29.11 2 MB
@unhead/bundler@3.4.3 1.9 MB
@vue/runtime-dom@3.5.44 1.3 MB
devframe@1.2.6 995.9 kB
devframe@1.2.5 -990.6 kB
@json-render/core@0.19.0 -914.8 kB
rolldown@1.2.15 875.9 kB
@vue/runtime-core@3.5.44 861.9 kB
@nuxt/cli-nightly@4.0.3-2611062342-db93607 814 kB
unhead@3.4.3 686.8 kB
@vue/compiler-dom@3.5.44 655.2 kB
@vue/compiler-core@3.5.44 635.6 kB
devframe@0.7.16 -632.3 kB
seroval@1.7.10 626.2 kB
@vue/server-renderer@3.5.44 426.8 kB
zigpty@0.2.1 -421.8 kB
env-runner@0.3.11 412.4 kB
@unocss/inspector@66.7.5 → @unocss/inspector@66.12.0 398.2 kB
@nuxt/kit-nightly@5.0.0-2611081715-26bec2e 382.3 kB
magicast@0.5.4 381.4 kB
@devframes/hub@0.7.16 -355.2 kB
@vue/reactivity@3.5.44 349.8 kB
fake-indexeddb@6.2.7 347.1 kB
@nuxt/schema-nightly@5.0.0-2611081715-26bec2e 297.2 kB
@nuxt/nitro-server-nightly@5.0.0-2611081715-26bec2e 292.9 kB
my-bad@0.2.12 271 kB
es-module-lexer@3.0.4 254.3 kB
webpack-sources@3.7.0 251.9 kB
postcss@8.5.32 220.8 kB
postcss@8.5.30 -220.5 kB
postcss@8.5.25 217.3 kB
commander@14.0.3 208.7 kB
@iconify/utils@3.1.7 199 kB
unstorage@2.0.0-beta.0 185.2 kB
srvx@1.0.8 183.7 kB
srvx@1.0.6 -182.6 kB
srvx@1.0.4 182.6 kB
@vitejs/devtools-kit@0.4.10 -174 kB
@nuxt/vite-builder-nightly@5.0.0-2611081715-26bec2e 172.6 kB
@nuxt/test-utils@4.4.0 169.7 kB
@nuxt/test-utils@4.3.4 160.5 kB
fetchdts@0.2.0 145.6 kB
source-map-js@1.2.1 139.9 kB
devalue@6.0.3 135 kB
confbox@0.3.2 132.9 kB
@nuxt/test-utils@4.1.0 -131.3 kB
ignore@7.0.14 130.8 kB
ignore@7.0.12 -120.9 kB
unimport@7.0.2 111 kB
magic-string@1.4.5 104.3 kB
ocache@0.3.1 102.5 kB
modern-tar@0.8.6 98 kB
vue-bundle-renderer@2.5.0 97.3 kB
@unhead/vue@3.4.3 95.7 kB
@clack/prompts@1.8.1 93.7 kB
nostics@1.2.0 92.8 kB
@vue/shared@3.5.44 92.6 kB
unplugin@3.7.0 92.4 kB
@nuxt/vite-server-nightly@5.0.0-2611081715-26bec2e 91.7 kB
@unocss/core@66.12.0 90.1 kB
@jridgewell/sourcemap-codec@1.5.5 87 kB
unrouting@0.3.2 83.9 kB
unplugin@3.3.0 79.9 kB
unplugin@3.4.0 -79.8 kB
@ampproject/remapping@2.3.0 78.9 kB
fuzzysort@4.0.2 78.9 kB
@vitejs/plugin-vue@6.0.10 77.7 kB
magic-string@1.1.0 68 kB
ignore@7.0.6 64.4 kB
exsolve@1.2.0 59.2 kB
@clack/core@1.5.1 55.6 kB
exsolve@1.1.3 -55.4 kB
exsolve@1.1.1 55.3 kB
nypm@0.6.12 53.6 kB
pkg-types@2.4.0 52.1 kB
nypm@0.6.10 -51.5 kB
nypm@0.6.9 51.4 kB
@nuxt/telemetry@2.9.1 51.1 kB
@vue/compiler-ssr@3.5.44 48.8 kB
@devframes/json-render@0.7.16 -48.4 kB
@devframes/hub-ui-onboard@1.3.2 48.4 kB
@dxup/nuxt@0.5.10 46 kB
cac@7.1.0 41.6 kB
iron-webcrypto@2.0.0 36.2 kB
impound@1.2.1 34.3 kB
@babel/helper-string-parser@7.29.11 31.8 kB
uint8array-extras@1.6.0 30.5 kB
unctx@3.0.0 27.2 kB
rc9@3.0.1 25.7 kB
nanoid@3.3.16 24.7 kB
hookable@6.1.2 23.7 kB
tinyexec@1.2.4 22.9 kB
clickable-path@0.1.1 20.7 kB
@unocss/autocomplete@66.12.0 16.4 kB
@unocss/rollup@66.12.0 15.4 kB
fontaine@1.0.1 → fontaine@1.0.3 14.3 kB
@unocss/vite@66.7.5 → @unocss/vite@66.12.0 10.1 kB
@unocss/preset-wind4@66.7.5 → @unocss/preset-wind4@66.12.0 -9.2 kB
flru@1.0.2 8.9 kB
@nuxt/devtools-onboard@4.1.0 8.7 kB
tinyclip@1.0.3 8.5 kB
@unocss/preset-mini@66.7.5 → @unocss/preset-mini@66.12.0 -8.4 kB
gzip-size@6.0.0 -7.9 kB
@antfu/install-pkg@2.1.0 6.6 kB
args-tokenizer@0.3.0 6.2 kB
h3@2.0.5 → h3@2.0.8 6 kB
vue-component-type-helpers@3.3.13 5.6 kB
vue-component-type-helpers@3.3.14 5.6 kB
@unocss/config@66.12.0 4.2 kB
@simple-git/args-pathspec@1.0.3 4 kB
@unocss/preset-wind3@66.7.5 → @unocss/preset-wind3@66.12.0 -2.8 kB
crossws@0.4.15 → crossws@0.4.17 2.4 kB
@unocss/rule-utils@66.7.5 → @unocss/rule-utils@66.12.0 2.3 kB
@unocss/transformer-directives@66.7.5 → @unocss/transformer-directives@66.12.0 -2.2 kB
fontless@1.3.2 → fontless@1.3.4 2.1 kB
@unocss/webpack@66.7.5 → @unocss/webpack@66.12.0 2.1 kB
@nuxt/devtools-kit@2.7.0 → @nuxt/devtools-kit@3.4.4 1.9 kB
@unocss/preset-attributify@66.7.5 → @unocss/preset-attributify@66.12.0 -1.6 kB
@unocss/preset-web-fonts@66.7.5 → @unocss/preset-web-fonts@66.12.0 -1.5 kB
@unocss/extractor-arbitrary-variants@66.7.5 → @unocss/extractor-arbitrary-variants@66.12.0 -1.3 kB
@unocss/transformer-compile-class@66.7.5 → @unocss/transformer-compile-class@66.12.0 -1.2 kB
@unocss/nuxt@66.7.5 → @unocss/nuxt@66.12.0 -1.2 kB
@unocss/preset-wind@66.7.5 → @unocss/preset-wind@66.12.0 -1.2 kB
@unocss/preset-uno@66.7.5 → @unocss/preset-uno@66.12.0 -1.2 kB
@unocss/transformer-variant-group@66.7.5 → @unocss/transformer-variant-group@66.12.0 -1.2 kB
unocss@66.7.5 → unocss@66.12.0 -961 B
@unocss/cli@66.7.5 → @unocss/cli@66.12.0 883 B
@unocss/transformer-attributify-jsx@66.7.5 → @unocss/transformer-attributify-jsx@66.12.0 612 B
@nuxt/kit@4.6.2 → @nuxt/kit@4.6.3 -611 B
@unocss/preset-tagify@66.7.5 → @unocss/preset-tagify@66.12.0 -198 B
@unocss/preset-typography@66.7.5 → @unocss/preset-typography@66.12.0 -195 B
@unocss/preset-icons@66.7.5 → @unocss/preset-icons@66.12.0 -188 B
@unocss/reset@66.7.5 → @unocss/reset@66.12.0 92 B
nuxt@nuxt-nightly@5.0.0-2611081715-26bec2e Unknown
@nuxt/kit@@nuxt/kit-nightly@5.0.0-2611081715-26bec2e Unknown
@nuxt/schema@@nuxt/schema-nightly@5.0.0-2611081715-26bec2e Unknown
@nuxt/cli@@nuxt/cli-nightly@4.0.3-2611062342-db93607 Unknown
@nuxt/nitro-server@@nuxt/nitro-server-nightly@5.0.0-2611081715-26bec2e Unknown
@nuxt/vite-builder@@nuxt/vite-builder-nightly@5.0.0-2611081715-26bec2e Unknown
@nuxt/vite-server@@nuxt/vite-server-nightly@5.0.0-2611081715-26bec2e Unknown
h3-next@h3@2.0.1-rc.26 Unknown

Total size change: 55.4 MB

⚠️ Package Trust Level Decreased

Caution

Decreased trust levels may indicate a higher risk of supply chain attacks. Please review these changes carefully.

📦 Package 🔒 Before 🔓 After
@testing-library/dom trustedPublisher none

Benchmarks on Apple M1 Pro, 16 GB RAM, macOS Darwin arm64, Node v24.22.1:

Full build

```
Side	Runs (ms)	Mean	Median
Baseline (Nuxt 4)	51454, 63282, 63460	59.4 s	63.3 s
Upgraded (Nuxt 5)	23171, 23535, 27666	24.8 s	23.5 s
```

→ ~2.4× faster builds (mean −58%)

Default `.output` server output:

```
Output	Baseline	Upgraded	Delta
.output/server raw	53,906.1 KB	51,625.8 KB	−4.2%
.output/server gzip	21,067.4 KB	20,309.4 KB	−3.6%
.output/server files	1,768	649	−63.3%
```

This branch was successfully deployed

2 active deployments
Preview – docs.npmx.dev — 34b76f61 Deployed Nov 9, 2026 by vercel[bot]
Preview – npmx.dev — 34b76f61 Deployed Nov 9, 2026 by vercel[bot]
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.

1 participant