Related Projects


JSXHint - Wrapper around JSHint for linting JSX files

  •    Javascript

JSXHint is, and always was, a bad hack to make JSX lintable in the early days of React. It will always be inferior to proper linters like ESLint because it is not able to lint JSX or ES6 syntax, it instead compiles to ES5 then lints. You may get weird linter errors, especially with more involved transforms. Don't use JSXHint anymore if you can switch to ESLint.

eslint-plugin-jsx-a11y - Static AST checker for a11y rules on JSX elements.

  •    Javascript

Static AST checker for accessibility rules on JSX elements. Ryan Florence built out this awesome runtime-analysis tool called react-a11y. It is super useful. However, since you're probably already using linting in your project, this plugin comes for free and closer to the actual development process. Pairing this plugin with an editor lint plugin, you can bake accessibility standards into your application in real-time.

lint-staged - 🚫💩 — Run linters on git staged files

  •    Javascript

Linting makes more sense when running before committing your code. By doing that you can ensure no errors are going into repository and enforce code style. But running a lint process on a whole project is slow and linting results can be irrelevant. Ultimately you only want to lint files that will be committed. This project contains a script that will run arbitrary npm and shell tasks with a list of staged files as an argument, filtered by a specified glob pattern.

lynt - ✨ A zero config JavaScript linter with support for Typescript, Flow, and React.

  •    TypeScript

A zero config JavaScript linter with support for React, Flow, and Typescript. The real value of ESLint is in the non-style rules that prevent common errors.

eslint-config-prettier - Turns off all rules that are unnecessary or might conflict with Prettier.

  •    Javascript

Turns off all rules that are unnecessary or might conflict with Prettier. This lets you use you favorite shareable config without letting its stylistic choices get in the way when using Prettier.

eslint-plugin-react - React specific linting rules for ESLint

  •    Javascript

Install ESLint either locally or globally. If you installed ESLint globally, you have to install React plugin globally too. Otherwise, install it locally.

polyjuice - A utility to convert JSHint and JSCS files into ESLint files and vice-versa

  •    Javascript

Polyjuice is a utility that converts JSHint and JSCS files into ESLint files and the other way around. When using polyjuice.from.eslint an object with keys jscs and jshint is returned.

eslint-plugin-react-native - React Native plugin for ESLint

  •    Javascript

React Native specific linting rules for ESLint. This repository is structured like (and contains code from) the excellent eslint-plugin-react. Install ESLint either locally or globally.

eslint-plugin-immutable - ESLint plugin to disable all mutation in JavaScript.

  •    Javascript

This is an ESLint plugin to disable all mutation in JavaScript. Think this is a bit too restrictive? Well if you're using Redux and React, there isn't much reason for your code to be mutating anything. Redux maintains a mutable pointer to your immutable application state, and React manages your DOM state. Your components should be stateless functions, translating data into Virtual DOM objects whenever Redux emits a new state. These ESLint rules explicitly prohibit mutation, effectively forcing you to write code very similar to Elm in React. There's no reason to use let in a Redux/React application, because all your state is managed by either Redux or React. Use const instead, and avoid state bugs altogether.

eslint-loader - eslint loader (for webpack)

  •    Javascript

You can pass eslint options using standard webpack loader options. Note that the config option you provide will be passed to the CLIEngine. This is a different set of options than what you'd specify in package.json or .eslintrc. See the eslint docs for more detail.

tslint-eslint-rules - Improve your TSLint with the missing ESLint rules

  •    TypeScript

You can also add other tslint config packages to combine these rules with other custom community rules. In your tslint.json file, insert the rules as described below.

prettier-eslint - Code :arrow_right: prettier :arrow_right: eslint --fix :arrow_right: Formatted Code :sparkles:

  •    Javascript

The fix feature of eslint is pretty great and can auto-format/fix much of your code according to your ESLint config. prettier is a more powerful automatic formatter. One of the nice things about prettier is how opinionated it is. Unfortunately it's not opinionated enough and/or some opinions differ from my own. So after prettier formats the code, I start getting linting errors. This formats your code via prettier, and then passes the result of that to eslint --fix. This way you can get the benefits of prettier's superior formatting capabilities, but also benefit from the configuration capabilities of eslint.

typescript-eslint-parser - An ESLint custom parser which leverages TypeScript ESTree to allow for ESLint to lint TypeScript source code

  •    Javascript

An ESLint custom parser which leverages TypeScript ESTree to allow for ESLint to lint TypeScript source code. There is sometimes an incorrect assumption that the parser itself is what does everything necessary to facilitate the use of ESLint with TypeScript. In actuality, it is the combination of the parser and one or more plugins which allow you to maximize your usage of ESLint with TypeScript.

eslint-plugin-node - Additional ESLint's rules for Node.js

  •    Javascript

Note: It recommends a use of the "engines" field of package.json. The "engines" field is used by node/no-unsupported-features/* rules. eslint-plugin-node follows semantic versioning and ESLint's Semantic Versioning Policy.