Software:ESLint

From HandWiki
Short description: JavaScript code analysis software
ESLint
ESLint logo.svg
Original author(s)Nicholas C. Zakas
Developer(s)Nicholas C. Zakas
Initial releaseJune 30, 2013; 10 years ago (2013-06-30)
Stable release
7.3.1 / June 22, 2020; 3 years ago (2020-06-22)
Written inJavaScript
Operating systemCross-platform
Available inEnglish
TypeStatic code analysis
LicenseMIT License
Websiteeslint.org

ESLint is a static code analysis tool for identifying problematic patterns found in JavaScript code. It was created by Nicholas C. Zakas in 2013. [1][2] Rules in ESLint are configurable, and customized rules can be defined and loaded. ESLint covers both code quality and coding style issues. ESLint supports current standards of ECMAScript, and experimental syntax from drafts for future standards. Code using JSX or TypeScript can also be processed when a plugin or transpiler is used.[3][4]

History

Both JSLint and JSHint were lacking the ability to create additional rules for code quality and coding style.[2] After contributing to JSHint, Zakas decided to create a new linting 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.[5][6]

In April 2016, the ESLint project joined the jQuery Foundation[7]. Later that year, jQuery Foundation merged with Dojo Foundation to become JS Foundation as a Linux Foundation project.[8][9][10]

In October 2017, the ESLint project became a "Graduate Project" of the JS Foundation through its mentorship program.[11]

As of March 2019, ESLint is part of the OpenJS Foundation, following a merge between the JS Foundation and Node.js Foundation.[12][13]

Adoption

Since 2015, 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.[14][15][16]

Since 2016, the Vue.js project provides an ESLint plugin to automatically validate use of Vue.js templates and other features.[17][18][19] Since 2018, this plugin is also promoted in the wizard for creating new Vue.js projects.[20]

In October 2018, the React project (developed by Facebook) published an official ESLint plugin to help enforce their coding rules.[21][22]

References

  1. "First commit - eslint/eslint" (in en). https://github.com/eslint/eslint/commit/a658d7b0e7d915750f18d666823d54ef2129a9af. 
  2. 2.0 2.1 Zakas, Nicholas C. (16 July 2013). "Introducing ESLint" (in en-US). https://www.nczonline.net/blog/2013/07/16/introducing-eslint/. "JSLint was the state of the art in JavaScript linting technology" 
  3. "The future of TypeScript on ESLint" (in en). https://eslint.org/blog/2019/01/future-typescript-eslint. 
  4. "Accessibility auditing with eslint-plugin-jsx-a11y" (in en). Google Developers. 2019-04-29. https://web.dev/accessibility-auditing-react/. "The [ELint plugin] can help pinpoint [issues] in your JSX." 
  5. "Understanding the Real Advantages of Using ESLint". Rangle.io Blog. 2015-03-26. http://blog.rangle.io/understanding-the-real-advantages-of-using-eslint/. 
  6. "Rename project to ESLint · eslint/eslint@4f4c351" (in en). 4 July 2013. https://github.com/eslint/eslint/commit/4f4c3519502645297bac6f6d9509d71980dc320e. 
  7. Zakas, Nicholas (19 April 2016). "ESLint Joins The jQuery Foundation" (in en). https://eslint.org/blog/2016/04/eslint-joins-the-jquery-foundation. 
  8. "jQuery Foundation and Dojo Foundation to Merge" (in en-US). 1 September 2015. https://blog.jquery.com/2015/09/01/jquery-foundation-and-dojo-foundation-to-merge/. 
  9. "jQuery Foundation and Dojo Foundation to Merge". PRWeb. 1 July 2015. http://www.prweb.com/releases/2015/08/prweb12931885.htm. 
  10. "Announcing the JS Foundation!" (in en-US). SitePen. 2016-10-17. https://www.sitepen.com/blog/2016/10/17/announcing-the-js-foundation/. 
  11. "ESLint Graduates from JS Foundation Mentorship Program" (in en-US). JS Foundation Blog. 2017-10-05. https://js.foundation/announcements/2017/10/05/eslint-graduates-from-js-foundation-mentorship-program. 
  12. Singh, Manish (2019-03-12). "Node.js and JS foundations are merging to form OpenJS". VentureBeat. https://venturebeat.com/2019/03/12/node-js-and-js-foundations-are-merging-to-form-openjs/. Retrieved 2019-03-21. 
  13. "The Node.js Foundation and JS Foundation Announce an Intent to Merge" (in en-US). JS Foundation Blog. 2018-10-04. https://js.foundation/announcements/2018/10/04/the-node-js-foundation-and-js-foundation-announce-an-intent-to-merge-a-message-from-the-boards-and-a-faq-around-the-announcement. "How will this impact the technical direction of … ESLint This will not change the technical independence for projects like ESLint." 
  14. "WebStorm Linting, refactoring and compiling" (in en-US). JetBrains. 30 December 2015. https://blog.jetbrains.com/webstorm/2015/12/working-with-reactjs-in-webstorm-linting-refactoring-and-compiling/. 
  15. "Using JavaScript Standard Style" (in en-US). JetBrains. 7 April 2017. https://blog.jetbrains.com/webstorm/2017/04/using-javascript-standard-style/. 
  16. "ESLint - WebStorm Manual". JetBrains. https://www.jetbrains.com/help/webstorm/eslint.html. 
  17. "Writing Vue.js Applications in TypeScript". Telstra Kloud. https://blog.kloud.com.au/2017/02/24/writing-vuejs-apps-in-typescript-on-aspnet-core/. 
  18. "Lesson: Automatic Linting with ESLint - The Vue.js Master Class" (in en). https://vueschool.io/the-vuejs-master-class. 
  19. "Introduction | eslint-plugin-vue". https://eslint.vuejs.org/. 
  20. "The Vue Handbook: a thorough introduction to Vue.js" (in en). 2018-07-05. https://www.freecodecamp.org/news/the-vue-handbook-a-thorough-introduction-to-vue-js-1e86835d8446/. "Use the interactive CLI to create a new Vue project [..] By default, there is [..] ESLint integration" 
  21. "ESLint Plugin – Rules of Hooks – React Manual" (in en). https://reactjs.org/docs/hooks-rules.html. 
  22. Markbåge, Sebastian (25 October 2018). "Implement the Hooks proposal · facebook/react" (in en). https://github.com/facebook/react/pull/13968. 

External links

  • No URL found. Please specify a URL here or add one to Wikidata.