JSHint

Last updated
JSHint
Original author(s) Anton Kovalyov, forked from original code by Douglas Crockford
Initial releaseFebruary 18, 2011;13 years ago (2011-02-18)
Stable release
2.13.6 / November 12, 2022;2 years ago (2022-11-12)
Repository
Written in JavaScript
Operating system Cross-platform
Available inEnglish
Type Static code analysis
License MIT license
Website jshint.com

JSHint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules. [1] JSHint was created in 2011 by Anton Kovalyov as a fork of the JSLint project (by Douglas Crockford). [2] [3] Anton and others felt JSLint was getting "too opinionated", and did not allow enough customization options. [4] [5] [6] [7] The JSHint maintainers [8] publish both an online version, and a command-line version.

Contents

The online version is accessible through the official website in which users can paste code to run the application online. [1] The command-line version of JSHint (distributed as a Node.js module), enables automated linting processes by integrating JSHint into a project's development workflow. [9]

License

Until 2020, JSHint was distributed under the MIT license except for one file which was still under the JSLint License (a slightly modified version of the MIT license). The additional clause specified that the software shall be used "for Good and not Evil". This clause, according to the Free Software Foundation, made the software non-free. [10]

In August 2020, all code under the previous JSLint License was replaced with open-source software, making the software fully free software. [11]

See also

Related Research Articles

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures, like those in Perl and JavaScript.

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of name–value pairs and arrays. It is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.

<span class="mw-page-title-main">Douglas Crockford</span> American computer programmer

Douglas Crockford is an American computer programmer who is involved in the development of the JavaScript language. He specified the data format JSON, and has developed various JavaScript related tools such as the static code analyzer JSLint and minifier JSMin. He wrote the book JavaScript: The Good Parts, published in 2008, followed by How JavaScript Works in 2018. He was a senior JavaScript architect at PayPal until 2019, and is also a writer and speaker on JavaScript, JSON, and related web technologies.

<span class="mw-page-title-main">CSS HTML Validator</span> HTML editor and CSS editor for Windows

CSS HTML Validator is an HTML editor and CSS editor for Windows that helps web developers create syntactically correct and accessible HTML/HTML5, XHTML, and CSS documents by locating errors, potential problems like browser compatibility issues, and common mistakes. It is also able to check links, check spelling, suggest improvements, alert developers to deprecated, obsolete, or proprietary tags, attributes, and CSS properties, and find issues that can affect search engine optimization.

<span class="mw-page-title-main">JSLint</span> JavaScript static code analysis tool

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 are also command-line adaptations. It was created in 2002 by Douglas Crockford.

<span class="mw-page-title-main">Jenkins (software)</span> Open source automation server

Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration, and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase, and RTC, and can execute Apache Ant, Apache Maven, and sbt based projects as well as arbitrary shell scripts and Windows batch commands.

npm JavaScript package manager

npm is a package manager for the JavaScript programming language maintained by npm, Inc., a subsidiary of GitHub. npm is the default package manager for the JavaScript runtime environment Node.js and is included as a recommended feature in the Node.js installer.

<span class="mw-page-title-main">Opa (programming language)</span>

Opa is a programming language for developing scalable web applications. It is free and open-source software released under a GNU Affero General Public License (AGPLv3), and an MIT License.

<span class="mw-page-title-main">Amber Smalltalk</span>

Amber Smalltalk, formerly named Jtalk, is an implementation of the programming language Smalltalk-80, that runs on the JavaScript runtime of a web browser. It is designed to enable client-side development using Smalltalk. The programming environment in Amber is named Helios.

<span class="mw-page-title-main">Brackets (text editor)</span> Editor for web development

Brackets is a source code editor with a primary focus on web development. Created by Adobe Inc., it is free and open-source software licensed under the MIT License, and is currently maintained on GitHub by open-source developers. It is written in JavaScript, HTML and CSS. Brackets is cross-platform, available for macOS, Windows, and most Linux distributions. The main purpose of Brackets is its live HTML, CSS and JavaScript editing functionality.

<span class="mw-page-title-main">Gatling (software)</span>

