From 59a05709a05dc25e421be3120527b1023c3d7182 Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 25 Dec 2023 17:28:33 +0800 Subject: [PATCH 1/4] chore: changelog for 17.4.0 --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfdc860e9..f1f6a1527 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [17.4.0](https://github.com/vuejs/vue-loader/compare/v17.3.1...v17.4.0) (2023-12-25) + + +### Features + +* leverage ast reuse in 3.4 ([479835f](https://github.com/vuejs/vue-loader/commit/479835fe751691a39c62cda12bffeef9e6830443)) + + + ## [17.3.1](https://github.com/vuejs/vue-loader/compare/v17.3.0...v17.3.1) (2023-10-31) From 50699e687e4750acc53a8412f7cba2c47a5464fd Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 30 Dec 2023 13:05:16 +0800 Subject: [PATCH 2/4] chore: set `compilerOptions` in example TODO: should add a proper test case later --- example/App.vue | 1 + example/webpack.config.js | 3 + package.json | 2 +- yarn.lock | 122 +++++++++++++++++++------------------- 4 files changed, 66 insertions(+), 62 deletions(-) diff --git a/example/App.vue b/example/App.vue index 1d4ab3add..2dff73a8c 100644 --- a/example/App.vue +++ b/example/App.vue @@ -6,6 +6,7 @@ + aaa diff --git a/example/webpack.config.js b/example/webpack.config.js index 67aab6232..c240ad021 100644 --- a/example/webpack.config.js +++ b/example/webpack.config.js @@ -60,6 +60,9 @@ module.exports = (env = {}) => { loader: 'vue-loader', options: { // reactivityTransform: true, + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('custom-'), + }, }, }, { diff --git a/package.json b/package.json index 64be0f63a..1a9fd4ff8 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "ts-loader-v9": "npm:ts-loader@^9.2.4", "typescript": "^4.4.3", "url-loader": "^4.1.0", - "vue": "^3.4.0-rc.1", + "vue": "^3.4.1", "vue-i18n": "^9.1.7", "webpack": "^5.79.0", "webpack-cli": "^3.3.12", diff --git a/yarn.lock b/yarn.lock index 9a853af95..b8d19da83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1502,89 +1502,89 @@ dependencies: "@types/yargs-parser" "*" -"@vue/compiler-core@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.0-rc.1.tgz#edd65c57cc6555054f8d9740ff08e7eb47030c08" - integrity sha512-NE/m7FvgXjHn744fncY8OPjUu6AnxLyp11niJz298vIoZQsmptodJfmgu+MRiYL4GsaYQl0B3UzMS9mDD40jEw== +"@vue/compiler-core@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.1.tgz#e2ec9073aef47edb542defa50aba77db00fbc25d" + integrity sha512-FBiJi88C2L+REhqhbSRe0ifLSOMFTbB8hj2xkx8gHozVWLnjVFOanibivUaobkNyKem9vJINFXjazYkX2uIjFQ== dependencies: "@babel/parser" "^7.23.6" - "@vue/shared" "3.4.0-rc.1" + "@vue/shared" "3.4.1" entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-dom@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.0-rc.1.tgz#4cdec989a66476c954af55ab94ccded5d5af0874" - integrity sha512-NjuK5CRJnLxj8pJfj1WAc1EAxU0+XtB5q9TvIEmGjemid1zI01OuNVKwyDJ2YprH9L0JihDU/JOAuRy/VjnHTg== +"@vue/compiler-dom@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.1.tgz#ea1bee64009cfa3e239be3ccedd514df77716b76" + integrity sha512-cftveaDBvtKTcpHDqN+V8b6enBMEOtqJPt/bVZ0gS0+fsyjEP/jIJa1sRXP1IwuOcVgcIXr/9kGMP1qzC0tQiQ== dependencies: - "@vue/compiler-core" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/compiler-core" "3.4.1" + "@vue/shared" "3.4.1" -"@vue/compiler-sfc@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.0-rc.1.tgz#7530467b7c42b4dce30b9feaf97c2baef6bba488" - integrity sha512-7EXxjCXRQnaUipFWsxMP/ZnS+oZbOtuu8aqsZVFxt85cAeUPcsBCNuF/zerDRwIY3/XTlcsZxXtwBRXrPWhRig== +"@vue/compiler-sfc@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.1.tgz#60c44003381933f2f39582fbec346395c8de0ad3" + integrity sha512-h0aWCVSm0uRtGhdM88Gua6lL+wGhiUdHj6BwwBgIaAsms7HK25DzlpnfnCcx4voHDeN9pHmG9jjLBNys/u2Jug== dependencies: "@babel/parser" "^7.23.6" - "@vue/compiler-core" "3.4.0-rc.1" - "@vue/compiler-dom" "3.4.0-rc.1" - "@vue/compiler-ssr" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/compiler-core" "3.4.1" + "@vue/compiler-dom" "3.4.1" + "@vue/compiler-ssr" "3.4.1" + "@vue/shared" "3.4.1" estree-walker "^2.0.2" magic-string "^0.30.5" postcss "^8.4.32" source-map-js "^1.0.2" -"@vue/compiler-ssr@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.0-rc.1.tgz#83f577a13b8593beef9bfd9de4b8522f7ecd20d9" - integrity sha512-BJB8eh3v6nYJxSsFBGTPWnbbqtql1tuSbPy7BWsJ+fjCUNatuN+r6aGVkS/SHwJAfZMIW9Y1k+EDEdq4nmA/SA== +"@vue/compiler-ssr@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.1.tgz#3852ebae2cc552774f550082e747a3ed284d55ed" + integrity sha512-Zjvjc+u7uXS/mmTPxL5bNup7Om9vni4I++JNMDKCeWKHtHN/6G9LmhXU9vGbrdUH9YFVvewk2pjTtzK9CJCoog== dependencies: - "@vue/compiler-dom" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/compiler-dom" "3.4.1" + "@vue/shared" "3.4.1" "@vue/devtools-api@^6.0.0-beta.7": version "6.0.0-beta.17" resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.0.0-beta.17.tgz#d4b9eb02c670d39a4532f4bb3c8517abce3fcb82" integrity sha512-hwGY4Xxc2nl34OyNH7l2VO8/ja3R78B8bcbaBQnZljSju5Z0Bm9HTt+/fQao+TUrs3gfNrrQrY3euWqiaG8chw== -"@vue/reactivity@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.0-rc.1.tgz#ca57b5e52b2bcf32dea982667671339a7db7a81f" - integrity sha512-CwgQ9OuMNM4ff62tYJ01BB/7mQ6XC4V9xMzqoH+fV19UlBkkT1Jt0fzJNF/f02giPgIoCV6XnOKg1m93X9UTzg== +"@vue/reactivity@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.1.tgz#936d8172aaf850fbf8c19b150dd154292e912d5c" + integrity sha512-3nr59s8lojuXL/ucX+V0GDI70kpA3LC7hT963lN7A+gf33MtQB1ncf6lLxO3GzM+HxfAJjkw/1PR1J6BPpBb1w== dependencies: - "@vue/shared" "3.4.0-rc.1" + "@vue/shared" "3.4.1" -"@vue/runtime-core@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.0-rc.1.tgz#cb832c50c3bda6dc546758eac709b3001e183f9e" - integrity sha512-h9U0KsKx71GLA8GOpkwYZ55AmaZ7GebUF90GPHTvK9cVitZklN1vRng5ST9DCs8SFA4Vsbm6GLxXuvWLRq0ckQ== +"@vue/runtime-core@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.1.tgz#e2ddcafdea59d31651aeffb75d092370d220cfef" + integrity sha512-YRS5pNU7htWa1B7mPIcEHvSG0VjopVMV3BUWwW3/ZYkpgSWTDOpSXoF7AZ/P/uKd0gweCosxcy7Wuw//0uDtyg== dependencies: - "@vue/reactivity" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/reactivity" "3.4.1" + "@vue/shared" "3.4.1" -"@vue/runtime-dom@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.0-rc.1.tgz#810e901e69d0ea876dcac3b0f543ef9af23ef696" - integrity sha512-PzDy0Ew3JwbzKhe2XKoXxJ+UGA4eudpd1wiO/TZnntsm5fAuHCpBcSUMT7CSIx5rQ5KJSYpam6HnDb7J/t2A6w== +"@vue/runtime-dom@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.1.tgz#83f009f021ec92205fc6cb2df29d83a06f48889f" + integrity sha512-GNSlwBglxscrviChkCYxTYNY6GzAFLP80CPQL3X6u9wI0c8Vc3QUzMAVlBs14+3wgSFZc/xANPPpZVTKSoUg2A== dependencies: - "@vue/runtime-core" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/runtime-core" "3.4.1" + "@vue/shared" "3.4.1" csstype "^3.1.3" -"@vue/server-renderer@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.0-rc.1.tgz#11cdc6df85a287ba129f4af98eb5c6b69a9784a7" - integrity sha512-SUr+poEsCjLhSFxaNV8NzA2pr+UXAMnC0yeOJuh3xtUfagZ3JfgOPt98ceKxVtAvIvWeyuEMrJRO9OpESIQZLg== +"@vue/server-renderer@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.1.tgz#5880e4adbb2ddab68e8ded86cee963bc9fde37a5" + integrity sha512-ba67d4rO1nL2TUevvp4nXtqXsVpesxrjA1N0dKWEKYwQS+G3xYZx7NpkHchAanlsUPI3EYk2bhTtPHHulIqKig== dependencies: - "@vue/compiler-ssr" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/compiler-ssr" "3.4.1" + "@vue/shared" "3.4.1" -"@vue/shared@3.4.0-rc.1": - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.0-rc.1.tgz#cd40c27e0f6605aae220d58458b38d0f36981a1e" - integrity sha512-t3CMJxxNCAY9RTMySOyC+F3a1W8DKXoc6DEq9V6lSt9K5yAjCVA2/6WtiynW37BmBFM8IgKUQHgAkgsNWw1fFA== +"@vue/shared@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.1.tgz#cf21256e36fcce32898cf3924c42f8ae2bd107fe" + integrity sha512-ObCj3oQ6nH3otfEz15xsbQhq0oU2gUvOP9aVbzRewcbI6s+cmV78lZ9dlwvsdcTCn50AiRjijdCAfpJonXSbNw== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -9832,16 +9832,16 @@ vue-i18n@^9.1.7: "@intlify/vue-devtools" "9.1.7" "@vue/devtools-api" "^6.0.0-beta.7" -vue@^3.4.0-rc.1: - version "3.4.0-rc.1" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.0-rc.1.tgz#d9be31a68f23e8294c976e420a4782f229e4a934" - integrity sha512-O9tzc8AFxu6NSYeA+0U/ExAtaIpkFezhRf75X3yN4MUNT8p1C2K9AdsdP4EXTyeABQqPvETbXJjt+BNHE9lZlA== +vue@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.1.tgz#5aa89bbe427fa470c66ffc8981c989ff943c5d78" + integrity sha512-KWFPZC8TW+g/Gg4ALIVZixwhzqdRKjyfN3NdH9jiYGhWlOX8vT2d9wZhsShTjS9wkKyohtDhPFYiwV255TdANA== dependencies: - "@vue/compiler-dom" "3.4.0-rc.1" - "@vue/compiler-sfc" "3.4.0-rc.1" - "@vue/runtime-dom" "3.4.0-rc.1" - "@vue/server-renderer" "3.4.0-rc.1" - "@vue/shared" "3.4.0-rc.1" + "@vue/compiler-dom" "3.4.1" + "@vue/compiler-sfc" "3.4.1" + "@vue/runtime-dom" "3.4.1" + "@vue/server-renderer" "3.4.1" + "@vue/shared" "3.4.1" w3c-hr-time@^1.0.2: version "1.0.2" From 31b03af121edbe70337f538b1def95acbef4d0f1 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 30 Dec 2023 13:06:36 +0800 Subject: [PATCH 3/4] fix: (temporarily) disable template ast reuse For the same reason as https://github.com/vitejs/vite-plugin-vue/commit/5d68fbdaa626f70a3763cb611eee1c2d22be4d5e TODO: Re-enable this optimization with the newly added option in https://github.com/vuejs/core/commit/6fab8551e4aeef4610987640de8b435b1ae321bb --- src/templateLoader.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/templateLoader.ts b/src/templateLoader.ts index 26fe3e93e..06b7d81c0 100644 --- a/src/templateLoader.ts +++ b/src/templateLoader.ts @@ -44,10 +44,10 @@ const TemplateLoader: LoaderDefinitionFunction = function (source, inMap: any) { const compiled = compileTemplate({ source, - ast: - descriptor.template && !descriptor.template.lang - ? descriptor.template.ast - : undefined, + // ast: + // descriptor.template && !descriptor.template.lang + // ? descriptor.template.ast + // : undefined, filename: loaderContext.resourcePath, inMap, id: scopeId, From 284a333a4ff2e4f48aa540a14cc7e394c2f9f3af Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sat, 30 Dec 2023 13:10:04 +0800 Subject: [PATCH 4/4] 17.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1a9fd4ff8..b4952cfa1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-loader", - "version": "17.4.0", + "version": "17.4.1", "license": "MIT", "author": "Evan You", "repository": "vuejs/vue-loader", pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy