ESLint

Материал из Циклопедии
Перейти к навигации Перейти к поиску
программное обеспечение
ESLint
Файл:ESLint logo.svg
ТипСтатический анализ кода
АвторNicholas C. Zakas
Операционная системакроссплатформенные

ESLint — инструмент статического анализа кода для выявления проблемных шаблонов, обнаруженных в коде JavaScript. Он был создан Николасом Закасом в 2013 году.[1][2] Правила в ESLint можно настраивать, а также можно определять и загружать настраиваемые правила. ESLint охватывает вопросы как качества кода, так и стиля кодирования . ESLint поддерживает текущие стандарты ECMAScript и экспериментальный синтаксис из проектов будущих стандартов. Код, использующий JSX или TypeScript, также может обрабатываться при использовании плагина или транспайлера.[3][4]

История[править]

И JSLint, и JSHint недоставало возможность создавать дополнительные правила для качества кода и кодирования стиля.[2] После участия в JSHint Закас решил создать новый инструмент линтинга в июне 2013 года, ESLint (первоначально называвшийся JSCheck, но переименованный через месяц), где все правила настраиваются, а дополнительные правила могут быть определены или загружены во время выполнения .[5][6]

В апреле 2016 года проект ESLint присоединился к jQuery Foundation .[7] Позже в том же году jQuery Foundation объединилась с Dojo Foundation и превратилась в JS Foundation как проект Linux Foundation.[8][9][10] В октябре 2017 года проект ESLint стал «Выпускным проектом» JS Foundation через его программу наставничества.[11] По состоянию на март 2019 года ESLint является частью OpenJS Foundation после слияния JS Foundation и Node.js Foundation.[12][13]

Применение[править]

JetBrains обеспечивает интегрированную поддержку ESLint в своем редакторе кода WebStorm, который запускает программное обеспечение ESLint, настроенное для текущего текстового файла, и отображает любые предупреждения рядом с ошибочными строками кода в редакторе.[14][15][16]

С 2016 года проект Vue.js предоставляет плагин ESLint для автоматической проверки использования шаблонов Vue.js и других функций.[17][18][19] С 2018 года этот плагин также продвигается в мастере создания новых проектов Vue.js.[20]

В октябре 2018 года проект React (разработанный Facebook) опубликовал официальный плагин ESLint, чтобы помочь обеспечить соблюдение их правил кодирования.[21][22]

Источники[править]

  1. First commit - eslint/eslint (англ.). Проверено 5 июля 2019.
  2. 2,0 2,1 Zakas Introducing ESLint (en-US) (16 July 2013). — «JSLint was the state of the art in JavaScript linting technology»  Проверено 26 февраля 2018.
  3. The future of TypeScript on ESLint (англ.). Проверено 24 апреля 2020.
  4. Accessibility auditing with eslint-plugin-jsx-a11y (англ.). Google Developers (2019-04-29). — «The [ELint plugin] can help pinpoint [issues] in your JSX.»  Проверено 24 апреля 2020.
  5. Understanding the Real Advantages of Using ESLint (26 марта 2015 года). Проверено 26 февраля 2018.
  6. Rename project to ESLint · eslint/eslint@4f4c351 (англ.) (4 July 2013). Проверено 26 июня 2020.
  7. Zakas ESLint Joins The jQuery Foundation (англ.) (19 April 2016). Проверено 5 июля 2019.
  8. jQuery Foundation and Dojo Foundation to Merge (en-US) (1 September 2015). Проверено 2 июля 2018.
  9. jQuery Foundation and Dojo Foundation to Merge (июль 2015 года). Проверено 2 июля 2018.
  10. Announcing the JS Foundation! (en-US) (17 октября 2016 года). Проверено 2 июля 2018.
  11. ESLint Graduates from JS Foundation Mentorship Program (en-US) (5 октября 2017 года). Проверено 5 июля 2019.
  12. Singh. Node.js and JS foundations are merging to form OpenJS (12 марта 2019 года). Проверено 21 марта 2019.
  13. The Node.js Foundation and JS Foundation Announce an Intent to Merge (en-US) (4 октября 2018 года). Проверено 5 июля 2019. «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 (en-US). JetBrains (30 December 2015). Проверено 5 июля 2019.
  15. Using JavaScript Standard Style (en-US). JetBrains (7 April 2017). Проверено 5 июля 2019.
  16. ESLint - WebStorm Manual. JetBrains. Проверено 5 июля 2019.
  17. Writing Vue.js Applications in TypeScript. Telstra Kloud. Проверено 5 июля 2019.
  18. Lesson: Automatic Linting with ESLint - The Vue.js Master Class (англ.). Проверено 5 июля 2019.
  19. Introduction | eslint-plugin-vue. Проверено 5 июля 2019.
  20. The Vue Handbook: a thorough introduction to Vue.js (англ.) (2018-07-05). — «Use the interactive CLI to create a new Vue project [..] By default, there is [..] ESLint integration»  Проверено 5 июля 2019.
  21. ESLint Plugin – Rules of Hooks – React Manual (англ.). Проверено 5 июля 2019.
  22. Markbåge Implement the Hooks proposal · facebook/react (англ.) (25 October 2018). Проверено 5 июля 2019.