@vue-jsx/runtime
vue-jsx-vapor
Vapor Mode of Vue JSX.
Features
- ⚡️ High Performance: It has the same performance as Vue Vapor!
- ⚒️ Directives: Full support for all Vue built-in directives in JSX syntax.
- ✨ Macros: Support most macros of Vue, Friendly to JSX.
- 🦀 Rust Compiler: Powered by Oxc, 35× faster (Virtual DOM) and 50× faster (Vapor) than Babel.
- 🦾 Type Safe: Provide Volar plugin support by install TS Macro (VSCode plugin).
- ⚙️ ESLint Integration: Includes an ESLint plugin for automatic formatting of directives and macros.
Installation
npm i vue-jsx-vapor
Usage
Vite
// vite.config.ts
import VueJsxVapor from 'vue-jsx-vapor/vite'
export default defineConfig({
plugins: [VueJsxVapor()],
})
Example: playground/
Rollup
// rollup.config.js
import VueJsxVapor from 'vue-jsx-vapor/rollup'
export default {
plugins: [VueJsxVapor()],
}
Webpack
// webpack.config.js
module.exports = {
/* ... */
plugins: [require('vue-jsx-vapor/webpack')()],
}
Nuxt
// nuxt.config.js
export default defineNuxtConfig({
modules: ['vue-jsx-vapor/nuxt'],
})
This module works for both Nuxt 2 and Nuxt Vite
Vue CLI
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [require('vue-jsx-vapor/webpack')()],
},
}
esbuild
// esbuild.config.js
import { build } from 'esbuild'
import VueJsxVapor from 'vue-jsx-vapor/esbuild'
build({
plugins: [VueJsxVapor()],
})
Parcel
Install parcel-transformer-vue-tsx and add it to your .parcelrc:
npm i -D parcel @parcel/config-default parcel-transformer-vue-tsx @vue-jsx-vapor/runtime
{
"extends": "@parcel/config-default",
"transformers": {
"*.tsx": ["parcel-transformer-vue-tsx", "..."]
}
}
If your project mixes Vue Vapor TSX with other TSX variants, use a more specific pattern such as *.vapor.tsx instead.
Related Packages
Version History
Pre-releases (6)
| Version | Released | License |
|---|---|---|
| 3.3.0-rc.4 | MIT | |
| 3.3.0-rc.3 | MIT | |
| 3.3.0-rc.2 | MIT | |
| 3.3.0-rc.1 | MIT | |
| 3.3.0-beta.1 | MIT | |
| 3.3.0-beta.0 | MIT |