Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
@danmasta/mocha-sonar
Advanced tools
SonarQube XML reporter for Mocha
Features:
We needed the ability to generate xml reports for unit tests and import them to SonarQube. There are a few libraries that attempt to help with this, but they all were either outdated, generated incompatible xml, or only logged xml to stdout. This library will let you generate unit test execution reports in a format compatible with sonarqube generic test format and write them to a file. You can also pipe output to a secondary reporter for a human readable view as well.
Add mocha-sonar as a dependency for your app and install via npm
npm install @danmasta/mocha-sonar --save-dev
Use the reporter for tests
mocha -R @danmasta/mocha-sonar tests
Options can be passed using the reporterOptions
field in mocha options, or the --reporter-options
field via command line
name | description |
---|---|
cwd | Location to use to generate relative file paths for tests. Default is process.cwd() |
output | File path where you would like the sonar xml report to be saved. Default is ./coverage/sonar.xml |
delimiter | Delimiter to use to join names for nested tests. Default is ' ' |
reporter | Name of the reporter you would like to use for console output. Default is list |
silent | If true disables secondary reporter output. Default is false |
spaces | Number of spaces to use when formatting xml output. Default is 4 |
Use mocha-sonar from command line
mocha -R @danmasta/mocha-sonar ./tests/unit/**/*.js
Pass options to npm test command
npm run test -- --reporter=@danmasta/mocha-sonar --reporter-options --reporter=nyan,delimeter=::
Coverage reports with nyc
nyc --reporter=lcov mocha -R @danmasta/mocha-sonar ./tests/unit/**/*.js
Use mocha and/or nyc as gulp tasks
const spawn = require('child_process').spawn;
const gulp = require('gulp');
gulp.task('test', () => {
return spawn('mocha -R @danmasta/mocha-sonar ./tests/unit/**/*.js', {
shell: true,
stdio: ['inherit', 'inherit', 'inherit']
});
});
gulp.task('coverage', () => {
return spawn('nyc --reporter=lcov mocha -R @danmasta/mocha-sonar ./tests/unit/**/*.js', {
shell: true,
stdio: ['inherit', 'inherit', 'inherit']
});
});
gulp.task('default', gulp.series('test', 'build'));
gulp.task('publish', gulp.series('coverage', 'build', 'deploy'));
If you have any questions feel free to get in touch
FAQs
Mocha reporter for Sonarqube
The npm package @danmasta/mocha-sonar receives a total of 784 weekly downloads. As such, @danmasta/mocha-sonar popularity was classified as not popular.
We found that @danmasta/mocha-sonar demonstrated a healthy version release cadence and project activity because the last version was released less than 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.