Registry / devops / esbuild-plugin-inline-import

esbuild-plugin-inline-import

JSON →
library1.1.0jsnpmunverified

An esbuild plugin that inlines the contents of static imports matching a configurable filter (default: `inline:` prefix). Current stable version is 1.1.0, with a maintenance status. It offers a simple `transform` callback to process imported file contents (e.g., run Sass, prepend headers), and supports stacking multiple instances for different import prefixes. Unlike generic esbuild plugins, this one is purpose-built for inlining with minimal configuration. Works with esbuild's bundling pipeline and ships TypeScript definitions. Release cadence is low (last release in 2022).

npm install esbuild-plugin-inline-import
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-INL
E
esbuild-plugin-inline-import
devopsjavascriptv1.1.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

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

inlineImportPlugin
import inlineImportPlugin from 'esbuild-plugin-inline-import';
const { inlineImportPlugin } = require('esbuild-plugin-inline-import');
Default export; named exports are not available. CJS require yields the plugin function directly.
default export (function)
const inlineImportPlugin = require('esbuild-plugin-inline-import');
const inlineImportPlugin = require('esbuild-plugin-inline-import').default;
For CJS, the module exports the function directly. No `.default` property.
InlineImportPluginOptions
import type { InlineImportPluginOptions } from 'esbuild-plugin-inline-import';
import { InlineImportPluginOptions } from 'esbuild-plugin-inline-import';
Options type is exported as a type-only export. Must be imported with `type` keyword in TypeScript.

Shows basic usage: import plugin, configure with optional filter and transform, and include in esbuild build.

import esbuild from 'esbuild'; import inlineImportPlugin from 'esbuild-plugin-inline-import'; await esbuild.build({ entryPoints: ['src/app.ts'], bundle: true, outfile: 'dist/out.js', plugins: [ inlineImportPlugin({ filter: /^inline:/, transform: async (contents, args) => { // Example: prepend a license comment return `/* License */\n${contents}`; } }) ] }).catch(() => process.exit(1));
Debug
Known issues
gotchaPlugin must be placed before other plugins in the plugins array, otherwise resolution errors may occur.
fix
Ensure `inlineImportPlugin()` is the first plugin in the `plugins` array.
affects: >=1.0.0
gotchaThe `transform` function is called for every matching import; expensive operations (e.g., Sass compilation) can significantly slow down esbuild builds.
fix
Avoid heavy transforms or cache results if possible. Test build performance with and without the plugin.
affects: >=1.0.0
deprecatedThe `namespace` option defaults to a random string per instance. Setting a custom namespace may cause conflicts if multiple instances share the same namespace.
fix
Only override `namespace` if you fully understand the implications; otherwise rely on the random default.
affects: >=1.0.0
gotchaThe plugin only inlines imports that are statically analyzable and bundled by esbuild. Dynamic imports (e.g., `import()`) are not supported.
fix
Use only static `import` statements with the configured filter prefix.
affects: >=1.0.0
Errors
Common errors & fixes
Could not resolve 'inline:./file.txt'
The plugin is not registered or is placed after other plugins that resolve imports.
fix
Ensure `inlineImportPlugin()` is the first plugin in the `plugins` array.
TypeError: inlineImportPlugin is not a function
Incorrect import style: using named import for a default export.
fix
Use default import: `import inlineImportPlugin from 'esbuild-plugin-inline-import'` or `const inlineImportPlugin = require('esbuild-plugin-inline-import')`.
Cannot find module 'esbuild-plugin-inline-import'
Package not installed or not in `node_modules`.
fix
Run `npm install --save-dev esbuild-plugin-inline-import`.
Upgrade
Version history
1.1.0latest on npm
Audit
Dependencies
esbuildrequiredPeer dependency; this is an esbuild plugin that hooks into esbuild's build process.
Agent activity
5 hits · last 30 days
node
4
Amazon
1
Resources
esbuild-plugin-inline-import — npm install esbuild-plugin-inline-import · libregistry