From 7cb42979a44a695bcfaa42edc5484e9ce9d43af6 Mon Sep 17 00:00:00 2001 From: pikax Date: Wed, 16 Sep 2020 09:42:26 +0100 Subject: [PATCH 1/2] types(defineComponent): fix missing exported types --- test-dts/defineComponent.test-d.tsx | 7 +++++++ test-dts/tsconfig.build.json | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/test-dts/defineComponent.test-d.tsx b/test-dts/defineComponent.test-d.tsx index 59d6a3bcb28..447f4be9d3f 100644 --- a/test-dts/defineComponent.test-d.tsx +++ b/test-dts/defineComponent.test-d.tsx @@ -900,3 +900,10 @@ describe('async setup', () => { // setup context properties should be mutable vm.a = 2 }) + +// check if defineComponent can be exported +export default defineComponent({ + setup() { + return {} + } +}) diff --git a/test-dts/tsconfig.build.json b/test-dts/tsconfig.build.json index 0ed6e46e00c..6747eb10b1a 100644 --- a/test-dts/tsconfig.build.json +++ b/test-dts/tsconfig.build.json @@ -1,10 +1,18 @@ { "extends": "./tsconfig.json", "compilerOptions": { + "noEmit": false, "paths": { "@vue/*": ["../packages/*/dist"], "vue": ["../packages/vue/dist"] } }, - "exclude": ["../packages/*/__tests__", "../packages/*/src"] + "exclude": ["../packages/*/__tests__", "../packages/*/src"], + "include": [ + "../packages/global.d.ts", + "../packages/*/dist", + "../packages/runtime-dom/types/jsx.d.ts", + "../packages/*/__tests__", + "../test-dts" + ] } From a92ac4c8a42d53f8d03fd1ebd4cb0a31341db255 Mon Sep 17 00:00:00 2001 From: pikax Date: Wed, 16 Sep 2020 10:00:42 +0100 Subject: [PATCH 2/2] chore: export types --- packages/runtime-core/src/index.ts | 5 ++++- test-dts/defineComponent.test-d.tsx | 26 ++++++++++++++++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/packages/runtime-core/src/index.ts b/packages/runtime-core/src/index.ts index bc6cedb517b..75dd69fbe8f 100644 --- a/packages/runtime-core/src/index.ts +++ b/packages/runtime-core/src/index.ts @@ -174,8 +174,11 @@ export { ComponentOptionsWithArrayProps, ComponentCustomOptions, ComponentOptionsBase, - RenderFunction + RenderFunction, + MethodOptions, + ComputedOptions } from './componentOptions' +export { EmitsOptions, ObjectEmitsOptions } from './componentEmits' export { ComponentPublicInstance, ComponentCustomProperties diff --git a/test-dts/defineComponent.test-d.tsx b/test-dts/defineComponent.test-d.tsx index 447f4be9d3f..98f8018e271 100644 --- a/test-dts/defineComponent.test-d.tsx +++ b/test-dts/defineComponent.test-d.tsx @@ -10,7 +10,8 @@ import { expectType, ComponentPublicInstance, ComponentOptions, - SetupContext + SetupContext, + h } from './index' describe('with object props', () => { @@ -902,8 +903,21 @@ describe('async setup', () => { }) // check if defineComponent can be exported -export default defineComponent({ - setup() { - return {} - } -}) +export default { + // function components + a: defineComponent(_ => h('div')), + // no props + b: defineComponent({ + data() { + return {} + } + }), + c: defineComponent({ + props: ['a'] + }), + d: defineComponent({ + props: { + a: Number + } + }) +}