From e572a25095e0c65b3263c47ac701d34e92e181ba Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 9 Dec 2024 17:10:25 +0800 Subject: [PATCH] fix(compat): add `entities` to @vue/compat deps to fix CJS edge cases Fixes #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 https://github.com/vuejs/core/issues/10609#issuecomment-2160369155 --- packages/compiler-core/package.json | 2 +- packages/vue-compat/package.json | 1 + pnpm-lock.yaml | 8 +++++++- pnpm-workspace.yaml | 1 + 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index d2f474c5983..816b44a8a13 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -48,7 +48,7 @@ "dependencies": { "@babel/parser": "catalog:", "@vue/shared": "workspace:*", - "entities": "^4.5.0", + "entities": "catalog:", "estree-walker": "catalog:", "source-map-js": "catalog:" }, diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index 33c6e2f0c58..62ecb52275f 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -53,6 +53,7 @@ "homepage": "https://github.com/vuejs/core/tree/main/packages/vue-compat#readme", "dependencies": { "@babel/parser": "catalog:", + "entities": "catalog:", "estree-walker": "catalog:", "source-map-js": "catalog:" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7cd4e8a7b8e..721b6d3c53e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,6 +15,9 @@ catalogs: '@vitejs/plugin-vue': specifier: ^5.1.2 version: 5.1.2 + entities: + specifier: ^4.5.0 + version: 4.5.0 estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -253,7 +256,7 @@ importers: specifier: workspace:* version: link:../shared entities: - specifier: ^4.5.0 + specifier: 'catalog:' version: 4.5.0 estree-walker: specifier: 'catalog:' @@ -428,6 +431,9 @@ importers: '@babel/parser': specifier: 'catalog:' version: 7.25.3 + entities: + specifier: 'catalog:' + version: 4.5.0 estree-walker: specifier: 'catalog:' version: 2.0.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 23270954bb3..cdbdd09eee8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,6 +5,7 @@ packages: catalog: '@babel/parser': ^7.25.3 '@babel/types': ^7.25.2 + 'entities': '^4.5.0' 'estree-walker': ^2.0.2 'magic-string': ^0.30.11 'source-map-js': ^1.2.0