{"id":25421,"library":"esbuild-plugin-vue-iii","title":"esbuild-plugin-vue-iii","description":"A plugin for esbuild that compiles Vue 3 Single-File Components (.vue files) including `<script setup>`. Version 0.5.0, updated irregularly. It leverages internal modules from `@vitejs/plugin-vue` with an interface adapted for esbuild. Unlike Vite's plugin, it does not require Rollup or Vite, making it suitable for projects that want a lighter build pipeline. However, it lacks support for pre-processors, CSS Modules, custom blocks, SFC src imports, and source maps. TypeScript definitions are included.","status":"active","version":"0.5.0","language":"javascript","source_language":"en","source_url":"https://github.com/kena0ki/esbuild-plugin-vue-iii","tags":["javascript","esbuild","plugin","vue","vue3","single file components","SFC","typescript"],"install":[{"cmd":"npm install esbuild-plugin-vue-iii","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-vue-iii","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-vue-iii","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency, required to run the plugin","package":"esbuild","optional":false}],"imports":[{"note":"Package ships both ESM and CJS; named export is preferred.","wrong":"const { vue3Plugin } = require('esbuild-plugin-vue-iii')","symbol":"vue3Plugin","correct":"import { vue3Plugin } from 'esbuild-plugin-vue-iii'"},{"note":"Default export is also available, same as named export.","wrong":null,"symbol":"default (vue3Plugin)","correct":"import vue3Plugin from 'esbuild-plugin-vue-iii'"},{"note":"CommonJS require still works but ESM is recommended.","wrong":"const build = require('esbuild').build","symbol":"build (esbuild)","correct":"import { build } from 'esbuild'"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport { vue3Plugin } from 'esbuild-plugin-vue-iii';\n\nbuild({\n  entryPoints: ['src/main.ts'],\n  bundle: true,\n  outdir: 'dist',\n  plugins: [vue3Plugin()],\n}).catch(() => process.exit(1));","lang":"typescript","description":"Shows minimal usage of esbuild with the Vue 3 SFC plugin to bundle a TypeScript entry point."},"warnings":[{"fix":"Use separate build step or inline precompiled CSS.","message":"No support for pre-processors (SCSS, Less, etc.) inside <style>","severity":"gotcha","affected_versions":"<1.0"},{"fix":"Use a different plugin or extract styles manually.","message":"CSS Modules not supported. All styles are global.","severity":"gotcha","affected_versions":"<1.0"},{"fix":"No workaround currently; consider using Vite for source maps.","message":"Source maps are not generated for .vue files.","severity":"gotcha","affected_versions":"<1.0"},{"fix":"Inline templates/scripts/styles in the .vue file.","message":"SFC src imports (e.g. <template src='./template.html'>) are not supported.","severity":"gotcha","affected_versions":"<1.0"},{"fix":"Handle custom blocks with a separate loader.","message":"Custom blocks (<i18n>, <docs>) are ignored.","severity":"gotcha","affected_versions":"<1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure <style> contains plain CSS or remove pre-processor usage.","cause":"Pre-processor or unclosed style tag in .vue file.","error":"Error: Build failed with 1 error: error: Unexpected end of file in style block"},{"fix":"Run 'npm install -D esbuild-plugin-vue-iii'","cause":"Package not installed.","error":"Cannot find module 'esbuild-plugin-vue-iii'"},{"fix":"Use named import: import { vue3Plugin } from 'esbuild-plugin-vue-iii'","cause":"Using ESM import without default export (if not available) or wrong import syntax.","error":"Error: No matching export in 'esbuild-plugin-vue-iii' for import 'default'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}