Skip to content

perf(dev): use native fs.watch to watch dist, config and .env - #913

Merged
danielroe merged 1 commit into
mainfrom
perf/watch
Jun 14, 2025
Merged

perf(dev): use native fs.watch to watch dist, config and .env#913
danielroe merged 1 commit into
mainfrom
perf/watch

Conversation

@danielroe

Copy link
Copy Markdown
Member

🔗 Linked issue

❓ 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 makes nuxt/cli a bit more minimal, given the very limited needs we have for watching in the cli itself.

@danielroedanielroe self-assigned this Jun 14, 2025
@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
495.94 MB → 5.88 MB (-61.13 kB)-1.00%
Changeset
FileΔSize
node_modules/jiti/dist/babel.cjs📉 -9 B (-0.00%)1.82 MB → 1.82 MB
node_modules/dotenv/lib/main.js📉 -9 B (-0.09%)10.23 kB → 10.22 kB
node_modules/picomatch/lib/picomatch.js📉 -9 B (-0.09%)10.15 kB → 10.14 kB
node_modules/giget/dist/shared/giget.OCaTp9b-.mjs📉 -108 B (-0.13%)82.38 kB → 82.27 kB
node_modules/picomatch/lib/constants.js📉 -9 B (-0.19%)4.64 kB → 4.63 kB
node_modules/@parcel/watcher-wasm/index.mjs📉 -18 B (-0.20%)8.69 kB → 8.67 kB
node_modules/which/which.js📉 -9 B (-0.26%)3.36 kB → 3.35 kB
node_modules/cross-spawn/lib/parse.js📉 -9 B (-0.28%)3.16 kB → 3.15 kB
node_modules/@parcel/watcher-wasm/wrapper.js📉 -9 B (-0.41%)2.16 kB → 2.16 kB
node_modules/@parcel/watcher/wrapper.js📉 -9 B (-0.41%)2.16 kB → 2.15 kB
node_modules/picomatch/lib/utils.js📉 -9 B (-0.42%)2.09 kB → 2.08 kB
node_modules/cross-spawn/lib/util/resolveCommand.js📉 -9 B (-0.50%)1.75 kB → 1.74 kB
home/runner/work/cli/cli/packages/nuxi/src/dev/utils.ts📉 -294 B (-3.31%)8.68 kB → 8.39 kB
node_modules/chokidar/esm/index.js🔥 -28.24 kB (-100%)28.24 kB → 0 B
node_modules/chokidar/esm/handler.js🔥 -23.86 kB (-100%)23.86 kB → 0 B
node_modules/readdirp/esm/index.js🔥 -8.54 kB (-100%)8.54 kB → 0 B
View detailed bundle breakdown

Added

AssetFile Size% Changed
shared/create-nuxt.DHLweyqe.mjs0 B → 2.02 MB (+2.02 MB)-
shared/create-nuxt.BPAteO0l.mjs0 B → 1.17 MB (+1.17 MB)-
shared/create-nuxt.1OfhkbJ2.mjs0 B → 963.62 kB (+963.62 kB)-
shared/create-nuxt.BTod2GyY.mjs0 B → 108.11 kB (+108.11 kB)-
shared/create-nuxt.DMK62nL9.mjs0 B → 18.91 kB (+18.91 kB)-
shared/create-nuxt.Z4ljCATK.mjs0 B → 15.27 kB (+15.27 kB)-
shared/create-nuxt.CEO52ZEg.mjs0 B → 4.07 kB (+4.07 kB)-
shared/create-nuxt.DhnKqY0f.mjs0 B → 4.06 kB (+4.06 kB)-
shared/create-nuxt.DXe4Qtb4.mjs0 B → 3.9 kB (+3.9 kB)-
shared/create-nuxt.IMbi9TqG.mjs0 B → 1.05 kB (+1.05 kB)-
shared/create-nuxt.9zEjy5Xa.mjs0 B → 836 B (+836 B)-
shared/create-nuxt.BGBb_5mi.mjs0 B → 792 B (+792 B)-
shared/create-nuxt.BHLBA6hP.mjs0 B → 294 B (+294 B)-

Removed

