Преглед на файлове

types(defineComponent): fix missing exported types (#2124)

Carlos Rodrigues преди 5 години
родител
ревизия
be27bbc5ad
променени са 3 файла, в които са добавени 35 реда и са изтрити 3 реда
  1. 4 1
      packages/runtime-core/src/index.ts
  2. 22 1
      test-dts/defineComponent.test-d.tsx
  3. 9 1
      test-dts/tsconfig.build.json

+ 4 - 1
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

+ 22 - 1
test-dts/defineComponent.test-d.tsx

@@ -10,7 +10,8 @@ import {
   expectType,
   ComponentPublicInstance,
   ComponentOptions,
-  SetupContext
+  SetupContext,
+  h
 } from './index'
 
 describe('with object props', () => {
@@ -900,3 +901,23 @@ describe('async setup', () => {
   // setup context properties should be mutable
   vm.a = 2
 })
+
+// check if defineComponent can be exported
+export default {
+  // function components
+  a: defineComponent(_ => h('div')),
+  // no props
+  b: defineComponent({
+    data() {
+      return {}
+    }
+  }),
+  c: defineComponent({
+    props: ['a']
+  }),
+  d: defineComponent({
+    props: {
+      a: Number
+    }
+  })
+}

+ 9 - 1
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"
+  ]
 }