JSLint

JSLint
Basisdaten
Hauptentwickler Douglas Crockford
Erscheinungsjahr 2002
Aktuelle Version v2024.11.24
(25. November 2024)
Programmier­sprache JavaScript
Kategorie Statische Code-Analyse
Lizenz JSLint License
www.jslint.com

JSLint (aus JS als Abkürzung für JavaScript und Lint) ist ein Programmierwerkzeug zur statischen Quellcode-Analyse von JavaScript-Quelltext, das von Douglas Crockford entwickelt wurde. JSLint ist selbst in JavaScript geschrieben und als Online-Tool sowie auch auf der Kommandozeile verfügbar.

Funktionsumfang

JSLint untersucht JavaScript-Quelltext und gibt erklärende Nachrichten über problematische Stellen und deren ungefähre Lage im Quelltext zurück. Dabei werden einerseits echte Syntaxfehler und andererseits stilistische Schwachstellen und strukturelle Probleme aufgezeigt, die Programmierfehler sein können oder leicht zu solchen führen können. JSLint kann nicht sicherstellen, dass die Software korrekt abläuft, erleichtert jedoch die Problemanalyse. Der Umfang der Überprüfung kann konfiguriert werden, entweder über das Interface oder durch besondere Quelltextkommentare. Zu den Problemen, auf die JSLint hinweist, gehören unter anderem:

Lizenz

JSLint steht unter einer eigenen Lizenz, der JSLint License. Diese Lizenz ähnelt Lizenzen für freie Software, enthält jedoch eine Einschränkung, die eine Nutzung für „böse“ Zwecke verbietet. JSLint wird deshalb von der FSF und Debian als unfrei eingestuft.

Alternativen

Seit 2011 gibt es mit JSHint von Anton Kovalyov eine Abspaltung, die es erlaubt, weniger streng als nach Crockfords persönlichem Stil zu prüfen.

Als freie Alternative unter der MIT-Lizenz entstand im Jahr 2013 ESLint von Nicholas C. Zakas. Nachdem er zu JSHint beigetragen hatte, entschied sich Zakas, mit ESLint ein neues Linting-Tool zu entwickeln, bei dem alle Regeln konfigurierbar sind, zusätzliche Regeln definiert und gegebenenfalls zur Laufzeit geladen werden können. ESLint unterstützt auch das Linting der neuesten Versionen von JavaScript, auch bekannt als ECMAScript 2015 und höher. Zwischenzeitlich bestanden JSCS und TSLint; beide wurden in ESLint integriert.

Literatur

Einzelnachweise

  1. ↑ github.com.
  2. ↑ Release v2024.11.24. 25. November 2024 (abgerufen am 27. Februar 2025).
  3. ↑ Quellen von JSLint samt Lizenz (Memento vom 9. Juni 2013 im Internet Archive)
  4. ↑ Kommentar zur äquivalenten Formulierung bei der JSON-Lizenz
  5. ↑ Anton Kovalyov: Why I forked JSLint to JSHint. Veröffentlicht am 20. Februar 2011, abgerufen am 2. Februar 2015.
  6. ↑ Understanding the Real Advantages of Using ESLint (Memento des Originals vom 14. April 2019 im Internet Archive) In: Rangle.io Blog, 26. März 2015. Abgerufen am 26. Februar 2018 (englisch). 
  7. ↑ JSCS End of Life. In: ESLint Blog. Juli 2016, abgerufen am 26. Januar 2021 (englisch).
  8. ↑ typescript-eslint/typescript-eslint. In: GitHub. TypeScript ESLint, 26. Januar 2021, abgerufen am 26. Januar 2021 (englisch).
  9. ↑ Palantir: TSLint in 2019. 5. Juni 2019, abgerufen am 26. Januar 2021 (englisch).