grunt-coffeelinter

0.1.0 • Public • Published

grunt-coffeelinter

A grunt plugin for coffeelint your coffeescript projects.

grunt-coffeelinter is a coffeelint based grunt task. It is a grunt multitask. It supports loading configuration from external file like in jshint, report output as json and/or to the console.

Getting Started

This plugin requires Grunt ~0.4.2

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

Add this line to your project's Gruntfile.coffee:

grunt.loadNpmTasks 'grunt-coffeelinter'

The "coffeelinter" task

Overview

In your project's Gruntfile, add a section named coffeelinter.

grunt.initConfig
  coffeelinter: 
    options: 
      # Task-specific options go here.
   
    target: 
      # Target-specific file lists and/or options go here.
    

Options

options.force

Type: Boolean Default value: false

Set force to true to report CoffeeLint errors but not fail the task.

options.reportConsole

Type: Boolean Default value: false

Set reportConsole to true to report CoffeeLint errors to the console.

options.reporterOutput

Type: String or null Default value: null

Specify a filepath to output the results of a reporter. the report is generated as json. Set to null or false if you don't want to generate a json report.

options.configFile

Type: String or null Default value: null

Specify a filepath to coffeelint configuration. For available options see coffeelint homepage. The file must be valid JSON and looks something like this:

{
    "arrow_spacing"                      : {"level": "warn"},
    "camel_case_classes"                 : {"level":"warn"},
    "coffeescript_error"                 : {"level":"error"},
    "colon_assignment_spacing"           : {"level":"warn"},
    "no_trailing_whitespace"             : {"level":"warn"},
    "no_unnecessary_fat_arrows"          : {"level":"warn"},
    "non_empty_constructor_needs_parens" : {"level":"warn"},
    "space_operators"                    : {"level":"warn"}
}

An alternative to load configuration from external file is to pass it in the options:

    coffeelinter:
      options:
        force: yes
        'no_trailing_semicolons':
          'level': 'error'
        'camel_case_classes':                 
          'level': 'warn'
        'coffeescript_error':                 
          'level':'error'

      target: ['path/to/entry.coffee']

Be aware that .coffeelintrc (or any other external config file) settings are not merged with your Grunt options.

Usage Examples

Basic usage

In this example, the default options are used. The files array can have many src/dest file objects. src path glob patterns are supported by minimatch. In this example no config is specified so default coffeelint configuration is assumed.

    coffeelinter:
      target: ['path/to/some.coffee', 'path/to/other.coffee']

Custom Options

example with all the options

    coffeelinter:
      options:
        force: yes
        configFile: '.coffeelintrc'
        reportConsole: no
        reporterOutput: 'coffeelinter/report.json'
      target: ['path/to/some.coffee', 'path/to/other.coffee']

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

(Nothing yet)

Issues

Please use the github issues list to report any issues. If possible, please include a link to an open github repo with the smallest failing example of your issue. Even better, fork the project, create a failing test case and issue a pull request with the issue number referenced in the pull request. Super better, fork the project create a failing test case, fix the problem, and issue a pull request with the test and fix referencing the issue number.

Readme

Keywords

none

Package Sidebar

Install

npm i grunt-coffeelinter

Weekly Downloads

1

Version

0.1.0

License

none

Last publish

Collaborators

  • oferi