Skip to content

feat(upgrade): add v3, v4, v3-nightly and v4-nightly channel#1019

Merged
danielroe merged 2 commits intonuxt:mainfrom
OrbisK:feat/upgrade-channel
Sep 8, 2025
Merged

feat(upgrade): add v3, v4, v3-nightly and v4-nightly channel#1019
danielroe merged 2 commits intonuxt:mainfrom
OrbisK:feat/upgrade-channel

Conversation

@OrbisK
Copy link
Member

@OrbisK OrbisK commented Aug 26, 2025

🔗 Linked issue

resolves #484

❓ Type of change

  • 📖 Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • 👌 Enhancement (improving an existing functionality)
  • ✨ New feature (a non-breaking change that adds functionality)
  • 🧹 Chore (updates to the build process or auxiliary tools and libraries)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

This PR introduces the following new channels: v3, v4, v3-nightly and v4-nightly.

This should allow nuxt upgrade to be used to upgrade minor versions of v3

pnpx nuxt@latest upgrade --dedupe --channel=v3

@OrbisK OrbisK requested a review from danielroe as a code owner August 26, 2025 12:41
@github-actions
Copy link
Contributor

github-actions bot commented Aug 26, 2025

Bundle Stats — nuxt-cli size comparison

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
33 97.25 kB → 97.89 kB (+654 B) +0.66%
Changeset
File Δ Size
home/runner/work/cli/cli/packages/nuxi/src/commands/upgrade.ts 📈 +654 B (+10.62%) 6.01 kB → 6.65 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

Asset File Size % Changed
chunks/upgrade.mjs 6.01 kB → 6.65 kB (+654 B) +10.62%

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
dev/index.mjs 0 B 0%
index.mjs 236 B 0%
chunks/index.mjs 14.44 kB 0%
chunks/analyze.mjs 3.35 kB 0%
chunks/cleanup.mjs 471 B 0%
chunks/dev-child.mjs 815 B 0%
chunks/dev.mjs 11.31 kB 0%
chunks/devtools.mjs 763 B 0%
chunks/generate.mjs 492 B 0%
chunks/build.mjs 2.04 kB 0%
chunks/info.mjs 4.44 kB 0%
chunks/index2.mjs 273 B 0%
chunks/add.mjs 10.17 kB 0%
chunks/search.mjs 2.96 kB 0%
chunks/prepare.mjs 1.04 kB 0%
chunks/preview.mjs 3.58 kB 0%
chunks/test.mjs 1.16 kB 0%
chunks/typecheck.mjs 2.06 kB 0%
chunks/init.mjs 12.15 kB 0%
chunks/add2.mjs 6.89 kB 0%
shared/cli.B9AmABr3.mjs 39 B 0%
shared/cli.Dz2be-Ai.mjs 792 B 0%
shared/cli.BEUGgaW4.mjs 294 B 0%
shared/cli.BSm0_9Hr.mjs 107 B 0%
shared/cli.At9IMXtr.mjs 1.23 kB 0%
shared/cli.pLQ0oPGc.mjs 836 B 0%
shared/cli.qKvs7FJ2.mjs 945 B 0%
shared/cli.DhJ3cH8w.mjs 78 B 0%
shared/cli.Cr-OCgdO.mjs 727 B 0%
shared/cli.DHenkA1C.mjs 351 B 0%
shared/cli.vXg4eLNu.mjs 1.8 kB 0%
shared/cli.CTXRG5Cu.mjs 5.57 kB 0%

@github-actions
Copy link
Contributor

github-actions bot commented Aug 26, 2025

Bundle Stats — create-nuxt size comparison

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
50 5.9 MB → 5.9 MB (+654 B) +0.01%
Changeset
File Δ Size
home/runner/work/cli/cli/packages/nuxi/src/commands/upgrade.ts 📈 +654 B (+10.62%) 6.01 kB → 6.65 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

