vue-dts-generator
vue-dts-generator
forked from vue-dts-gen
CHANGE
- support import type from
.vue
files. - use tsconfig as internal configuration
Generate d.ts
from .vue
files.
Install
Globally:
npm i -g vue-dts-generator
Or locally:
npm i -D vue-dts-generator
Usage
ts-config.json
{
"declaration": true,
"declarationDir": "lib",
"emitDeclarationOnly": true,
"include": ["src/**/*.vue", "src/**/*.ts"]
}
vue-dts-generator
# Emits ${declarationDir}/*.d.ts
Example
Input:
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
props: {
/** Initial number */
start: {
type: Number,
required: true,
},
},
})
</script>
Output:
declare const _default: import("vue").DefineComponent<{
/** Initial number */
start: {
type: NumberConstructor;
required: true;
};
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
start: number;
} & {}>, {}>;
export default _default;
Input:
<template>
<div>hi</div>
</template>
<script lang="ts" setup>
import { defineProps } from 'vue'
defineProps<{
/** The initial number */
start: number
}>()
</script>
Output:
declare const _default: import("vue").DefineComponent<{
/** The initial number */
start: number;
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {
start?: number | undefined;
}>, {}>;
export default _default;
License
MIT © mater1996
Dependencies
Dependencies
@commitlint/cli: ^12.1.4@commitlint/config-conventional: ^12.1.4@microsoft/api-documenter: ^7.13.24@microsoft/api-extractor: ^7.16.1@rollup/plugin-alias: ^3.1.2@rollup/plugin-babel: ^5.3.0@rollup/plugin-commonjs: ^19.0.0@rollup/plugin-eslint: ^8.0.1@rollup/plugin-node-resolve: ^13.0.0@rollup/plugin-replace: ^2.4.2@types/jest: ^26.0.23@types/node: ^14.14.35@typescript-eslint/eslint-plugin: ^4.26.1@typescript-eslint/parser: ^4.26.1@vue/compiler-sfc: ^3.1.4core-js: ^3.14.0cross-env: ^7.0.3eslint: ^7.28.0eslint-config-standard-with-typescript: ^20.0.0eslint-plugin-import: ^2.23.4eslint-plugin-node: ^11.1.0eslint-plugin-promise: ^5.1.0eslint-plugin-tsdoc: ^0.2.14execa: ^5.1.1jest: ^27.0.6lint-staged: ^9.5.0release-it: ^14.10.0rollup: ^2.51.1rollup-plugin-delete: ^2.0.0rollup-plugin-terser: ^7.0.2rollup-plugin-typescript2: ^0.30.0ts-jest: ^27.0.3vue: ^3.0.7yargs: ^17.0.1