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;18 months 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.

<span class="mw-page-title-main">JSON</span> Open standard file format and data interchange

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–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.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

The Ruby License is a Free and Open Source license applied to the Ruby programming language and also available to be used in other projects. It contains an explicit dual licensing clause, stating that software subject to its terms may be distributed under either the terms included in the Ruby License itself or under those of either the GNU General Public Licence v2, or the two-clause BSD License.

<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">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">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

<span class="mw-page-title-main">SonarQube</span> Open-source platform for continuous inspection of code quality

SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and code smells on 29 programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security recommendations.

<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">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.

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.

<span class="mw-page-title-main">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded version control with Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add functionality.

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. Metasfresh was included in the Top 9 Open Source ERPs to Consider by opensource.com.

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 or Semgrep CLI is a free open-source static code analysis tool developed by Semgrep, Inc. and open-source contributors. It has stable support for C#, Go, Java, JavaScript, JSON, Python, PHP, Ruby, and Scala. It has experimental support for nineteen other languages, as well as a language agnostic mode.

References

  1. 1 2 Graham, Wayne (2012). Beginning Facebook Game Apps Development. Apress. ISBN   9781430241706.
  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