Asset File Size % Changed
chunks/upgrade.mjs 6.01 kB → 6.65 kB (+654 B) +10.62%

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
index.mjs 1.07 kB 0%
chunks/multipart-parser.mjs 5.11 kB 0%
chunks/multipart-parser2.mjs 4.58 kB 0%
chunks/add.mjs 6.89 kB 0%
chunks/analyze.mjs 3.35 kB 0%
chunks/build.mjs 2.04 kB 0%
chunks/cleanup.mjs 471 B 0%
chunks/dev-child.mjs 811 B 0%
chunks/dev.mjs 28.45 kB 0%
chunks/devtools.mjs 764 B 0%
chunks/generate.mjs 492 B 0%
chunks/info.mjs 4.43 kB 0%
chunks/index.mjs 274 B 0%
chunks/prepare.mjs 1.04 kB 0%
chunks/preview.mjs 3.58 kB 0%
chunks/test.mjs 1.16 kB 0%
chunks/typecheck.mjs 2.06 kB 0%
chunks/prompt.mjs 42.91 kB 0%
chunks/satisfies.mjs 116 B 0%
chunks/index2.mjs 199.51 kB 0%
chunks/jiti.mjs 305 B 0%
chunks/index3.mjs 71.97 kB 0%
chunks/add2.mjs 12.08 kB 0%
chunks/search.mjs 45.85 kB 0%
chunks/xdg-open.mjs 25.32 kB 0%
chunks/node.mjs 145.67 kB 0%
chunks/index4.mjs 1.23 kB 0%
chunks/index5.mjs 5.85 kB 0%
chunks/index6.mjs 6.24 kB 0%
chunks/index7.mjs 50.51 kB 0%
chunks/index8.mjs 904.13 kB 0%
shared/create-nuxt.CkJ60qh5.mjs 961.8 kB 0%
shared/create-nuxt.BzNI4KXA.mjs 792 B 0%
shared/create-nuxt.J61-oqMw.mjs 294 B 0%
shared/create-nuxt.CqSv4Z6n.mjs 3.9 kB 0%
shared/create-nuxt.BSm0_9Hr.mjs 107 B 0%
shared/create-nuxt.DfBCJRML.mjs 108.11 kB 0%
shared/create-nuxt.ao2qXyPo.mjs 18.91 kB 0%
shared/create-nuxt.CyYgLMzh.mjs 1.17 MB 0%
shared/create-nuxt.BWi-EyWq.mjs 4.07 kB 0%
shared/create-nuxt.DwzIj1oE.mjs 836 B 0%
shared/create-nuxt.BAfQQ5-S.mjs 945 B 0%
shared/create-nuxt.CDgijwVs.mjs 18.08 kB 0%
shared/create-nuxt.DntvLY1e.mjs 2.02 MB 0%
shared/create-nuxt.BjhZEm2-.mjs 1.75 kB 0%
shared/create-nuxt.Oe74eRkY.mjs 3.72 kB 0%
shared/create-nuxt.RN-lsnBz.mjs 365 B 0%
shared/create-nuxt.Vk1IrVtB.mjs 26.96 kB 0%
shared/create-nuxt.4t9faemh.mjs 43.64 kB 0%

@github-actions
Copy link
Contributor

github-actions bot commented Aug 26, 2025

Bundle Stats — nuxi size comparison

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
59 5.47 MB → 5.47 MB (+654 B) +0.01%
Changeset
File Δ Size
src/commands/upgrade.ts 📈 +654 B (+10.62%) 6.01 kB → 6.65 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

