An esbuild plugin that transforms named imports from a library (e.g., antd, lodash) into modular 'import on demand' requires, converting import { Button } from 'antd' to require('antd/lib/button/index'). Supports style injection (CSS/LESS files), custom library directory, camel-to-dash conversion, and custom name functions. Version 0.0.12, no regular release cadence. Key differentiator: brings babel-plugin-import-like functionality to esbuild, enabling tree-shaking of large component libraries. Peer dependency on lodash.
npm install esbuild-dynamic-import-pluginNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates esbuild configuration with the plugin to transform antd imports on demand, including style injection.
Pin library versions (e.g., antd@4.x) and test after upgrades. Use semver ranges cautiously.
Ensure your esbuild configuration includes a CSS plugin (e.g., 'esbuild-sass-plugin' for Sass) or compile styles separately.
If you encounter issues with __toModule, consider using the plugin's customName function to adjust imports, or test compatibility with your esbuild version.
Set the 'libraryDirectory' option to match the library's actual subdirectory (e.g., 'es' for antd ES modules).
Use 'const importPlugin = require("esbuild-dynamic-import-plugin")' or 'import importPlugin from "esbuild-dynamic-import-plugin"'.Set 'libraryDirectory' to 'es' or configure 'styleLibraryDirectory' to match the actual path.