| CARVIEW |
Overview
Installation
npm install -g @coffeelint/cli
Getting Started
Usage
coffeelint application.coffee
coffeelint -f coffeelint.json application.coffee
coffeelint --makeconfig > coffeelint.json
Options
# coffeelint: disable=max_line_length
foo = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
# coffeelint: enable=max_line_length
throw "I should be an Error not a string but YOLO" # noqa
| Name | Description |
|---|---|
| arrow_spacing |
This rule checks to see that there is spacing before and after the arrow operator that declares a function. This rule is disabled by default. Note that if arrow_spacing is enabled, and you pass an empty function as a parameter, arrow_spacing will accept either a space or no space in-between the arrow operator and the parenthesis
default level: ignore |
| braces_spacing |
This rule checks to see that there is the proper spacing inside
curly braces. The spacing amount is specified by "spaces".
The spacing amount for empty objects is specified by
"empty_object_spaces".
The spacing amount for objects containing a single item is
specified by "mono_object_spaces".
This rule is disabled by default.
default level: ignore |
| bracket_spacing |
This rule checks to see that there is the proper spacing inside
square brackets. The spacing amount is specified by "spaces".
The spacing amount for empty arrays is specified by
"empty_array_spaces".
The spacing amount for arrays containing a single item is
specified by "mono_array_spaces".
Specified characters will be ignored if listed in "exceptions".
This rule is disabled by default.
default level: ignore |
| camel_case_classes |
This rule mandates that all class names are UpperCamelCased.
Camel casing class names is a generally accepted way of
distinguishing constructor functions - which require the 'new'
prefix to behave properly - from plain old functions.
This rule is enabled by default.
default level: error |
| coffeescript_error |
[no description provided]
default level: error |
| colon_assignment_spacing |
This rule checks to see that there is spacing before and after the colon in a colon assignment (i.e., classes, objects). The spacing amount is specified by spacing.left and spacing.right, respectively. A zero value means no spacing required.
default level: ignore |
| cyclomatic_complexity |
Examine the complexity of your function.
default level: ignore |
| duplicate_key |
Prevents defining duplicate keys in object literals and classes
default level: error |
| empty_constructor_needs_parens |
Requires constructors with no parameters to include the parens
default level: ignore |
| ensure_comprehensions |
This rule makes sure that parentheses are around comprehensions.
default level: warn |
| eol_last |
Checks that the file ends with a single newline
default level: ignore |
| indentation |
This rule imposes a standard number of spaces(tabs) to be used for
indentation. Since whitespace is significant in CoffeeScript, it's
critical that a project chooses a standard indentation format and
stays consistent. Other roads lead to darkness.
Two space indentation is enabled by default.
default level: error |
| line_endings |
This rule ensures your project uses only windows or
unix line endings. This rule is disabled by default.
default level: ignore |
| max_line_length |
This rule imposes a maximum line length on your code. Python's style
guide does a good job explaining why you might want to limit the
length of your lines, though this is a matter of taste.
Lines can be no longer than eighty characters by default.
default level: error |
| missing_fat_arrows |
Warns when you use `this` inside a function that wasn't defined
with a fat arrow. This rule does not apply to methods defined in a
class, since they have `this` bound to the class instance (or the
class itself, for class methods). The option `is_strict` is
available for checking bindings of class methods.
It is impossible to statically determine whether a function using
`this` will be bound with the correct `this` value due to language
features like `Function.prototype.call` and
`Function.prototype.bind`, so this rule may produce false positives.
default level: ignore |
| missing_parseint_radix |
This rule warns about using parseInt without a radix. From the MDN
developers reference: Always specify this parameter to eliminate reader confusion and to guarantee predictable behavior.
default level: warn |
| newlines_after_classes |
Checks the number of blank lines between classes and other code. Options: - - The number of required blank lines
after class definitions. Defaults to 3.
default level: ignore |
| no_backticks |
Backticks allow snippets of JavaScript to be embedded in
CoffeeScript. While some folks consider backticks useful in a few
niche circumstances, they should be avoided because so none of
JavaScript's "bad parts", like with and eval,
sneak into CoffeeScript.
This rule is enabled by default.
default level: error |
| no_debugger |
This rule detects `debugger` and optionally `console` calls
This rule is `warn` by default.
default level: warn |
| no_empty_functions |
Disallows declaring empty functions. The goal of this rule is that
unintentional empty callbacks can be detected:
The problem is that the call to
doSomethingSignificant will be made regardless
of someFunctionWithCallback's execution. It can
be because you did not indent the call to
doSomethingSignificant properly.
If you really meant that someFunctionWithCallback
should call a callback that does nothing, you can write your code
this way:
default level: ignore |
| no_empty_param_list |
This rule prohibits empty parameter lists in function definitions.
Empty parameter lists are permitted by default.
default level: ignore |
| no_implicit_braces |
This rule prohibits implicit braces when declaring object literals.
Implicit braces can make code more difficult to understand,
especially when used in combination with optional parenthesis.
Implicit braces are permitted by default, since their use is
idiomatic CoffeeScript.
default level: ignore |
| no_implicit_parens |
This rule prohibits implicit parens on function calls.
Implicit parens are permitted by default, since their use is
idiomatic CoffeeScript.
default level: ignore |
| no_interpolation_in_single_quotes |
This rule prohibits string interpolation in a single quoted string.
String interpolation in single quoted strings is permitted by
default.
default level: ignore |
| no_nested_string_interpolation |
This rule warns about nested string interpolation,
as it tends to make code harder to read and understand.
default level: warn |
| no_plusplus |
This rule forbids the increment and decrement arithmetic operators.
Some people believe the ++ and -- to be cryptic
and the cause of bugs due to misunderstandings of their precedence
rules.
This rule is disabled by default.
default level: ignore |
| no_private_function_fat_arrows |
Warns when you use the fat arrow for a private function
inside a class definition scope. It is not necessary and
it does not do anything.
default level: warn |
| no_spaces |
This rule forbids spaces in indentation. It is disabled by default.
default level: ignore |
| no_stand_alone_at |
This rule checks that no stand alone @ are in use, they are
discouraged. Further information in CoffeeScript issue
#1601
default level: ignore |
| no_tabs |
This rule forbids tabs in indentation. Enough said. It is enabled by
default.
default level: error |
| no_this |
This rule prohibits 'this'.
Use '@' instead.
default level: ignore |
| no_throwing_strings |
This rule forbids throwing string literals or interpolations. While
JavaScript (and CoffeeScript by extension) allow any expression to
be thrown, it is best to only throw Error objects,
because they contain valuable debugging information like the stack
trace. Because of JavaScript's dynamic nature, CoffeeLint cannot
ensure you are always throwing instances of Error. It will
only catch the simple but real case of throwing literal strings.
This rule is enabled by default.
default level: error |
| no_trailing_semicolons |
This rule prohibits trailing semicolons, since they are needless
cruft in CoffeeScript.
Trailing semicolons are forbidden by default.
default level: error |
| no_trailing_whitespace |
This rule forbids trailing whitespace in your code, since it is
needless cruft. It is enabled by default.
default level: error |
| no_unnecessary_double_quotes |
This rule prohibits double quotes unless string interpolation is
used or the string contains single quotes.
Double quotes are permitted by default.
default level: ignore |
| no_unnecessary_fat_arrows |
Disallows defining functions with fat arrows when `this`
is not used within the function.
default level: warn |
| non_empty_constructor_needs_parens |
Requires constructors with parameters to include the parens
default level: ignore |
| object_shorthand |
Use property value shorthand in objects, when explicit braces are used.
default level: ignore |
| prefer_english_operator |
This rule prohibits &&, ||, ==, != and !.
Use and, or, is, isnt, and not instead.
!! for converting to a boolean is ignored.
default level: ignore |
| prefer_fat_arrows_in_methods |
Warns when you do not use a fat arrow for functions defined inside
method bodies. This assures that `this` is always bound to the
method's object inside the code block of a method.
default level: ignore |
| prefer_logical_operator |
This rule prohibits is, isnt, not, and, or, yes, on, no, off.
Use ==, !=, !, &&, ||, true, false instead.
default level: ignore |
| space_operators |
This rule enforces that operators have space around them.
Optionally, you can set `default_parameters` to `false` to
require no space around `=` when used to define default paramaters.
default level: ignore |
| spacing_after_comma |
This rule checks to make sure you have a space after commas.
Consecutive commas are allowed when skipping array elements
if "ignore_elision" is true.
default level: ignore |
| transform_messes_up_line_numbers |
This rule detects when changes are made by transform function,
and warns that line numbers are probably incorrect.
default level: warn |
API
coffeelint.lint(source, configuration)
{
rule : 'Name of the violated rule',
lineNumber: 'Number of the line that caused the violation',
level: 'The severity level of the violated rule',
message: 'Information about the violated rule',
context: 'Optional details about why the rule was violated'
}
coffeelint.registerRule(RuleConstructor)
Loading Custom Rules
{
// This name MUST match the default configuration of the rule being loaded.
"newline_at_eof": {
// NodeJS module to load. It can also be a path to the rule (useful for devleopment)
"module": "coffeelint-newline-at-eof",
// Maybe the rule author set it to error by default and you only want a warning.
"level": "warn"
}
}
Building Custom Rules
- LineLinter: processes one line at a time, usually with regular expressions
- TokenLinter: processes the token stream generated by CoffeeScript.
- ASTLinter: Processes the Abstract Syntax Tree. AST rules are only called with the root node and it is up to the rule to recurse the tree.
--rules /path/to/rules/
or
coffeelint.registerRule(RuleConstructor)
when outside of the CLI.
lintLine(line, lineApi)
lintToken(token, tokenApi)
lintAST(ast, astApi)
The second parameter of each is an object with helper functions.
It's best to just check the source or look at how other plugins are
using those.
Plugins
- The aptly named vim-coffee-script by Mick Koch.
- flymake-coffee, en emacs flymake plugin by Steve Purcell.
- CoffeeLintNode, an emacs plugin, by Alex Kavanagh.
- CoffeeLint-brunch is a plugin for Brunch.io, by Costantino Giuliodori.
- Grunt-CoffeeLint is a plugin for Grunt.js, by Vojta Jina.
- Syntastic a Vim syntax checker, now support CoffeeLint.
- mimosa-coffeelint is a plugin for Mimosa, by David Bashford.
- arcanist-coffee-lib is a set of Arcanist extensions, including a wrapper for CoffeeLint.
- gulp-coffeelint is a plugin for gulp, by Jan Raasch.
- coffeelint-ruby is a set of bindings for ruby, by Zachary Bush
- overcommit is a fully configurable and extendable Git hook manager including support for CoffeeLint.
- codacy-coffeelint is a docker container that runs CoffeeLint at Codacy, by Ryan Delaney.
- linter-coffeelint is a plugin for Atom.
- Coffee Lint is a plugin for Visual Studio Code, by Kaiyuan Liu.
About
Change Log
5.2.11 (2022-11-07)
Bug Fixes
5.2.10 (2022-09-30)
Bug Fixes
5.2.9 (2022-05-16)
Bug Fixes
- deps: bump glob from 8.0.1 to 8.0.3 (#209) (b51dafc)
- deps: bump yargs from 17.4.1 to 17.5.1 (#208) (5fd34f4)
5.2.8 (2022-04-25)
Bug Fixes
5.2.7 (2022-04-19)
Bug Fixes
5.2.6 (2022-04-11)
Bug Fixes
5.2.5 (2022-03-21)
Bug Fixes
5.2.4 (2022-01-27)
Bug Fixes
5.2.3 (2022-01-04)
Bug Fixes
5.2.2 (2021-12-20)
Bug Fixes
5.2.1 (2021-12-01)
Bug Fixes
5.2.0 (2021-11-07)
Features
5.1.1 (2021-11-05)
Bug Fixes
5.1.0 (2021-11-01)
Features
5.0.5 (2021-10-18)
Bug Fixes
5.0.4 (2021-09-23)
Bug Fixes
- deps: bump glob from 7.1.7 to 7.2.0 (#162) (e77d072)
- deps: bump yargs from 17.1.1 to 17.2.0 (#163) (6be6c16)
5.0.3 (2021-09-20)
Bug Fixes
5.0.2 (2021-08-16)
Bug Fixes
5.0.1 (2021-05-07)
Bug Fixes
5.0.0 (2021-05-04)
Bug Fixes
BREAKING CHANGES
- drop support for node v10
4.1.5 (2021-05-03)
Bug Fixes
4.1.4 (2021-03-23)
Bug Fixes
4.1.3 (2021-02-12)
Bug Fixes
4.1.2 (2020-11-11)
Bug Fixes
4.1.1 (2020-10-16)
Bug Fixes
4.1.0 (2020-09-23)
Features
4.0.0 (2020-09-10)
Bug Fixes
- update deps (3dde492)
BREAKING CHANGES
- Drop support for Node v8
3.2.10 (2020-07-15)
Bug Fixes
- deps: update dependency strip-json-comments to ^3.1.1 (c0e112e)
3.2.9 (2020-07-11)
Bug Fixes
- deps: update dependency yargs to ^15.4.1 (fe70faf)
3.2.8 (2020-07-03)
Bug Fixes
- deps: update dependency yargs to ^15.4.0 (d252233)
3.2.7 (2020-06-11)
Bug Fixes
- deps: update dependency ignore to ^5.1.8 (#68) (dc316a4)
- Improve max_line_length rule with comment behavior (#67) (aa7930a)
- deps: update dependency ignore to ^5.1.8 (2a6b1d0)
3.2.6 (2020-05-23)
Bug Fixes
3.2.5 (2020-05-22)
Bug Fixes
3.2.4 (2020-04-23)
Bug Fixes
3.2.3 (2020-04-17)
Bug Fixes
3.2.2 (2020-04-17)
Bug Fixes
3.2.1 (2020-04-17)
Bug Fixes
- deps: use semantic-release (9c90153)
3.2.0 (2020-04-10)
Add prefer_fat_arrows_in_methods rule.
3.1.3 (2020-04-08)
Fix newlines_after_classes when there are blank lines before last line in class.
3.1.2 (2020-04-05)
Update coffeescript dependency to v2.5.1.
- Update coffeescript dependency. #50
3.1.1 (2020-03-22)
Update commandline dependency to maintained dependency.
- Replace optimist with yargs. #46
1.16.2 (2020-02-06)
First 1.x release under new npm package; to use: npm install -g @coffeelint/cli@old
- Don’t unnecessarily print “context:” at the end of some error messages #42
3.1.0 (2020-02-06)
Added a few rules and rules options. More bug fixes and internal updates to make developing easier. We got through the backlog of pull requests. Now on to the issues...
- Add
prefer_logical_operatorrule. #13 - Add
missing_parseint_radixrule. #17 - Add
bracket_spacingrule. #26 space_operators: adddefault_parametersoption. #16colon_assignment_spacing: addmin_leftandmin_rightoption. #22spacing_after_comma: addignore_elisionoption. #34braces_spacing: addmono_object_spacesoption. #17- Properly double quote fields in
csvreporter. #14 - Stop printing empty context in
checkstylereporter. #12 no_tabsrejects tabs at the end of the line. #20- Prevent endless loop if lineNumber is negative. #10
- Update dependency
resolveto v1.15.1
3.0.2 (2020-01-22)
small fixes
- Bugfix for error message when a config file cannot be found. #38
- Update dependency
resolveto v1.15.0 - Update documentation
3.0.1 (2020-01-22)
CoffeeLint has a new webpage at https://coffeelint.github.io
- Update dependencies and clean up documentation
3.0.0 (2020-01-14)
CoffeeLint has a new home at https://github.com/coffeelint/coffeelint and a new npm package @coffeelint/cli.
- Bugfix for error message when an unknown level is used. #4
- Bugfix for error
duplicate_keywhen keys are wrapped in quotes. #6 - Add
no_spacesrule to disallow spaces for indentation. #7 - Several enhancements, including CJSX fixes. #8
- Add rule name to default reporter. #11
1.15.0 (2015-11-18)
This version updates the enable/disable directives. In addition to
the existing # coffeelint: disable=rule_name you can also
use # coffeelint: disable-line=rule_name. The rule name is
still optional in both cases, and you can enable the rules using
the same syntax.
You can also use # noqa as a shortcut for # coffeelint: disable-line
- See #552 for more details.
1.14.1 (2015-11-18)
Most of the changes are more for linting the development files of coffeelint. The minor version increase is due to the change in cyclomatic_complexity, which now ignores nested functions. I foresee this change affecting very few people but probably still needs a minor version increase.
cyclomatic_complexityrule has been changed to ignore nested functions- 1.4.1: inlined rules not previously specified in JSON config now properly return a message
1.13.0 (2015-10-07)
The v1.12.x versions are considered buggy and you should upgrade to v1.13.x if you experience problems
These releases were largely for bugfixes!
- Bugfix for
no_implicit_bracescausing errors in classes and other edge cases - Bugfix for
ensure_comprehensionswhere it failed if a nested loop had an equal sign - Bugfix for
braces_spacingfailing over generated curly braces - Several changes to
indentationSee bffa25 for the full list of changes. However between the release of v1.12.0 and v1.13.0, a regression was caused by fixing one of the indentation requests and as a result the change was reverted. The revert will most likely not affect too many users - Bugfix for
newlines_after_classes, also fixed regressions caused between v1.12.0 and v1.13.0. If you have v1.12.x and are experiencing problems, please upgrade. Also note nested classes are now ignored completely no_thisis now compatible withno_stand_alone_atand will make checks against singularthis- Bugfix for
missing_fat_arrows, declaring a class prototype (via '::' operator) no longer fail if they don't use a fat arrow - Bugfix for
eol_last, it now fails if there are multiple newlines at the end of a file (thanks charlierudolph)- - Bugfix for
arrow_spacing, now ignores arrow spacing in empty functions (thanks sgentle)
1.11.0 (2015-08-19)
- New config option
{ "extends": "coffeelint-config-myconfig" }based on eslint's shareable configs - New rule
no_nested_string_interpolation - New rule
no_private_function_fat_arrows - New CLI option
--extto specify alternate file extensions to check - Bugfixes including tracking nested string interpolation which eleminates some misleading warnings
1.10.0 (2015-05-31)
New option
--trimconfig. shows the minimal config to implement your customizations.New rule
eol_lastNew rule
no_this(prefer @ instead)New option in
no_debuggerto flag console callsMany small bug fixes
1.9.6 (2015-05-05)
- Fix no_interpolation_in_single_quotes to only handle single quotes #400
- Avoid non-standard String.prototype.trimRight #401
- Strip comments from config file before parsing #407
- missing_fat_arrows: fix constructor checking in strict mode #409
- Use configfilter to expand module names
1.9.4 (2015-04-06)
- missing_fat_arrows: added strict-mode option, defaults to false
- Add "empty_object_spaces" to braces_spacing
1.9.3 (2015-03-29)
- Add fat arrow to
arrow_spacing - Fix an exception when package.json can't be parsed.
1.9.1 (2015-02-22)
- Small change to make CoffeeLint compatible with atom.io
1.9.0 (2015-02-20)
- Updated to CoffeeScript 1.9.1 thanks to swang
- Fix
no_implicit_braces errorin class declarations - New rule
braces_padding
1.8.1 (2014-12-20)
- New rule
ensure_comprehensions(warn by default) - Added options to transform code before processing it. (JSX support) or to use a different flavor of CoffeeScript.
- New rule
transform_messes_up_line_numbers. This simply tells you if a transform you're using changes the total number of lines in the file.
1.7.1 (2014-12-15)
- Fix for
spacing_after_commaso that newlines count as space after commas
1.7.0 (2014-12-12)
- New rule
spacing_after_comma - Indentation improvements
- Fix Block RegExp triggering in
no_unnecessary_double_quotes
1.6.0 (2014-08-30)
- New rule
prefer_english_operator - New behavior
.coffeelintignoreworks just like a .gitignore - Exposed
ErrorReporterto 3rd parties so reporters can be used outside our CLI implementation. See #330 for details - Linting from STDIN will look for config files.
-foption can specify a package.json that containscoffeelintConfig- Depricated
--no-colorin favor of new--color=<always/never/auto>option - Fixed an indentation bug when you have a blank line in the middle of a chained call.
1.5.5 (2014-08-12)
- #317 Change $HOME search priority to account for non-default windows users.
- #320 Remove support for chaining calls using a dot at the end of a line.
- Removed extra messages that broke XML output.
1.5.3 (2014-08-08)
- Indentation improvements for chained calls. See #285
- Fixed some missing cases for
space_operators - Fix for a last-line edge case in
no_implicit_parens - Fixed trailing semicolons in multi-line strings with multiple embedded tokens
1.5.2 (2014-06-07)
- #280 Fix for fat-arrow false positives. It was producing errors when the class is defined inside a function (AMD style)
- MANY indentation fixes. See #282.
1.5.0 (2014-05-28)
- New: --cache and coffeelint.setCache(obj)
- Rule module loading is not limited to running from the commandline. See #279
- Fix for #173: Empty functions surrounded by parens don't require spacing.
- Fix for #271: trailing semicolons multiline strings are ignored
- Fix for #214:
no_unnecessary_fat_arrowsdoesn't trigger if the function contains super.
1.4.0 (2014-05-16)
- Similar to grunt-cli, the coffeelint command will now load the project-specific version of coffeelint if there is one there.
- 3rd party rules don't have to be globally installed any more.
- Added --reporter option that also supports 3rd party reporters. coffeelint-stylish is the first one available.
- Documentation for new users and 3rd party developers.
1.3.0 (2014-04-17)
- New rule
no_empty_functions - Improved documentation on how to contribute in README.md
- Rules using the AST work with a minified version of CoffeeScript
- Fixed line length check to account for windows line endings
1.2.0 (2014-03-07)
- New rule
no_debugger - New rule
no_interpolation_in_single_quotes - New rule
no_unnecessary_double_quotes - Strict mode for
no_implicit_parens. Turning it off allows implicit parens when they span multiple lines.
1.1.0 (2014-02-22)
- CoffeeScript 1.7 support
- Dropped support for CoffeeScript 1.6. (Use ~1.0.0 if you still need it)
1.0.0 (2013-11-21)
- CoffeeLint will detect config files by default.
- New rule
colon_assignment_spacing - New rule
no_unnecessary_fat_arrows - New rule
missing_fat_arrows - Added an option to
no_trailing_whitespaceto forbid trailing space on empty lines - Added an option to
no_implicit_bracesto allow unambiguous implicit braces - Fixed --makeconfig
- New option: --checkstyle
- Fixed invalid XML produced by --jslint
- Removed the need for the -r flag. It remains for backward compatibility but doesn't do anything now
0.6.0 (2013-10-10)
- New internal structure to support custom rules.
- Dropped support for NodeJS 0.6.
0.5.7 (2013-08-10)
- CSVReporter now has a column for last line to account for cyclomatic complexity spanning the length of the function
- Added support for literate CoffeeScript
- Dropped support for CoffeeScript 1.4 and 1.5
- Fixed
non_empty_constructor_needs_parensfor namespaced constructors - Simplified the build process to allow installing direct from the git repo
- More fixes to indentation checking (continued https://github.com/clutchski/coffeelint/issues/107)
- Fixed spacing error when returning negative numbers (https://github.com/clutchski/coffeelint/issues/129)
- Fixed arrow spacing in callback parameters (https://github.com/clutchski/coffeelint/issues/131)
- Added beginning and end line numbers for cyclomatic complexity (https://github.com/clutchski/coffeelint/pull/134)
- Added header to CSVReporter
- Fixes for
space_operators(https://github.com/clutchski/coffeelint/issues/137)
0.5.6 (2013-06-07)
- Added
no_empty_param_listrule. - Added the
--makeconfigoption. - CoffeeScript 1.5 and 1.6 compatibility
- Fixed indentation of chained functions. (https://github.com/clutchski/coffeelint/issues/107, fixed 1/2 of #4)
- Fixed bug in
no_stand_alone_at(https://github.com/jashkenas/coffee-script/issues/1601) - Added
arrow_spacingrule (require spaces around arrows) - Added
empty_constructor_needs_parens - Added
non_empty_constructor_needs_parens - Added
duplicate_key(https://jslinterrors.com/duplicate-key-a/) - Added
no_trailing_whitespace.allowed_in_commentsrule option (Allow trailing space in comments. Created to allow markdown) - Added
newlines_after_classesrule - Line length exception. Lines containing only a link are ignored.
0.5.4 (2012-11-06)
- Support for default configuration file using environment variable
COFFEELINT_CONFIG.
0.5.3 (2012-11-06)
- Added
no_stand_alone_atrule. - Fixed correctly reporting line numbers of compilation errors after line 10.
- Fixed incomplete results output.
0.5.2 (2012-09-18)
- Added
--nocoloroption. - My main man ruddzw fixed issue #58, in which the
-qoption was suppressing information even when it was off. - Fixed broken
jslintoption. - The
no_trailing_semicolonsrule now works on Windows files.
0.5.1 (2012-09-15)
- Show CoffeeScript syntax errors in the same manner as lint errors.
- Brad Dunbar added the
-qcommand line option, which only prints errors.
0.5.0 (2012-09-08)
- Lint code from stdin with the
--stdinoption, thanks to sjz. - Added the
no_implicit_parensrule. - Leandro Ostera added the
--jslintreporter, to allow CoffeeLint to integrate with the Jenkin's violations plugin. - Implicit braces are always allowed in in class defiinitions, thanks to Omar Khan.
- CoffeeLint now requires CoffeeScript 1.3.3
0.4.0 (2012-04-06)
- Added fancy coloured output and proper CSV output.
- Directories can be recursively linted.
- Added the
line endingsrule. - Rewrote the command line tool in CoffeeScript.
0.3.0 (2012-03-13)
- Added the
no_backticksrule. - Colorized the command line output.
- Added validation for the rule names.
- Allowed windows line endings, thanks to szinsli.
0.2.0 (2012-01-26)
- Added warnings, which will be reported, but won't fail the command line tool.
0.1.0 (2012-01-22)
- Initial CoffeeLint release.