From 74baea108aa93377c4959f9a6b8bc8f9548700ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Mon, 13 Jan 2020 23:12:45 +0100 Subject: [PATCH] fix(types): components options should accept components defined with defineComponent (#602) --- packages/runtime-core/src/apiOptions.ts | 5 ++++- test-dts/defineComponent.test-d.tsx | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/src/apiOptions.ts b/packages/runtime-core/src/apiOptions.ts index ad1ab8676a5..2de548cf335 100644 --- a/packages/runtime-core/src/apiOptions.ts +++ b/packages/runtime-core/src/apiOptions.ts @@ -63,7 +63,10 @@ export interface ComponentOptionsBase< // Luckily `render()` doesn't need any arguments nor does it care about return // type. render?: Function - components?: Record + components?: Record< + string, + Component | { new (): ComponentPublicInstance } + > directives?: Record inheritAttrs?: boolean diff --git a/test-dts/defineComponent.test-d.tsx b/test-dts/defineComponent.test-d.tsx index 5ae79cfefc9..20ead670e3e 100644 --- a/test-dts/defineComponent.test-d.tsx +++ b/test-dts/defineComponent.test-d.tsx @@ -259,3 +259,11 @@ describe('compatibility w/ createApp', () => { }) createApp().mount(comp3, '#hello') }) + +describe('defineComponent', () => { + test('should accept components defined with defineComponent') + const comp = defineComponent({}) + defineComponent({ + components: { comp } + }) +})