AssetFile Size% Changed
shared/create-nuxt.CX3Q0i94.mjs2.02 MB → 0 B (-2.02 MB)-100%
shared/create-nuxt.2xJbLzZy.mjs1.17 MB → 0 B (-1.17 MB)-100%
shared/create-nuxt.DC6og8IG.mjs963.73 kB → 0 B (-963.73 kB)-100%
shared/create-nuxt.BdjcKbH0.mjs108.13 kB → 0 B (-108.13 kB)-100%
shared/create-nuxt.DBRJTi0i.mjs18.91 kB → 0 B (-18.91 kB)-100%
shared/create-nuxt.7PtiE9we.mjs15.27 kB → 0 B (-15.27 kB)-100%
shared/create-nuxt.DWHF4k3v.mjs4.07 kB → 0 B (-4.07 kB)-100%
shared/create-nuxt.DdPxbFNP.mjs4.06 kB → 0 B (-4.06 kB)-100%
shared/create-nuxt.CJpuxWoL.mjs3.9 kB → 0 B (-3.9 kB)-100%
shared/create-nuxt.lSoS3Y1H.mjs1.05 kB → 0 B (-1.05 kB)-100%
shared/create-nuxt.CANoIlAg.mjs836 B → 0 B (-836 B)-100%
shared/create-nuxt.xXro56Jq.mjs792 B → 0 B (-792 B)-100%
shared/create-nuxt.Bf7J5JMJ.mjs294 B → 0 B (-294 B)-100%

Bigger

No assets were bigger

Smaller

AssetFile Size% Changed
chunks/index2.mjs255.1 kB → 194.19 kB (-60.92 kB)-23.88%
chunks/index3.mjs71.99 kB → 71.97 kB (-27 B)-0.04%
chunks/index7.mjs50.54 kB → 50.51 kB (-27 B)-0.05%
chunks/index6.mjs6.25 kB → 6.24 kB (-9 B)-0.14%

Unchanged

AssetFile Size% Changed
index.mjs1.07 kB0%
chunks/multipart-parser.mjs5.11 kB0%
chunks/multipart-parser2.mjs4.58 kB0%
chunks/add.mjs6.89 kB0%
chunks/analyze.mjs3.27 kB0%
chunks/build.mjs1.96 kB0%
chunks/cleanup.mjs471 B0%
chunks/dev-child.mjs811 B0%
chunks/dev.mjs27.24 kB0%
chunks/devtools.mjs764 B0%
chunks/generate.mjs472 B0%
chunks/info.mjs4.38 kB0%
chunks/index.mjs274 B0%
chunks/prepare.mjs984 B0%
chunks/preview.mjs3.5 kB0%
chunks/test.mjs1.16 kB0%
chunks/typecheck.mjs1.78 kB0%
chunks/upgrade.mjs6.28 kB0%
chunks/prompt.mjs42.91 kB0%
chunks/satisfies.mjs116 B0%
chunks/jiti.mjs305 B0%
chunks/add2.mjs12.08 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/index8.mjs898.9 kB0%
shared/create-nuxt.BSm0_9Hr.mjs107 B0%
shared/create-nuxt.BjhZEm2-.mjs1.75 kB0%
shared/create-nuxt.Vk1IrVtB.mjs26.96 kB0%
shared/create-nuxt.4t9faemh.mjs43.64 kB0%

@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
585.52 MB → 5.46 MB (-61.13 kB)-1.08%
Changeset
FileΔSize
node_modules/jiti/dist/babel.cjs📉 -9 B (-0.00%)1.82 MB → 1.82 MB
node_modules/dotenv/lib/main.js📉 -9 B (-0.09%)10.23 kB → 10.22 kB
node_modules/giget/dist/shared/giget.OCaTp9b-.mjs📉 -108 B (-0.13%)82.14 kB → 82.04 kB
node_modules/which/which.js📉 -9 B (-0.26%)3.36 kB → 3.35 kB
node_modules/cross-spawn/lib/parse.js📉 -9 B (-0.28%)3.16 kB → 3.15 kB
node_modules/cross-spawn/lib/util/resolveCommand.js📉 -9 B (-0.50%)1.75 kB → 1.74 kB
src/dev/utils.ts📉 -296 B (-3.33%)8.68 kB → 8.39 kB
node_modules/chokidar/esm/index.js🔥 -28.24 kB (-100%)28.24 kB → 0 B
node_modules/chokidar/esm/handler.js🔥 -23.86 kB (-100%)23.86 kB → 0 B
node_modules/readdirp/esm/index.js🔥 -8.54 kB (-100%)8.54 kB → 0 B
View detailed bundle breakdown

Added

AssetFile Size% Changed
shared/nuxi.wc1-AWrO.mjs0 B → 2.02 MB (+2.02 MB)-
shared/nuxi.BMIgfYLN.mjs0 B → 15.26 kB (+15.26 kB)-

Removed

AssetFile Size% Changed
shared/nuxi.DYaJf8O3.mjs2.02 MB → 0 B (-2.02 MB)-100%
shared/nuxi.B6QVXBke.mjs15.27 kB → 0 B (-15.27 kB)-100%

Bigger

No assets were bigger

Smaller

AssetFile Size% Changed
chunks/index2.mjs255.11 kB → 194.19 kB (-60.92 kB)-23.88%
chunks/init.mjs665.99 kB → 665.88 kB (-108 B)-0.02%
dev/index.mjs961 B → 896 B (-65 B)-6.76%
chunks/index3.mjs71.99 kB → 71.97 kB (-27 B)-0.04%

Unchanged

AssetFile Size% Changed
index.mjs247 B0%
chunks/add.mjs6.89 kB0%
chunks/analyze.mjs3.27 kB0%
chunks/build.mjs1.96 kB0%
chunks/cleanup.mjs471 B0%
chunks/dev-child.mjs780 B0%
chunks/dev.mjs27.24 kB0%
chunks/devtools.mjs764 B0%
chunks/generate.mjs472 B0%
chunks/info.mjs4.38 kB0%
chunks/index.mjs274 B0%
chunks/prepare.mjs984 B0%
chunks/preview.mjs3.5 kB0%
chunks/test.mjs1.16 kB0%
chunks/typecheck.mjs1.78 kB0%
chunks/upgrade.mjs6.28 kB0%
chunks/satisfies.mjs116 B0%
chunks/main.mjs15.3 kB0%
chunks/prompt.mjs42.91 kB0%
chunks/jiti.mjs305 B0%
chunks/multipart-parser.mjs5.11 kB0%
chunks/add2.mjs12.08 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/multipart-parser2.mjs4.58 kB0%
chunks/index6.mjs898.9 kB0%
shared/nuxi.BLoQ2NAr.mjs19.17 kB0%
shared/nuxi.Dh2ZdpAd.mjs57.22 kB0%
shared/nuxi.CTyTlDmo.mjs18.91 kB0%
shared/nuxi.DHJiz6C8.mjs792 B0%
shared/nuxi.BtDT0y5R.mjs294 B0%
shared/nuxi.Cm5apyPX.mjs2.57 kB0%
shared/nuxi.Db0skjkt.mjs915.23 kB0%
shared/nuxi.D2_bzAv0.mjs1.54 kB0%
shared/nuxi.DtQ0anGB.mjs4.07 kB0%
shared/nuxi.BSm0_9Hr.mjs107 B0%
shared/nuxi.DMyZmNH9.mjs836 B0%
shared/nuxi.PB-niEBz.mjs1.05 kB0%
shared/nuxi.DZwsQJ6X.mjs25.34 kB0%
shared/nuxi.D5KtpA0t.mjs984 B0%
shared/nuxi.BjhZEm2-.mjs1.75 kB0%
shared/nuxi.CetGtQyZ.mjs4.06 kB0%
shared/nuxi.DU9QXUOf.mjs26.96 kB0%
shared/nuxi.BzZJv2UC.mjs123.67 kB0%
shared/nuxi.QWnQy_ku.mjs5.75 kB0%
shared/nuxi.DwmIiB7Y.mjs12.8 kB0%
shared/nuxi.Cgt_fOtO.mjs42.33 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
3290.49 kB → 90.2 kB (-288 B)-0.31%
Changeset
FileΔSize
home/runner/work/cli/cli/packages/nuxi/src/dev/utils.ts📉 -288 B (-3.24%)8.67 kB → 8.39 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

AssetFile Size% Changed
chunks/index.mjs11.64 kB → 11.35 kB (-288 B)-2.42%

Unchanged

AssetFile Size% Changed
dev/index.mjs0 B0%
index.mjs236 B0%
chunks/analyze.mjs3.27 kB0%
chunks/cleanup.mjs471 B0%
chunks/dev-child.mjs815 B0%
chunks/dev.mjs10.09 kB0%
chunks/devtools.mjs763 B0%
chunks/generate.mjs472 B0%
chunks/build.mjs1.96 kB0%
chunks/info.mjs4.39 kB0%
chunks/index2.mjs273 B0%
chunks/add.mjs10.17 kB0%
chunks/search.mjs2.96 kB0%
chunks/prepare.mjs984 B0%
chunks/preview.mjs3.5 kB0%
chunks/test.mjs1.16 kB0%
chunks/typecheck.mjs1.78 kB0%
chunks/upgrade.mjs6.28 kB0%
chunks/init.mjs9.85 kB0%
chunks/add2.mjs6.89 kB0%
shared/cli.B9AmABr3.mjs39 B0%
shared/cli.Dvb-m6bf.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.BrKZotr9.mjs1.05 kB0%
shared/cli.P0cplz3M.mjs78 B0%
shared/cli.jA1DRKbi.mjs1.04 kB0%
shared/cli.CXdkyDQW.mjs1.79 kB0%
shared/cli.yHMpVeHl.mjs5.42 kB0%

@pkg-pr-new

Copy link
Copy Markdown

Open in StackBlitz

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

commit: b7f245c

@codspeed-hq

Copy link
Copy Markdown

CodSpeed Performance Report

Merging #913 will degrade performances by 11.05%

Comparing perf/watch (b7f245c) with main (f2e098a)

Summary

❌ 1 regressions
✅ 1 untouched benchmarks

⚠️Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

BenchmarkBASEHEADChange
makes requests to dev server88 ms98.9 ms-11.05%

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.

1 participant

@danielroe