Preprocessor based on esbuild for the karma test runner
An esbuild preprocessor for the karma test runner. The main benefits of esbuild
is speed and readability of the compiled output.
npm install --save-dev karma-esbuild
Add esbuild
as your preprocessor inside your karma.conf.js
:
module.exports = function (config) {
config.set({
preprocessors: {
// Add esbuild to your preprocessors
"test/**/*.test.js": ["esbuild"],
},
});
};
A custom esbuild configuration can be passed via an additional property on karma’s config. Check out the documentation for esbuild for available options.
module.exports = function (config) {
config.set({
preprocessors: {
// Add esbuild to your preprocessors
"test/**/*.test.js": ["esbuild"],
},
esbuild: {
// Replace some global variables
define: {
COVERAGE: coverage,
"process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || ""),
ENABLE_PERFORMANCE: true,
},
plugins: [createEsbuildPlugin()],
// Karma-esbuild specific options
singleBundle: true, // Merge all test files into one bundle(default: true)
},
});
};
MIT
, see the LICENSE file.