coffeelint 0.4.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Coffeelint [![Build Status](https://travis-ci.org/zmbush/coffeelint-ruby.svg?branch=master)](https://travis-ci.org/zmbush/coffeelint-ruby) [![Gem Version](https://badge.fury.io/rb/coffeelint.png)](http://badge.fury.io/rb/coffeelint)
2
2
 
3
- Using coffeelint version: v1.6.1
3
+ Using coffeelint version: v1.8.1
4
4
 
5
5
  Coffeelint is a set of simple ruby bindings for [coffeelint](https://github.com/clutchski/coffeelint).
6
6
 
@@ -71,3 +71,9 @@ Finally, there is a command line utility that allows you to run standalone tests
71
71
  3. Commit your changes (`git commit -am 'Add some feature'`)
72
72
  4. Push to the branch (`git push origin my-new-feature`)
73
73
  5. Create new Pull Request
74
+
75
+ Bundler needs a compiled coffeelint present which you can get by running
76
+
77
+ ```
78
+ rake prepare
79
+ ```
data/coffeelint.gemspec CHANGED
@@ -24,6 +24,6 @@ Gem::Specification.new do |gem|
24
24
  gem.add_dependency "json"
25
25
  gem.add_dependency "execjs"
26
26
 
27
- gem.add_development_dependency 'rspec'
27
+ gem.add_development_dependency 'rspec', '~> 3.1.0'
28
28
  gem.add_development_dependency 'rake'
29
29
  end
@@ -2,7 +2,7 @@
2
2
  module.exports={
3
3
  "name": "coffeelint",
4
4
  "description": "Lint your CoffeeScript",
5
- "version": "1.6.1",
5
+ "version": "1.8.1",
6
6
  "homepage": "http://www.coffeelint.org",
7
7
  "keywords": [
8
8
  "lint",
@@ -481,6 +481,12 @@ coffeelint.registerRule(_dereq_('./rules/no_empty_functions.coffee'));
481
481
 
482
482
  coffeelint.registerRule(_dereq_('./rules/prefer_english_operator.coffee'));
483
483
 
484
+ coffeelint.registerRule(_dereq_('./rules/spacing_after_comma.coffee'));
485
+
486
+ coffeelint.registerRule(_dereq_('./rules/transform_messes_up_line_numbers.coffee'));
487
+
488
+ coffeelint.registerRule(_dereq_('./rules/ensure_comprehensions.coffee'));
489
+
484
490
  hasSyntaxError = function(source) {
485
491
  try {
486
492
  CoffeeScript.tokens(source);
@@ -496,13 +502,14 @@ coffeelint.getErrorReport = function() {
496
502
  };
497
503
 
498
504
  coffeelint.lint = function(source, userConfig, literate) {
499
- var all_errors, astErrors, block_config, cmd, config, disabled, disabled_initially, e, errors, i, l, lexErrors, lexicalLinter, lineErrors, lineLinter, name, next_line, r, ruleLoader, rules, s, tokensByLine, _i, _j, _k, _len, _len1, _ref, _ref1, _ref2, _ref3, _ref4;
505
+ var all_errors, astErrors, block_config, cmd, config, disabled, disabled_initially, e, errors, i, l, lexErrors, lexicalLinter, lineErrors, lineLinter, m, name, next_line, r, ruleLoader, rules, s, sourceLength, tokensByLine, transform, _i, _j, _k, _l, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8;
500
506
  if (userConfig == null) {
501
507
  userConfig = {};
502
508
  }
503
509
  if (literate == null) {
504
510
  literate = false;
505
511
  }
512
+ errors = [];
506
513
  try {
507
514
  ruleLoader = nodeRequire('./ruleLoader');
508
515
  ruleLoader.loadFromConfig(this, userConfig);
@@ -513,9 +520,29 @@ coffeelint.lint = function(source, userConfig, literate) {
513
520
  if (cache != null ? cache.has(source) : void 0) {
514
521
  return cache != null ? cache.get(source) : void 0;
515
522
  }
523
+ config = mergeDefaultConfig(userConfig);
516
524
  if (literate) {
517
525
  source = this.invertLiterate(source);
518
526
  }
527
+ if ((userConfig != null ? (_ref = userConfig.coffeelint) != null ? _ref.transforms : void 0 : void 0) != null) {
528
+ sourceLength = source.split("\n").length;
529
+ _ref2 = userConfig != null ? (_ref1 = userConfig.coffeelint) != null ? _ref1.transforms : void 0 : void 0;
530
+ for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
531
+ m = _ref2[_i];
532
+ transform = ruleLoader.require(m);
533
+ source = transform(source);
534
+ }
535
+ if (sourceLength !== source.split("\n").length && config.transform_messes_up_line_numbers.level !== 'ignore') {
536
+ errors.push(extend({
537
+ lineNumber: 1,
538
+ context: "File was transformed from " + sourceLength + " lines to " + (source.split("\n").length) + " lines"
539
+ }, config.transform_messes_up_line_numbers));
540
+ console.log(errors);
541
+ }
542
+ }
543
+ if ((userConfig != null ? (_ref3 = userConfig.coffeelint) != null ? _ref3.coffeescript : void 0 : void 0) != null) {
544
+ CoffeeScript = ruleLoader.require(userConfig.coffeelint.coffeescript);
545
+ }
519
546
  for (name in userConfig) {
520
547
  if (name !== 'coffeescript_error' && name !== '_comment') {
521
548
  if (_rules[name] == null) {
@@ -523,18 +550,17 @@ coffeelint.lint = function(source, userConfig, literate) {
523
550
  }
524
551
  }
525
552
  }
526
- config = mergeDefaultConfig(userConfig);
527
553
  disabled_initially = [];
528
- _ref = source.split('\n');
529
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
530
- l = _ref[_i];
554
+ _ref4 = source.split('\n');
555
+ for (_j = 0, _len1 = _ref4.length; _j < _len1; _j++) {
556
+ l = _ref4[_j];
531
557
  s = LineLinter.configStatement.exec(l);
532
558
  if ((s != null ? s.length : void 0) > 2 && __indexOf.call(s, 'enable') >= 0) {
533
- _ref1 = s.slice(1);
534
- for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
535
- r = _ref1[_j];
559
+ _ref5 = s.slice(1);
560
+ for (_k = 0, _len2 = _ref5.length; _k < _len2; _k++) {
561
+ r = _ref5[_k];
536
562
  if (r !== 'enable' && r !== 'disable') {
537
- if (!(r in config && ((_ref2 = config[r].level) === 'warn' || _ref2 === 'error'))) {
563
+ if (!(r in config && ((_ref6 = config[r].level) === 'warn' || _ref6 === 'error'))) {
538
564
  disabled_initially.push(r);
539
565
  config[r] = {
540
566
  level: 'error'
@@ -545,7 +571,7 @@ coffeelint.lint = function(source, userConfig, literate) {
545
571
  }
546
572
  }
547
573
  astErrors = new ASTLinter(source, config, _rules, CoffeeScript).lint();
548
- errors = [].concat(astErrors);
574
+ errors = errors.concat(astErrors);
549
575
  if (!hasSyntaxError(source)) {
550
576
  lexicalLinter = new LexicalLinter(source, config, _rules, CoffeeScript);
551
577
  lexErrors = lexicalLinter.lint();
@@ -568,7 +594,7 @@ coffeelint.lint = function(source, userConfig, literate) {
568
594
  errors = [];
569
595
  disabled = disabled_initially;
570
596
  next_line = 0;
571
- for (i = _k = 0, _ref3 = source.split('\n').length; 0 <= _ref3 ? _k < _ref3 : _k > _ref3; i = 0 <= _ref3 ? ++_k : --_k) {
597
+ for (i = _l = 0, _ref7 = source.split('\n').length; 0 <= _ref7 ? _l < _ref7 : _l > _ref7; i = 0 <= _ref7 ? ++_l : --_l) {
572
598
  for (cmd in block_config) {
573
599
  rules = block_config[cmd][i];
574
600
  if (rules != null) {
@@ -590,7 +616,7 @@ coffeelint.lint = function(source, userConfig, literate) {
590
616
  e = all_errors[0];
591
617
  if (e.lineNumber === i + 1 || (e.lineNumber == null)) {
592
618
  e = all_errors.shift();
593
- if (_ref4 = e.rule, __indexOf.call(disabled, _ref4) < 0) {
619
+ if (_ref8 = e.rule, __indexOf.call(disabled, _ref8) < 0) {
594
620
  errors.push(e);
595
621
  }
596
622
  }
@@ -607,7 +633,7 @@ coffeelint.setCache = function(obj) {
607
633
  };
608
634
 
609
635
 
610
- },{"./../package.json":1,"./ast_linter.coffee":2,"./error_report.coffee":5,"./lexical_linter.coffee":6,"./line_linter.coffee":7,"./rules.coffee":8,"./rules/arrow_spacing.coffee":9,"./rules/camel_case_classes.coffee":10,"./rules/colon_assignment_spacing.coffee":11,"./rules/cyclomatic_complexity.coffee":12,"./rules/duplicate_key.coffee":13,"./rules/empty_constructor_needs_parens.coffee":14,"./rules/indentation.coffee":15,"./rules/line_endings.coffee":16,"./rules/max_line_length.coffee":17,"./rules/missing_fat_arrows.coffee":18,"./rules/newlines_after_classes.coffee":19,"./rules/no_backticks.coffee":20,"./rules/no_debugger.coffee":21,"./rules/no_empty_functions.coffee":22,"./rules/no_empty_param_list.coffee":23,"./rules/no_implicit_braces.coffee":24,"./rules/no_implicit_parens.coffee":25,"./rules/no_interpolation_in_single_quotes.coffee":26,"./rules/no_plusplus.coffee":27,"./rules/no_stand_alone_at.coffee":28,"./rules/no_tabs.coffee":29,"./rules/no_throwing_strings.coffee":30,"./rules/no_trailing_semicolons.coffee":31,"./rules/no_trailing_whitespace.coffee":32,"./rules/no_unnecessary_double_quotes.coffee":33,"./rules/no_unnecessary_fat_arrows.coffee":34,"./rules/non_empty_constructor_needs_parens.coffee":35,"./rules/prefer_english_operator.coffee":36,"./rules/space_operators.coffee":37}],5:[function(_dereq_,module,exports){
636
+ },{"./../package.json":1,"./ast_linter.coffee":2,"./error_report.coffee":5,"./lexical_linter.coffee":6,"./line_linter.coffee":7,"./rules.coffee":8,"./rules/arrow_spacing.coffee":9,"./rules/camel_case_classes.coffee":10,"./rules/colon_assignment_spacing.coffee":11,"./rules/cyclomatic_complexity.coffee":12,"./rules/duplicate_key.coffee":13,"./rules/empty_constructor_needs_parens.coffee":14,"./rules/ensure_comprehensions.coffee":15,"./rules/indentation.coffee":16,"./rules/line_endings.coffee":17,"./rules/max_line_length.coffee":18,"./rules/missing_fat_arrows.coffee":19,"./rules/newlines_after_classes.coffee":20,"./rules/no_backticks.coffee":21,"./rules/no_debugger.coffee":22,"./rules/no_empty_functions.coffee":23,"./rules/no_empty_param_list.coffee":24,"./rules/no_implicit_braces.coffee":25,"./rules/no_implicit_parens.coffee":26,"./rules/no_interpolation_in_single_quotes.coffee":27,"./rules/no_plusplus.coffee":28,"./rules/no_stand_alone_at.coffee":29,"./rules/no_tabs.coffee":30,"./rules/no_throwing_strings.coffee":31,"./rules/no_trailing_semicolons.coffee":32,"./rules/no_trailing_whitespace.coffee":33,"./rules/no_unnecessary_double_quotes.coffee":34,"./rules/no_unnecessary_fat_arrows.coffee":35,"./rules/non_empty_constructor_needs_parens.coffee":36,"./rules/prefer_english_operator.coffee":37,"./rules/space_operators.coffee":38,"./rules/spacing_after_comma.coffee":39,"./rules/transform_messes_up_line_numbers.coffee":40}],5:[function(_dereq_,module,exports){
611
637
  var ErrorReport;
612
638
 
613
639
  module.exports = ErrorReport = (function() {
@@ -1325,6 +1351,72 @@ module.exports = EmptyConstructorNeedsParens = (function() {
1325
1351
 
1326
1352
 
1327
1353
  },{}],15:[function(_dereq_,module,exports){
1354
+ var EnsureComprehensions,
1355
+ __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
1356
+
1357
+ module.exports = EnsureComprehensions = (function() {
1358
+ function EnsureComprehensions() {}
1359
+
1360
+ EnsureComprehensions.prototype.rule = {
1361
+ name: 'ensure_comprehensions',
1362
+ level: 'warn',
1363
+ message: 'Comprehensions must have parentheses around them',
1364
+ description: 'This rule makes sure that parentheses are around comprehensions.'
1365
+ };
1366
+
1367
+ EnsureComprehensions.prototype.tokens = ['FOR'];
1368
+
1369
+ EnsureComprehensions.prototype.lintToken = function(token, tokenApi) {
1370
+ var atEqual, idents, peeker, prevIdents, prevToken, _ref, _ref1;
1371
+ idents = this.findIdents(tokenApi);
1372
+ peeker = -1;
1373
+ atEqual = false;
1374
+ prevIdents = [];
1375
+ while ((prevToken = tokenApi.peek(peeker))) {
1376
+ if (prevToken[0] === 'IDENTIFIER') {
1377
+ if (!atEqual) {
1378
+ prevIdents.push(prevToken[1]);
1379
+ } else if (_ref = prevToken[1], __indexOf.call(idents, _ref) >= 0) {
1380
+ return;
1381
+ }
1382
+ }
1383
+ if (((_ref1 = prevToken[0]) === '(' || _ref1 === '->' || _ref1 === 'TERMINATOR') || (prevToken.newLine != null)) {
1384
+ break;
1385
+ }
1386
+ if (prevToken[0] === '=') {
1387
+ atEqual = true;
1388
+ }
1389
+ peeker--;
1390
+ }
1391
+ if (atEqual && prevIdents.length > 0) {
1392
+ return {
1393
+ context: ''
1394
+ };
1395
+ }
1396
+ };
1397
+
1398
+ EnsureComprehensions.prototype.findIdents = function(tokenApi) {
1399
+ var idents, nextToken, peeker, _ref;
1400
+ peeker = 1;
1401
+ idents = [];
1402
+ while ((nextToken = tokenApi.peek(peeker))) {
1403
+ if (nextToken[0] === 'IDENTIFIER') {
1404
+ idents.push(nextToken[1]);
1405
+ }
1406
+ if ((_ref = nextToken[0]) === 'FORIN' || _ref === 'FOROF') {
1407
+ break;
1408
+ }
1409
+ peeker++;
1410
+ }
1411
+ return idents;
1412
+ };
1413
+
1414
+ return EnsureComprehensions;
1415
+
1416
+ })();
1417
+
1418
+
1419
+ },{}],16:[function(_dereq_,module,exports){
1328
1420
  var Indentation;
1329
1421
 
1330
1422
  module.exports = Indentation = (function() {
@@ -1448,7 +1540,7 @@ module.exports = Indentation = (function() {
1448
1540
  })();
1449
1541
 
1450
1542
 
1451
- },{}],16:[function(_dereq_,module,exports){
1543
+ },{}],17:[function(_dereq_,module,exports){
1452
1544
  var LineEndings;
1453
1545
 
1454
1546
  module.exports = LineEndings = (function() {
@@ -1492,7 +1584,7 @@ module.exports = LineEndings = (function() {
1492
1584
  })();
1493
1585
 
1494
1586
 
1495
- },{}],17:[function(_dereq_,module,exports){
1587
+ },{}],18:[function(_dereq_,module,exports){
1496
1588
  var MaxLineLength, regexes;
1497
1589
 
1498
1590
  regexes = {
@@ -1537,7 +1629,7 @@ module.exports = MaxLineLength = (function() {
1537
1629
  })();
1538
1630
 
1539
1631
 
1540
- },{}],18:[function(_dereq_,module,exports){
1632
+ },{}],19:[function(_dereq_,module,exports){
1541
1633
  var MissingFatArrows, any, containsButIsnt,
1542
1634
  __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
1543
1635
  __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
@@ -1663,7 +1755,7 @@ module.exports = MissingFatArrows = (function() {
1663
1755
  })();
1664
1756
 
1665
1757
 
1666
- },{}],19:[function(_dereq_,module,exports){
1758
+ },{}],20:[function(_dereq_,module,exports){
1667
1759
  var NewlinesAfterClasses;
1668
1760
 
1669
1761
  module.exports = NewlinesAfterClasses = (function() {
@@ -1698,7 +1790,7 @@ module.exports = NewlinesAfterClasses = (function() {
1698
1790
  })();
1699
1791
 
1700
1792
 
1701
- },{}],20:[function(_dereq_,module,exports){
1793
+ },{}],21:[function(_dereq_,module,exports){
1702
1794
  var NoBackticks;
1703
1795
 
1704
1796
  module.exports = NoBackticks = (function() {
@@ -1722,7 +1814,7 @@ module.exports = NoBackticks = (function() {
1722
1814
  })();
1723
1815
 
1724
1816
 
1725
- },{}],21:[function(_dereq_,module,exports){
1817
+ },{}],22:[function(_dereq_,module,exports){
1726
1818
  var NoDebugger;
1727
1819
 
1728
1820
  module.exports = NoDebugger = (function() {
@@ -1748,7 +1840,7 @@ module.exports = NoDebugger = (function() {
1748
1840
  })();
1749
1841
 
1750
1842
 
1751
- },{}],22:[function(_dereq_,module,exports){
1843
+ },{}],23:[function(_dereq_,module,exports){
1752
1844
  var NoEmptyFunctions, isEmptyCode;
1753
1845
 
1754
1846
  isEmptyCode = function(node, astApi) {
@@ -1792,7 +1884,7 @@ module.exports = NoEmptyFunctions = (function() {
1792
1884
  })();
1793
1885
 
1794
1886
 
1795
- },{}],23:[function(_dereq_,module,exports){
1887
+ },{}],24:[function(_dereq_,module,exports){
1796
1888
  var NoEmptyParamList;
1797
1889
 
1798
1890
  module.exports = NoEmptyParamList = (function() {
@@ -1818,7 +1910,7 @@ module.exports = NoEmptyParamList = (function() {
1818
1910
  })();
1819
1911
 
1820
1912
 
1821
- },{}],24:[function(_dereq_,module,exports){
1913
+ },{}],25:[function(_dereq_,module,exports){
1822
1914
  var NoImplicitBraces;
1823
1915
 
1824
1916
  module.exports = NoImplicitBraces = (function() {
@@ -1867,7 +1959,7 @@ module.exports = NoImplicitBraces = (function() {
1867
1959
  })();
1868
1960
 
1869
1961
 
1870
- },{}],25:[function(_dereq_,module,exports){
1962
+ },{}],26:[function(_dereq_,module,exports){
1871
1963
  var NoImplicitParens;
1872
1964
 
1873
1965
  module.exports = NoImplicitParens = (function() {
@@ -1909,7 +2001,7 @@ module.exports = NoImplicitParens = (function() {
1909
2001
  })();
1910
2002
 
1911
2003
 
1912
- },{}],26:[function(_dereq_,module,exports){
2004
+ },{}],27:[function(_dereq_,module,exports){
1913
2005
  var NoInterpolationInSingleQuotes;
1914
2006
 
1915
2007
  module.exports = NoInterpolationInSingleQuotes = (function() {
@@ -1936,7 +2028,7 @@ module.exports = NoInterpolationInSingleQuotes = (function() {
1936
2028
  })();
1937
2029
 
1938
2030
 
1939
- },{}],27:[function(_dereq_,module,exports){
2031
+ },{}],28:[function(_dereq_,module,exports){
1940
2032
  var NoPlusPlus;
1941
2033
 
1942
2034
  module.exports = NoPlusPlus = (function() {
@@ -1962,7 +2054,7 @@ module.exports = NoPlusPlus = (function() {
1962
2054
  })();
1963
2055
 
1964
2056
 
1965
- },{}],28:[function(_dereq_,module,exports){
2057
+ },{}],29:[function(_dereq_,module,exports){
1966
2058
  var NoStandAloneAt;
1967
2059
 
1968
2060
  module.exports = NoStandAloneAt = (function() {
@@ -1998,7 +2090,7 @@ module.exports = NoStandAloneAt = (function() {
1998
2090
  })();
1999
2091
 
2000
2092
 
2001
- },{}],29:[function(_dereq_,module,exports){
2093
+ },{}],30:[function(_dereq_,module,exports){
2002
2094
  var NoTabs, indentationRegex,
2003
2095
  __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
2004
2096
 
@@ -2029,7 +2121,7 @@ module.exports = NoTabs = (function() {
2029
2121
  })();
2030
2122
 
2031
2123
 
2032
- },{}],30:[function(_dereq_,module,exports){
2124
+ },{}],31:[function(_dereq_,module,exports){
2033
2125
  var NoThrowingStrings;
2034
2126
 
2035
2127
  module.exports = NoThrowingStrings = (function() {
@@ -2056,7 +2148,7 @@ module.exports = NoThrowingStrings = (function() {
2056
2148
  })();
2057
2149
 
2058
2150
 
2059
- },{}],31:[function(_dereq_,module,exports){
2151
+ },{}],32:[function(_dereq_,module,exports){
2060
2152
  var NoTrailingSemicolons, regexes,
2061
2153
  __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
2062
2154
  __slice = [].slice;
@@ -2108,7 +2200,7 @@ module.exports = NoTrailingSemicolons = (function() {
2108
2200
  })();
2109
2201
 
2110
2202
 
2111
- },{}],32:[function(_dereq_,module,exports){
2203
+ },{}],33:[function(_dereq_,module,exports){
2112
2204
  var NoTrailingWhitespace, regexes;
2113
2205
 
2114
2206
  regexes = {
@@ -2171,7 +2263,7 @@ module.exports = NoTrailingWhitespace = (function() {
2171
2263
  })();
2172
2264
 
2173
2265
 
2174
- },{}],33:[function(_dereq_,module,exports){
2266
+ },{}],34:[function(_dereq_,module,exports){
2175
2267
  var NoUnnecessaryDoubleQuotes;
2176
2268
 
2177
2269
  module.exports = NoUnnecessaryDoubleQuotes = (function() {
@@ -2276,7 +2368,7 @@ module.exports = NoUnnecessaryDoubleQuotes = (function() {
2276
2368
  })();
2277
2369
 
2278
2370
 
2279
- },{}],34:[function(_dereq_,module,exports){
2371
+ },{}],35:[function(_dereq_,module,exports){
2280
2372
  var NoUnnecessaryFatArrows, any,
2281
2373
  __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
2282
2374
 
@@ -2357,7 +2449,7 @@ module.exports = NoUnnecessaryFatArrows = (function() {
2357
2449
  })();
2358
2450
 
2359
2451
 
2360
- },{}],35:[function(_dereq_,module,exports){
2452
+ },{}],36:[function(_dereq_,module,exports){
2361
2453
  var NonEmptyConstructorNeedsParens, ParentClass,
2362
2454
  __hasProp = {}.hasOwnProperty,
2363
2455
  __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
@@ -2389,7 +2481,7 @@ module.exports = NonEmptyConstructorNeedsParens = (function(_super) {
2389
2481
  })(ParentClass);
2390
2482
 
2391
2483
 
2392
- },{"./empty_constructor_needs_parens.coffee":14}],36:[function(_dereq_,module,exports){
2484
+ },{"./empty_constructor_needs_parens.coffee":14}],37:[function(_dereq_,module,exports){
2393
2485
  var RuleProcessor;
2394
2486
 
2395
2487
  module.exports = RuleProcessor = (function() {
@@ -2450,7 +2542,7 @@ module.exports = RuleProcessor = (function() {
2450
2542
  })();
2451
2543
 
2452
2544
 
2453
- },{}],37:[function(_dereq_,module,exports){
2545
+ },{}],38:[function(_dereq_,module,exports){
2454
2546
  var SpaceOperators,
2455
2547
  __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
2456
2548
 
@@ -2572,6 +2664,56 @@ module.exports = SpaceOperators = (function() {
2572
2664
  })();
2573
2665
 
2574
2666
 
2667
+ },{}],39:[function(_dereq_,module,exports){
2668
+ var RuleProcessor;
2669
+
2670
+ module.exports = RuleProcessor = (function() {
2671
+ function RuleProcessor() {}
2672
+
2673
+ RuleProcessor.prototype.rule = {
2674
+ name: 'spacing_after_comma',
2675
+ description: 'This rule requires a space after commas.',
2676
+ level: 'ignore',
2677
+ message: 'Spaces are required after commas'
2678
+ };
2679
+
2680
+ RuleProcessor.prototype.tokens = [','];
2681
+
2682
+ RuleProcessor.prototype.lintToken = function(token, tokenApi) {
2683
+ if (!(token.spaced || token.newLine)) {
2684
+ return {
2685
+ context: token[1]
2686
+ };
2687
+ }
2688
+ };
2689
+
2690
+ return RuleProcessor;
2691
+
2692
+ })();
2693
+
2694
+
2695
+ },{}],40:[function(_dereq_,module,exports){
2696
+ var CamelCaseClasses;
2697
+
2698
+ module.exports = CamelCaseClasses = (function() {
2699
+ function CamelCaseClasses() {}
2700
+
2701
+ CamelCaseClasses.prototype.rule = {
2702
+ name: 'transform_messes_up_line_numbers',
2703
+ level: 'warn',
2704
+ message: 'Transforming source messes up line numbers',
2705
+ description: "This rule detects when changes are made by transform function,\nand warns that line numbers are probably incorrect."
2706
+ };
2707
+
2708
+ CamelCaseClasses.prototype.tokens = [];
2709
+
2710
+ CamelCaseClasses.prototype.lintToken = function(token, tokenApi) {};
2711
+
2712
+ return CamelCaseClasses;
2713
+
2714
+ })();
2715
+
2716
+
2575
2717
  },{}]},{},[4])
2576
2718
  (4)
2577
2719
  });
@@ -1,3 +1,3 @@
1
1
  module Coffeelint
2
- VERSION = "0.4.0"
2
+ VERSION = "1.8.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coffeelint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 1.8.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-23 00:00:00.000000000 Z
12
+ date: 2015-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: coffee-script
@@ -64,17 +64,17 @@ dependencies:
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>='
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: 3.1.0
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 3.1.0
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rake
80
80
  requirement: !ruby/object:Gem::Requirement