eslint-junit

    1.0.1 • Public • Published

    Downloads Downloads NPM Version Dependencies Dev Dependencies License 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 &apos;a&apos;.</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 &apos;pathToResolve&apos;.</failure>
        </testcase>
      </testsuite>
    </testsuites>

    Keywords

    none

    Install

    npm i eslint-junit

    DownloadsWeekly Downloads

    4,938

    Version

    1.0.1

    License

    Apache-2.0

    Last publish

    Collaborators

    • jcgertig