Skip to content

perf(create-nuxt): refactor for improved tree-shaking - #1044

Merged
danielroe merged 5 commits into
nuxt:mainfrom
Eazash:perf/reduce-create-nuxt-size
Sep 18, 2025
Merged

perf(create-nuxt): refactor for improved tree-shaking#1044
danielroe merged 5 commits into
nuxt:mainfrom
Eazash:perf/reduce-create-nuxt-size

Conversation

@Eazash

@EazashEazash commented Sep 17, 2025

Copy link
Copy Markdown
Contributor

🔗 Linked issue

Resolves#927

❓ 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 refactors nuxi to avoid including all possible commands in bundle, when possible. Mainly this was achieved by isolating runCommand from commands. This was especially important for create-nuxt as it was only using the module add, init, and prepare commands programmatically. After these changes, the dist size for create-nuxt can be reduced to approximately 4.2 MB!

@github-actions

github-actionsBot commented Sep 17, 2025

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
59 → 585.47 MB → 5.47 MB (+508 B)+0.01%
Changeset
FileΔSize
src/commands/_utils.ts🆕 +301 B0 B → 301 B
src/run.ts📈 +151 B (+23.74%)636 B → 787 B
src/main.ts📈 +39 B (+3.09%)1.23 kB → 1.27 kB
src/commands/prepare.ts📈 +7 B (+0.66%)1.04 kB → 1.05 kB
node_modules/confbox/dist/ini.mjs📈 +8 B (+0.26%)3 kB → 3.01 kB
src/commands/module/add.ts📈 +18 B (+0.17%)10.2 kB → 10.22 kB
src/commands/init.ts📉 -16 B (-0.13%)11.82 kB → 11.81 kB
View detailed bundle breakdown

Added

AssetFile Size% Changed
shared/nuxi.sAj5PmqJ.mjs0 B → 128.28 kB (+128.28 kB)-
shared/nuxi.Bv-FePcy.mjs0 B → 19.81 kB (+19.81 kB)-

Removed

AssetFile Size% Changed
shared/nuxi.DcfbSbTx.mjs124.55 kB → 0 B (-124.55 kB)-100%
shared/nuxi.GLC40kEn.mjs19.33 kB → 0 B (-19.33 kB)-100%
shared/nuxi.DQsdVvIb.mjs3.72 kB → 0 B (-3.72 kB)-100%

Bigger

AssetFile Size% Changed
chunks/add2.mjs12.08 kB → 12.1 kB (+18 B)+0.15%
chunks/prepare.mjs1.04 kB → 1.05 kB (+7 B)+0.66%

Smaller

AssetFile Size% Changed
chunks/init.mjs675.78 kB → 675.76 kB (-16 B)-0.00%

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/index.mjs274 B0%
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/index2.mjs199.51 kB0%
chunks/jiti.mjs305 B0%
chunks/index3.mjs71.97 kB0%
chunks/multipart-parser.mjs5.11 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.mjs904.13 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.CrvQqJcE.mjs836 B0%
shared/nuxi.BiWTNJI4.mjs945 B0%
shared/nuxi.Zu_ZTV_8.mjs18.11 kB0%
shared/nuxi.CJSnaadO.mjs10.64 kB0%
shared/nuxi.BAGoDD49.mjs1.05 kB0%
shared/nuxi.BEiAYiRs.mjs2.02 MB0%
shared/nuxi.BjhZEm2-.mjs1.75 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

github-actionsBot commented Sep 17, 2025

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
50 → 75.9 MB → 3.99 MB (-1.91 MB)-32.43%
Changeset (largest 100 files by percent change)
FileΔSize
home/runner/work/cli/cli/packages/nuxi/src/commands/_utils.ts🆕 +301 B0 B → 301 B
home/runner/work/cli/cli/packages/nuxi/src/run.ts📈 +190 B (+31.72%)599 B → 789 B
home/runner/work/cli/cli/packages/nuxi/src/commands/prepare.ts📈 +13 B (+1.22%)1.04 kB → 1.05 kB
node_modules/dotenv/package.json📈 +16 B (+0.83%)1.88 kB → 1.9 kB
node_modules/confbox/dist/ini.mjs📈 +24 B (+0.78%)3 kB → 3.03 kB
node_modules/semver/functions/compare.js📈 +2 B (+0.66%)303 B → 305 B
node_modules/ofetch/dist/node.mjs📈 +5 B (+0.59%)848 B → 853 B
node_modules/c12/dist/update.mjs📈 +11 B (+0.57%)1.88 kB → 1.9 kB
home/runner/work/cli/cli/packages/nuxi/src/commands/module/add.ts📈 +30 B (+0.29%)10.2 kB → 10.23 kB
home/runner/work/cli/cli/packages/nuxi/src/commands/module/_utils.ts📈 +2 B (+0.27%)734 B → 736 B
node_modules/semver/classes/semver.js📈 +16 B (+0.16%)9.48 kB → 9.5 kB
node_modules/std-env/dist/index.mjs📈 +2 B (+0.06%)3.31 kB → 3.32 kB
node_modules/semver/classes/comparator.js📈 +2 B (+0.05%)3.78 kB → 3.78 kB
node_modules/semver/classes/range.js📈 +2 B (+0.01%)15.25 kB → 15.25 kB
node_modules/node-fetch-native/dist/node.mjs📈 +13 B (+0.01%)111.52 kB → 111.53 kB
node_modules/exsolve/dist/index.mjs📈 +4 B (+0.01%)42.47 kB → 42.48 kB
node_modules/jiti/dist/jiti.cjs📈 +10 B (+0.00%)200.98 kB → 200.99 kB
node_modules/jiti/dist/babel.cjs📈 +19 B (+0.00%)1.82 MB → 1.82 MB
node_modules/node-fetch-native/dist/node.cjs📈 +1 B (+0.00%)116.75 kB → 116.75 kB
node_modules/node-fetch-native/dist/proxy.cjs📉 -6 B (-0.00%)462.59 kB → 462.59 kB
node_modules/giget/dist/shared/giget.OCaTp9b-.mjs📉 -69 B (-0.08%)82.25 kB → 82.18 kB
home/runner/work/cli/cli/packages/nuxi/src/commands/init.ts📉 -16 B (-0.13%)11.83 kB → 11.81 kB
node_modules/dotenv/lib/main.js📉 -19 B (-0.14%)12.84 kB → 12.82 kB
node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs📉 -196 B (-3.50%)5.46 kB → 5.27 kB
node_modules/nypm/dist/shared/nypm.CLjaS_sz.mjs📉 -1.3 kB (-12.25%)10.64 kB → 9.34 kB
node_modules/pkg-types/dist/index.mjs📉 -667 B (-19.57%)3.33 kB → 2.68 kB
home/runner/work/cli/cli/packages/nuxi/src/utils/fs.ts📉 -281 B (-33.61%)836 B → 555 B
node_modules/dotenv/lib/main.js?commonjs-es-import📉 -18 B (-56.25%)32 B → 14 B
node_modules/jiti/dist/babel.cjs?commonjs-es-import📉 -89 B (-85.58%)104 B → 15 B
node_modules/jiti/dist/jiti.cjs?commonjs-es-import📉 -89 B (-86.41%)103 B → 14 B
node_modules/c12/dist/shared/c12.Bzgyhsy6.mjs📉 -3.07 kB (-93.88%)3.27 kB → 205 B
node_modules/acorn/dist/acorn.mjs🔥 -223.3 kB (-100%)223.3 kB → 0 B
node_modules/node-forge/lib/tls.js🔥 -132.84 kB (-100%)132.84 kB → 0 B
node_modules/crossws/dist/shared/crossws.CipVM6lf.mjs🔥 -131.31 kB (-100%)131.31 kB → 0 B
node_modules/node-forge/lib/x509.js🔥 -101.35 kB (-100%)101.35 kB → 0 B
node_modules/node-forge/lib/util.js🔥 -71.08 kB (-100%)71.08 kB → 0 B
node_modules/node-forge/lib/rsa.js🔥 -59.66 kB (-100%)59.66 kB → 0 B
node_modules/mlly/dist/index.mjs🔥 -52.22 kB (-100%)52.22 kB → 0 B
node_modules/node-forge/lib/asn1.js🔥 -43.23 kB (-100%)43.23 kB → 0 B
node_modules/fuse.js/dist/fuse.mjs🔥 -42.89 kB (-100%)42.89 kB → 0 B
node_modules/napi-wasm/index.mjs🔥 -39.62 kB (-100%)39.62 kB → 0 B
node_modules/node-forge/lib/aes.js🔥 -39.16 kB (-100%)39.16 kB → 0 B
node_modules/node-forge/lib/pkcs7.js🔥 -38.6 kB (-100%)38.6 kB → 0 B
node_modules/node-forge/lib/jsbn.js🔥 -35.48 kB (-100%)35.48 kB → 0 B
node_modules/node-forge/lib/pkcs12.js🔥 -33.55 kB (-100%)33.55 kB → 0 B
node_modules/listhen/dist/index.mjs🔥 -32.46 kB (-100%)32.46 kB → 0 B
node_modules/node-forge/lib/pbe.js🔥 -31.25 kB (-100%)31.25 kB → 0 B
node_modules/node-forge/lib/cipherModes.js🔥 -29.24 kB (-100%)29.24 kB → 0 B
node_modules/picomatch/lib/parse.js🔥 -28.08 kB (-100%)28.08 kB → 0 B
node_modules/uqr/dist/index.mjs🔥 -25.75 kB (-100%)25.75 kB → 0 B
node_modules/node-forge/lib/ed25519.js🔥 -25.44 kB (-100%)25.44 kB → 0 B
node_modules/listhen/dist/chunks/xdg-open.mjs🔥 -25.32 kB (-100%)25.32 kB → 0 B
node_modules/@poppinss/dumper/build/formatters/html/main.js🔥 -23.92 kB (-100%)23.92 kB → 0 B
node_modules/@speed-highlight/core/dist/index.js🔥 -22.6 kB (-100%)22.6 kB → 0 B
node_modules/@speed-highlight/core/dist/terminal.js🔥 -22.12 kB (-100%)22.12 kB → 0 B
node_modules/node-forge/lib/des.js🔥 -20.46 kB (-100%)20.46 kB → 0 B
node_modules/h3/dist/index.mjs🔥 -18.91 kB (-100%)18.91 kB → 0 B
node_modules/@poppinss/dumper/build/chunk-26HALFTP.js🔥 -17.48 kB (-100%)17.48 kB → 0 B
node_modules/node-forge/lib/sha512.js🔥 -17.35 kB (-100%)17.35 kB → 0 B
node_modules/httpxy/dist/index.mjs🔥 -17.14 kB (-100%)17.14 kB → 0 B
node_modules/@sindresorhus/is/distribution/index.js🔥 -17 kB (-100%)17 kB → 0 B
node_modules/@poppinss/dumper/build/formatters/console/main.js🔥 -14.65 kB (-100%)14.65 kB → 0 B
node_modules/micromatch/index.js🔥 -14.11 kB (-100%)14.11 kB → 0 B
node_modules/node-forge/lib/prng.js🔥 -12.52 kB (-100%)12.52 kB → 0 B
node_modules/node-forge/lib/rc2.js🔥 -12.12 kB (-100%)12.12 kB → 0 B
node_modules/node-forge/lib/pkcs7asn1.js🔥 -11.65 kB (-100%)11.65 kB → 0 B
home/runner/work/cli/cli/packages/nuxi/src/commands/dev.ts🔥 -11.31 kB (-100%)11.31 kB → 0 B
node_modules/picomatch/lib/picomatch.js🔥 -10.14 kB (-100%)10.14 kB → 0 B
node_modules/node-forge/lib/sha256.js🔥 -9.77 kB (-100%)9.77 kB → 0 B
node_modules/node-forge/lib/log.js🔥 -9.43 kB (-100%)9.43 kB → 0 B
node_modules/picomatch/lib/scan.js🔥 -9.4 kB (-100%)9.4 kB → 0 B
node_modules/node-forge/lib/aesCipherSuites.js🔥 -9.33 kB (-100%)9.33 kB → 0 B
node_modules/youch/build/index.js🔥 -9.31 kB (-100%)9.31 kB → 0 B
node_modules/node-forge/lib/sha1.js🔥 -9.28 kB (-100%)9.28 kB → 0 B
node_modules/youch-core/build/index.js🔥 -9.09 kB (-100%)9.09 kB → 0 B
node_modules/node-forge/lib/prime.js🔥 -8.89 kB (-100%)8.89 kB → 0 B
home/runner/work/cli/cli/packages/nuxi/src/dev/utils.ts🔥 -8.77 kB (-100%)8.77 kB → 0 B
node_modules/@parcel/watcher-wasm/index.mjs🔥 -8.67 kB (-100%)8.67 kB → 0 B
node_modules/node-forge/lib/pkcs1.js🔥 -8.5 kB (-100%)8.5 kB → 0 B
node_modules/cookie/dist/index.js🔥 -8.44 kB (-100%)8.44 kB → 0 B
node_modules/signal-exit/dist/mjs/index.js🔥 -8.37 kB (-100%)8.37 kB → 0 B
node_modules/get-port-please/dist/index.mjs🔥 -8.29 kB (-100%)8.29 kB → 0 B
node_modules/crossws/dist/shared/crossws.DfCzGthR.mjs🔥 -8.25 kB (-100%)8.25 kB → 0 B
node_modules/node-forge/lib/md5.js🔥 -8.16 kB (-100%)8.16 kB → 0 B
node_modules/node-forge/lib/pss.js🔥 -7.98 kB (-100%)7.98 kB → 0 B
node_modules/node-forge/lib/ssh.js🔥 -7.3 kB (-100%)7.3 kB → 0 B
node_modules/braces/lib/parse.js🔥 -7.12 kB (-100%)7.12 kB → 0 B
node_modules/node-forge/lib/oids.js🔥 -6.97 kB (-100%)6.97 kB → 0 B
node_modules/node-forge/lib/pem.js🔥 -6.84 kB (-100%)6.84 kB → 0 B
node_modules/node-forge/lib/cipher.js🔥 -6.83 kB (-100%)6.83 kB → 0 B
node_modules/youch/build/chunk-JAN2TFI2.js🔥 -6.8 kB (-100%)6.8 kB → 0 B
node_modules/to-regex-range/index.js🔥 -6.67 kB (-100%)6.67 kB → 0 B
home/runner/work/cli/cli/packages/nuxi/src/commands/upgrade.ts🔥 -6.65 kB (-100%)6.65 kB → 0 B
node_modules/fill-range/index.js🔥 -6.58 kB (-100%)6.58 kB → 0 B
node_modules/pathe/dist/shared/pathe.ff20891b.mjs🔥 -6.14 kB (-100%)6.14 kB → 0 B
node_modules/node-forge/lib/pbkdf2.js🔥 -5.95 kB (-100%)5.95 kB → 0 B
node_modules/untun/dist/chunks/index.mjs🔥 -5.85 kB (-100%)5.85 kB → 0 B
node_modules/error-stack-parser-es/dist/lite.mjs🔥 -5.67 kB (-100%)5.67 kB → 0 B
node_modules/node-forge/lib/random.js🔥 -5.36 kB (-100%)5.36 kB → 0 B
node_modules/node-forge/lib/kem.js🔥 -5.33 kB (-100%)5.33 kB → 0 B
View detailed bundle breakdown

