grunt-jsxhint v0.8.0
Like grunt-contrib-jshint but compatible with react's jsx
Getting Started
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-jsxhint --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-jsxhint');Jshint task
This grunt plugin works exactly like grunt-contrib-jshint. In fact it's even using grunt-contrib-jshint. The only difference to grunt-contrib-jshint is that this plugin runs require('bable-core').transform(code, {plugins: ["transform-react-jsx"]}); on every file passed in. This will transform the jsx syntax to regular JavaScript. Non jsx-files will be unchanged. Line numbers are preserved by jsx so the line numbers outputted by jshint will be correct.
This is a drop in replacement for grunt-contrib-jshint. So you can just replace the grunt-contrib-jshint dependency in your package.json with grunt-jsxhint.
grunt-jsxhint needs bable-core and babel-plugin-transform-react-jsx to work. If you don't have either installed run
npm install babel-core babel-plugin-transform-react-jsx --save-devUse exactly like grunt-contrib-jshint:
jshint: {
//Everything like in grunt-contrib-jshint
}Parsed filed extensions
By default, your jsx files need to have a .jsx or .react.js file extension. In order to parse other files, add the following into your jshint options object:
jshint: {
options: {
jshintrc: '.jshintrc',
ignores: [],
additionalSuffixes: ['.js']
},
}These suffixes are concatenated onto .jsx and .react.js.
Contributing
If grunt-jsxhint is lacking a feature or if you found bug (or a typo in the README) feel free to submit a pull request or file an issue.
Release History
- 2016-03-22 v0.8.0 Update dependencies.
- 2016-03-01 v0.7.0 Use babel.
- 2015-04-07 v0.6.0 Add
additionalSuffixesoption. - 2015-02-06 v0.5.0 Update dependencies and remove /* @jsx React.DOM /
- 2014-10-29 v0.4.0 Add support for
.react.jssuffix - 2014-08-14 v0.3.0 Improve error messages. Use locally installed react-tool.
- 2014-08-04 v0.2.0 Add check for /* @jsx React.DOM /. Upgrade react-tools.
- 2014-07-15 v0.1.0 Stop transforming non jsx files.
- 2014-07-12 v0.0.3 Use absolute version of grunt-contrib-jshint.
- 2014-06-20 v0.0.2 Add MIT licence. Update README.
- 2014-06-19 v0.0.1 Initial version.