Gatling is a load- and performance-testing framework based on Scala, Akka and Netty. The first stable release was published on January 13, 2012. In 2015, Gatling's founder, Stéphane Landelle, created a company, dedicated to the development of the open-source project. According to Gatling Corp's official website, Gatling was downloaded more than 20,000,000 times (2024). In June 2016, Gatling officially presented Gatling FrontLine, Gatling's Enterprise Version with additional features.

JetBrains s.r.o. is a Czech software development private limited company which makes tools for software developers and project managers. The company has its headquarters in Prague, and has offices in China, Europe, and the United States.

Grunt is a JavaScript task runner, a tool used to automatically perform frequent tasks such as minification, compilation, unit testing, and linting. It uses a command-line interface to run custom tasks defined in a file. Grunt was created by Ben Alman and is written in Node.js. It is distributed via npm. As of October 2022, there were more than 6,000 plugins available in the Grunt ecosystem.

Metasfresh is an open-source, free ERP software designed and developed for SMEs. Metasfresh is an actively maintained fork of ADempiere and can be used and distributed freely. It does not require a contributor license agreement from partners or contributors. While numerous open-source ERP projects exist, Metasfresh was included in the Top 9 Open Source ERPs to Consider by opensource.com.

<span class="mw-page-title-main">DBeaver</span> Multi-platform database administration software

DBeaver is a SQL client software application and a database administration tool. For relational databases it uses the JDBC application programming interface (API) to interact with databases via a JDBC driver. For other databases (NoSQL) it uses proprietary database drivers. It provides an editor that supports code completion and syntax highlighting. It provides a plug-in architecture that allows users to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. It is written in Java and based on the Eclipse platform.

This is a list of articles related to the JavaScript programming language.

<span class="mw-page-title-main">ESLint</span> JavaScript code analysis software

ESLint is a static code analysis tool for identifying problematic patterns found in JavaScript 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 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.

<span class="mw-page-title-main">Babel (transcompiler)</span> Backwards compatible JavaScript compiler

Babel is a free and open-source JavaScript transcompiler that is mainly used to convert ECMAScript 2015+ (ES6+) code into backwards-compatible JavaScript code that can be run by older JavaScript engines. It allows web developers to take advantage of the newest features of the language.

Semgrep, Inc. is a cybersecurity company based in San Francisco. The company develops the Semgrep AppSec Platform and actively maintains the open-source static code analysis tool semgrep OSS.

References

  1. 1 2 Graham, Wayne (2012). Beginning Facebook Game Apps Development. Apress. ISBN   9781430241706.[ permanent dead link ]
  2. "Why I forked JSLint to JSHint". anton.kovalyov.net. Anton Kovalyov. 2011-02-20. Archived from the original on 2011-02-24. Retrieved 2018-02-26. [JSLint] has gotten uncomfortably opinionated
  3. "JSHint: A Community Driven Fork of JSLint". badassjs.com. Devon Govett. 18 February 2011. Archived from the original on 21 February 2011. Retrieved 2011-02-21. [..] JSLint was getting a bit too opinionated [..]
  4. Elliot, Ian (21 February 2011). "JSHint - the (gentler) JavaScript code quality tool". www.i-programmer.info. Archived from the original on 2011-02-23. Retrieved 2018-02-26.
  5. "Paren-Free". Brendan Eich. 2011-02-28. Archived from the original on 2011-02-28. Retrieved 2018-02-26.
  6. "Help: JSHint". codekitapp.com. 2018-02-26. Retrieved 2018-02-26. designed to be less opinionated and more configurable
  7. "JSLint vs JSHint". Scott Logic . Retrieved 2018-02-26.
  8. "JSHint Team on GitHub". GitHub. Retrieved 2018-02-26. Anton Kovalyov, Paul Irish, Rick Waldron, Mike Pennisi (@jugglinmike)
  9. Kovalyov, Anton. "JSHint - a JavaScript Code Quality Tool" . Retrieved 22 January 2013.
  10. https://www.gnu.org/licenses/license-list.en.html#JSON see the comment about the JSON license
  11. "You May Finally Use JSHint for Evil". mikepennisi.com. 2020-08-03. Retrieved 2020-08-03.

Further reading