![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
grunt-karma-sonar
Advanced tools
Grunt plugin for integrating karma reports with sonar
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-karma-sonar --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-karma-sonar');
In your project's Gruntfile, add a section named karma_sonar
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
karma_sonar: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
Type: String
Default: 'reuseReports'
Should be the sonar.property dynamicAnalysis
Type: String
Default: 'UTF-8'
Should be the sonar.property sourceEncoding
Type: String
Default: 'js'
Should be the sonar.property language
Type: String
Default: 'true'
Should be the sonar.property scmDisabled
Type: String
Default: '.tmp/sonar/'
Should be the location where the karmaSonar plugin will put it's temporary files.
Type: String
Default: 'http://localhost:9000'
Should be the sonar.property host.url
Type: String
Default: 'jdbc:h2:tcp://localhost:9092/sonar'
Should be the sonar.property jdbc.url
Type: String
Default: 'sonar'
Should be the sonar.property jdbc.username
Type: String
Default: 'sonar'
Should be the sonar.property jdbc.password
Type: String
Default: 'admin'
Should be the sonar.property login
Type: String
Default: 'admin'
Should be the sonar.property password
Type: Object
Should be the list of key(sonar key
) value pairs.
runnerProperties: {
'sonar.links.homepage': 'https://github.com/mdasberg/grunt-karma-sonar',
'sonar.branch': 'master'
}
Type: Object
,
Mandatory: true
Should be the project information for sonar
Type: String
Mandatory: true`
Should be the project key for sonar
Type: String
Mandatory: true`
Should be the project name for sonar
Type: String
Should be the project version for sonar
Type: Array
Should be the paths that contain the code, tests and results
Type: String
Default: '.'
Should be the current working directory that contain the source, tests and results folders are located
Type: String
Should be the directory containing the sources within the cwd.
Type: String
Should be the directory containing the tests within the cwd.
Type: Object
Should be the object containing the reports.
Type: String
Should be the location of the karma-junit-reporter report within the cwd.
Type: String
Should be the glob for the lcov.info files within the cwd.
grunt.initConfig({
karma_sonar: {
options: {
},
your_target: {
project: {
key: 'grunt-sonar',
name: 'Grunt sonar plugin',
version: '0.1.1'
},
paths: [
{
cwd: '...', // the current working directory'
src: '...', // the source directory within the cwd
test: '...', // the test directory within the cwd
reports: {
unit: '../path/result.xml', // the result file within the cwd
coverage: '../path/**/lcov.info' // the glob for lcov files'
}
},
{
cwd: '...', // the current working directory'
src: '...', // the source directory within the cwd
test: '...', // the test directory within the cwd
reports: {
unit: '../path/result.xml', // the result file within the cwd
coverage: '../path/**/lcov.info' // the glob for lcov files'
}
],
exclusions: []
}
}
})
In this example, custom options are used to do something else with whatever else. So if the testing
file has the content Testing
and the 123
file had the content 1 2 3
, the generated result in this case would be Testing: 1 2 3 !!!
grunt.initConfig({
karma_sonar: {
options: {
defaultOutputDir: '.tmp/sonar/custom_options/',
instance: {
hostUrl : 'http://localhost:20001',
jdbcUrl : 'jdbc:h2:tcp://localhost:20003/sonar',
login: 'admin',
password: 'admin'
}
},
your_target: {
project: {
key: 'grunt-sonar',
name: 'Grunt sonar plugin',
version: '0.1.1'
},
paths: [...],
exclusions: []
}
}
})
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
(Nothing yet)
FAQs
Grunt plugin for integrating karma reports with sonar
We found that grunt-karma-sonar 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
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.