Registry / devops / esbuild-qfile

esbuild-qfile

JSON →
library0.2.3jsnpmunverified

esbuild-qfile (v0.2.3) is a plugin for esbuild that enables loading files as strings with a query parameter syntax (e.g., import x from './file?file'). It provides a simple way to inline file contents during bundling, useful for embedding resources. The plugin is lightweight, with no additional dependencies beyond esbuild itself. It is maintained as a single-purpose utility for esbuild's plugin ecosystem, with slow release cadence (last updated in 2022). Key differentiator: minimal configuration compared to other file loaders.

npm install esbuild-qfile
INSTALL
IMPORT
SIG · ESBUILD-QFILE
E
esbuild-qfile
devopsjavascriptv0.2.3
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.

default
import qfile from 'esbuild-qfile'
const { qfile } = require('esbuild-qfile')
Default export is the plugin function.
qfile
import qfile from 'esbuild-qfile'
const qfile = require('esbuild-qfile').default
CommonJS require may need .default for ESM packages.
Plugin
import type { Plugin } from 'esbuild'
import { Plugin } from 'esbuild-qfile'
Plugin type is from esbuild, not this package.

Shows how to use esbuild-qfile as a plugin in an esbuild build script, with a comment showing usage of the ?file query.

const esbuild = require('esbuild'); const qfile = require('esbuild-qfile'); esbuild.build({ entryPoints: ['app.js'], bundle: true, outfile: 'out.js', plugins: [qfile()], }).catch(() => process.exit(1)); // Then in app.js: // import svg from './icon.svg?file'; // console.log(svg); // file contents as string
Debug
Known issues
gotchaThe query parameter is case-sensitive: must be `?file` exactly.
fix
Use lowercase `?file` in import paths.
affects: >=0.0.0
gotchaOnly works with esbuild's `bundle` mode; does not work in transform-only mode.
fix
Ensure esbuild build options include `bundle: true`.
affects: >=0.0.0
gotchaFile contents are returned as strings; binary files may cause issues.
fix
Use for text-based files only (SVG, CSS, text, etc.).
affects: >=0.0.0
Errors
Common errors & fixes
Error: No matching loader found for file extension .svg?file
Forgetting to include the plugin in esbuild's plugins array.
fix
Add `qfile()` to the `plugins` array in esbuild build options.
TypeError: qfile is not a function
Using a named import instead of default export.
fix
Use `import qfile from 'esbuild-qfile'` (default import).
Upgrade
Version history
0.2.3latest on npm
Audit
Dependencies
esbuildrequiredPeer dependency: required to use the plugin
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-qfile — npm install esbuild-qfile · libregistry