
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
karma-sharding
Advanced tools
Karma plugin to allow tests to be distributed across multiple browsers
Karma plugin to allow tests to be distributed across multiple browsers
This is intended to avoid the memory usage problems seen with some browsers and numerous or memory intensive specs. Lower your concurrency setting if total memory is a problem running in parallel processes.
You can pass configuration to override these defaults:
{
sharding: {
specMatcher: /(spec|test)s?\.js/i,
base: '/base',
getSets: function(config, basePath, files) {
// splitForBrowsers - some util function
return splitForBrowsers(files.served)
.map(oneBrowserSet => [someInitScript].concat(oneBrowserSet));
}
}
}
getSets
might be overridden when files from karma.files
config should be organized in certain view, for example:
karma.files
has set - [setup.js, one.unit.js, two.unit.js]
- and it must be combined for each browser as [setup.js, one.unit.js]
and [setup.js, two.unit.js]
The easiest way is to install karma-sharding
as a devDependency
,
by running
npm install karma karma-sharding --save-dev
// karma.conf.js
module.exports = function(config) {
config.set({
files: [
'src/**/*.js',
'test/**/*.js'
],
frameworks: ['sharding'], // this will load the framework and beforeMiddleware
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
// (these files will be instrumented by Istanbul)
'src/**/*.js': ['coverage'] // coverage is loaded from karma-coverage by karma-sharding
},
// sharding replaces the coverage reporter inline to allow the preprocessor to run
// preprocessor:coverage looks for reporter:coverage otherwise it would use a unique name
reporters: ['progress', 'coverage'],
browsers: ['ChromeHeadless', 'ChromeHeadless'] // this will split the tests into two sets
});
};
For more information on Karma see the homepage.
FAQs
Karma plugin to allow tests to be distributed across multiple browsers
The npm package karma-sharding receives a total of 560 weekly downloads. As such, karma-sharding popularity was classified as not popular.
We found that karma-sharding demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.