{"id":25422,"library":"esbuild-plugin-vue-jsx","title":"esbuild-plugin-vue-jsx","description":"esbuild plugin providing Vue 3 JSX support via @vue/babel-plugin-jsx. Current version 0.1.0, active development. It integrates Vue's JSX compiler into esbuild's build pipeline for fast bundling. Differentiated from @vitejs/plugin-vue-jsx by being esbuild-native and not requiring Vite. Ships TypeScript types. Limited adoption; alternatives exist.","status":"active","version":"0.1.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install esbuild-plugin-vue-jsx","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-vue-jsx","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-vue-jsx","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core JSX transformation for Vue 3 components","package":"@vue/babel-plugin-jsx","optional":false},{"reason":"Peer dependency, the bundler this plugin extends","package":"esbuild","optional":false}],"imports":[{"note":"Default export only; named import will fail.","wrong":"import { vueJsx } from 'esbuild-plugin-vue-jsx'","symbol":"default","correct":"import vueJsx from 'esbuild-plugin-vue-jsx'"},{"note":"In CommonJS, destructuring from default export is incorrect.","wrong":"const { vueJsx } = require('esbuild-plugin-vue-jsx')","symbol":"vueJsx (default import)","correct":"const vueJsx = require('esbuild-plugin-vue-jsx')"},{"note":"Use type import to avoid runtime side effects.","wrong":"import VueJsxOptions from 'esbuild-plugin-vue-jsx'","symbol":"TypeScript usage","correct":"import type VueJsxOptions from 'esbuild-plugin-vue-jsx'"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport vueJsx from 'esbuild-plugin-vue-jsx';\n\nawait build({\n  entryPoints: ['src/app.tsx'],\n  bundle: true,\n  outfile: 'dist/app.js',\n  plugins: [\n    vueJsx({\n      // Pass options to @vue/babel-plugin-jsx\n      mergeProps: false,\n      enableObjectSlots: false,\n    }),\n  ],\n});","lang":"typescript","description":"Builds a Vue 3 JSX entry point with esbuild using the plugin, showing how to pass options to the underlying Babel JSX plugin."},"warnings":[{"fix":"Ensure @vue/babel-plugin-jsx is in your package.json.","message":"The plugin requires @vue/babel-plugin-jsx to be installed separately; it is a direct dependency but not automatically included.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Pin exact version or monitor releases closely.","message":"Version 0.1.0 is early; API may change without major version bump.","severity":"deprecated","affected_versions":"<1.0.0"},{"fix":"Use Vue 2 specific plugins if targeting Vue 2.","message":"The plugin only supports Vue 3 JSX syntax; Vue 2 projects require a different solution.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"npm install @vue/babel-plugin-jsx --save-dev","cause":"Missing dependency @vue/babel-plugin-jsx.","error":"Error: Cannot find module '@vue/babel-plugin-jsx'"},{"fix":"Use default import: import vueJsx from 'esbuild-plugin-vue-jsx'","cause":"Improper import: named import instead of default.","error":"TypeError: vueJsx is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}