vuejs / language-tools

⚡ High-performance Vue language tooling based-on Volar.js
https://marketplace.visualstudio.com/items?itemName=Vue.volar
MIT License
5.87k stars 403 forks source link

chore: remove side effects #4871

Closed vikingair closed 1 month ago

vikingair commented 1 month ago

This would allow bundlers to tree shake the module code when imports are not done via import type.

E.g.,

import { ComponentProps } from 'vue-component-type-helpers';

Also, I would like to know why the code needs to be default exported as a string containing the same TS code again. Is it maybe some artifact from the past and or only relevant to Vue2?

pkg-pr-new[bot] commented 1 month ago

Open in Stackblitz

vue-component-meta

``` pnpm add https://pkg.pr.new/vuejs/language-tools/vue-component-meta@4871 ```

vue-component-type-helpers

``` pnpm add https://pkg.pr.new/vuejs/language-tools/vue-component-type-helpers@4871 ```

@vue/language-core

``` pnpm add https://pkg.pr.new/vuejs/language-tools/@vue/language-core@4871 ```

@vue/language-plugin-pug

``` pnpm add https://pkg.pr.new/vuejs/language-tools/@vue/language-plugin-pug@4871 ```

@vue/language-server

``` pnpm add https://pkg.pr.new/vuejs/language-tools/@vue/language-server@4871 ```

@vue/language-service

``` pnpm add https://pkg.pr.new/vuejs/language-tools/@vue/language-service@4871 ```

vue-tsc

``` pnpm add https://pkg.pr.new/vuejs/language-tools/vue-tsc@4871 ```

@vue/typescript-plugin

``` pnpm add https://pkg.pr.new/vuejs/language-tools/@vue/typescript-plugin@4871 ```

commit: 16ca1fd

johnsoncodehk commented 1 month ago

LGTM, Thanks!

Also, I would like to know why the code needs to be default exported as a string containing the same TS code again. Is it maybe some artifact from the past and or only relevant to Vue2?

That's because the code snippet needs to be used as virtual code in vue-component-meta.