-
-
Notifications
You must be signed in to change notification settings - Fork 9k
chore(deps): update entities to latest for Node.js 24 compatibility #14160
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughUpdated Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
❌ Deploy Preview for vue-sfc-playground failed. Why did it fail? →
|
❌ Deploy Preview for vue-next-template-explorer failed. Why did it fail? →
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
packages/compiler-core/src/parser.ts (1)
49-49: Deep import intoentities/dist/decode.jsis OK for v5 but may hinder future upgradesThis path looks consistent with entities v5’s dist layout and fixes the immediate Node 24 issue. However, newer entities releases publish only
././decode/./escapein their"exports"map, not./dist/decode.js, so a future bump beyond^5.xwould likely break here with anotherERR_PACKAGE_PATH_NOT_EXPORTED. Consider switching to the public subpath (entities/decode) once you’ve confirmed it’s exported in 5.0.0 as well, or at least leave a note that this import must be revisited when upgrading entities again.Would you double‑check entities 5.0.0’s
package.jsonexports and confirm whether./decodeis available (and whether./dist/decode.jsis explicitly exported) before locking in this path?packages/compiler-core/src/tokenizer.ts (1)
34-39: Non‑browser decode import is correct for entities v5; watch for future exports changesRouting
DecodingMode/EntityDecoder/fromCodePoint/htmlDecodeTreethroughentities/dist/decode.jsis consistent with the v5 layout and keeps all usage in non‑__BROWSER__branches, so the non‑browser‑only dependency contract still holds. As withparser.ts, this is a deep import intodist/; if a later bump to entities >5 switches to only exporting./decode/./escape, this path will become invalid again. It’s worth planning to swap to the publicentities/decodesubpath once you’ve confirmed it’s exported in 5.0.0.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
packages/compiler-core/package.json(1 hunks)packages/compiler-core/src/parser.ts(1 hunks)packages/compiler-core/src/tokenizer.ts(1 hunks)
🔇 Additional comments (1)
packages/compiler-core/package.json (1)
48-54: entities bump to^5.0.0aligns with the new imports; verify runtime behaviorUpdating entities to
^5.0.0matches the new dist-based imports and should address the Node 24 path-resolution issue. Since this is a major bump with a different layout, make sure the compiler-core test suite (especially entity decoding and tokenizer/parser specs) passes under Node 24 with a fresh install so we don’t miss any subtle behavior changes.
b6d994f to
8b04784
Compare
148839f to
f670c51
Compare
The entities package v4.5.0 uses lib/ directory for exports which causes ERR_PACKAGE_PATH_NOT_EXPORTED error in Node.js 24 due to stricter exports map resolution. Updated entities to v6.0.0 which properly exports './decode' subpath that is compatible with Node.js 24's exports resolution. Note: v5.0.0 was previously tried but caused runtime resolution errors (issue vuejs#11603). v6.0.0 resolves both issues by using clean subpath exports ('./decode' instead of './lib/decode.js' or './dist/decode.js'). close vuejs#14159
f670c51 to
cb60bba
Compare
Size ReportBundles
Usages
|
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
|
I tested that |
|
/ecosystem-ci run |
|
📝 Ran ecosystem CI: Open
|
|
@edison1105 Please tell me when this pull request will be merged ? |
close #14159
Summary
This PR fixes the Node.js 24 compatibility issue with
@vue/compiler-core.Problem
The
entitiespackage v4.5.0 useslib/directory for exports which causesERR_PACKAGE_PATH_NOT_EXPORTEDerror in Node.js 24 due to stricter exports map resolution.Solution
Updated
entitiesto v5.0.0 which usesdist/directory structure that is properly compatible with Node.js 24's exports resolution.Changes
entitiesdependency from^4.5.0to^5.0.0entities/lib/decode.jstoentities/dist/decode.jsFixes #14159 14159
Summary by CodeRabbit
Chores
Build
✏️ Tip: You can customize this high-level summary in your review settings.