Registry / devops / esbuild-plugin-import-transform

esbuild-plugin-import-transform

JSON →
library1.1.1jsnpmunverified

An esbuild plugin for transforming import paths and module specifiers during the build process. Current version is 1.1.1, actively maintained. It supports conditional renaming based on platform (browser/node), inline text replacements, and simple path overrides. Differentiates from generic esbuild plugins by focusing specifically on import transformation with platform-aware rules, runtime-free operation, and TypeScript type definitions included.

devops
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.

ESM-only; package is type: module, require() will throw ERR_REQUIRE_ESM.

import importTransform from 'esbuild-plugin-import-transform'

Only default export exists; named export will be undefined.

import importTransform from 'esbuild-plugin-import-transform'

Options type is not exported as value; use import type for TypeScript types.

import type { ImportTransformOptions } from 'esbuild-plugin-import-transform'

Demonstrates using esbuild-plugin-import-transform to replace lodash with lodash-es, inline text for ./utils, and conditionally map node:fs to memfs when platform is browser.

import { build } from 'esbuild'; import importTransform from 'esbuild-plugin-import-transform'; await build({ entryPoints: ['src/index.js'], bundle: true, outfile: 'dist/out.js', plugins: [ importTransform({ 'lodash': 'lodash-es', './utils': { text: 'export function helper() { return 42; }' }, 'node:fs': { platform: 'browser', to: 'memfs' } }) ] });
Debug
Known footguns
breakingThe plugin is ESM-only and requires Node >=18 because it uses import.meta and top-level await. CommonJS require() will fail.
breakingThe package only provides a default export. Named exports like { importTransform } do not exist.
deprecatedNo breaking changes have been declared; however, the plugin is early stage and future versions may introduce breaking changes.
gotchaTransform options for platform-specific mappings only apply when the esbuild 'platform' build option matches exactly. If not set, default mapping applies.
gotchaWhen providing 'text' in transform options, the replacement is plain text and not a full module; it must be valid JavaScript/TypeScript export statements.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
8 hits · last 30 days
gptbot
3
ahrefsbot
2
bingbot
1
Resources