tool for static analysis of ECMAScript (JavaScript™) code (evacuated from NSA/Microsoft Github)

anonymous 6d57359a6c splitting README into FAQ 5 months ago
.github fe91859f70 Chore: Update issue templates with new format (#10309) 1 year ago
bin 65bce3a0bc Fix: ensure --stdin flag works when stdin is piped asynchronously (#10393) 1 year ago
conf 1a6b399fd5 New: Adds prefer-object-spread rule (refs: #7230) (#9955) 1 year ago
debian b1a46705e2 removed dependency on single-function natural-compare replaced it with whole function 5 months ago
docs 917108dbac Update: Add requireParamType option to valid-jsdoc (fixes #6753) (#10220) 1 year ago
lib b1a46705e2 removed dependency on single-function natural-compare replaced it with whole function 5 months ago
messages 3e9f33a408 Fix: prevent crashing from JSON parsing error (fixes #10364) (#10376) 1 year ago
packages 4ccd25ab00 Chore: add eslint-plugin-node to eslint-config-eslint(fixes #10319) (#10320) 1 year ago
templates 1b6b2b2b49 Build: remove trailing spaces in blogpost template (#10280) 1 year ago
tests 917108dbac Update: Add requireParamType option to valid-jsdoc (fixes #6753) (#10220) 1 year ago
tools 7938bf1cbd Chore: update eslint-fuzzer ecmaVersion to 2018 (#10255) 1 year ago
.codeclimate.yml fd884bb924 Build: Enable CodeClimate (fixes #4068) 4 years ago
.editorconfig 850f0cc97d Docs: Add linting for second half of rule docs (refs #2271) 4 years ago
.eslintignore 2224733a72 Chore: use eslint-plugin-rulesdir instead of --rulesdir for self-linting (#9164) 1 year ago
.eslintrc.js 4ccd25ab00 Chore: add eslint-plugin-node to eslint-config-eslint(fixes #10319) (#10320) 1 year ago
.gitattributes b7432bdea3 Chore: Ensure JS files are checked out with LF (#7624) 2 years ago
.gitignore 933a9cfe27 Chore: add a fuzzer to detect bugs in core rules (#8422) 2 years ago
.npmrc a82361b656 Chore: Prevent package-lock.json files from being created (fixes #8742) (#8747) 2 years ago
.travis.yml f26812859e Build: add Node v10 to travis (#10262) 1 year ago
CHANGELOG.md d7e4aa01a0 Build: changelog update for 5.0.0-alpha.4 1 year ago
CODE_OF_CONDUCT.md 2d43dcf23e we don't need no coc 11 months ago
CONTRIBUTING.md 7f72863be6 beginnings 11 months ago
FAQ.md 6d57359a6c splitting README into FAQ 5 months ago
LICENSE 48700fc840 Docs: Remove extra header line from LICENSE (#8448) 2 years ago
Makefile.js 81629d2d92 Chore: enable rest/spread rules on ESLint codebase (#10211) 1 year ago
README.md 6d57359a6c splitting README into FAQ 5 months ago
SUPPORT.md 66c1d43e75 Docs: Create SUPPORT.md (#9031) 2 years ago
appveyor.yml cc2c7c9380 Build: use Node 8 in appveyor (#9595) 1 year ago
karma.conf.js a3ff8f2110 Chore: combine tests in tests/lib/eslint.js and tests/lib/linter.js (#8746) 2 years ago
package.json b1a46705e2 removed dependency on single-function natural-compare replaced it with whole function 5 months ago

README.md

Bountysource Contact Us at ricochet:mszisnaf7vqqphrd

ESLint

This branch of ESLint has been evacuated from NSA/Microsoft Github.

Website | Configuring | Rules | Contributing | Reporting Bugs

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few exceptions:

  • ESLint uses Espree for JavaScript parsing.
  • ESLint uses an AST to evaluate patterns in code.
  • ESLint is completely pluggable, every single rule is a plugin and you can add more at runtime.

Installation and Usage

Prerequisites: Node.js (>=6.14)

This section is a WIP as we package it.

There are two ways to install ESLint: globally and locally.

Local Installation and Usage

After install, you should setup a configuration file:

$ ./node_modules/.bin/eslint --init

After that, you can run ESLint on any file or directory like this:

$ ./node_modules/.bin/eslint yourfile.js

Any plugins or shareable configs that you use must also be installed locally to work with a locally-installed ESLint.

Global Installation and Usage

After install, you should setup a configuration file:

$ eslint --init

After that, you can run ESLint on any file or directory like this:

$ eslint yourfile.js

Any plugins or shareable configs that you use must also be installed globally to work with a globally-installed ESLint.

Note: eslint --init is intended for setting up and configuring ESLint on a per-project basis and will perform a local installation of ESLint and its plugins in the directory in which it is run. If you prefer using a global installation of ESLint, any plugins used in your configuration must also be installed globally.

Configuration

After running eslint --init, you'll have a .eslintrc file in your directory. In it, you'll see some rules configured like this:

{
    "rules": {
        "semi": ["error", "always"],
        "quotes": ["error", "double"]
    }
}

The names "semi" and "quotes" are the names of rules in ESLint. The first value is the error level of the rule and can be one of these values:

  • "off" or 0 - turn the rule off
  • "warn" or 1 - turn the rule on as a warning (doesn't affect exit code)
  • "error" or 2 - turn the rule on as an error (exit code will be 1)

The three error levels allow you fine-grained control over how ESLint applies rules (for more configuration options and details, see the configuration docs).

Code of Conduct

There is no code of conduct for this branch. Caveat Emptor.

Filing Issues

Before filing an issue, please be sure to read the guidelines for what you're reporting:

Where to ask for help?

Ricochet: ricochet:mszisnaf7vqqphrd

License

FOSSA Status

Team

Whoever sends PRs to this repository, since the other people seem stuck behind the NSA/Microsoft walled garden.

Sponsors

  • None since Github was taken over. We'll take your sponsorship, though, get in touch