JSHint

Last updated
JSHint
Original author(s) Anton Kovalyov, forked from original code by Douglas Crockford
Initial releaseFebruary 18, 2011;9 years ago (2011-02-18)
Stable release
2.10.2 / March 13, 2019;22 months ago (2019-03-13)
Repository OOjs UI icon edit-ltr-progressive.svg
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

JSHint is distributed under an MIT license, except for one file still under the JSLint License which is a slightly modified version of the MIT license. The additional clause specifies 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 Java-like scripting language, invented by Patrick Niemeyer. It runs in the Java Runtime Environment (JRE) and uses a variation of the Java syntax, in addition to scripting commands and syntax.

JSON Text-based open standard designed for human-readable 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 array data types. It is a very common data format, with a diverse range of applications, such as serving as a replacement for XML in AJAX systems.

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 alphabetical order of the supported language.

Douglas Crockford American computer programmer

Douglas Crockford is an American computer programmer and entrepreneur who is involved in the development of the JavaScript language. He popularized the data format JSON, and has developed various JavaScript related tools such as JSLint and JSMin. He is currently a senior JavaScript architect at PayPal, and is also a writer and speaker on JavaScript, JSON, and related web technologies.

CSS HTML Validator

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

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.

Node.js JavaScript runtime environment

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the Chrome V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

SonarQube 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, code smells, and security vulnerabilities on 20+ programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security vulnerabilities.

Jenkins (software) Free and open source automation server

Jenkins is a free and 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 (software) JavaScript package manager

npm is a package manager for the JavaScript programming language.

Amber Smalltalk

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

JetBrains s.r.o. is a Czech software development company whose tools are targeted towards software developers and project managers. As of 2019, the company has offices in Prague, Saint Petersburg, Moscow, Munich, Boston, Novosibirsk, Amsterdam, Foster City and Marlton, New Jersey.

Atom (text editor) Free and open-source text and source code editor

Atom is a free and open-source text and source code editor for macOS, Linux, and Microsoft Windows with support for plug-ins written in JavaScript, and embedded Git Control, developed by GitHub. Atom is a desktop application built using web technologies. Most of the extending packages have free software licenses and are community-built and maintained. Atom is based on Electron, a framework that enables cross-platform desktop applications using Chromium and Node.js. It is written in CoffeeScript and Less.

PhantomJS

PhantomJS is a discontinued headless browser used for automating web page interaction. PhantomJS provides a JavaScript API enabling automated navigation, screenshots, user behavior and assertions making it a common tool used to run browser-based unit tests in a headless system like a continuous integration environment. PhantomJS is based on WebKit making it a similar browsing environment to Safari and Google Chrome. It is open-source software released under the BSD License.

RethinkDB is a free and open-source, distributed document-oriented database originally created by the company of the same name. The database stores JSON documents with dynamic schemas, and is designed to facilitate pushing real-time updates for query results to applications. Initially seed funded by Y Combinator in June 2009, the company announced in October 2016 that it had been unable to build a sustainable business and its products would in future be entirely open-sourced without commercial support.

Visual Studio Code Free source code editor by Microsoft

Visual Studio Code is a free source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.

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 September 2016, there were more than 5,000 plugins available in the Grunt ecosystem.

metasfresh is an Open Source / Free Software Enterprise Resource Planning (ERP) software designed and developed for Small and medium-sized companies (SMEs).

Babel (transcompiler)

Babel is a free and open-source JavaScript transcompiler that is mainly used to convert ECMAScript 2015+ (ES6+) code into a backwards compatible version of JavaScript that can be run by older JavaScript engines. Babel is a popular tool for using the newest features of the JavaScript programming language.

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