{"id":25362,"library":"esbuild-plugin-jsximportsource","title":"esbuild-plugin-jsximportsource","description":"An esbuild plugin that enables the @jsxImportSource pragma for automatic JSX runtime support. Version 1.0.1 is current, but the package is marked as obsolete because esbuild natively added automatic JSX runtime support in v0.14.51. This plugin provides a workaround for older esbuild versions that do not support the pragma. It ships TypeScript types and has a peer dependency on esbuild ^0.14.38. The v1 release is ESM-only, breaking CJS usage. Key differentiator: it transforms @jsxImportSource into explicit imports for the JSX factory, allowing libraries like Emotion to work with esbuild.","status":"deprecated","version":"1.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/alextompkins/esbuild-plugin-jsximportsource","tags":["javascript","esbuild","plugin","jsx","import","source","typescript"],"install":[{"cmd":"npm install esbuild-plugin-jsximportsource","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-jsximportsource","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-jsximportsource","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: plugin interfaces with esbuild's build API","package":"esbuild","optional":false}],"imports":[{"note":"v1 is ESM-only; use dynamic import() in CJS or pin v0.x","wrong":"const { jsxImportSourcePlugin } = require('esbuild-plugin-jsximportsource')","symbol":"jsxImportSourcePlugin","correct":"import { jsxImportSourcePlugin } from 'esbuild-plugin-jsximportsource'"},{"note":"The package exports a named export, not a default export.","wrong":"import jsxImportSourcePlugin from 'esbuild-plugin-jsximportsource'","symbol":"import { jsxImportSourcePlugin } from 'esbuild-plugin-jsximportsource'","correct":"import { jsxImportSourcePlugin } from 'esbuild-plugin-jsximportsource'"},{"note":"v1 is ESM-only: requires dynamic import from CJS; v0.x supports require.","wrong":"const { jsxImportSourcePlugin } = require('esbuild-plugin-jsximportsource')","symbol":"require('esbuild-plugin-jsximportsource') (CJS)","correct":"const jsxImportSourcePlugin = (await import('esbuild-plugin-jsximportsource')).jsxImportSourcePlugin"}],"quickstart":{"code":"import { jsxImportSourcePlugin } from 'esbuild-plugin-jsximportsource';\nimport * as esbuild from 'esbuild';\n\nawait esbuild.build({\n  entryPoints: ['src/index.tsx'],\n  bundle: true,\n  outfile: 'dist/bundle.js',\n  plugins: [jsxImportSourcePlugin()],\n});","lang":"typescript","description":"Demonstrates using the plugin with esbuild to bundle a TSX file, transforming @jsxImportSource pragma."},"warnings":[{"fix":"Upgrade esbuild to >=0.14.51 and remove this plugin.","message":"Package is obsolete; esbuild >=0.14.51 supports automatic JSX runtime natively.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use dynamic import() in CJS or downgrade to v0.x (e.g., 0.0.4).","message":"v1 is ESM-only; CommonJS require() will fail.","severity":"breaking","affected_versions":">=1.0.0 <2.0.0"},{"fix":"Pass filter option: jsxImportSourcePlugin({ filter: /\\.(js|ts|jsx|tsx)$/ })","message":"Plugin only transforms .jsx and .tsx files by default; other extensions need custom filter.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use dynamic import: const { jsxImportSourcePlugin } = await import('esbuild-plugin-jsximportsource');","cause":"Using require() on v1 which is ESM-only.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module not supported"},{"fix":"Use named import: import { jsxImportSourcePlugin } from 'esbuild-plugin-jsximportsource';","cause":"Default import used instead of named import.","error":"TypeError: jsxImportSourcePlugin is not a function"},{"fix":"Run npm install esbuild-plugin-jsximportsource and ensure peer dependency esbuild ^0.14.38 is satisfied.","cause":"Package not installed or version mismatch.","error":"Cannot find module 'esbuild-plugin-jsximportsource'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}