Generate a sonar-project.properties
file based on the project package.json
.
npm install --save-dev @neo9/n9-node-sonar-generate
In your package.json
add the end of your test
script, add n9-sonar-generate
command:
{
"scripts": {
"test": "... && n9-sonar-generate"
}
}
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
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
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"
}
}
Don't forget to add sonar-project.properties
in your .gitignore