# vuejs/babel-plugin-jsx

JSX for Vue 3

Repository: https://github.com/vuejs/babel-plugin-jsx
Canonical: https://ross.abutalabs.com/products/babel-plugin-jsx
Homepage: https://vue-jsx-explorer.netlify.app
Language: TypeScript
License: MIT
License Family: permissive
Topics: jsx, vuejs
Last push: 2026-08-26T16:09:12+00:00

## Health v2 (maintenance only)
Score: 92/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 77, longevity 100
- inputs: {"age_days": 2308, "days_push": 7, "days_rel": 72, "gap_med": 57, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1782, forks 148 (observed 2026-08-28T04:05:35.681471+00:00)

## What it is
A Babel plugin that adds JSX syntax support for Vue 3, compiling JSX expressions into Vue's virtual DOM render functions. It offers options like patch flag optimization, prop merging, and custom element handling.

## Use cases
- write Vue 3 components using JSX instead of templates
- use functional components with JSX in Vue 3
- migrate React-style JSX codebases to Vue 3
- optimize Vue JSX rendering with patch flags
- configure custom elements in Vue JSX
- use TypeScript with Vue JSX components

## When to choose
- you prefer JSX over Vue single-file templates
- you need dynamic rendering logic that's awkward in templates
- you're building Vue 3 apps with TypeScript and JSX
- you want functional components with full JSX support

## When to avoid
- you're using Vue 2 (this plugin targets Vue 3)
- your project relies on template-only features like directives without JSX equivalents
- you need the full optimization power of Vue's template compiler

## Facets
- artifact type: plugin
- maturity: active
- function: build-tool, frontend-framework, templating
- domain: web-development, frontend, developer-tools
- platform: -
- tags: jsx, vue3, babel-plugin, typescript, nodejs, javascript

## Member repositories
- vuejs/babel-plugin-jsx (main) score 92

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:35.681471+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:24:23.510076+00:00, confidence not recorded.
  - readme: https://github.com/vuejs/babel-plugin-jsx (fetched 2026-08-28T04:05:35.681471+00:00, sha 8ddc34438044)
  - homepage: https://vue-jsx-explorer.netlify.app (fetched 2026-08-29T11:03:15.995476+00:00, sha e05b6f186a74)
- Data as of 2026-08-30T08:39:29.467469+00:00.
