New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

grunt-karma-sonar

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grunt-karma-sonar

Grunt plugin for integrating karma reports with sonar

  • 0.2.2
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

grunt-karma-sonar

Grunt plugin for integrating karma reports with sonar

Getting Started

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');

The "karma_sonar" task

Overview

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.
    },
  },
})

Options

options.dynamicAnalysis

Type: String Default: 'reuseReports'

Should be the sonar.property dynamicAnalysis

options.sourceEncoding

Type: String Default: 'UTF-8'

Should be the sonar.property sourceEncoding

options.language

Type: String Default: 'js'

Should be the sonar.property language

options.scmDisabled

Type: String Default: 'true'

Should be the sonar.property scmDisabled

options.defaultOutputDir

Type: String Default: '.tmp/sonar/'

Should be the location where the karmaSonar plugin will put it's temporary files.

options.instance.hostUrl

Type: String Default: 'http://localhost:9000'

Should be the sonar.property host.url

options.instance.jdbcUrl

Type: String Default: 'jdbc:h2:tcp://localhost:9092/sonar'

Should be the sonar.property jdbc.url

options.instance.jdbcUsername

Type: String Default: 'sonar'

Should be the sonar.property jdbc.username

options.instance.jdbcPassword

Type: String Default: 'sonar'

Should be the sonar.property jdbc.password

options.instance.login

Type: String Default: 'admin'

Should be the sonar.property login

options.instance.password

Type: String Default: 'admin'

Should be the sonar.property password

options.instance.runnerProperties

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'
}
project

Type: Object, Mandatory: true

Should be the project information for sonar

project.key

Type: String Mandatory: true`

Should be the project key for sonar

project.name

Type: String Mandatory: true`

Should be the project name for sonar

project.version

Type: String

Should be the project version for sonar

paths

Type: Array

Should be the paths that contain the code, tests and results

paths[].cwd

Type: String Default: '.'

Should be the current working directory that contain the source, tests and results folders are located

paths[].src

Type: String

Should be the directory containing the sources within the cwd.

paths[].test

Type: String

Should be the directory containing the tests within the cwd.

paths[].reports

Type: Object

Should be the object containing the reports.

paths[].reports.unit

Type: String

Should be the location of the karma-junit-reporter report within the cwd.

paths[].reports.coverage

Type: String

Should be the glob for the lcov.info files within the cwd.

Usage Examples

Default Options
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: []
    }
  }
})
Custom Options

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: []
    }
  }
})

Contributing

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.

Release History

(Nothing yet)

Keywords

FAQs

Package last updated on 02 Apr 2015

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc