Skip to content

fix: Triggering a loop restart issue when saving the nuxt.config.ts file - #1050

Merged
danielroe merged 2 commits into
nuxt:mainfrom
jianxing-xu:fix/loop_restart
Sep 24, 2025
Merged

fix: Triggering a loop restart issue when saving the nuxt.config.ts file#1050
danielroe merged 2 commits into
nuxt:mainfrom
jianxing-xu:fix/loop_restart

Conversation

@jianxing-xu

Copy link
Copy Markdown
Contributor

🔗 Linked issue

refer:
nuxt/bridge#1591
nuxt/bridge#1623

❓ 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

I'm migrating my Nuxt2 app to Bridge and I'm running into two issues.

First, I received a response in issue 1591, stating that this issue is caused by versions later than nuxi@3.6.0. So I rolled back to nuxi@3.6.0, which then caused another issue: nuxt/bridge#1623 The app is only reloaded when nuxt.config.js is first saved. I found the answer in the source code: during onReload , the close method is not executed, so the watchConfig method is only executed during the initial startup and init .

Second issue: After using the latest version of Nuxi, I encountered the issue nuxt/bridge#1591. After saving the nuxt.config.js file, the dev server would restart infinitely. I eventually discovered the cause: it was due to the different build environments for Nuxt 2 and Nuxt 3. In Nuxt 2's "kit.buildNuxt" step in the "load" method, Nuxt 2 first cleared the .nuxt directory and then regenerated the artifacts, but Nuxt 3+ didn't do this. As a result, modifications to the dist directory in Nuxt 2 triggered the watcher "this._distWatcher = watch(distDir)", causing the app to restart and then begin a loop. The fix is ​​actually quite simple: simply execute the "close" method before the "_load" method and then re-execute the "watchConfig" method afterward.

Finally, this is a fix specifically for the bridge environment; I don't know if it will make it into the main version of Nuxi.
image
image
image
image

@github-actions

Copy link
Copy Markdown
Contributor

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 countTotal bundle size% Changed
72.13 MB0%

Changeset

No files were changed

View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

No assets were smaller

Unchanged

AssetFile Size% Changed
index.mjs1.09 kB0%
chunks/multipart-parser.mjs5.11 kB0%
chunks/multipart-parser2.mjs4.58 kB0%
chunks/prompt.mjs42.91 kB0%
chunks/index.mjs904.13 kB0%
chunks/satisfies.mjs116 B0%
shared/create-nuxt.DxHW8HtB.mjs1.19 MB0%

@github-actions

Copy link
Copy Markdown
Contributor

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 countTotal bundle size% Changed
583.61 MB → 3.61 MB (+55 B)+0.00%
Changeset
FileΔSize
src/dev/utils.ts📈 +55 B (+0.61%)8.77 kB → 8.83 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

AssetFile Size% Changed
chunks/index2.mjs199.51 kB → 199.56 kB (+55 B)+0.03%

Smaller

No assets were smaller

Unchanged

AssetFile Size% Changed
index.mjs247 B0%
dev/index.mjs925 B0%
chunks/add.mjs6.89 kB0%
chunks/analyze.mjs3.35 kB0%
chunks/build.mjs2.04 kB0%
chunks/cleanup.mjs471 B0%
chunks/dev-child.mjs780 B0%
chunks/dev.mjs28.45 kB0%
chunks/devtools.mjs764 B0%
chunks/generate.mjs492 B0%
chunks/info.mjs4.43 kB0%
chunks/init.mjs675.79 kB0%
chunks/index.mjs274 B0%
chunks/prepare.mjs1.05 kB0%
chunks/preview.mjs3.58 kB0%
chunks/test.mjs1.16 kB0%
chunks/typecheck.mjs2.06 kB0%
chunks/upgrade.mjs6.65 kB0%
chunks/satisfies.mjs116 B0%
chunks/main.mjs15.3 kB0%
chunks/prompt.mjs42.91 kB0%
chunks/jiti.mjs498 B0%
chunks/index3.mjs71.97 kB0%
chunks/multipart-parser.mjs5.11 kB0%
chunks/add2.mjs12.1 kB0%
chunks/search.mjs45.85 kB0%
chunks/xdg-open.mjs25.32 kB0%
chunks/node.mjs145.67 kB0%
chunks/index4.mjs1.23 kB0%
chunks/index5.mjs5.85 kB0%
chunks/index6.mjs904.13 kB0%
chunks/multipart-parser2.mjs4.58 kB0%
shared/nuxi.Bv-FePcy.mjs19.81 kB0%
shared/nuxi.DQjfoGl0.mjs57.22 kB0%
shared/nuxi.CTyTlDmo.mjs18.91 kB0%
shared/nuxi.BXGZ9qFF.mjs792 B0%
shared/nuxi.C_u-rG9b.mjs294 B0%
shared/nuxi.DUZ_WukQ.mjs2.57 kB0%
shared/nuxi.8mhVoXwa.mjs916.43 kB0%
shared/nuxi.D2_bzAv0.mjs1.54 kB0%
shared/nuxi.DQbQuzNE.mjs4.07 kB0%
shared/nuxi.BSm0_9Hr.mjs107 B0%
shared/nuxi.B5WkReRs.mjs18.11 kB0%
shared/nuxi.CJSnaadO.mjs10.64 kB0%
shared/nuxi.CrvQqJcE.mjs836 B0%
shared/nuxi.BiWTNJI4.mjs945 B0%
shared/nuxi.BAGoDD49.mjs1.05 kB0%
shared/nuxi.CcH3VZ-h.mjs158.51 kB0%
shared/nuxi.BjhZEm2-.mjs1.75 kB0%
shared/nuxi.sAj5PmqJ.mjs128.28 kB0%
shared/nuxi.QWnQy_ku.mjs5.75 kB0%
shared/nuxi.BcK1uW4h.mjs365 B0%
shared/nuxi.DU9QXUOf.mjs26.96 kB0%
shared/nuxi.D3mADRf9.mjs14.73 kB0%
shared/nuxi.BLb4POFS.mjs42.47 kB0%
shared/nuxi.Do0aYBCO.mjs5.46 kB0%
shared/nuxi.4t9faemh.mjs43.64 kB0%

