Skip to content

chore: trim runtime dependency footprint#639

Open
harlan-zw wants to merge 2 commits into
mainfrom
chore/trim-runtime-deps
Open

chore: trim runtime dependency footprint#639
harlan-zw wants to merge 2 commits into
mainfrom
chore/trim-runtime-deps

Conversation

@harlan-zw

@harlan-zw harlan-zw commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

🔗 Linked issue

None

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

Moves UnoCSS, Lightning CSS, Vue SFC, and OXC parser packages out of runtime dependencies where Nuxt or the selected CSS provider can supply them. Adds optional module resolution and a packed install smoke test that installs the tarball in clean pnpm, npm, and Bun consumer apps.

The typecheck script now stubs the module before running Nuxt typecheck so the required check works from a fresh checkout.

📊 Fresh install benchmark

Measured with package metadata tarballs from main and this branch, with catalog: specs resolved, installed into clean Nuxt 4.4.8 apps using pnpm 11.9.0.

Metric Before After Delta
Runtime dependencies 32 24 -8
Peer dependencies 14 17 +3 optional
Incremental package dirs over Nuxt-only +29 +13 -16
Incremental package names over Nuxt-only +19 +10 -9
Incremental node_modules size over Nuxt-only +18.9 MB +3.7 MB -15.2 MB
Cache-warmed install time 2.60s 1.85s -0.75s

Removed from the incremental fresh install: @unocss/config, @unocss/core, culori, lightningcss, lightningcss-linux-x64-gnu, unconfig, unconfig-core, colorette, and @quansync/fs.

@vue/compiler-sfc, oxc-parser, oxc-walker, and tinyglobby can still appear in a Nuxt app because Nuxt already brings them in. This branch stops nuxt-og-image from adding its own direct requirement for them.

@pkg-pr-new

pkg-pr-new Bot commented Jul 3, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/nuxt-og-image@639

commit: fbbdac6

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.

1 participant