ESLint is a
static code analysis tool for identifying problematic patterns found in
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
code. It was created by Nicholas C. Zakas in 2013.
Rules in ESLint are configurable, and customized rules can be defined and loaded. ESLint covers both
code quality and
coding style
Programming style, also known as code style, is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers read and understand sour ...
issues. ESLint supports current standards of
ECMAScript
ECMAScript (; ES) is a JavaScript standard intended to ensure the interoperability of web pages across different browsers. It is standardized by Ecma International in the documenECMA-262
ECMAScript is commonly used for client-side scripting o ...
, and experimental syntax from drafts for future standards. Code using
JSX or
TypeScript can also be processed when a plugin or transpiler is used.
History
Both
JSLint
JSLint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules. It is provided primarily as a browser-based web application accessible through the domain jslint.com, but there ...
and
JSHint
JSHint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules. JSHint was created in 2011 by Anton Kovalyov as a fork of the JSLint project (by Douglas Crockford). Anton and o ...
were lacking the ability to create additional rules for
code quality and
coding style
Programming style, also known as code style, is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers read and understand sour ...
.
After contributing to JSHint, Zakas decided to create a new
linting
Lint, or a linter, is a static code analysis tool used to flag programming errors, bugs, stylistic errors and suspicious constructs. The term originates from a Unix utility that examined C language source code.
History
Stephen C. Johnson, a com ...
tool in June 2013, ESLint (originally called JSCheck, but renamed a month later), where all rules are configurable, and additional rules can be defined or loaded at
run-time.
In April 2016, the ESLint project joined the
jQuery Foundation
The OpenJS Foundation is an organization that was founded in 2019 from a merger of JS Foundation and Node.js Foundation. OpenJS Promotes the JavaScript and web ecosystem by hosting projects and funds activities that benefit the ecosystem. The OpenJ ...
. Later that year, jQuery Foundation merged with Dojo Foundation to become
JS Foundation as a Linux Foundation project.
In October 2017, the ESLint project became a "Graduate Project" of the JS Foundation through its mentorship program.
As of March 2019, ESLint is part of the
OpenJS Foundation
The OpenJS Foundation is an organization that was founded in 2019 from a merger of JS Foundation and Node.js Foundation. OpenJS Promotes the JavaScript and web ecosystem by hosting projects and funds activities that benefit the ecosystem. The OpenJ ...
, following a merge between the JS Foundation and Node.js Foundation.
Adoption
JetBrains provides integrated support for ESLint in their WebStorm code editor, which runs the ESLint software as configured for the current text file, and displays any warnings near the offending lines of code in the editor.
Since 2016, the
Vue.js
Vue.js (commonly referred to as Vue; pronounced "view") is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications. It was created by Evan You, and is maintained by him ...
project provides an ESLint plugin to automatically validate use of Vue.js templates and other features. Since 2018, this plugin is also promoted in the
wizard for creating new Vue.js projects.
In October 2018, the
React REACT or React may refer to:
Science and technology
*REACT (telescope), a telescope at Fenton Hill Observatory, New Mexico, US
Computing
* React (JavaScript library) , a JavaScript library for building user interfaces, from Facebook
** React Nati ...
project (developed by
Facebook
Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin M ...
) published an official ESLint plugin to help enforce their coding rules.
As of 2021, ESLint is the most commonly used JavaScript linter and is being downloaded over 14,000,000 times per week.
References
External links
*
{{JavaScript
JavaScript programming tools
Static program analysis tools