Security News
Cloudflare Adds Security.txt Setup Wizard
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Bro is a fast browserify integration for Karma that handles large projects with ease.
Get the plug-in via npm
npm install --save-dev karma-bro
Add browserify
as a framework to your Karma configuration file. For each file that should be processed and bundled by karma, configure the browserify
preprocessor. Optionally use the browserify
config entry to configure how the bundle gets created.
module.exports = function(karma) {
karma.set({
frameworks: [ 'browserify', 'any', 'other', 'framework' ],
preprocessors: {
'test/**/*.js': [ 'browserify' ]
},
browserify: {
debug: true,
transform: [ 'brfs' ]
}
});
}
Look at the example directory for a simple browserify + jasmine project that uses this plug-in.
The way Bro creates browserified test bundles can be tuned through the browserify
configuration property. The following configuration options are supported:
Specify debug: true
in the browserify options to generate source maps for easier debugging.
You may perform additional configuration in a function that you pass as the prebundle
option and that receives the bundle as an argument. This is useful when you need to set up things like externals:
module.exports = function(karma) {
karma.set({
// ...
browserify: {
prebundle: function(bundle) {
bundle.external('foobar');
}
}
});
};
Bro is a preprocessor for Karma that combines test files and dependencies into a browserified bundle. It relies on watchify to generate the bundle and to keep it updated during autoWatch=true
.
Before the initial test run Bro builds one browserify bundle for all test cases and dependencies. Once any of the files change, it incrementally updates the bundle. Each file included in karma is required from the file bundle via a stub. Thereby it ensures tests are only executed once per test run.
The following code snippet shows a Karma configuration file with all Bro related options.
module.exports = function(karma) {
karma.set({
// include browserify first in used frameworks
frameworks: [ 'browserify', 'jasmine' ],
// add all your files here,
// including non-commonJS files you need to load before your test cases
files: [
'some-non-cjs-library.js',
'test/**/*.js'
],
// add preprocessor to the files that should be
// processed via browserify
preprocessors: {
'test/**/*.js': [ 'browserify' ]
},
// see what is going on
logLevel: 'LOG_DEBUG',
// use autoWatch=true for quick and easy test re-execution once files change
autoWatch: true,
// add additional browserify configuration properties here
// such as transform and/or debug=true to generate source maps
browserify: {
debug: true,
transform: [ 'brfs' ],
prebundle: function(bundle) {
// additional configuration, e.g. externals
bundle.external('foobar');
}
}
});
};
Credit goes to to karma-browserify and karma-browserifast. Bro builds on the lessons learned in these projects and offers improved configurability, speed and/or the ability to handle large projects.
MIT
FAQs
A fast browserify integration for Karma that handles large projects with ease
The npm package karma-bro receives a total of 37 weekly downloads. As such, karma-bro popularity was classified as not popular.
We found that karma-bro demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
Security News
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.