Wrapper for JSHint to allow hinting of JSX files
#JSXHint A wrapper around JSHint to allow linting of files containing JSX syntax.
Accepts the same input and JSHint and emits the same output. Switches sent to jsxhint are forwarded on to jshint.
Glob parsing, ignores, and jshintrc parsing are all performed by jshint.
Automatically lints all files with the
This module is intended for use as part of
but it can be used separately as a smart replacement for JSHint. It will automatically convert any file with
jsx extension into JS using
react-tools, then present the file to JSHint for validation.
Note that as of React 0.12, it is recommended to use the
file extension rather than the pragma in
.js files. If you are already using the
.jsx extension, add the option
--jsx-only. This will skip attempted conversion of
.js files to JSX, but still lint those files.
This is useful for running an entire project.
JSXHint is safe to use as a drop-in replacement for
JSHint, even when JSX files are not present in a project.
JSXHint offers a simple workflow that accepts JSX files without modification.
JSXHint actually lints the object definitions generated by the JSX compiler, allowing you to catch
mistakes in your templates (such as undefined variables, syntax errors, and missing modules).
JSXHint cli allows for pattern arrays via glob-all
# Lint entire projectjsxhint src/**/*# Lint Project using only `.jsx` extension for JSX.# Will lint .js files with jshint, .jsx files with jsxhint.jsxhint --jsx-only src/**/*# Basic globbingjsxhint -c ./other-directory/.jshintrc src/foo/*.jsx# Pattern arraysjsxhint ['jsx/**/*','!scripts/**/*','scripts/outlier.jsx']# Accepts stdin with '-'jsxhint - < src/file.jsx# Exclude filesjsxhint --exclude excludeme.jsx src/foo/*.jsx# Lint project using babel (previously 6to5)# Note that you must explicitly install `babel` if you wish to use it.jsxhint --babel src/**/*
npm install -g jsxhint
Usage:jsxhint[OPTIONS] [ARGS]Options:-c, --config STRING Custom configuration file--reporter STRING Custom reporter (<PATH>|jslint|checkstyle|unix)--exclude STRING Exclude files matching the given filename pattern(same as .jshintignore)--exclude-path STRINGPass in a custom jshintignore file path--filename STRING Pass in a filename when using STDIN to emulate configlookup for that file name--verbose Show message codes--show-non-errors Show additional data generated by jshint-e, --extra-ext STRING Comma-separated list of file extensions to use(default is .js)--extract [STRING] Extract inline scripts contained in HTML(auto|always|never, default to never) (Default is never)--jslint-reporter Use a jslint compatible reporter (DEPRECATED, use--reporter=jslint instead)--checkstyle-reporter Use a CheckStyle compatible XML reporter(DEPRECATED, use --reporter=checkstyleinstead)-v, --version Display the current version-h, --help Display help and usage detailsThe above options are native to JSHint, which JSXHint extends.JSXHint Options:--jsx-only Only transform files with the .jsx extension.Will run somewhat faster.--babel Use babel (6to5) instead of react esprima.Useful if you are using es6-module, etc. You mustinstall the module `babel` manually with npm.--babel-experimental Use babel with experimental support for ES7.Useful if you are using es7-async, etc.--harmony Use react esprima with ES6 transformation support.Useful if you are using both es6-class and react.