Original author(s) | Anton Kovalyov, forked from original code by Douglas Crockford |
---|---|
Initial release | February 18, 2011 |
Stable release | 2.10.2 / March 13, 2019 |
Repository | |
Written in | JavaScript |
Operating system | Cross-platform |
Available in | English |
Type | Static code analysis |
License | MIT license |
Website | jshint |
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.
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]
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]
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 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 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 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 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 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 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 is a package manager for the JavaScript programming language.
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 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 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 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 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.
[JSLint] has gotten uncomfortably opinionated
[..] JSLint was getting a bit too opinionated [..]
designed to be less opinionated and more configurable
Anton Kovalyov, Paul Irish, Rick Waldron, Mike Pennisi (@jugglinmike)