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

三咲智子 Kevin Deng 4062c6805a refactor(compiler-vapor): remove loc in IR %!s(int64=2) %!d(string=hai) anos
.github 4be1fc1d60 ci: show size report for push job %!s(int64=2) %!d(string=hai) anos
.vscode a82d070890 Merge remote-tracking branch 'upstream/minor' %!s(int64=2) %!d(string=hai) anos
changelogs 75dbbb80a9 chore: split out 3.3 changelog [ci skip] %!s(int64=2) %!d(string=hai) anos
packages 4062c6805a refactor(compiler-vapor): remove loc in IR %!s(int64=2) %!d(string=hai) anos
playground 681dc5d954 feat(compiler-vapor): v-for (#101) %!s(int64=2) %!d(string=hai) anos
scripts c88c6d12aa Merge remote-tracking branch 'upstream/main' %!s(int64=2) %!d(string=hai) anos
.eslintignore 1898addc01 chore: ignore files for eslint %!s(int64=2) %!d(string=hai) anos
.eslintrc.cjs 243af64f04 chore: update eslint ignore %!s(int64=2) %!d(string=hai) anos
.git-blame-ignore-revs d7bb32f9a3 chore: ignore style commit in git blame %!s(int64=2) %!d(string=hai) anos
.gitignore e145fe3c28 build: use rollup-plugin-dts for dts build %!s(int64=3) %!d(string=hai) anos
.node-version a44c2b835e ci: use `.node-version` to maintain node version (#8986) %!s(int64=2) %!d(string=hai) anos
.prettierignore bfe6b459d3 style: update format & lint config (#9162) %!s(int64=2) %!d(string=hai) anos
.prettierrc bfe6b459d3 style: update format & lint config (#9162) %!s(int64=2) %!d(string=hai) anos
BACKERS.md 507f3e7a16 chore: bust backers image cache %!s(int64=2) %!d(string=hai) anos
CHANGELOG.md ee4cd78a06 release: v3.4.15 %!s(int64=2) %!d(string=hai) anos
LICENSE d60a57542b build: add copyright and license banner %!s(int64=2) %!d(string=hai) anos
README.md ede6c29434 feat(compiler-vapor): `v-if` (#96) %!s(int64=2) %!d(string=hai) anos
SECURITY.md 7bb9dd09c5 chore: improve security.md [ci skip] %!s(int64=4) %!d(string=hai) anos
netlify.toml d7f63a132a ci: bump netlify node version %!s(int64=3) %!d(string=hai) anos
package.json c88c6d12aa Merge remote-tracking branch 'upstream/main' %!s(int64=2) %!d(string=hai) anos
pnpm-lock.yaml c88c6d12aa Merge remote-tracking branch 'upstream/main' %!s(int64=2) %!d(string=hai) anos
pnpm-workspace.yaml 2a0a3dd059 feat: basic render %!s(int64=2) %!d(string=hai) anos
rollup.config.js af9f892afa Merge remote-tracking branch 'upstream/main' %!s(int64=2) %!d(string=hai) anos
rollup.dts.config.js bfe6b459d3 style: update format & lint config (#9162) %!s(int64=2) %!d(string=hai) anos
tsconfig.build.json d28d57bd3f Merge remote-tracking branch 'upstream/minor' %!s(int64=2) %!d(string=hai) anos
tsconfig.json 15e0419106 style: format tsconfig %!s(int64=2) %!d(string=hai) anos
vitest.config.ts af9f892afa Merge remote-tracking branch 'upstream/main' %!s(int64=2) %!d(string=hai) anos
vitest.e2e.config.ts bfe6b459d3 style: update format & lint config (#9162) %!s(int64=2) %!d(string=hai) anos
vitest.unit.config.ts bfe6b459d3 style: update format & lint config (#9162) %!s(int64=2) %!d(string=hai) anos

README.md

Vue Vapor

This repository is a fork of vuejs/core and is used for research and development of no virtual dom mode.

TODO

PR are welcome!

  • Issues with todo tag
  • To-do list below (create an issue for discussion before a big feat/bug PR is required)
  • // TODO comments in code (compiler-vapor and runtime-vapor packages)

  • Counter App
    • simple bindings
    • simple events
  • TODO-MVC App
  • Repl
  • transform
    • NodeTransform
    • DirectiveTransform
  • directives
    • v-once
    • v-html
    • v-text
    • v-pre
    • v-cloak
    • v-bind
    • simple expression
    • compound expression
    • modifiers
      • .camel
      • .prop
      • .attr
    • v-on
    • simple expression
    • compound expression
    • modifiers
    • runtime directives
    • v-memo
    • #18
    • v-model
    • #17
    • needs #19 first
    • v-if / v-else / v-else-if
    • v-if
    • v-else
    • v-else-if
    • with <template>
    • #9
    • v-for
    • #21
    • v-show
  • Fragment
  • Codegen
    • CodegenContext
    • indent
    • Source map
    • Function mode
    • SSR
  • Built-in Components
    • Transition
    • TransitionGroup
    • KeepAlive
    • Teleport
    • Suspense
  • Component
  • Performance & Optimization
    • remove unnecessary close tag </div>

Codes Copied From runtime-core

The code provided here is a duplicate from runtime-core as Vapor cannot import it directly. For the time being, we copy any necessary logic from runtime-core into runtime-vapor and document it accordingly. Once the experimental development phase concludes, we will consolidate these elements into a separate software package.

  • packages/runtime-vapor/src/apiWatch.ts
  • packages/runtime-vapor/src/component.ts
  • packages/runtime-vapor/src/componentProps.ts
  • packages/runtime-vapor/src/enums.ts
  • packages/runtime-vapor/src/errorHandling.ts
  • packages/runtime-vapor/src/scheduler.ts
  • packages/runtime-vapor/src/warning.ts

If there are more, please feel free to add.

Sponsors

Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider sponsoring Vue's development.

Special Sponsor

special sponsor appwrite

sponsors

License

MIT

Copyright (c) 2013-present, Yuxi (Evan) You