diff --git a/package.json b/package.json index 9719ed8ee6..d47bb80525 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ "@types/node": "16.7.1", "@types/pretty": "^2.0.0", "@vue/babel-plugin-jsx": "^1.0.6", - "@vue/compat": "^3.1.5", - "@vue/compiler-dom": "^3.1.4", - "@vue/compiler-sfc": "3.1.5", + "@vue/compat": "3.2.4", + "@vue/compiler-dom": "3.2.4", + "@vue/compiler-sfc": "3.2.4", "babel-jest": "^26.6.3", "babel-preset-jest": "^27.0.6", "husky": "^7.0.1", @@ -39,9 +39,10 @@ "rollup": "^2.56.3", "rollup-plugin-typescript2": "^0.30.0", "ts-jest": "25.3.1", + "tslib": "^2.3.1", "typescript": "^4.3.5", "vitepress": "^0.16.1", - "vue": "3.1.5", + "vue": "3.2.4", "vue-class-component": "^8.0.0-rc.1", "vue-jest": "^5.0.0-alpha.10", "vue-router": "^4.0.11", diff --git a/src/stubs.ts b/src/stubs.ts index e916806513..85e9f6c6ff 100644 --- a/src/stubs.ts +++ b/src/stubs.ts @@ -8,6 +8,7 @@ import { defineComponent, VNodeTypes, ConcreteComponent, + DefineComponent, ComponentPropsOptions } from 'vue' import { hyphenate } from './utils/vueShared' @@ -41,7 +42,7 @@ export const createStub = ({ name, propsDeclaration, renderStubDefaultSlot -}: StubOptions): ComponentOptions => { +}: StubOptions) => { const anonName = 'anonymous-stub' const tag = name ? `${hyphenate(name)}-stub` : anonName @@ -57,7 +58,7 @@ export const createStub = ({ }) } -const createTransitionStub = ({ name }: StubOptions): ComponentOptions => { +const createTransitionStub = ({ name }: StubOptions) => { const render = (ctx: ComponentPublicInstance) => { return h(name, {}, ctx.$slots) } diff --git a/tests/emit.spec.ts b/tests/emit.spec.ts index b55531bc2d..3732e90d17 100644 --- a/tests/emit.spec.ts +++ b/tests/emit.spec.ts @@ -1,4 +1,5 @@ import { + DefineComponent, defineComponent, FunctionalComponent, getCurrentInstance, @@ -322,7 +323,7 @@ describe('emitted', () => { expect(wrapper.emitted('foo')).toHaveLength(1) }) - it.each([EmitsEventSFC, EmitsEventScriptSetup])( + it.each([EmitsEventSFC, EmitsEventScriptSetup] as DefineComponent[])( 'captures emitted events', async (component) => { const wrapper = mount(component) diff --git a/tests/mountingOptions/global.stubs.spec.ts b/tests/mountingOptions/global.stubs.spec.ts index deb0dfff4d..8e71e315b4 100644 --- a/tests/mountingOptions/global.stubs.spec.ts +++ b/tests/mountingOptions/global.stubs.spec.ts @@ -22,7 +22,7 @@ describe('mounting options: stubs', () => { return h('p') } } - const Component: ComponentOptions = { + const Component = { render() { return h(() => [h('div'), h(Foo)]) } @@ -131,7 +131,7 @@ describe('mounting options: stubs', () => { return h('p') } } - const Component: ComponentOptions = { + const Component = { render() { return h(() => [h('div'), h(Foo)]) } @@ -283,7 +283,7 @@ describe('mounting options: stubs', () => { return h('p') } } - const Component: ComponentOptions = { + const Component = { render() { return h(() => [h(Foo), h(Bar)]) } diff --git a/yarn.lock b/yarn.lock index 370fb4a1f5..11877f1b68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1643,22 +1643,11 @@ html-tags "^3.1.0" svg-tags "^1.0.0" -"@vue/compat@^3.1.5": +"@vue/compat@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/compat/-/compat-3.2.4.tgz#d5a30b7ce40e0f3333b6d28262ab7a5977861364" integrity sha512-u/VQmEp5/Zsov4mCEV46jz4IIlsaQM/VyNE3m75g9gziwK8J6iiMT0xSvJsouNwFKIXggkAHfYeL/J3p+cObzQ== -"@vue/compiler-core@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.1.5.tgz#298f905b6065d6d81ff63756f98c60876b393c87" - integrity sha512-TXBhFinoBaXKDykJzY26UEuQU1K07FOp/0Ie+OXySqqk0bS0ZO7Xvl7UmiTUPYcLrWbxWBR7Bs/y55AI0MNc2Q== - dependencies: - "@babel/parser" "^7.12.0" - "@babel/types" "^7.12.0" - "@vue/shared" "3.1.5" - estree-walker "^2.0.1" - source-map "^0.6.1" - "@vue/compiler-core@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.4.tgz#a98d295771998c1e8dccc4ee3d52feb14b02aea9" @@ -1670,15 +1659,7 @@ estree-walker "^2.0.1" source-map "^0.6.1" -"@vue/compiler-dom@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.1.5.tgz#cbb97020c62a5faa3fbc2a97916bd98041ac9856" - integrity sha512-ZsL3jqJ52OjGU/YiT/9XiuZAmWClKInZM2aFJh9gnsAPqOrj2JIELMbkIFpVKR/CrVO/f2VxfPiiQdQTr65jcQ== - dependencies: - "@vue/compiler-core" "3.1.5" - "@vue/shared" "3.1.5" - -"@vue/compiler-dom@3.2.4", "@vue/compiler-dom@^3.1.4", "@vue/compiler-dom@^3.2.4": +"@vue/compiler-dom@3.2.4", "@vue/compiler-dom@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.4.tgz#3a43de243eba127abbe57e796a0b969d2df78c08" integrity sha512-uj1nwO4794fw2YsYas5QT+FU/YGrXbS0Qk+1c7Kp1kV7idhZIghWLTjyvYibpGoseFbYLPd+sW2/noJG5H04EQ== @@ -1686,30 +1667,7 @@ "@vue/compiler-core" "3.2.4" "@vue/shared" "3.2.4" -"@vue/compiler-sfc@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.1.5.tgz#e61e54f3a963b0f4a8e523fbb8632390dc52b0d6" - integrity sha512-mtMY6xMvZeSRx9MTa1+NgJWndrkzVTdJ1pQAmAKQuxyb5LsHVvrgP7kcQFvxPHVpLVTORbTJWHaiqoKrJvi1iA== - dependencies: - "@babel/parser" "^7.13.9" - "@babel/types" "^7.13.0" - "@types/estree" "^0.0.48" - "@vue/compiler-core" "3.1.5" - "@vue/compiler-dom" "3.1.5" - "@vue/compiler-ssr" "3.1.5" - "@vue/shared" "3.1.5" - consolidate "^0.16.0" - estree-walker "^2.0.1" - hash-sum "^2.0.0" - lru-cache "^5.1.1" - magic-string "^0.25.7" - merge-source-map "^1.1.0" - postcss "^8.1.10" - postcss-modules "^4.0.0" - postcss-selector-parser "^6.0.4" - source-map "^0.6.1" - -"@vue/compiler-sfc@^3.2.1", "@vue/compiler-sfc@^3.2.4": +"@vue/compiler-sfc@3.2.4", "@vue/compiler-sfc@^3.2.1", "@vue/compiler-sfc@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.4.tgz#9807868cc950291f163c3930a81bb16e870df097" integrity sha512-GM+ouDdDzhqgkLmBH4bgq4kiZxJQArSppJiZHWHIx9XRaefHLmc1LBNPmN8ivm4SVfi2i7M2t9k8ZnjsScgzPQ== @@ -1732,14 +1690,6 @@ postcss-selector-parser "^6.0.4" source-map "^0.6.1" -"@vue/compiler-ssr@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.1.5.tgz#f068652774293256a1e53084bed48a67682df9d2" - integrity sha512-CU5N7Di/a4lyJ18LGJxJYZS2a8PlLdWpWHX9p/XcsjT2TngMpj3QvHVRkuik2u8QrIDZ8OpYmTyj1WDNsOV+Dg== - dependencies: - "@vue/compiler-dom" "3.1.5" - "@vue/shared" "3.1.5" - "@vue/compiler-ssr@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.4.tgz#be51f219c2042b3e530373e60bc126ada6bb1cc0" @@ -1753,13 +1703,6 @@ resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.0.0-beta.15.tgz#ad7cb384e062f165bcf9c83732125bffbc2ad83d" integrity sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA== -"@vue/reactivity@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.1.5.tgz#dbec4d9557f7c8f25c2635db1e23a78a729eb991" - integrity sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg== - dependencies: - "@vue/shared" "3.1.5" - "@vue/reactivity@3.2.4", "@vue/reactivity@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.4.tgz#a020ad7e50f674219a07764b105b5922e61597ea" @@ -1767,14 +1710,6 @@ dependencies: "@vue/shared" "3.2.4" -"@vue/runtime-core@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.1.5.tgz#a545b7f146092929cb5e833e85439150f17ac87b" - integrity sha512-YQbG5cBktN1RowQDKA22itmvQ+b40f0WgQ6CXK4VYoYICAiAfu6Cc14777ve8zp1rJRGtk5oIeS149TOculrTg== - dependencies: - "@vue/reactivity" "3.1.5" - "@vue/shared" "3.1.5" - "@vue/runtime-core@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.4.tgz#da5dde3dc1e48df99dd31ea9a972f5c02acdc3f5" @@ -1783,15 +1718,6 @@ "@vue/reactivity" "3.2.4" "@vue/shared" "3.2.4" -"@vue/runtime-dom@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.1.5.tgz#4fa28947d408aa368fa17ea0edc1beb9af1472a1" - integrity sha512-tNcf3JhVR0RfW0kw1p8xZgv30nvX8Y9rsz7eiQ0dHe273sfoCngAG0y4GvMaY4Xd8FsjUwFedd4suQ8Lu8meXg== - dependencies: - "@vue/runtime-core" "3.1.5" - "@vue/shared" "3.1.5" - csstype "^2.6.8" - "@vue/runtime-dom@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.4.tgz#1025595f2ae99a12fe0e1e6bce8df6761efec24b" @@ -1809,11 +1735,6 @@ "@vue/compiler-ssr" "3.2.4" "@vue/shared" "3.2.4" -"@vue/shared@3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.1.5.tgz#74ee3aad995d0a3996a6bb9533d4d280514ede03" - integrity sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA== - "@vue/shared@3.2.4", "@vue/shared@^3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.4.tgz#ba2a09527afff27b28d08f921b4a597e9504ca7a" @@ -6496,6 +6417,11 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -6543,9 +6469,9 @@ typedarray-to-buffer@^3.1.5: is-typedarray "^1.0.0" typescript@^4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" - integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== + version "4.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.2.tgz#6d618640d430e3569a1dfb44f7d7e600ced3ee86" + integrity sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -6876,16 +6802,7 @@ vue-tsc@0.3.0: dependencies: vscode-vue-languageservice "^0.27.0" -vue@3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.1.5.tgz#12879b11d0685ee4478c8869551799630a52f9fe" - integrity sha512-Ho7HNb1nfDoO+HVb6qYZgeaobt1XbY6KXFe4HGs1b9X6RhkWG/113n4/SrtM1LUclM6OrP/Se5aPHHvAPG1iVQ== - dependencies: - "@vue/compiler-dom" "3.1.5" - "@vue/runtime-dom" "3.1.5" - "@vue/shared" "3.1.5" - -vue@^3.2.1: +vue@3.2.4, vue@^3.2.1: version "3.2.4" resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.4.tgz#d94d88675e41c050d3a722d0848a7063b5e87a60" integrity sha512-rNCFmoewm8IwmTK0nj3ysKq53iRpNEFKoBJ4inar6tIh7Oj7juubS39RI8UI+VE7x+Cs2z6PBsadtZu7z2qppg==