Skip to content

Conversation

Eazash
Copy link
Contributor

@Eazash Eazash commented Sep 17, 2025

πŸ”— 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!

Copy link
Contributor

github-actions bot commented Sep 17, 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 β†’ 58 5.47 MB β†’ 5.47 MB (+508 B) +0.01%
Changeset
File Ξ” Size
src/commands/_utils.ts πŸ†• +301 B 0 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

Asset File Size % Changed
shared/nuxi.sAj5PmqJ.mjs 0 B β†’ 128.28 kB (+128.28 kB) -
shared/nuxi.Bv-FePcy.mjs 0 B β†’ 19.81 kB (+19.81 kB) -

Removed

Asset File Size % Changed
shared/nuxi.DcfbSbTx.mjs 124.55 kB β†’ 0 B (-124.55 kB) -100%
shared/nuxi.GLC40kEn.mjs 19.33 kB β†’ 0 B (-19.33 kB) -100%
shared/nuxi.DQsdVvIb.mjs 3.72 kB β†’ 0 B (-3.72 kB) -100%

Bigger

Asset File Size % Changed
chunks/add2.mjs 12.08 kB β†’ 12.1 kB (+18 B) +0.15%
chunks/prepare.mjs 1.04 kB β†’ 1.05 kB (+7 B) +0.66%

Smaller

Asset File Size % Changed
chunks/init.mjs 675.78 kB β†’ 675.76 kB (-16 B) -0.00%

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/index.mjs 274 B 0%
chunks/preview.mjs 3.58 kB 0%
chunks/test.mjs 1.16 kB 0%
chunks/typecheck.mjs 2.06 kB 0%
chunks/upgrade.mjs 6.65 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/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.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.Zu_ZTV_8.mjs 18.11 kB 0%
shared/nuxi.CJSnaadO.mjs 10.64 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.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%

Copy link
Contributor

github-actions bot commented Sep 17, 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 β†’ 7 5.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 B 0 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

Asset File Size % Changed
shared/create-nuxt.CB4RQik7.mjs 0 B β†’ 3.05 MB (+3.05 MB) -

Removed

Asset File Size % Changed
shared/create-nuxt.DVsaFU7d.mjs 2.02 MB β†’ 0 B (-2.02 MB) -100%
shared/create-nuxt.D6QL_2us.mjs 1.17 MB β†’ 0 B (-1.17 MB) -100%
shared/create-nuxt.CL7C3h8q.mjs 961.89 kB β†’ 0 B (-961.89 kB) -100%
chunks/index8.mjs 904.13 kB β†’ 0 B (-904.13 kB) -100%
chunks/index2.mjs 199.51 kB β†’ 0 B (-199.51 kB) -100%
chunks/node.mjs 145.67 kB β†’ 0 B (-145.67 kB) -100%
shared/create-nuxt.CdjDEmnn.mjs 108.11 kB β†’ 0 B (-108.11 kB) -100%
chunks/index3.mjs 71.97 kB β†’ 0 B (-71.97 kB) -100%
chunks/index7.mjs 50.51 kB β†’ 0 B (-50.51 kB) -100%
chunks/search.mjs 45.85 kB β†’ 0 B (-45.85 kB) -100%
shared/create-nuxt.4t9faemh.mjs 43.64 kB β†’ 0 B (-43.64 kB) -100%
chunks/dev.mjs 28.45 kB β†’ 0 B (-28.45 kB) -100%
shared/create-nuxt.Vk1IrVtB.mjs 26.96 kB β†’ 0 B (-26.96 kB) -100%
chunks/xdg-open.mjs 25.32 kB β†’ 0 B (-25.32 kB) -100%
shared/create-nuxt.CU-IHC6-.mjs 18.91 kB β†’ 0 B (-18.91 kB) -100%
shared/create-nuxt.YyXVH23T.mjs 18.11 kB β†’ 0 B (-18.11 kB) -100%
chunks/add2.mjs 12.08 kB β†’ 0 B (-12.08 kB) -100%
chunks/add.mjs 6.89 kB β†’ 0 B (-6.89 kB) -100%
chunks/upgrade.mjs 6.65 kB β†’ 0 B (-6.65 kB) -100%
chunks/index6.mjs 6.24 kB β†’ 0 B (-6.24 kB) -100%
chunks/index5.mjs 5.85 kB β†’ 0 B (-5.85 kB) -100%
chunks/info.mjs 4.43 kB β†’ 0 B (-4.43 kB) -100%
shared/create-nuxt.BtwhSDQN.mjs 4.07 kB β†’ 0 B (-4.07 kB) -100%
shared/create-nuxt.BNK9DlAn.mjs 3.9 kB β†’ 0 B (-3.9 kB) -100%
shared/create-nuxt.CV8uSwfQ.mjs 3.72 kB β†’ 0 B (-3.72 kB) -100%
chunks/preview.mjs 3.58 kB β†’ 0 B (-3.58 kB) -100%
chunks/analyze.mjs 3.35 kB β†’ 0 B (-3.35 kB) -100%
chunks/typecheck.mjs 2.06 kB β†’ 0 B (-2.06 kB) -100%
chunks/build.mjs 2.04 kB β†’ 0 B (-2.04 kB) -100%
shared/create-nuxt.BjhZEm2-.mjs 1.75 kB β†’ 0 B (-1.75 kB) -100%
chunks/index4.mjs 1.23 kB β†’ 0 B (-1.23 kB) -100%
chunks/test.mjs 1.16 kB β†’ 0 B (-1.16 kB) -100%
chunks/prepare.mjs 1.04 kB β†’ 0 B (-1.04 kB) -100%
shared/create-nuxt.BB0Dqlvt.mjs 945 B β†’ 0 B (-945 B) -100%
shared/create-nuxt.DBb0wpgL.mjs 836 B β†’ 0 B (-836 B) -100%
chunks/dev-child.mjs 811 B β†’ 0 B (-811 B) -100%
shared/create-nuxt.DS5NkK3a.mjs 792 B β†’ 0 B (-792 B) -100%
chunks/devtools.mjs 764 B β†’ 0 B (-764 B) -100%
chunks/generate.mjs 492 B β†’ 0 B (-492 B) -100%
chunks/cleanup.mjs 471 B β†’ 0 B (-471 B) -100%
shared/create-nuxt.DP9Qg57V.mjs 365 B β†’ 0 B (-365 B) -100%
chunks/jiti.mjs 305 B β†’ 0 B (-305 B) -100%
shared/create-nuxt.C2O0oyaz.mjs 294 B β†’ 0 B (-294 B) -100%
shared/create-nuxt.BSm0_9Hr.mjs 107 B β†’ 0 B (-107 B) -100%

