New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

eslint-rule-tester

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-rule-tester

A command-line interface for running ESLint rule unit tests

  • 2.0.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
529
increased by655.71%
Maintainers
0
Weekly downloads
 
Created
Source

A command-line interface for running ESLint rule unit tests powered by the official RuleTester API.

Running the unit tests

npm exec eslint-rule-tester <...path>

where <...path> is one or more Glob patterns, which can be mixed of..

  • JavaScript file exporting ESLint plugin, for example,
    module.exports = {
      // See https://eslint.org/docs/latest/extend/plugins#creating-a-plugin
      rules: {
        'rule-name': {
          // See https://eslint.org/docs/latest/extend/custom-rules#rule-structure
          tests: { valid: [], invalid: [] }
        }
      }
    }
    
  • JavaScript file exporting ESLint rule, for example,
    module.exports = {
      // See https://eslint.org/docs/latest/extend/custom-rules#rule-structure
      tests: { valid: [], invalid: [] }
    }
    

The command returns the status code representing the number of non-pass test results.

Optionally, the command accepts the following arguments:

ArgumentDescription
--bailStop at the first failing test case.
--silentPrint only failing test cases to the standard output.

Running exclusive test cases

To run fewer test cases for debugging purposes, choose one of the following approaches:

  • Set only: true in your test case as mentioned in ESLint official documentations, for example,
    module.exports = {
      tests: {
        valid: [
          {
            only: true,
            code: '...'
          }
        ],
        invalid: [...]
      }
    }
    
  • Wrap your test case with the global function only injected by this package, for example,
    module.exports = {
      tests: {
        valid: [
          only({
            code: '...'
          })
        ],
        invalid: []
      }
    }
    
  • Wrap valid and/or invalid arrays with the global function only injected by this package, for example,
    module.exports = {
      tests: {
        valid: only([
          {
            code: '...'
          }
        ]),
        invalid: only([])
      }
    }
    

Sample command-line output

⚪ import-path-from-closest-index
🟢 react-sort-props
🔴 require-name-after-file-name
 1 var something = require("./james-arthur")
   filename: ./rules/require-name-after-file-name.js
   options: [
     [
       "./rules/*.js"
     ]
   ]
   Should have 1 error but had 0: [] (0 strictEqual 1)

 SKIP  1
 PASS  1
 FAIL  1

Keywords

FAQs

Package last updated on 13 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc