@neo9/n9-node-sonar-generate

Node Sonar Generate Module

Stats

StarsIssuesVersionUpdatedCreatedSize
@neo9/n9-node-sonar-generate
401.0.24 years ago4 years agoMinified + gzip package size for @neo9/n9-node-sonar-generate in KB

Readme

n9-node-sonar-generate

Generate a sonar-project.properties file based on the project package.json.

npm version Travis Coverage license

Installation

npm install --save-dev @neo9/n9-node-sonar-generate

Usage

In your package.json add the end of your test script, add n9-sonar-generate command:

{
  "scripts": {
    "test": "... && n9-sonar-generate"
  }
}

Default

For this example, we asume that pkg is the representation of package.json.

n9-sonar-generate will create a sonar-project.properties file with these properties:

  • sonar.projectKey = pkg.name || pkg.sonar.projectKey
  • sonar.projectName = pkg.description || pkg.sonar.projectName
  • sonar.projectVersion = pkg.version || pkg.sonar.projectVersion
  • sonar.sources = pkg.sonar.sources || ./src
  • sonar.sourceEncoding = pkg.sonar.sourceEncoding || UTF-8
  • sonar.tests = pkg.sonar.tests || ./test

Configuration

Every key added to the sonar property in the package.json will be added to sonar-project.properties with the sonar. prefix.

Example:

package.json

{
  "sonar": {
    "host.url": "http://localhost:9000"
  }
}

Will add to sonar-project.properties:

sonar.host.url=http://localhost:9000

TypeScript Project

To use with a TypeScript project, please add the following to your package.json:

Example:

{
  "sonar": {
    "coverage.exclusions": "src/*.d.ts",
    "ts.coverage.lcovReportPath": "./coverage/lcov.info",
    "ts.tslint.path": "./node_modules/.bin/tslint",
    "ts.tslint.configPath": "./tslint.json"
  }
}

Gitignore

Don't forget to add sonar-project.properties in your .gitignore

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.