JavaScript: jsxhint - novaez/syntastic GitHub Wiki

Maintainer: Thomas Boyt [email protected]

JSXHint is a wrapper around JSHint for linting JSX syntax, which is inline markup-in-JS used by React.

See the project's page for details.

Installation:

The official installation instructions tell you to use npm:

npm install -g jsxhint

However, at the time of this writing this picks up a different, obsolete project with the same name, that can't be used by syntastic. Thus it's probably safer to install JSXHint from GitHub:

npm install -g STRML/JSXHint

Only versions v0.4.1 and later of JSXHint are supported. You also need JSXHint v1.1.0 or later.

Note:

Since JSXHint is a wrapper around JSHint, the following note relevant to the latter still applies:

If you're checking files containing tab characters then JSHint's idea of tabstop must match Vim's tabstop, otherwise syntastic will highlight the errors at shifted positions. By default JSHint's tabstop is 4, while Vim's default tabstop is 8.

In order to change JSHint's tabstop you have to change its indent config option. One way to do that is to put it in a file named .jshintrc in the current dirrectory, the parent directories, or your home directory. The file is supposed to be in JSON format. For example:

{
    "indent": 8
}

See JSHint documentation for more details.

Please note however that setting indent also triggers the indentation checksi in JSHint. If that is undesirable, your only other option is to leave JSHint's tabstop alone, and change Vim's tabstop to 4. To change Vim's tabstop, you can add this to your vimrc:

set tabstop=4