Nuptial Predicament Mediation

    jest-runner-eslint

    1.1.0 • Public • Published

    Actions Status npm version

    jest-runner-eslint

    ESLint runner for Jest

    Usage

    Install

    Install jest(it needs Jest 21+) and jest-runner-eslint

    yarn add --dev jest jest-runner-eslint
    
    # or with NPM
    
    npm install --save-dev jest jest-runner-eslint

    Add it to your Jest config

    Standalone

    In your package.json

    {
      "jest": {
        "runner": "jest-runner-eslint",
        "displayName": "lint",
        "testMatch": ["<rootDir>/src/**/*.js"]
      }
    }

    Or in jest.config.js

    module.exports = {
      runner: 'jest-runner-eslint',
      displayName: 'lint',
      testMatch: ['<rootDir>/src/**/*.js'],
    };

    Please update testMatch to match your project folder structure

    Alongside other runners

    It is recommended to use the projects configuration option to run multiple Jest runners simultaneously.

    If you are using Jest <22.0.5, you can use multiple Jest configuration files and supply the paths to those files in the projects option. For example:

    // jest-test.config.js
    module.exports = {
      // your Jest test options
      displayName: 'test',
    };
    
    // jest-eslint.config.js
    module.exports = {
      // your jest-runner-eslint options
      runner: 'jest-runner-eslint',
      displayName: 'lint',
      testMatch: ['<rootDir>/src/**/*.js'],
    };

    In your package.json:

    {
      "jest": {
        "projects": [
          "<rootDir>/jest-test.config.js",
          "<rootDir>/jest-eslint.config.js"
        ]
      }
    }

    Or in jest.config.js:

    module.exports = {
      projects: [
        '<rootDir>/jest-test.config.js',
        '<rootDir>/jest-eslint.config.js',
      ],
    };

    If you are using Jest >=22.0.5, you can supply an array of project configuration objects instead. In your package.json:

    {
      "jest": {
        "projects": [
          {
            "displayName": "test"
          },
          {
            "runner": "jest-runner-eslint",
            "displayName": "lint",
            "testMatch": ["<rootDir>/src/**/*.js"]
          }
        ]
      }
    }

    Or in jest.config.js:

    module.exports = {
      projects: [
        {
          displayName: 'test',
        },
        {
          runner: 'jest-runner-eslint',
          displayName: 'lint',
          testMatch: ['<rootDir>/src/**/*.js'],
        },
      ],
    };

    Run Jest

    yarn jest

    Toggle --fix in watch mode

    jest-runner-eslint comes with a watch plugin that allows you to toggle the --fix value while in watch mode without having to update your configuration.

    fix

    To use this watch plugin simply add this to your Jest configuration.

    {
      watchPlugins: ['jest-runner-eslint/watch-fix'],
    }

    After this run Jest in watch mode and you will see the following line in your watch usage menu

     › Press F to override ESLint --fix.
    

    Options

    This project uses cosmiconfig, so you can provide config via:

    • a jest-runner-eslint property in your package.json
    • a jest-runner-eslint.config.js JS file
    • a .jest-runner-eslintrc JSON file

    In package.json

    {
      "jest-runner-eslint": {
        "cliOptions": {
          // Options here
        }
      }
    }

    or in jest-runner-eslint.config.js

    module.exports = {
      cliOptions: {
        // Options here
      },
    };

    cliOptions

    jest-runner-eslint maps a lot of ESLint CLI arguments to config options. For example --fix is cliOptions.fix

    option default example
    cache false "cache": true
    cacheLocation .eslintcache "cacheLocation": "/path/to/cache"
    config null "config": "/path/to/config"
    env null "env": "mocha" or "env": ["mocha", "other"]
    ext [".js"] "ext": ".jsx" or "ext": [".jsx", ".ts"]
    fix false "fix": true
    fixDryRun false "fixDryRun": true
    format null "format": "codeframe"
    global [] "global": "it" or "global": ["it", "describe"]
    ignorePath null "ignorePath": "/path/to/ignore"
    ignorePattern [] "ignorePattern": ["/path/to/ignore/*"]
    maxWarnings -1 "maxWarnings": 0
    noEslintrc false "noEslintrc": true
    noIgnore false "noIgnore": true
    noInlineConfig false "noInlineConfig": true
    parser espree "parser": "flow"
    parserOptions {} "parserOptions": { "myOption": true }
    plugin [] "plugin": "prettier" or "plugin": ["prettier", "other"]
    quiet false "quiet": true
    resolvePluginsRelativeTo undefined "resolvePluginsRelativeTo": "./eslint-config"
    reportUnusedDisableDirectives false "reportUnusedDisableDirectives": true
    rules {} "rules": {"quotes": [2, "double"]} or "rules": {"quotes": [2, "double"], "no-console": 2}
    rulesdir [] "rulesdir": "/path/to/rules/dir" or "rulesdir": ["/path/to/rules/dir", "/path/to/other"]

    Keywords

    none

    Install

    npm i jest-runner-eslint

    DownloadsWeekly Downloads

    108,697

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    20.4 kB

    Total Files

    10

    Last publish

    Collaborators

    • simenb
    • rickhanlonii
    • thymikee
    • jsonp
    • orta
    • rogeliog
    • mattphillips
    • jeysal
    • ljharb