Registry / testing / karma-esbuild-up

karma-esbuild-up

JSON →
library3.0.0jsnpmunverified

karma-esbuild is a Karma preprocessor that compiles test files using esbuild, providing extremely fast transpilation and bundling for Karma test runners. Current stable version is 3.0.0, requiring Node >=16, esbuild >=0.17.0, and Karma >=6.0.0. It stands out for its speed and clean output, and supports single-bundle (all tests in one file) or per-file bundling. The package is actively maintained with regular releases on GitHub.

npm install karma-esbuild-up
INSTALL
IMPORT
SIG · KARMA-ESBUILD-UP
K
karma-esbuild-up
testingjavascriptv3.0.0
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
module.exports = function(config) { config.set({ preprocessors: { 'test/**/*.test.js': ['esbuild'] } }); }
import karmaEsbuild from 'karma-esbuild'
Package is used as a Karma plugin via preprocessor name 'esbuild', not by importing directly. Configure it in karma.conf.js.
esbuild config
config.set({ esbuild: { define: { 'process.env.NODE_ENV': '"production"' }, singleBundle: true } })
config.set({ karmaEsbuild: { ... } })
Configuration is passed under the 'esbuild' key in Karma config, not 'karmaEsbuild'.
plugins
config.set({ esbuild: { plugins: [myPlugin] } })
config.set({ plugins: [myPlugin] })
Esbuild plugins are specified in the 'esbuild' config object, not the top-level 'plugins' array.

Basic Karma configuration with esbuild preprocessor, custom define, and single-bundle mode for Mocha tests.

// karma.conf.js module.exports = function (config) { config.set({ frameworks: ['mocha'], files: ['test/**/*.test.js'], preprocessors: { 'test/**/*.test.js': ['esbuild'], }, esbuild: { define: { 'process.env.VERSION': JSON.stringify(process.env.VERSION || 'development'), }, singleBundle: true, }, browsers: ['ChromeHeadless'], }); };
Debug
Known issues
breakingNode.js >=16 required, ESBuild >=0.17.0 peer dependency, Karma >=6.0.0 peer dependency
fix
Update Node, esbuild, and Karma to minimum versions. Check peer dependencies.
affects: >=3.0.0
gotchasingleBundle option defaults to true; if you have many test files, a single bundle may cause memory issues.
fix
Set `singleBundle: false` in esbuild config to generate a separate bundle per test file.
affects: >=2.2.0
deprecatedThe `args` option is removed; use `define` or `plugins` instead.
fix
Migrate custom arguments to esbuild `define` or pass them as plugins.
affects: >=2.1.3
gotchaConfiguration key must be `esbuild` (lowercase) in Karma config, not `karmaEsbuild`.
fix
Use `esbuild` key as shown in documentation.
affects: >=2.0.0
Errors
Common errors & fixes
Cannot find module 'karma-esbuild'
Package not installed or not in node_modules.
fix
Run `npm install --save-dev karma-esbuild`.
TypeError: Cannot read properties of undefined (reading 'define')
Missing or misconfigured esbuild config object.
fix
Ensure `esbuild` key is present in Karma config, e.g., `config.set({ esbuild: { define: {} } })`.
Error: esbuild plugin error: ...
Issue with a custom esbuild plugin passed to the esbuild config.
fix
Check the plugin implementation and ensure it's compatible with esbuild version.
Upgrade
Version history
3.0.0latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency for compilation
karmarequiredpeer dependency for test runner integration
Agent activity
4 hits · last 30 days
node
4
Resources
karma-esbuild-up — npm install karma-esbuild-up · libregistry