Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/egoist/vue-dts-gen

Generate `d.ts` from `.vue` files.
https://github.com/egoist/vue-dts-gen

Last synced: about 2 months ago
JSON representation

Generate `d.ts` from `.vue` files.

Awesome Lists containing this project

README

        

# Please use [vue-tsc](https://github.com/johnsoncodehk/volar/tree/master/packages/vue-tsc) instead: `vue-tsc --declaration --emitDeclarationOnly`

**💛 You can help the author become a full-time open-source maintainer by [sponsoring him on GitHub](https://github.com/sponsors/egoist).**

---

# vue-dts-gen

[![npm version](https://badgen.net/npm/v/vue-dts-gen)](https://npm.im/vue-dts-gen)

Generate `d.ts` from `.vue` files.

## Install

Globally:

```bash
npm i -g vue-dts-gen
```

Or locally:

```
npm i -D vue-dts-gen
```

## Usage

Output directory is determined by `outDir` in `tsconfig.json`.

Assuming the `outDir` is `dist`:

```bash
vue-dts-gen src/App.vue
# Emits dist/App.d.ts

# Or glob patterns
vue-dts-gen "src/*.{ts,vue}"
# Emits dist/*.d.ts
```

Only `d.ts` files are emitted.

## Example

**Input:**

```vue

import { defineComponent } from 'vue'

export default defineComponent({
props: {
/** Initial number */
start: {
type: Number,
required: true,
},
},
})

```

**Output:**

```ts
declare const _default: import("vue").DefineComponent<{
/** Initial number */
start: {
type: NumberConstructor;
required: true;
};
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
start: number;
} & {}>, {}>;
export default _default;
```

**Input:**

```vue

hi

import { defineProps } from 'vue'

defineProps<{
/** The initial number */
start: number
}>()

```

**Output**:

```ts
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 © [EGOIST](https://github.com/sponsors/egoist)