{"id":25367,"library":"esbuild-plugin-lingui-macro","title":"esbuild-plugin-lingui-macro","description":"An esbuild plugin that automatically adds Babel with @lingui/babel-plugin-lingui-macro to compile Lingui macros (e.g., t, plural, select) during esbuild builds. Version 1.0.2 requires peer dependencies @lingui/cli and @lingui/conf (v5 or v6) and esbuild. Only processes files that import Lingui macros, minimizing overhead. Lightweight alternative to integrating Babel/SWC manually when no other transpiler is in the pipeline. Ships TypeScript types.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/timofei-iatsenko/esbuild-plugin-lingui-macro","tags":["javascript","esbuild","esbuild-plugin","lingui","macro","typescript"],"install":[{"cmd":"npm install esbuild-plugin-lingui-macro","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-lingui-macro","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-lingui-macro","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required peer dependency for Lingui compilation","package":"@lingui/cli","optional":false},{"reason":"Required peer dependency for Lingui configuration","package":"@lingui/conf","optional":false},{"reason":"Required peer dependency as the build tool","package":"esbuild","optional":false}],"imports":[{"note":"Named export only; no default export.","wrong":"import pluginLinguiMacro from 'esbuild-plugin-lingui-macro'","symbol":"pluginLinguiMacro","correct":"import { pluginLinguiMacro } from 'esbuild-plugin-lingui-macro'"},{"note":"CommonJS must destructure the named export.","wrong":"const pluginLinguiMacro = require('esbuild-plugin-lingui-macro')","symbol":"pluginLinguiMacro","correct":"const { pluginLinguiMacro } = require('esbuild-plugin-lingui-macro')"},{"note":"For type-only import when not calling directly (e.g., in .d.ts), use import type.","wrong":"import { pluginLinguiMacro } from 'esbuild-plugin-lingui-macro'","symbol":"pluginLinguiMacro","correct":"import type { pluginLinguiMacro } from 'esbuild-plugin-lingui-macro'"}],"quickstart":{"code":"import { pluginLinguiMacro } from 'esbuild-plugin-lingui-macro';\nimport esbuild from 'esbuild';\n\nawait esbuild.build({\n  entryPoints: ['src/index.ts'],\n  bundle: true,\n  outfile: 'dist/bundle.js',\n  plugins: [pluginLinguiMacro()],\n});","lang":"typescript","description":"Minimal setup to use the plugin with esbuild, compiling Lingui macros in entry point."},"warnings":[{"fix":"Ensure your source files import from @lingui/macro.","message":"Plugin only processes files where a Lingui macro import (e.g., t, plural) is found. It does not run Babel on all files.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use the respective plugin directly for better performance and flexibility.","message":"If you already have Babel or SWC in your esbuild pipeline, prefer using @lingui/babel-plugin-lingui-macro or @lingui/swc-plugin directly instead of this plugin.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Upgrade Lingui packages to v5 or v6.","message":"Requires peer dependencies @lingui/cli and @lingui/conf version 5 or 6. Incompatible with older Lingui versions.","severity":"breaking","affected_versions":"1.0.0 - 1.0.2"},{"fix":"Implement esbuild caching or use SWC for faster transformation.","message":"The plugin adds Babel transformation which can slow down builds. Consider caching if build times are critical.","severity":"gotcha","affected_versions":">=1.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 @lingui/cli --save-dev","cause":"Missing required peer dependency @lingui/cli.","error":"Error: Cannot find module '@lingui/cli'"},{"fix":"Correct import: import { pluginLinguiMacro } from 'esbuild-plugin-lingui-macro'","cause":"Incorrect import: used default import instead of named import.","error":"TypeError: pluginLinguiMacro is not a function"},{"fix":"Check your Lingui configuration and source files for macro usage. Ensure @lingui/cli is set up correctly.","cause":"A Babel error occurred during macro compilation, likely due to misconfigured Lingui or syntax error.","error":"Error: [esbuild] [plugin esbuild-plugin-lingui-macro] Babel error: ..."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}