Added

AssetFile Size% Changed
shared/create-nuxt.CB4RQik7.mjs0 B → 3.05 MB (+3.05 MB)-

Removed

AssetFile Size% Changed
shared/create-nuxt.DVsaFU7d.mjs2.02 MB → 0 B (-2.02 MB)-100%
shared/create-nuxt.D6QL_2us.mjs1.17 MB → 0 B (-1.17 MB)-100%
shared/create-nuxt.CL7C3h8q.mjs961.89 kB → 0 B (-961.89 kB)-100%
chunks/index8.mjs904.13 kB → 0 B (-904.13 kB)-100%
chunks/index2.mjs199.51 kB → 0 B (-199.51 kB)-100%
chunks/node.mjs145.67 kB → 0 B (-145.67 kB)-100%
shared/create-nuxt.CdjDEmnn.mjs108.11 kB → 0 B (-108.11 kB)-100%
chunks/index3.mjs71.97 kB → 0 B (-71.97 kB)-100%
chunks/index7.mjs50.51 kB → 0 B (-50.51 kB)-100%
chunks/search.mjs45.85 kB → 0 B (-45.85 kB)-100%
shared/create-nuxt.4t9faemh.mjs43.64 kB → 0 B (-43.64 kB)-100%
chunks/dev.mjs28.45 kB → 0 B (-28.45 kB)-100%
shared/create-nuxt.Vk1IrVtB.mjs26.96 kB → 0 B (-26.96 kB)-100%
chunks/xdg-open.mjs25.32 kB → 0 B (-25.32 kB)-100%
shared/create-nuxt.CU-IHC6-.mjs18.91 kB → 0 B (-18.91 kB)-100%
shared/create-nuxt.YyXVH23T.mjs18.11 kB → 0 B (-18.11 kB)-100%
chunks/add2.mjs12.08 kB → 0 B (-12.08 kB)-100%
chunks/add.mjs6.89 kB → 0 B (-6.89 kB)-100%
chunks/upgrade.mjs6.65 kB → 0 B (-6.65 kB)-100%
chunks/index6.mjs6.24 kB → 0 B (-6.24 kB)-100%
chunks/index5.mjs5.85 kB → 0 B (-5.85 kB)-100%
chunks/info.mjs4.43 kB → 0 B (-4.43 kB)-100%
shared/create-nuxt.BtwhSDQN.mjs4.07 kB → 0 B (-4.07 kB)-100%
shared/create-nuxt.BNK9DlAn.mjs3.9 kB → 0 B (-3.9 kB)-100%
shared/create-nuxt.CV8uSwfQ.mjs3.72 kB → 0 B (-3.72 kB)-100%
chunks/preview.mjs3.58 kB → 0 B (-3.58 kB)-100%
chunks/analyze.mjs3.35 kB → 0 B (-3.35 kB)-100%
chunks/typecheck.mjs2.06 kB → 0 B (-2.06 kB)-100%
chunks/build.mjs2.04 kB → 0 B (-2.04 kB)-100%
shared/create-nuxt.BjhZEm2-.mjs1.75 kB → 0 B (-1.75 kB)-100%
chunks/index4.mjs1.23 kB → 0 B (-1.23 kB)-100%
chunks/test.mjs1.16 kB → 0 B (-1.16 kB)-100%
chunks/prepare.mjs1.04 kB → 0 B (-1.04 kB)-100%
shared/create-nuxt.BB0Dqlvt.mjs945 B → 0 B (-945 B)-100%
shared/create-nuxt.DBb0wpgL.mjs836 B → 0 B (-836 B)-100%
chunks/dev-child.mjs811 B → 0 B (-811 B)-100%
shared/create-nuxt.DS5NkK3a.mjs792 B → 0 B (-792 B)-100%
chunks/devtools.mjs764 B → 0 B (-764 B)-100%
chunks/generate.mjs492 B → 0 B (-492 B)-100%
chunks/cleanup.mjs471 B → 0 B (-471 B)-100%
shared/create-nuxt.DP9Qg57V.mjs365 B → 0 B (-365 B)-100%
chunks/jiti.mjs305 B → 0 B (-305 B)-100%
shared/create-nuxt.C2O0oyaz.mjs294 B → 0 B (-294 B)-100%
shared/create-nuxt.BSm0_9Hr.mjs107 B → 0 B (-107 B)-100%