@github-actions

Copy link
Copy Markdown
Contributor

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 countTotal bundle size% Changed
3197.19 kB → 97.24 kB (+55 B)+0.06%
Changeset
FileΔSize
home/runner/work/cli/cli/packages/nuxi/src/dev/utils.ts📈 +55 B (+0.61%)8.78 kB → 8.83 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

AssetFile Size% Changed
chunks/index.mjs14.44 kB → 14.49 kB (+55 B)+0.37%

Smaller

No assets were smaller

Unchanged

AssetFile Size% Changed
dev/index.mjs0 B0%
index.mjs236 B0%
chunks/analyze.mjs3.35 kB0%
chunks/cleanup.mjs471 B0%
chunks/dev-child.mjs815 B0%
chunks/dev.mjs11.31 kB0%
chunks/devtools.mjs763 B0%
chunks/generate.mjs492 B0%
chunks/build.mjs2.04 kB0%
chunks/index2.mjs308 B0%
chunks/add.mjs11.25 kB0%
chunks/search.mjs2.96 kB0%
chunks/preview.mjs3.58 kB0%
chunks/test.mjs1.16 kB0%
chunks/typecheck.mjs2.06 kB0%
chunks/upgrade.mjs6.65 kB0%
chunks/prepare.mjs1.05 kB0%
chunks/info.mjs4.46 kB0%
chunks/init.mjs12.18 kB0%
chunks/add2.mjs6.89 kB0%
shared/cli.B9AmABr3.mjs39 B0%
shared/cli.Dz2be-Ai.mjs792 B0%
shared/cli.BEUGgaW4.mjs294 B0%
shared/cli.BSm0_9Hr.mjs107 B0%
shared/cli.At9IMXtr.mjs1.23 kB0%
shared/cli.pLQ0oPGc.mjs836 B0%
shared/cli.qKvs7FJ2.mjs945 B0%
shared/cli.Cr-OCgdO.mjs727 B0%
shared/cli.DHenkA1C.mjs351 B0%
shared/cli.DVoN1ieL.mjs5.57 kB0%

@pkg-pr-new

Copy link
Copy Markdown

nuxt-cli-playground

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

commit: 91beffe

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@ada0fad). Learn more about missing BASE report.

Additional details and impacted files
@@ Coverage Diff @@## main #1050 +/- ##
=======================================
Coverage ? 27.14% =======================================
Files ? 76 Lines ? 4005 Branches ? 220 =======================================
Hits ? 1087 Misses ? 2889 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
Copy Markdown

CodSpeed Performance Report

Merging #1050 will not alter performance

Comparing jianxing-xu:fix/loop_restart (91beffe) with main (ada0fad)

Summary

✅ 2 untouched

@danielroe
danielroe merged commit 46d4acf into nuxt:mainSep 24, 2025
15 checks passed
@danielroe

Copy link
Copy Markdown
Member

thank you for the PR & investigation 🙏

@github-actionsgithub-actionsBot mentioned this pull request Sep 23, 2025
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.

3 participants

@jianxing-xu@codecov-commenter@danielroe