jshint-groups

jshint wrapper which allows check different files by using different options

jshint-groups

jshint-groups is a wrapper for JSHint which allows check different files by using different options.

$ npm install -g jshint-groups

Note: jshint declares as peer dependency and can be update separately.

Find and check all files described in config:

$ jshint-groups

Check specific files:

$ jshint-groups file1.js file2.js

jshint-groups automatically detects jshint options for each file or ignore it. It can be useful for pre-commit hook.

Configuration file is a js file (nodejs module). By default it has .jshint-groups.js name. Example:

module.exports = {
    options: {
        undef: true,
        unused: true
    },
    groups: {
        client: {
            options: {
                browser: true
            },
            includes: [
                'client/**/*.js'
            ],
            excludes: [
                'client/vendor/**'
            ]
        },
 
        server: {
            options: {
                node: true
            },
            includes: [
                'server/**'
            ]
        }
    }
};
  • options Common jshint options. Please see the jshint documentation for more details.
  • groups Each group specifies fileset for validation.
    • options JSHint options for group. This options extends common options.
    • includes List of glob patterns. Please see the minimatch documentation for more details.
    • excludes List of glob patterns to filter include results.

All properties are optional.

MIT License.