eslint-junit

A eslint result processor that generates junit xml files

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
eslint-junit
211.0.15 years ago5 years agoMinified + gzip package size for eslint-junit in KB

Readme

!Downloadsnpm-dmpackage-url !Downloadsnpm-dtpackage-url !NPM Versionnpm-vpackage-url !Dependenciesdepspackage-url !Dev Dependenciesdev-depspackage-url !Licenselicensepackage-url Build Status Code Climate Test Coverage
eslint-junit
A eslint reporter that creates compatible junit xml files

Installation

yarn add --dev eslint-junit

Usage

Simply run:
eslint -f ./node_modules/eslint-junit/index.js

Configuration

eslint-junit offers four configurations based on environment variables or a eslint-junit key defined in package.json. All configuration values should be strings.
| Variable Name | Description | Default | |--|--|--| | ESLINT_SUITE_NAME | name attribute of <testsuites> | "eslint tests" | | ESLINT_JUNIT_OUTPUT | File path to save the output. | "./junit.xml" | | ESLINT_JUNIT_CLASSNAME | Template string for the classname attribute of <testcase>. | "{ruleId}" | | ESLINT_JUNIT_TITLE | Template string for the name attribute of <testcase>. | "{line} : {source}" |
Example:
ESLINT_SUITE_NAME="Eslint Style Tests" ESLINT_JUNIT_OUTPUT="./artifacts/eslint-junit.xml" eslint

You can also define a eslint-junit key in your package.json. All are string values.
{
  ...
  "eslint-junit": {
    "suiteName": "eslint tests",
    "output": "./eslint-junit.xml",
    "classNameTemplate": "{ruleId}",
    "titleTemplate": "{line} : {source}"
  }
}

For the following case:
function test (a) {
  a = '1';
}

The default output:
<testsuites name="eslint tests">
  <testsuite errors="1" failures="0" name="/test.js" skipped="0" tests="1" time="1" timestamp="2017-09-06T20:04:53">
    <testcase classname="no-param-reassign" name="2 :  a = '1';" time="1">
      <failure>Assignment to function parameter 'a'.</failure>
    </testcase>
  </testsuite>
</testsuites>

Changing the classNameTemplate and titleTemplate:
ESLINT_JUNIT_CLASSNAME="{ruleId}" ESLINT_JUNIT_TITLE="{source}" eslint

<testsuites name="eslint tests">
  <testsuite errors="1" failures="0" name="/utils/getOptions.js" skipped="0" tests="1" time="1" timestamp="2017-09-06T20:04:53">
    <testcase classname="no-param-reassign" name="    pathToResolve = path.dirname(pathToResolve);" time="1">
      <failure>Assignment to function parameter 'pathToResolve'.</failure>
    </testcase>
  </testsuite>
</testsuites>