UNPKG

1.14 kBMarkdownView Raw
1# vue-ast-utils <a href="https://npm.im/vue-ast-utils"><img src="https://badgen.net/npm/v/vue-ast-utils"></a> <a href="https://npm.im/vue-ast-utils"><img src="https://badgen.net/npm/dm/vue-ast-utils"></a> <a href="https://packagephobia.now.sh/result?p=vue-ast-utils"><img src="https://packagephobia.now.sh/badge?p=vue-ast-utils"></a> <a href="https://bundlephobia.com/result?p=vue-ast-utils"><img src="https://badgen.net/bundlephobia/minzip/vue-ast-utils"></a>
2
3Utils for working with Vue 3 AST nodes
4
5## 🙋‍♂️ Why?
6Vue 3 comes with types, but ambient const enums cannot be accessed when building your project with [`isolatedModules`](https://www.typescriptlang.org/tsconfig#isolatedModules):
7
8```ts
9import { NodeTypes } from '@vue/compiler-core';
10
11console.log(NodeTypes.ATTRIBUTE === Node.type);
12// ⚠️ Cannot access ambient const enums when the '--isolatedModules' flag is provided. ts(2748)
13```
14
15Related issue: [vue-next#1228](https://github.com/vuejs/vue-next/issues/1228)
16
17These utils contain type checking so you don't need to import ambient types.
18
19## 🚀 Install
20```sh
21npm i -D vue-ast-utils @vue/compiler-core
22```