putout VS JSHint

Compare putout vs JSHint and see what are their differences.

putout

🐊 Pluggable and configurable JavaScript Linter, code transformer and formatter with built-in ESLint and Babel support for js, jsx typescript, flow, markdown, yaml and json. Write declarative codemods in a simplest possible way 😏 (by coderaiser)

JSHint

JSHint is a tool that helps to detect errors and potential problems in your JavaScript code (by jshint)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
putout JSHint
3 20
646 8,937
- -0.0%
10.0 0.0
1 day ago 8 months ago
JavaScript JavaScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

putout

Posts with mentions or reviews of putout. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-03.
  • Modern, faster alternatives to ESLint
    10 projects | dev.to | 3 May 2022
    Due to its plugin-first architecture, the initial API is kept as lean as possible, preventing unnecessary bloat and allowing the developer the choice of extension. Some plugin rules are also smaller than those available in ESLint, e.g., the debugger rule. We can also use Putout with ESLint by allowing Putout to handle code transformations while ESLint handles any formatting broken after the code transformation. We can use the plugin eslint-plugin-putout to help with this integration.
  • jscodeshift VS putout - a user suggested alternative
    2 projects | 16 Apr 2022
    🐊 Pluggable and configurable code transformer with built-in ESLint, Babel plugins support for js, jsx typescript, flow, markdown, yaml and json

JSHint

Posts with mentions or reviews of JSHint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-14.
  • 45 NPM Packages to Solve 16 React Problems
    22 projects | dev.to | 14 Nov 2023
    jshint -> Old library
  • Front-end Guide
    54 projects | dev.to | 23 Nov 2022
    JSHint
  • Find ES6 features in any JS code
    3 projects | dev.to | 14 Oct 2022
    I came across a problem where I had to find the ES6 features used by any javascript project and other data regarding their use. When I reached out to stackoverflow, I could find only one relevant post which asks you to use linters like jshint/jshint or compilers like babel. Jslint didn't seem to report anything specific to ES6 and Babel converts all the ES6+ features to ES5 but doesn't report anything regarding which constructs were used or how many times they were used. However, Jshint reported all ES6 features used in the code along with some metadata. And, to suit my needs, I ended up writing a python script that calls Jshint on all JS files in a project and presents the features used in the project and the number of times they were used across all files. You can find the code here : jsHintRunner
  • The Why & How To Create A Front-End Website Testing Plan
    3 projects | dev.to | 13 Oct 2022
    Javascript Linting parses and checks if any syntax is violating the rule. If a violation occurs, a warning is shown explaining unexpected behavior. Use the online version for small projects: JSLint, ESLint or JSHint. For larger projects, it is recommended to use a task runner like Gulp or Grunt. Linters ensure developers are following the best practices as a result of which few bugs appear during project development.
  • Modern, faster alternatives to ESLint
    10 projects | dev.to | 3 May 2022
    JSHint was created as a more configurable version of JSLint; it was released in 2011 by John Crawford, and similar to ESLint, it helps us detect syntax errors in a JavaScript program. As it aims to be a configurable version of JSLint, and provides a plethora of options that can be disabled or enabled through a configuration file, which allows for some form of flexibility. Each available option is also adequately documented. JSHint comes with support for many frameworks such as JQuery, Mocha, and Node.js, and is also available as a plugin for many popular code editors.
  • A Guide to Order: Setting up Prettier and Eslint with Husky, Lint-staged and Commitizen
    8 projects | dev.to | 17 Feb 2022
    An alternative linter is JShint.
  • NPM package ‘ua-parser-JS’ with more than 7M weekly download is compromised
    13 projects | news.ycombinator.com | 22 Oct 2021
    > check out the Web X-Ray repo <https://github.com/mozilla/goggles.mozilla.org/>.

    Thanks for example. Peeking a bit under the hood, it appears to be due to transitive dependencies referencing github urls (and transient ones at that) instead of semver, which admittedly is neither standard nor good practice...

    FWIW, simply removing `"grunt-contrib-jshint": "~0.4.3",` from package.json and related jshint-related code from Gruntfile was sufficient to get `npm install` to complete successfully. The debugging just took me a few minutes grepping package-lock.json for the 404 URL in question (https://github.com/ariya/esprima/tarball/master) and tracing that back to a top-level dependency via recursively grepping for dependent packages. I imagine that upgrading relevant dependencies might also do the trick, seeing as jshint no longer depends on esprima[0].

    I'm not sure how representative this particular case is to the sort of issues you run into, but I'll tell that reproducibility issues can get a lot worse in ways that committing deps doesn't help (for example, issues like this one[1] are nasty to narrow down).

    But assuming that installation in your link just happens to have a simple fix and that others are not as forgiving, how is committing node_modules supposed to help here if you're saying you can't even get it to a working state in the first place? DO you own the repo in order to be able to make the change? Or are you mostly just saying that hindsight is 20-20?

    [0] https://github.com/jshint/jshint/blob/master/package.json#L4...

    [1] https://github.com/node-ffi-napi/node-ffi-napi/issues/143

  • Javascript Security Checklist
    5 projects | dev.to | 29 Sep 2021
    JSHint.
  • Design an Effective Build Stage for Continuous Integration
    12 projects | dev.to | 8 Apr 2021
    As you can imagine, the language changed a lot over time, and not all its parts are good. Using a linter will help us stay away from the bad parts of JavaScript. In my experience, the ESlint and JSHint linters integrate very well into the CI environment. Any of these can be installed with npm install --save-dev.

What are some alternatives?

When comparing putout and JSHint you can also consider the following projects:

ESLint - Find and fix problems in your JavaScript code.

prettier - Prettier is an opinionated code formatter.

JSLint - JSLint, The JavaScript Code Quality and Coverage Tool

jscs

jsinspect - Detect copy-pasted and structurally similar code

jscodeshift - A JavaScript codemod toolkit.

jsfmt - For formatting, searching, and rewriting JavaScript.

JS-Beautifier - Beautifier for javascript

babel-plugin-angularjs-annotate - Add Angular 1.x dependency injection annotations to ES6 code

node-ffi-napi - A foreign function interface (FFI) for Node.js, N-API style

buddy.js - Magic number detection for JavaScript

eslint-plugin-unicorn - More than 100 powerful ESLint rules