Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(compat): add entities to @vue/compat deps to fix CJS edge cases #12514

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

haoqunjiang
Copy link
Member

@haoqunjiang haoqunjiang commented Dec 9, 2024

Fixes #10609

Unlike the vue package, direct dependencies of @vue/compat are not externalized:

// externalize all direct deps unless it's the compat build.

So it depends on entities directly in its CJS build, unlike the vue one which indirectly depends on it via @vue/compiler-core. So entities must be explicitly added to @vue/compat deps to avoid incorrect dependency resolution due to different node_modules layouts, such as in #10609 (comment)

Copy link

github-actions bot commented Dec 9, 2024

Size Report

Bundles

File Size Gzip Brotli
runtime-dom.global.prod.js 100 kB 37.9 kB 34.2 kB
vue.global.prod.js 158 kB 57.8 kB 51.4 kB

Usages

Name Size Gzip Brotli
createApp (CAPI only) 46.6 kB 18.3 kB 16.7 kB
createApp 54.6 kB 21.3 kB 19.4 kB
createSSRApp 58.7 kB 23 kB 20.9 kB
defineCustomElement 59.4 kB 22.8 kB 20.8 kB
overall 68.4 kB 26.4 kB 24 kB

Copy link

pkg-pr-new bot commented Dec 9, 2024

Open in Stackblitz

@vue/compiler-core

npm i https://pkg.pr.new/@vue/compiler-core@12514

@vue/compiler-ssr

npm i https://pkg.pr.new/@vue/compiler-ssr@12514

@vue/compiler-dom

npm i https://pkg.pr.new/@vue/compiler-dom@12514

@vue/compiler-sfc

npm i https://pkg.pr.new/@vue/compiler-sfc@12514

@vue/reactivity

npm i https://pkg.pr.new/@vue/reactivity@12514

@vue/runtime-core

npm i https://pkg.pr.new/@vue/runtime-core@12514

@vue/runtime-dom

npm i https://pkg.pr.new/@vue/runtime-dom@12514

@vue/server-renderer

npm i https://pkg.pr.new/@vue/server-renderer@12514

@vue/shared

npm i https://pkg.pr.new/@vue/shared@12514

vue

npm i https://pkg.pr.new/vue@12514

@vue/compat

npm i https://pkg.pr.new/@vue/compat@12514

commit: e572a25

Fixes vuejs#10609

Unlike the `vue` package, direct dependencies of `@vue/compat` are not
externalized:
https://github.com/vuejs/core/blob/201936f9a3909ae9dca4e131e1f5ad5a1c0feb77/rollup.config.js#L274

So it depends on `entities` directly in its CJS build, unlike the `vue`
one which indirectly depends on it via `@vue/compiler-core`.
So `entities` must be explicitly added to `@vue/compat` deps to avoid
incorrect dependency resolution due to different `node_modules` layouts,
such as in vuejs#10609 (comment)
@haoqunjiang haoqunjiang added the ready for review This PR requires more reviews label Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vue compat with Jest: "TypeError: decode_js.EntityDecoder is not a constructor"
2 participants