{"id":21269,"library":"esbuild-plugin-solid","title":"esbuild-plugin-solid","description":"An esbuild plugin for compiling Solid.js JSX components using Babel transforms with babel-preset-solid. Version 0.6.0 pairs with esbuild >=0.20 and solid-js >=1.0. The plugin automatically detects JSX syntax and applies the necessary transformations. Unlike Rollup-based bundlers like Vite/SolidStart, this plugin is a lightweight alternative for simple builds, but it may produce larger bundles due to less effective dead-code elimination. It supports TypeScript via @babel/preset-typescript and offers options for SSR, hydration, and custom Babel configurations.","status":"active","version":"0.6.0","language":"javascript","source_language":"en","source_url":"https://github.com/amoutonbrady/esbuild-plugin-solid","tags":["javascript","solid","solid-js","esbuild","plugin","typescript"],"install":[{"cmd":"npm install esbuild-plugin-solid","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-solid","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-solid","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for the plugin to apply transforms during builds","package":"esbuild","optional":false},{"reason":"Peer dependency required as the runtime for Solid components","package":"solid-js","optional":false}],"imports":[{"note":"The package exports a single named symbol. Default import is not available. CJS require works as shown in docs.","wrong":"const solidPlugin = require('esbuild-plugin-solid')","symbol":"solidPlugin","correct":"import { solidPlugin } from 'esbuild-plugin-solid'"}],"quickstart":{"code":"const esbuild = require('esbuild');\nconst { solidPlugin } = require('esbuild-plugin-solid');\n\nesbuild.build({\n  entryPoints: ['src/index.jsx'],\n  bundle: true,\n  outfile: 'dist/bundle.js',\n  plugins: [solidPlugin()],\n}).catch(() => process.exit(1));","lang":"javascript","description":"Shows the minimal setup to bundle a Solid.js entry point with esbuild using the solidPlugin."},"warnings":[{"fix":"Consider using Rollup or Vite for production builds where output size matters.","message":"Dead code elimination is less effective than Rollup; bundle sizes may be significantly larger.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use import { solidPlugin } from 'esbuild-plugin-solid' with ESM.","message":"Using require() is deprecated in ESM environments; prefer import syntax in modern Node.js.","severity":"deprecated","affected_versions":">=12.0"},{"fix":"Ensure all files needing Solid transforms contain at least one JSX expression.","message":"The plugin only transforms files that contain JSX syntax (detected by a simple regex). Files without JSX are left untouched, which may cause issues if they rely on Solid-specific transforms (e.g., reactive assignments).","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run npm install esbuild-plugin-solid --save-dev","cause":"Package not installed or not in node_modules","error":"Error: Cannot find module 'esbuild-plugin-solid'"},{"fix":"Use import { solidPlugin } from 'esbuild-plugin-solid' instead of import solidPlugin from 'esbuild-plugin-solid'","cause":"Using default import instead of named import","error":"TypeError: solidPlugin is not a function"},{"fix":"Install required Babel packages: @babel/core, @babel/preset-typescript, babel-preset-solid","cause":"Missing Babel dependencies that the plugin expects","error":"Error: Requires Babel \"@babel/core\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}