🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

Evan You b51b79f5c4 refactor: rename optimizeBindings -> optimizeImports %!s(int64=5) %!d(string=hai) anos
.circleci 359b4a30ca test: run tests with --runInBand by default %!s(int64=5) %!d(string=hai) anos
.github 4c542d5033 chore: adjust yarn warning [ci skip] %!s(int64=5) %!d(string=hai) anos
.vscode b015892de6 workflow: cross platform vscode jest debugging (#414) %!s(int64=5) %!d(string=hai) anos
packages b51b79f5c4 refactor: rename optimizeBindings -> optimizeImports %!s(int64=5) %!d(string=hai) anos
scripts 009255ab34 chore: remove unnecessary flag in release script %!s(int64=5) %!d(string=hai) anos
test-dts 1e90605c15 types(runtime-core): provide valid type for default `$emit` (#1498) %!s(int64=5) %!d(string=hai) anos
.eslintrc.js 82b28a5ecb fix(types): should unwrap array -> object -> ref %!s(int64=5) %!d(string=hai) anos
.gitignore 0478ca4cdb chore: add the yarn error log file to git ignore (#150) %!s(int64=6) %!d(string=hai) anos
.ls-lint.yml 412ec86128 fix(types): export missing types from runtime-core (#889) %!s(int64=6) %!d(string=hai) anos
.prettierrc 3401f6b460 init (graduate from prototype) %!s(int64=7) %!d(string=hai) anos
CHANGELOG.md 20df2f3817 release: v3.0.0-beta.20 %!s(int64=5) %!d(string=hai) anos
LICENSE 34989ef7fe chore: license %!s(int64=6) %!d(string=hai) anos
README.md 7b307f3116 chore: fix link in readme (#1501) %!s(int64=5) %!d(string=hai) anos
api-extractor.json e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage %!s(int64=5) %!d(string=hai) anos
jest.config.js ad4841a892 chore: ignore unreachable files from coverage %!s(int64=5) %!d(string=hai) anos
package.json 20df2f3817 release: v3.0.0-beta.20 %!s(int64=5) %!d(string=hai) anos
rollup.config.js edcbf99480 build(deps): bump build deps %!s(int64=5) %!d(string=hai) anos
tsconfig.json 0e730c06e4 chore: remove unnecessary path in tsconfig.json %!s(int64=6) %!d(string=hai) anos
yarn.lock a47478caf4 wip: compileScriptSetup full js support %!s(int64=5) %!d(string=hai) anos

README.md

vue-next beta CircleCI

Status: Beta

  • All planned RFCs have been merged.

  • All merged RFCs have been implemented.

  • Vue CLI now has experimental support via vue-cli-plugin-vue-next.

  • There is also a simple plain webpack-based setup with Single-File Component support available here.

Please note that there could still be undocumented behavior inconsistencies with 2.x. When you run into such a case, please make sure to first check if the behavior difference has already been proposed in an existing RFC. If the inconsistency is not part of an RFC, then it's likely unintended, and an issue should be opened (please make sure to use the issue helper when opening new issues).

In addition, the current implementation requires native ES2015+ in the runtime environment and does not support IE11 (yet). The IE11 compatible build will be worked on after we have reached RC stage.

Status of the rest of the framework

Vue Router

We still have a few minor router hook behavior consistency issues with vue-router@3.x, but these are the only things that is blocking the router from being marked as Beta. The router is usable for new, non-critical projects.

Vuex

The only difference between Vuex 4.0 and 3.x is that it's Vue 3 compatible! It is ready to enter RC together with Vue 3 core.

Vue CLI

Vue 3 support in Vue CLI is currently provided via the vue-cli-plugin-vue-next plugin. You can scaffold a new project and then run vue add vue-next to switch to Vue 3. Vue 3 will become a option in the project creation process when it reaches RC.

Note if you are not particularly attached to webpack and IE11 support, you can also start a Vue 3 project with Vite.

JSX Support

There are currently two JSX transform implementations for Vue 3 with slightly differing syntax (for Vue specific features):

We are using this thread to unify the design and land on an official specification of how Vue features should be handled in JSX. If you use Vue with JSX, please provide your feedback in that thread.

Other Projects

Project Status
vue-devtools WIP (beta channel with Vue 3 support in early July)
eslint-plugin-vue alpha [Github]
@vue/test-utils alpha [Github]
vue-class-component alpha [Github]
vue-loader alpha [Github]
rollup-plugin-vue alpha [Github]

Contribution

See Contributing Guide.