Bigger

AssetFile Size% Changed
chunks/index.mjs274 B → 904.13 kB (+903.86 kB)+337794.53%
index.mjs1.07 kB → 1.12 kB (+48 B)+4.39%

Smaller

No assets were smaller

Unchanged

AssetFile Size% Changed
chunks/multipart-parser.mjs5.11 kB0%
chunks/multipart-parser2.mjs4.58 kB0%
chunks/prompt.mjs42.91 kB0%
chunks/satisfies.mjs116 B0%

@github-actions

github-actionsBot commented Sep 17, 2025

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
33 → 3197.9 kB → 97.16 kB (-762 B)-0.76%
Changeset
FileΔSize
home/runner/work/cli/cli/packages/nuxi/src/commands/_utils.ts🆕 +301 B0 B → 301 B
home/runner/work/cli/cli/packages/nuxi/src/run.ts📈 +190 B (+31.93%)595 B → 785 B
home/runner/work/cli/cli/packages/nuxi/src/commands/module/index.ts📈 +35 B (+12.82%)273 B → 308 B
home/runner/work/cli/cli/packages/nuxi/src/commands/prepare.ts📈 +7 B (+0.66%)1.04 kB → 1.05 kB
home/runner/work/cli/cli/packages/nuxi/src/commands/module/add.ts📈 +18 B (+0.17%)10.17 kB → 10.19 kB
home/runner/work/cli/cli/packages/nuxi/src/commands/init.ts📉 -16 B (-0.13%)11.79 kB → 11.78 kB
home/runner/work/cli/cli/packages/nuxi/package.json📉 -53 B (-67.95%)78 B → 25 B
home/runner/work/cli/cli/packages/nuxi/src/main.ts🔥 -1.21 kB (-100%)1.21 kB → 0 B
View detailed bundle breakdown

