# sonar-js-coverage-convertor

> Convert Istanbul coverage reports to SonarQube Generic Data format for Polymer app usage

Latest version **0.2.9** (published 2018-02-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install sonar-js-coverage-convertor
pnpm add sonar-js-coverage-convertor
yarn add sonar-js-coverage-convertor
bun add sonar-js-coverage-convertor
```

Provides the commands `istanbul-merge`, `sonar-coverage-copy`, `sonar-generic-coverage-convertor`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.9 |
| Published | 2018-02-05 |
| First published | 2017-11-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | 8.* |
| Dependencies | 6 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | Abdur Rahman |
| Maintainers | ara-rockman |
| Keywords | Sonar, Polymer, Istanbul, WCT, Web-Component-Tester |

## Links

- npm: https://www.npmjs.com/package/sonar-js-coverage-convertor
- Repository: https://github.com/or9/sonar-js-coverage-convertor
- Homepage: https://github.com/or9/sonar-js-coverage-convertor#readme
- Issues: https://github.com/or9/sonar-js-coverage-convertor/issues
- npm.io page: https://npm.io/package/sonar-js-coverage-convertor

## Dependencies (6)

- [ncp](https://npm.io/package/ncp.md) ^2.0.0
- [xml2js](https://npm.io/package/xml2js.md) ^0.4.19
- [bluebird](https://npm.io/package/bluebird.md) ^3.5.1
- [fs-extra](https://npm.io/package/fs-extra.md) ^5.0.0
- [ara-cli-options](https://npm.io/package/ara-cli-options.md) 0.0.1
- [selenium-standalone](https://npm.io/package/selenium-standalone.md) ^6.11.0

## Recent versions

- 0.2.9 (latest) — 2018-02-05
- 0.2.8 — 2018-02-05
- 0.2.7 — 2018-02-05
- 0.2.6 — 2018-02-05
- 0.2.5 — 2018-02-05
- 0.2.4 — 2018-02-05
- 0.2.3 — 2017-11-20
- 0.2.2 — 2017-11-20
- 0.2.1 — 2017-11-20
- 0.2.0 — 2017-11-20
- 0.1.5 — 2017-11-07
- 0.1.4 — 2017-11-06
- 0.1.3 — 2017-11-03
- 0.1.2 — 2017-11-03
- 0.1.1 — 2017-11-02
- … 7 more at https://npm.io/package/sonar-js-coverage-convertor/versions

## README

# sonar-js-coverage-convertor
Because Sonarqube is unable to generate coverage for Javascript applications, this module will convert Istanbul reports to a generic format which Sonarqube can interpret. Convert Istanbul clover coverage reports to [SonarQube Generic Data](https://docs.sonarqube.org/display/SONAR/Generic+Test+Data) format for Polymer app usage.  
## Usage
If you have multiple coverage files which you need to merge, do so prior to running the convertor. See `Merge Module` for details.  

### From npm run scripts  
```json
{
	"…": "…",
	"presonarCoverage": "wct",
	"sonarCoverage": "istanbul-merge coverage-server/coverage-final.json coverage-client/coverage-final.json",
	"postsonarCoverage": "sonar-generic-coverage-convertor",
	"…": "…"
}
```
`npm run sonarCoverage`  

### Example `wct.conf.json`  
```json
{
	"plugins": {
		"istanbul": {
			"dir": "./coverage-client",
			"reporters": ["lcov", "clover", "json"],
			"include": [
				"**/spec*.html",
				"**/spec*.js"
			],
			"exclude": [
				"**/polymer/polymer.js",
				"**/platform/platform.js",
				"**/bower_components/**",
				"**/node_modules/**"
			],
			"thresholds": {
				"global": {
					"statements": 90
				}
			}
		}
	}
}

```

### Example `mocha`  
Generate server-side coverage reports  
`nyc --report-dir ./coverage-server --reporter lcov --reporter json --reporter clover mocha server/**/*.spec.js`   

### Merge Module  
This module is used to merge multiple coverage reports prior to converting the single resulting report to Sonarqube's generic coverage format.  
```bash
COVERAGE_DIR=coverage istanbul-merge coverageDir1/coverage-final.json coverageDir2/coverage-final.json
COVERAGE_DIR=outDir istanbul-merge dir1/in.json dir2/in.json
istanbul-merge dir1/in.json dir2/in.json
```
## Dev

---
_Source: https://npm.io/package/sonar-js-coverage-convertor · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
