A lot of work lies ahead to get Vetur to 1.0. This roadmap exists to:
This issue is a live document updated frequently.
This issue supersedes #188.
Please make the discussion stay high-level.
Good Discussion: ๐
Bad Discussion: ๐
Here is how Vetur looks like from each feature area. In each section, I describe:
This section provides a high-level overview and omits smaller bugs.
Vote for areas that you want more support:
๐ Smart Editing in Template InterpolationsIn Vue file's <template>
region, you can use interpolations. For example, in this snippet:
<div v-if="this.foo">{{ this.bar }}</div>
both this.foo
and this.bar
are template interpolations. Currently, Vetur has no smart editing support for them, including:
Full support for interpolations requires a new dedicated Language Service. Some ground-work (#802, #800, #786) was done to make this Language Service testable, maintainable and able to serve as the basis for implementing all language features.
Complexity lies in
this
are bound to global scope. For example, instead of <div v-if="this.foo">
, you can do <div v-if="foo">
.Currently, Vetur provides no multi-root support. Also, if your Vue project is not on the top-level, Vetur will not activate. The current plan is to make Vetur activate on each folder of a multi-root setup, if a folder contains a package.json
. Instead of supporting sub-folders such as /client/
, we'll advise people to open both /
and /client
so Vetur could work on the subfolder.
We have no support for JSX yet. This should be implemented as a TypeScript plugin, same as lit-html.
Issues:
TS Plugin allows us to take control of editing experience for JS/TS files. This is required for rename support, so that you can run renaming on a JS file and see all <script>
regions in Vue files getting updated.
Vetur would need to setup a TS Plugin and bi-directional communication between Vue-Language-Server and it. There's a lot of uncertainty and complexity involved.
This could also lift the limitation that you need to add .vue
suffix when importing Vue files from JS/TS.
A lot of new TS smart-editing features have come to VS Code. Some of them benefit Vetur directly, others would need manual integration:
<script>
region. Auto-import component in <script> when using component in template/javascript #684.In addition to bringing these features to Vetur's support for <script>
region, we can also think about what more we can do in the context of .vue files. For example, refactor support for <template>
that would extract a sub-tree into a new component.
Vetur already has integration with emmet | prettier | prettier-eslint | eslint-plugin-vue
, and framework integration with many Vue-based frameworks. Issues for those are tracked in integration:<tool>
labels.
What's missing are:
prettier
. Opt to use locally installed version of Prettier if available #523.Hopefully, we can also reach a spec for describing Vue components (similar to dts files) that would make it easy to:
Related: vuejs/vue#7186
Stability / PerformanceVetur has been stable and performant enough for most people to use daily. However, there are a few perf-related issues we need to fix:
Vetur brings in many tooling libraries and try to make them working harmoniously in .vue files, such as vscode-css-languageservice, prettier and language-stylus. However, we don't have the following tooling libraries:
vscode-css-languageservice
, but newer features in CSS aren't covered).I wouldn't have time to work on any of these as of now, so features in this areas are blocked.
ContributionThis is a daunting todo list. I would very much love contributions!
There are many ways you could contribute. Two major ways:
If you do want to take major features, please open issue to discuss about it early. Otherwise, you might do a lot of unnecessary work by going to the wrong direction.
Justineo, blake-newman, posva, patrickcate, rstoenescu and 163 morekunalkundaje, faisalhakim47, gomezcabo, arszp10, NavyAdmiral and 23 morekytosai, hnhtag, dvelikiy, simultsop, Virgiel and 25 morepiemekanika, Virgiel, kevcodez, limeandcoconut, CherishIt and 16 morepiemekanika, Ky6uk, johnsmithjsjs, imsunhao, Makeyko and 12 more
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4