grunt-gjslint

Validate files with Google Closure Linter.

npm install grunt-gjslint
28 downloads in the last day
171 downloads in the last week
772 downloads in the last month

grunt-gjslint

Validate files with Google Linter.

Getting Started

This plugin requires Node ~0.8.19 (for managing peerDependencies), Grunt ~0.4.1 and just python installed.

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-gjslint --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-gjslint');

The "gjslint" task

Run this task with the grunt gjslint command.

Overview

In your project's Gruntfile, add a section named gjslint to the data object passed into grunt.initConfig().

grunt.initConfig({
  gjslint: {
    options: {
      flags: [
        '--disable 220' //ignore error code 220 from gjslint
      ],
      reporter: {
        name: 'console'
      }
    },
    all: {
      src: '<%= jshint.all %>'
    }
  }
})

As this is a Multitask, you can specify several targets to be called sharing the same root options

Documentation

grunt-gjslint uses node-closure-linter-wrapper to lint files

Please, refer to node-closure-linter-wrapper documentation for flags and reporter reference.

options.force flag is a custom option that when disabled, will not fail the grunt task when python is not installed on the computer. It defaults to true

Usage Examples

Use a flag file to store the closure-linter flags, and have two different source directories. Output the lint results to the console. You can use wildcards in file paths.

grunt.initConfig({
  gjslint: {
    options: {
      flags: [
          '--flagfile .gjslintrc' //use flag file
      ],
      reporter: {
        name: 'console' //report to console
      },
      force: false //don't fail if python is not installed on the computer
    },
    lib: {
      src: ['lib/module/**/*.js', 'lib/foo.js'],
    },
    test: {
      src: ['test/*.js'],
    }
  }
})

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • v0.1.4

    • bug fixing in filenames with whitespaces. Thanks to @moelders
  • v0.1.3

    • bug fixing. Thanks to @dcantelar
  • v0.1.0

    • First version
npm loves you