Registry / web-framework / esbuild-fix-imports-plugin

esbuild-fix-imports-plugin

JSON →
library1.0.23jsnpmunverified

An ESBuild plugin (v1.0.23) that fixes import paths in bundleless ESBuild/tsup builds by resolving TypeScript path aliases, replacing directory imports with explicit index file paths, and appending correct file extensions. Released actively, it combines three sub-plugins (fixAliasPlugin, fixFolderImportsPlugin, fixExtensionsPlugin) and an optional writeFilePlugin for memory-based builds. Key differentiator: solves common issues when bundling is disabled and output files need correct relative imports for Node.js or browser consumption.

npm install esbuild-fix-imports-plugin
INSTALL
IMPORT
SIG · ESBUILD-FIX-IMPORT
E
esbuild-fix-imports-plugin
web-frameworkjavascriptv1.0.23
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

fixImportsPlugin
import { fixImportsPlugin } from 'esbuild-fix-imports-plugin'
import fixImportsPlugin from 'esbuild-fix-imports-plugin'
Named export, not default. Works with ESM and CJS via separate entry points.
fixAliasPlugin
import { fixAliasPlugin } from 'esbuild-fix-imports-plugin'
const { fixAliasPlugin } = require('esbuild-fix-imports-plugin')
Named export, available as sub-export. CommonJS require may fail if package is ESM-only in future versions.
writeFilePlugin
import { writeFilePlugin } from 'esbuild-fix-imports-plugin/dist/esm/writeFilePlugin.mjs'
import { writeFilePlugin } from 'esbuild-fix-imports-plugin'
Separate file, not exported from main entry; used in the recommended esbuild.mjs pattern.

Demonstrates using fixImportsPlugin with writeFilePlugin in an ESBuild script that fixes import paths in bundleless builds.

import { build } from 'esbuild'; import { fixImportsPlugin, writeFilePlugin } from 'esbuild-fix-imports-plugin'; import fg from 'fast-glob'; async function buildAll() { const entryPoints = await fg(['src/**/*'], { onlyFiles: true }); await build({ entryPoints, bundle: false, write: false, outdir: 'dist', platform: 'node', format: 'esm', plugins: [ fixImportsPlugin(), writeFilePlugin(), ], tsconfig: './tsconfig.json', }); } buildAll();
Debug
Known issues
deprecatedtsup is discouraged; the README states 'Consider using ESBuild directly as TSUP is deprecated.'
fix
Migrate to ESBuild directly with the plugin setup shown in the README.
affects: *
gotchawrite: false is required when using writeFilePlugin; setting write: true will cause build failures as the plugin expects to write files in memory.
fix
Set write: false in ESBuild options and use writeFilePlugin() to output files.
affects: *
gotchaThe plugin expects tsconfig.json with paths defined; missing or incorrect tsconfig can cause alias resolution to fail silently.
fix
Ensure tsconfig.json contains a paths mapping and the tsconfig option is properly passed to ESBuild.
affects: *
Errors
Common errors & fixes
Error: writeFilePlugin requires write: false in esbuild options
Using writeFilePlugin with write: true (default) causes conflict because the plugin writes files manually.
fix
Set write: false in ESBuild build options.
Cannot find module 'esbuild-fix-imports-plugin'
Package not installed or incorrect import path (e.g., using default import instead of named).
fix
Run npm install esbuild-fix-imports-plugin and use named import: import { fixImportsPlugin } from 'esbuild-fix-imports-plugin'.
TypeError: fixImportsPlugin is not a function
Importing the default export (undefined) instead of the named export.
fix
Use import { fixImportsPlugin } from 'esbuild-fix-imports-plugin' (curly braces).
Upgrade
Version history
1.0.23latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency; the plugin is designed to work as an ESBuild plugin
fast-globoptionalused in the recommended esbuild.mjs setup to collect entry points
Agent activity
6 hits · last 30 days
node
4
Bingbot
1
OpenAI (training)
1
Resources
esbuild-fix-imports-plugin — npm install esbuild-fix-imports-plugin · libregistry