Added

AssetFile Size% Changed
shared/cli.DVoN1ieL.mjs0 B → 5.57 kB (+5.57 kB)-

Removed

AssetFile Size% Changed
shared/cli.CTXRG5Cu.mjs5.57 kB → 0 B (-5.57 kB)-100%
shared/cli.vXg4eLNu.mjs1.8 kB → 0 B (-1.8 kB)-100%
shared/cli.DhJ3cH8w.mjs78 B → 0 B (-78 B)-100%

Bigger

AssetFile Size% Changed
chunks/add.mjs10.17 kB → 11.25 kB (+1.08 kB)+10.60%
chunks/index2.mjs273 B → 308 B (+35 B)+12.82%
chunks/info.mjs4.44 kB → 4.46 kB (+25 B)+0.55%
chunks/prepare.mjs1.04 kB → 1.05 kB (+7 B)+0.66%

Smaller

AssetFile Size% Changed
chunks/init.mjs12.16 kB → 12.15 kB (-16 B)-0.13%

Unchanged

AssetFile Size% Changed
dev/index.mjs0 B0%
index.mjs236 B0%
chunks/index.mjs14.44 kB0%
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/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/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%

@pkg-pr-new

pkg-pr-newBot commented Sep 17, 2025

Copy link
Copy Markdown

