@vitejs/plugin-vue-jsx weekly downloads statistics
By vitejs (9 listings) · npm · Vite plugins
Provides Vue 3 JSX & TSX support with HMR.
@vitejs/plugin-vue-jsx has 1,701,254 recorded weekly downloads on npm, a decrease of 29.1% over the past 30 days, ranking #170 of 2,322 tracked listings.
About @vitejs/plugin-vue-jsx
@vitejs/plugin-vue-jsx 
Provides Vue 3 JSX & TSX support with HMR.
// vite.config.js
import vueJsx from '@vitejs/plugin-vue-jsx'
export default {
plugins: [
vueJsx({
// options are passed on to @vue/babel-plugin-jsx
}),
],
}
Options
include
Type: (string | RegExp)[] | string | RegExp | null
Default: /\.[jt]sx$/
A picomatch pattern, or array of patterns, which specifies the files the plugin should operate on.
exclude
Type: (string | RegExp)[] | string | RegExp | null
Default: undefined
A picomatch pattern, or array of patterns, which specifies the files to be ignored by the plugin.
See @vue/babel-plugin-jsx for other options.
defineComponentName
Type: string[]
Default: ['defineComponent']
The name of the function to be used for defining components. This is useful when you have a custom defineComponent function.
tsTransform
Type: 'babel' | 'built-in'
Default: 'babel'
Defines how typescript transformation is handled for .tsx files.
'babel' - typescript transformation is handled by @babel/plugin-transform-typescript during babel invocation for JSX transformation.
'built-in' - babel is invoked only for JSX transformation and then typescript transformation is handled by the same toolchain used for .ts files (currently esbuild).
babelPlugins
Type: any[]
Default: undefined
Provide additional plugins for babel invocation for JSX transformation.
tsPluginOptions
Type: any
Default: undefined
Defines options for @babel/plugin-transform-typescript plugin.
HMR Detection
This plugin supports HMR of Vue JSX components. The detection requirements are:
- The component must be exported.
- The component must be declared by calling
defineComponentor the name specified indefineComponentNamevia a root-level statement, either variable declaration or export declaration.
Supported patterns
import { defineComponent } from 'vue'
// named exports w/ variable declaration: ok
export const Foo = defineComponent({})
// named exports referencing variable declaration: ok
const Bar = defineComponent({ render() { return <div>Test</div> }})
export { Bar }
// default export call: ok
export default defineComponent({ render() { return <div>Test</div> }})
// default export referencing variable declaration: ok
const Baz = defineComponent({ render() { return <div>Test</div> }})
export default Baz
Non-supported patterns
// not using `defineComponent` call
export const Bar = { ... }
// not exported
const Foo = defineComponent(...)
Description from the npm listing.
- vite
- vite-plugin
- vue
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (122)Similar npm Vite plugins plugins
All 20 @vitejs/plugin-vue-jsx alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@vitejs/plugin-vue-jsx. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.