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 англ.. GitHub. Архивировано из первоисточника 29 июня 2021. Проверено 5 июля 2019.
  2. 2,0 2,1 Zakas Introducing ESLint (en-US). nczonline.net (16 July 2013). — «JSLint was the state of the art in JavaScript linting technology»  Архивировано из первоисточника 26 февраля 2018. Проверено 26 февраля 2018.
  3. The future of TypeScript on ESLint англ.. ESLint - Pluggable JavaScript linter. Архивировано из первоисточника 13 апреля 2021. Проверено 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.»  Архивировано из первоисточника 1 февраля 2021. Проверено 24 апреля 2020.
  5. Understanding the Real Advantages of Using ESLint (26 марта 2015 года). Проверено 26 февраля 2018.
  6. Rename project to ESLint · eslint/eslint@4f4c351 англ.. GitHub (4 July 2013). Архивировано из первоисточника 23 декабря 2021. Проверено 26 июня 2020.
  7. Zakas ESLint Joins The jQuery Foundation англ.. eslint.org (19 April 2016). Архивировано из первоисточника 27 января 2021. Проверено 5 июля 2019.
  8. jQuery Foundation and Dojo Foundation to Merge (en-US). Official jQuery Blog (1 September 2015). Архивировано из первоисточника 9 февраля 2021. Проверено 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). Архивировано из первоисточника 25 февраля 2021. Проверено 5 июля 2019.
  15. Using JavaScript Standard Style (en-US). JetBrains (7 April 2017). Архивировано из первоисточника 28 января 2021. Проверено 5 июля 2019.
  16. ESLint - WebStorm Manual. JetBrains. Архивировано из первоисточника 11 ноября 2020. Проверено 5 июля 2019.
  17. Writing Vue.js Applications in TypeScript. Telstra Kloud. Архивировано из первоисточника 1 апреля 2020. Проверено 5 июля 2019.
  18. Lesson: Automatic Linting with ESLint - The Vue.js Master Class англ.. Vue School. Архивировано из первоисточника 4 февраля 2021. Проверено 5 июля 2019.
  19. Introduction | eslint-plugin-vue. eslint.vuejs.org. Архивировано из первоисточника 25 февраля 2021. Проверено 5 июля 2019.
  20. The Vue Handbook: a thorough introduction to Vue.js англ.. Developer News (2018-07-05). — «Use the interactive CLI to create a new Vue project [..] By default, there is [..] ESLint integration»  Архивировано из первоисточника 21 января 2021. Проверено 5 июля 2019.
  21. ESLint Plugin – Rules of Hooks – React Manual англ.. reactjs.org. Архивировано из первоисточника 6 июня 2021. Проверено 5 июля 2019.
  22. Markbåge Implement the Hooks proposal · facebook/react англ.. GitHub (25 October 2018). Архивировано из первоисточника 12 ноября 2020. Проверено 5 июля 2019.