{"id":25199,"library":"electron-esbuild-17x","title":"electron-esbuild","description":"CLI tool for integrating esbuild with Electron, providing fast compilation and HMR for renderer processes. Current stable version is 7.0.4 (peer deps: esbuild@0.16.x, vite@4.x). Active development with major breaking changes between versions: v6 removed webpack support, v7 upgraded to vite@4, v8 requires node@18.15 and esbuild@0.18, v9 is pure ESM, v10 supports electron@36 and vite@6. Release cadence is roughly quarterly. Key differentiator: opinionated zero-config setup for Electron + esbuild + Vite, with HMR out of the box.","status":"active","version":"7.0.4","language":"javascript","source_language":"en","source_url":"https://github.com/Kiyozz/electron-esbuild","tags":["javascript","esbuild","electron","renderer","hmr","hot reload","cli"],"install":[{"cmd":"npm install electron-esbuild-17x","lang":"bash","label":"npm"},{"cmd":"yarn add electron-esbuild-17x","lang":"bash","label":"yarn"},{"cmd":"pnpm add electron-esbuild-17x","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Bundler for main process and renderer","package":"esbuild","optional":false},{"reason":"Dev server and build tool for renderer","package":"vite","optional":false}],"imports":[{"note":"Package is CLI-only since v9 (pure ESM); no default export available in latest versions. Use the CLI commands directly.","wrong":"const electronESBuild = require('electron-esbuild')","symbol":"default export","correct":"import electronESBuild from 'electron-esbuild'"},{"note":"Scoped package for scaffolding; ESM-only since v9.","wrong":"const createApp = require('@electron-esbuild/create-app')","symbol":"createApp","correct":"import { createApp } from '@electron-esbuild/create-app'"},{"note":"Internal CLI exports; prefer running `electron-esbuild dev` from command line.","wrong":"const dev = require('electron-esbuild/cli').dev","symbol":"dev","correct":"import { dev } from 'electron-esbuild/cli'"}],"quickstart":{"code":"npm init @electron-esbuild/app my-app\ncd my-app\nnpm run dev","lang":"javascript","description":"Scaffolds a new Electron project with esbuild and Vite, then starts development with HMR."},"warnings":[{"fix":"Migrate to Vite configuration; run `npm init @electron-esbuild/app` to generate new project skeleton.","message":"v6.0.0 removed webpack support—use Vite instead.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Update vite.config.ts/js to use Vite 4 syntax (e.g., server.port).","message":"v7.0.0 requires vite@4; existing projects must update Vite config.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Upgrade Node and esbuild to meet version requirements.","message":"v8.0.0 requires node@18.15.0 and esbuild@0.18.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Use `import` syntax or set `type: 'module'` in package.json.","message":"v9.0.0 switched to pure ESM; CommonJS `require()` will fail.","severity":"breaking","affected_versions":">=9.0.0"},{"fix":"Update electron and vite to compatible versions.","message":"v10.0.0 requires electron@36 and vite@6.","severity":"breaking","affected_versions":">=10.0.0"},{"fix":"Place flags for electron after `--`, e.g., `electron-esbuild dev -- --inspect`.","message":"CLI arguments after `--` are passed to the electron process, not to electron-esbuild itself.","severity":"gotcha","affected_versions":"*"},{"fix":"Set `server.port` in vite.config.ts/js explicitly or update project to use port 5173.","message":"Default Vite port changed from 9080 (v6) to 5173 (v7+); existing projects may break.","severity":"gotcha","affected_versions":">=7.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npx electron-esbuild dev` or install locally `npm install --save-dev electron-esbuild` and use npm scripts.","cause":"Package not installed globally or not in PATH.","error":"Error: electron-esbuild is not recognized as an internal or external command"},{"fix":"Set `\"type\": \"module\"` in package.json or rename file to .mjs.","cause":"Trying to use ESM import in a CommonJS project (applies to v9+).","error":"SyntaxError: Cannot use import statement outside a module"},{"fix":"Run `npm install vite@4` (or compatible version per electron-esbuild version).","cause":"Peer dependency vite is not installed.","error":"Error: Cannot find module 'vite'"},{"fix":"Set a custom port in vite.config.ts: `server: { port: 3000 }`.","cause":"Default Vite port 5173 is occupied by another process (or port 9080 in v6).","error":"Error: The port was already in use"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}