diff --git a/README.md b/README.md index a0e1cc39..96cc971c 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Transform Vue 3 SFC to JavaScript. ## Thanks -Thanks to [vite-plugin-vue](https://github.com/vitejs/vite-plugin-vue). This project is inherited from [@vitejs/plugin-vue@5.0.2](https://github.com/vitejs/vite-plugin-vue/tree/plugin-vue@5.0.2/packages/plugin-vue). +Thanks to [vite-plugin-vue](https://github.com/vitejs/vite-plugin-vue). This project is inherited from [@vitejs/plugin-vue@5.1.0](https://github.com/vitejs/vite-plugin-vue/tree/plugin-vue@5.1.0/packages/plugin-vue). ## Sponsors diff --git a/package.json b/package.json index a5fcf254..fbcfbe30 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@sxzz/prettier-config": "^2.0.2", "@types/debug": "^4.1.12", "@types/node": "^20.14.11", - "@vitejs/plugin-vue": "5.0.5", + "@vitejs/plugin-vue": "5.1.0", "@vitest/ui": "2.0.4", "bumpp": "^9.4.1", "esbuild": "0.23.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ef21a83..45fe7e85 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,8 +46,8 @@ importers: specifier: ^20.14.11 version: 20.14.11 '@vitejs/plugin-vue': - specifier: 5.0.5 - version: 5.0.5(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3))(vue@3.4.33(typescript@5.5.4)) + specifier: 5.1.0 + version: 5.1.0(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3))(vue@3.4.33(typescript@5.5.4)) '@vitest/ui': specifier: 2.0.4 version: 2.0.4(vitest@2.0.4) @@ -986,8 +986,8 @@ packages: resolution: {integrity: sha512-t/TKX3C8i2EIHRj9R7jZVEbU+tB4KShSMVAW90fUuttN3KaqujoctEyYpOYD7c5XxSelnFUspTljiH604BGyCg==} engines: {node: '>=14'} - '@vitejs/plugin-vue@5.0.5': - resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} + '@vitejs/plugin-vue@5.1.0': + resolution: {integrity: sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -4407,7 +4407,7 @@ snapshots: - supports-color - typescript - '@vitejs/plugin-vue@5.0.5(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3))(vue@3.4.33(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.0(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3))(vue@3.4.33(typescript@5.5.4))': dependencies: vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8)(terser@5.31.3) vue: 3.4.33(typescript@5.5.4) diff --git a/tests/__snapshots__/esbuild.test.ts.snap b/tests/__snapshots__/esbuild.test.ts.snap index a295c2d2..c2c6a111 100644 Binary files a/tests/__snapshots__/esbuild.test.ts.snap and b/tests/__snapshots__/esbuild.test.ts.snap differ diff --git a/tests/__snapshots__/rollup.test.ts.snap b/tests/__snapshots__/rollup.test.ts.snap index 83708eb6..78cc48d0 100644 --- a/tests/__snapshots__/rollup.test.ts.snap +++ b/tests/__snapshots__/rollup.test.ts.snap @@ -100,7 +100,8 @@ var _export_sfc = (sfc, props) => { const _sfc_main = { __name: 'reactivity-transform', - setup(__props) { + setup(__props, { expose: __expose }) { + __expose(); const ref1 = $ref('hello'); const ref2 = $(ref('hello')); @@ -110,7 +111,9 @@ console.log(ref2); console.log($$(ref1)); console.log($$(ref2)); -return () => {} +const __returned__ = { ref1, ref2, ref }; +Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); +return __returned__ } }; @@ -157,23 +160,30 @@ var _export_sfc = (sfc, props) => { return target; }; -const _hoisted_1 = /*#__PURE__*/createElementVNode("h1", null, "Hello World", -1 /* HOISTED */); -const _hoisted_2 = [ - _hoisted_1 -]; +const foo = 'bar'; const _sfc_main = { __name: 'script-setup', - setup(__props) { + setup(__props, { expose: __expose }) { + __expose(); -return (_ctx, _cache) => { - return (openBlock(), createElementBlock("div", null, _hoisted_2)) -} +const __returned__ = { foo }; +Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); +return __returned__ } }; -var scriptSetup = /*#__PURE__*/_export_sfc(_sfc_main, [['__file','#FILE#']]); + +const _hoisted_1 = /*#__PURE__*/createElementVNode("h1", null, "Hello World", -1 /* HOISTED */); +const _hoisted_2 = [ + _hoisted_1 +]; + +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return (openBlock(), createElementBlock("div", null, [..._hoisted_2])) +} +var scriptSetup = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file','#FILE#']]); export { scriptSetup as default }; " @@ -208,31 +218,21 @@ exports[`transform > fixtures > tests/fixtures/script-setup-ts.vue > isProductio "//script-setup-ts.js import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue'; -const _hoisted_1 = /* @__PURE__ */ createElementVNode( - "h1", - null, - "Hello World", - -1 - /* HOISTED */ -); -const _hoisted_2 = [ - _hoisted_1 -]; const str = "bar"; var script_setup_ts_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ __name: "script-setup-ts", props: { - foo: {}, - bar: {}, - baz: { type: Boolean } + foo: { type: String, required: true }, + bar: { type: Number, required: true }, + baz: { type: Boolean, required: true } }, setup(__props, { expose: __expose }) { __expose({ str }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", null, _hoisted_2); - }; + const __returned__ = { str }; + Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); + return __returned__; } }); @@ -244,7 +244,20 @@ var _export_sfc = (sfc, props) => { return target; }; -var scriptSetupTs = /* @__PURE__ */ _export_sfc(script_setup_ts_vue_vue_type_script_setup_true_lang_default, [["__file", '#FILE#']]); +const _hoisted_1 = /* @__PURE__ */ createElementVNode( + "h1", + null, + "Hello World", + -1 + /* HOISTED */ +); +const _hoisted_2 = [ + _hoisted_1 +]; +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", null, [..._hoisted_2]); +} +var scriptSetupTs = /* @__PURE__ */ _export_sfc(script_setup_ts_vue_vue_type_script_setup_true_lang_default, [["render", _sfc_render], ["__file", '#FILE#']]); export { scriptSetupTs as default }; "