nuxt-cli-playground

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

commit: 30eb064

@codecov-commenter

codecov-commenter commented Sep 17, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 61.36364% with 17 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@9d390df). Learn more about missing BASE report.

Files with missing linesPatch %Lines
packages/nuxi/src/run.ts21.42%11 Missing ⚠️
packages/nuxi/src/commands/init.ts0.00%2 Missing ⚠️
packages/nuxi/src/index.ts0.00%1 Missing and 1 partial ⚠️
packages/nuxi/src/main.ts0.00%2 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #1044 +/- ##
=======================================
Coverage ? 27.03% =======================================
Files ? 76 Lines ? 4002 Branches ? 214 =======================================
Hits ? 1082 Misses ? 2891 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

codspeed-hqBot commented Sep 17, 2025

Copy link
Copy Markdown

CodSpeed Performance Report

Merging #1044 will not alter performance

Comparing Eazash:perf/reduce-create-nuxt-size (30eb064) with main (26b6770)

Summary

✅ 2 untouched

@Eazash
Eazash marked this pull request as ready for review September 18, 2025 08:15
@Eazash

Copy link
Copy Markdown
ContributorAuthor

I'm really not sure if the benchmark CI failing is related to this PR. Could you please confirm @danielroe?

@danielroedanielroe left a comment

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.

oh beautiful! thank you for tackling this one ❤️

@danielroe
danielroe merged commit 35b0c1c into nuxt:mainSep 18, 2025
15 of 16 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Sep 18, 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.

create-nuxt size regression

3 participants

@Eazash@codecov-commenter@danielroe