Asset File Size % Changed
chunks/upgrade.mjs 6.01 kB → 6.65 kB (+654 B) +10.62%

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
index.mjs 247 B 0%
dev/index.mjs 925 B 0%
chunks/add.mjs 6.89 kB 0%
chunks/analyze.mjs 3.35 kB 0%
chunks/build.mjs 2.04 kB 0%
chunks/cleanup.mjs 471 B 0%
chunks/dev-child.mjs 780 B 0%
chunks/dev.mjs 28.45 kB 0%
chunks/devtools.mjs 764 B 0%
chunks/generate.mjs 492 B 0%
chunks/info.mjs 4.43 kB 0%
chunks/init.mjs 675.77 kB 0%
chunks/index.mjs 274 B 0%
chunks/prepare.mjs 1.04 kB 0%
chunks/preview.mjs 3.58 kB 0%
chunks/test.mjs 1.16 kB 0%
chunks/typecheck.mjs 2.06 kB 0%
chunks/satisfies.mjs 116 B 0%
chunks/main.mjs 15.3 kB 0%
chunks/prompt.mjs 42.91 kB 0%
chunks/index2.mjs 199.51 kB 0%
chunks/jiti.mjs 305 B 0%
chunks/index3.mjs 71.97 kB 0%
chunks/multipart-parser.mjs 5.11 kB 0%
chunks/add2.mjs 12.08 kB 0%
chunks/search.mjs 45.85 kB 0%
chunks/xdg-open.mjs 25.32 kB 0%
chunks/node.mjs 145.67 kB 0%
chunks/index4.mjs 1.23 kB 0%
chunks/index5.mjs 5.85 kB 0%
chunks/multipart-parser2.mjs 4.58 kB 0%
chunks/index6.mjs 904.13 kB 0%
shared/nuxi.GLC40kEn.mjs 19.33 kB 0%
shared/nuxi.DQjfoGl0.mjs 57.22 kB 0%
shared/nuxi.CTyTlDmo.mjs 18.91 kB 0%
shared/nuxi.BXGZ9qFF.mjs 792 B 0%
shared/nuxi.C_u-rG9b.mjs 294 B 0%
shared/nuxi.DUZ_WukQ.mjs 2.57 kB 0%
shared/nuxi.8mhVoXwa.mjs 916.43 kB 0%
shared/nuxi.D2_bzAv0.mjs 1.54 kB 0%
shared/nuxi.DQbQuzNE.mjs 4.07 kB 0%
shared/nuxi.BSm0_9Hr.mjs 107 B 0%
shared/nuxi.CrvQqJcE.mjs 836 B 0%
shared/nuxi.BiWTNJI4.mjs 945 B 0%
shared/nuxi.B_dnsClP.mjs 18.08 kB 0%
shared/nuxi.CSWGOxQ4.mjs 10.56 kB 0%
shared/nuxi.BAGoDD49.mjs 1.05 kB 0%
shared/nuxi.BEiAYiRs.mjs 2.02 MB 0%
shared/nuxi.BjhZEm2-.mjs 1.75 kB 0%
shared/nuxi.DQsdVvIb.mjs 3.72 kB 0%
shared/nuxi.DcfbSbTx.mjs 124.55 kB 0%
shared/nuxi.QWnQy_ku.mjs 5.75 kB 0%
shared/nuxi.BcK1uW4h.mjs 365 B 0%
shared/nuxi.DU9QXUOf.mjs 26.96 kB 0%
shared/nuxi.D3mADRf9.mjs 14.73 kB 0%
shared/nuxi.BLb4POFS.mjs 42.47 kB 0%
shared/nuxi.Do0aYBCO.mjs 5.46 kB 0%
shared/nuxi.4t9faemh.mjs 43.64 kB 0%

@pkg-pr-new
Copy link

pkg-pr-new bot commented Aug 26, 2025

nuxt-cli-playground

npm i https://pkg.pr.new/create-nuxt@1019
npm i https://pkg.pr.new/nuxi@1019
npm i https://pkg.pr.new/@nuxt/cli@1019

commit: a3c12c5

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 0% with 23 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@77b6817). Learn more about missing BASE report.

Files with missing lines Patch % Lines
packages/nuxi/src/commands/upgrade.ts 0.00% 23 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1019   +/-   ##
=======================================
  Coverage        ?   26.84%           
=======================================
  Files           ?       75           
  Lines           ?     3974           
  Branches        ?      215           
=======================================
  Hits            ?     1067           
  Misses          ?     2878           
  Partials        ?       29           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq
Copy link

codspeed-hq bot commented Aug 26, 2025

CodSpeed Performance Report

Merging #1019 will not alter performance

Comparing OrbisK:feat/upgrade-channel (a3c12c5) with main (140d767)

Summary

✅ 2 untouched benchmarks

Copy link
Member

@danielroe danielroe left a comment

Choose a reason for hiding this comment

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

this looks good to me! only question is about 4.x vs 4x vs v4 vs 4 as channel name

also, thinking about forward compatibility - I think we should maybe start releasing v4 as 4x and latest so we do not need to hard-code latest in here for v4 channel

(creating PR to do so in Nuxt)

@OrbisK
Copy link
Member Author

OrbisK commented Sep 8, 2025

this looks good to me! only question is about 4.x vs 4x vs v4 vs 4 as channel name

I think 4x and 4.x are too similar to the dist tags from npm. One might think that tags can be specified.
image

also, thinking about forward compatibility - I think we should maybe start releasing v4 as 4x and latest so we do not need to hard-code latest in here for v4 channel

I think we could use @4 (semver) instead of latest there. So we dont need the 4x tag

Copy link
Member

@danielroe danielroe left a comment

Choose a reason for hiding this comment

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

thank you! ❤️

@danielroe danielroe merged commit 2365e23 into nuxt:main Sep 8, 2025
14 checks passed
@github-actions github-actions bot mentioned this pull request Sep 8, 2025
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.

feat(upgrade): implement to argument for precise version control

3 participants