Bigger

Asset File Size % Changed
chunks/index.mjs 274 B β†’ 904.13 kB (+903.86 kB) +337794.53%
index.mjs 1.07 kB β†’ 1.12 kB (+48 B) +4.39%

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
chunks/multipart-parser.mjs 5.11 kB 0%
chunks/multipart-parser2.mjs 4.58 kB 0%
chunks/prompt.mjs 42.91 kB 0%
chunks/satisfies.mjs 116 B 0%

Copy link
Contributor

github-actions bot commented Sep 17, 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 β†’ 31 97.9 kB β†’ 97.16 kB (-762 B) -0.76%
Changeset
File Ξ” Size
home/runner/work/cli/cli/packages/nuxi/src/commands/_utils.ts πŸ†• +301 B 0 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

Asset File Size % Changed
shared/cli.DVoN1ieL.mjs 0 B β†’ 5.57 kB (+5.57 kB) -

Removed

Asset File Size % Changed
shared/cli.CTXRG5Cu.mjs 5.57 kB β†’ 0 B (-5.57 kB) -100%
shared/cli.vXg4eLNu.mjs 1.8 kB β†’ 0 B (-1.8 kB) -100%
shared/cli.DhJ3cH8w.mjs 78 B β†’ 0 B (-78 B) -100%

Bigger

Asset File Size % Changed
chunks/add.mjs 10.17 kB β†’ 11.25 kB (+1.08 kB) +10.60%
chunks/index2.mjs 273 B β†’ 308 B (+35 B) +12.82%
chunks/info.mjs 4.44 kB β†’ 4.46 kB (+25 B) +0.55%
chunks/prepare.mjs 1.04 kB β†’ 1.05 kB (+7 B) +0.66%

Smaller

Asset File Size % Changed
chunks/init.mjs 12.16 kB β†’ 12.15 kB (-16 B) -0.13%

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/search.mjs 2.96 kB 0%
chunks/preview.mjs 3.58 kB 0%
chunks/test.mjs 1.16 kB 0%
chunks/typecheck.mjs 2.06 kB 0%
chunks/upgrade.mjs 6.65 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.Cr-OCgdO.mjs 727 B 0%
shared/cli.DHenkA1C.mjs 351 B 0%

Copy link

pkg-pr-new bot commented Sep 17, 2025

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
Copy link

codecov-commenter commented Sep 17, 2025

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 lines Patch % Lines
packages/nuxi/src/run.ts 21.42% 11 Missing ⚠️
packages/nuxi/src/commands/init.ts 0.00% 2 Missing ⚠️
packages/nuxi/src/index.ts 0.00% 1 Missing and 1 partial ⚠️
packages/nuxi/src/main.ts 0.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.

Copy link

codspeed-hq bot commented Sep 17, 2025

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 Eazash requested a review from danielroe as a code owner September 18, 2025 08:15
@Eazash
Copy link
Contributor Author

Eazash commented Sep 18, 2025

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

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.

oh beautiful! thank you for tackling this one ❀️

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

create-nuxt size regression

3 participants