coffeelint 0.4.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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