coffeelint 0.2.6 → 0.2.7
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.
- checksums.yaml +4 -4
- data/.gitmodules +1 -1
- data/README.md +1 -1
- data/coffeelint/lib/coffeelint.js +62 -16
- data/lib/coffeelint.rb +3 -3
- data/lib/coffeelint/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c911352ec2b63e923e39d097f0e77bfa86e78e11
|
4
|
+
data.tar.gz: 48e9f7be428f2c7db10e1842cc44e3b98f39471e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9514800789c878c521b808a94e1f9220bd5686f70a392915acfd482495b77878a3729ea65db813809986abd6866bf569be40ea8934d6241e0d641e52c9346c7
|
7
|
+
data.tar.gz: 3e23fb9822c1e448cdf0f15c563bd87d6f9a4e65a728a1dc1e696c2d28a141c1ae7d8c9c2f0030f03e35b408e460974f29fb36d250b5e6bfb634bde0e1ac5b19
|
data/.gitmodules
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Coffeelint [](https://travis-ci.org/zmbush/coffeelint-ruby) [](http://badge.fury.io/rb/coffeelint)
|
2
2
|
|
3
|
-
Using coffeelint version: v1.
|
3
|
+
Using coffeelint version: v1.3.0
|
4
4
|
|
5
5
|
Coffeelint is a set of simple ruby bindings for [coffeelint](https://github.com/clutchski/coffeelint).
|
6
6
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
module.exports={
|
3
3
|
"name": "coffeelint",
|
4
4
|
"description": "Lint your CoffeeScript",
|
5
|
-
"version": "1.
|
5
|
+
"version": "1.3.0",
|
6
6
|
"homepage": "http://www.coffeelint.org",
|
7
7
|
"keywords": [
|
8
8
|
"lint",
|
@@ -460,6 +460,8 @@ coffeelint.registerRule(_dereq_('./rules/no_debugger.coffee'));
|
|
460
460
|
|
461
461
|
coffeelint.registerRule(_dereq_('./rules/no_interpolation_in_single_quotes.coffee'));
|
462
462
|
|
463
|
+
coffeelint.registerRule(_dereq_('./rules/no_empty_functions.coffee'));
|
464
|
+
|
463
465
|
hasSyntaxError = function(source) {
|
464
466
|
try {
|
465
467
|
CoffeeScript.tokens(source);
|
@@ -556,7 +558,7 @@ coffeelint.lint = function(source, userConfig, literate) {
|
|
556
558
|
};
|
557
559
|
|
558
560
|
|
559
|
-
},{"./../package.json":1,"./ast_linter.coffee":2,"./lexical_linter.coffee":5,"./line_linter.coffee":6,"./rules.coffee":7,"./rules/arrow_spacing.coffee":8,"./rules/camel_case_classes.coffee":9,"./rules/colon_assignment_spacing.coffee":10,"./rules/cyclomatic_complexity.coffee":11,"./rules/duplicate_key.coffee":12,"./rules/empty_constructor_needs_parens.coffee":13,"./rules/indentation.coffee":14,"./rules/line_endings.coffee":15,"./rules/max_line_length.coffee":16,"./rules/missing_fat_arrows.coffee":17,"./rules/newlines_after_classes.coffee":18,"./rules/no_backticks.coffee":19,"./rules/no_debugger.coffee":20,"./rules/
|
561
|
+
},{"./../package.json":1,"./ast_linter.coffee":2,"./lexical_linter.coffee":5,"./line_linter.coffee":6,"./rules.coffee":7,"./rules/arrow_spacing.coffee":8,"./rules/camel_case_classes.coffee":9,"./rules/colon_assignment_spacing.coffee":10,"./rules/cyclomatic_complexity.coffee":11,"./rules/duplicate_key.coffee":12,"./rules/empty_constructor_needs_parens.coffee":13,"./rules/indentation.coffee":14,"./rules/line_endings.coffee":15,"./rules/max_line_length.coffee":16,"./rules/missing_fat_arrows.coffee":17,"./rules/newlines_after_classes.coffee":18,"./rules/no_backticks.coffee":19,"./rules/no_debugger.coffee":20,"./rules/no_empty_functions.coffee":21,"./rules/no_empty_param_list.coffee":22,"./rules/no_implicit_braces.coffee":23,"./rules/no_implicit_parens.coffee":24,"./rules/no_interpolation_in_single_quotes.coffee":25,"./rules/no_plusplus.coffee":26,"./rules/no_stand_alone_at.coffee":27,"./rules/no_tabs.coffee":28,"./rules/no_throwing_strings.coffee":29,"./rules/no_trailing_semicolons.coffee":30,"./rules/no_trailing_whitespace.coffee":31,"./rules/no_unnecessary_double_quotes.coffee":32,"./rules/no_unnecessary_fat_arrows.coffee":33,"./rules/non_empty_constructor_needs_parens.coffee":34,"./rules/space_operators.coffee":35}],5:[function(_dereq_,module,exports){
|
560
562
|
var BaseLinter, LexicalLinter, TokenApi,
|
561
563
|
__hasProp = {}.hasOwnProperty,
|
562
564
|
__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; },
|
@@ -1353,7 +1355,7 @@ module.exports = MaxLineLength = (function() {
|
|
1353
1355
|
var limitComments, lineLength, max, _ref, _ref1;
|
1354
1356
|
max = (_ref = lineApi.config[this.rule.name]) != null ? _ref.value : void 0;
|
1355
1357
|
limitComments = (_ref1 = lineApi.config[this.rule.name]) != null ? _ref1.limitComments : void 0;
|
1356
|
-
lineLength = line.length;
|
1358
|
+
lineLength = line.trimRight().length;
|
1357
1359
|
if (lineApi.isLiterate() && regexes.literateComment.test(line)) {
|
1358
1360
|
lineLength -= 2;
|
1359
1361
|
}
|
@@ -1571,6 +1573,50 @@ module.exports = NoDebugger = (function() {
|
|
1571
1573
|
|
1572
1574
|
|
1573
1575
|
},{}],21:[function(_dereq_,module,exports){
|
1576
|
+
var NoEmptyFunctions, isEmptyCode;
|
1577
|
+
|
1578
|
+
isEmptyCode = function(node, astApi) {
|
1579
|
+
var nodeName;
|
1580
|
+
nodeName = astApi.getNodeName(node);
|
1581
|
+
return nodeName === 'Code' && node.body.isEmpty();
|
1582
|
+
};
|
1583
|
+
|
1584
|
+
module.exports = NoEmptyFunctions = (function() {
|
1585
|
+
function NoEmptyFunctions() {}
|
1586
|
+
|
1587
|
+
NoEmptyFunctions.prototype.rule = {
|
1588
|
+
name: 'no_empty_functions',
|
1589
|
+
level: 'ignore',
|
1590
|
+
message: 'Empty function',
|
1591
|
+
description: "Disallows declaring empty functions. The goal of this rule is that\nunintentional empty callbacks can be detected:\n<pre>\n<code>someFunctionWithCallback ->\ndoSomethingSignificant()\n</code>\n</pre>\nThe problem is that the call to\n<tt>doSomethingSignificant</tt> will be made regardless\nof <tt>someFunctionWithCallback</tt>'s execution. It can\nbe because you did not indent the call to\n<tt>doSomethingSignificant</tt> properly.\n\nIf you really meant that <tt>someFunctionWithCallback</tt>\nshould call a callback that does nothing, you can write your code\nthis way:\n<pre>\n<code>someFunctionWithCallback ->\n undefined\ndoSomethingSignificant()\n</code>\n</pre>"
|
1592
|
+
};
|
1593
|
+
|
1594
|
+
NoEmptyFunctions.prototype.lintAST = function(node, astApi) {
|
1595
|
+
this.lintNode(node, astApi);
|
1596
|
+
return void 0;
|
1597
|
+
};
|
1598
|
+
|
1599
|
+
NoEmptyFunctions.prototype.lintNode = function(node, astApi) {
|
1600
|
+
var error;
|
1601
|
+
if (isEmptyCode(node, astApi)) {
|
1602
|
+
error = astApi.createError({
|
1603
|
+
lineNumber: node.locationData.first_line + 1
|
1604
|
+
});
|
1605
|
+
this.errors.push(error);
|
1606
|
+
}
|
1607
|
+
return node.eachChild((function(_this) {
|
1608
|
+
return function(child) {
|
1609
|
+
return _this.lintNode(child, astApi);
|
1610
|
+
};
|
1611
|
+
})(this));
|
1612
|
+
};
|
1613
|
+
|
1614
|
+
return NoEmptyFunctions;
|
1615
|
+
|
1616
|
+
})();
|
1617
|
+
|
1618
|
+
|
1619
|
+
},{}],22:[function(_dereq_,module,exports){
|
1574
1620
|
var NoEmptyParamList;
|
1575
1621
|
|
1576
1622
|
module.exports = NoEmptyParamList = (function() {
|
@@ -1596,7 +1642,7 @@ module.exports = NoEmptyParamList = (function() {
|
|
1596
1642
|
})();
|
1597
1643
|
|
1598
1644
|
|
1599
|
-
},{}],
|
1645
|
+
},{}],23:[function(_dereq_,module,exports){
|
1600
1646
|
var NoImplicitBraces;
|
1601
1647
|
|
1602
1648
|
module.exports = NoImplicitBraces = (function() {
|
@@ -1645,7 +1691,7 @@ module.exports = NoImplicitBraces = (function() {
|
|
1645
1691
|
})();
|
1646
1692
|
|
1647
1693
|
|
1648
|
-
},{}],
|
1694
|
+
},{}],24:[function(_dereq_,module,exports){
|
1649
1695
|
var NoImplicitParens;
|
1650
1696
|
|
1651
1697
|
module.exports = NoImplicitParens = (function() {
|
@@ -1687,7 +1733,7 @@ module.exports = NoImplicitParens = (function() {
|
|
1687
1733
|
})();
|
1688
1734
|
|
1689
1735
|
|
1690
|
-
},{}],
|
1736
|
+
},{}],25:[function(_dereq_,module,exports){
|
1691
1737
|
var NoInterpolationInSingleQuotes;
|
1692
1738
|
|
1693
1739
|
module.exports = NoInterpolationInSingleQuotes = (function() {
|
@@ -1714,7 +1760,7 @@ module.exports = NoInterpolationInSingleQuotes = (function() {
|
|
1714
1760
|
})();
|
1715
1761
|
|
1716
1762
|
|
1717
|
-
},{}],
|
1763
|
+
},{}],26:[function(_dereq_,module,exports){
|
1718
1764
|
var NoPlusPlus;
|
1719
1765
|
|
1720
1766
|
module.exports = NoPlusPlus = (function() {
|
@@ -1740,7 +1786,7 @@ module.exports = NoPlusPlus = (function() {
|
|
1740
1786
|
})();
|
1741
1787
|
|
1742
1788
|
|
1743
|
-
},{}],
|
1789
|
+
},{}],27:[function(_dereq_,module,exports){
|
1744
1790
|
var NoStandAloneAt;
|
1745
1791
|
|
1746
1792
|
module.exports = NoStandAloneAt = (function() {
|
@@ -1776,7 +1822,7 @@ module.exports = NoStandAloneAt = (function() {
|
|
1776
1822
|
})();
|
1777
1823
|
|
1778
1824
|
|
1779
|
-
},{}],
|
1825
|
+
},{}],28:[function(_dereq_,module,exports){
|
1780
1826
|
var NoTabs, indentationRegex,
|
1781
1827
|
__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; };
|
1782
1828
|
|
@@ -1807,7 +1853,7 @@ module.exports = NoTabs = (function() {
|
|
1807
1853
|
})();
|
1808
1854
|
|
1809
1855
|
|
1810
|
-
},{}],
|
1856
|
+
},{}],29:[function(_dereq_,module,exports){
|
1811
1857
|
var NoThrowingStrings;
|
1812
1858
|
|
1813
1859
|
module.exports = NoThrowingStrings = (function() {
|
@@ -1834,7 +1880,7 @@ module.exports = NoThrowingStrings = (function() {
|
|
1834
1880
|
})();
|
1835
1881
|
|
1836
1882
|
|
1837
|
-
},{}],
|
1883
|
+
},{}],30:[function(_dereq_,module,exports){
|
1838
1884
|
var NoTrailingSemicolons, regexes,
|
1839
1885
|
__slice = [].slice;
|
1840
1886
|
|
@@ -1883,7 +1929,7 @@ module.exports = NoTrailingSemicolons = (function() {
|
|
1883
1929
|
})();
|
1884
1930
|
|
1885
1931
|
|
1886
|
-
},{}],
|
1932
|
+
},{}],31:[function(_dereq_,module,exports){
|
1887
1933
|
var NoTrailingWhitespace, regexes;
|
1888
1934
|
|
1889
1935
|
regexes = {
|
@@ -1946,7 +1992,7 @@ module.exports = NoTrailingWhitespace = (function() {
|
|
1946
1992
|
})();
|
1947
1993
|
|
1948
1994
|
|
1949
|
-
},{}],
|
1995
|
+
},{}],32:[function(_dereq_,module,exports){
|
1950
1996
|
var NoUnnecessaryDoubleQuotes;
|
1951
1997
|
|
1952
1998
|
module.exports = NoUnnecessaryDoubleQuotes = (function() {
|
@@ -1999,7 +2045,7 @@ module.exports = NoUnnecessaryDoubleQuotes = (function() {
|
|
1999
2045
|
})();
|
2000
2046
|
|
2001
2047
|
|
2002
|
-
},{}],
|
2048
|
+
},{}],33:[function(_dereq_,module,exports){
|
2003
2049
|
var NoUnnecessaryFatArrows, any,
|
2004
2050
|
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
2005
2051
|
|
@@ -2076,7 +2122,7 @@ module.exports = NoUnnecessaryFatArrows = (function() {
|
|
2076
2122
|
})();
|
2077
2123
|
|
2078
2124
|
|
2079
|
-
},{}],
|
2125
|
+
},{}],34:[function(_dereq_,module,exports){
|
2080
2126
|
var NonEmptyConstructorNeedsParens, ParentClass,
|
2081
2127
|
__hasProp = {}.hasOwnProperty,
|
2082
2128
|
__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; };
|
@@ -2108,7 +2154,7 @@ module.exports = NonEmptyConstructorNeedsParens = (function(_super) {
|
|
2108
2154
|
})(ParentClass);
|
2109
2155
|
|
2110
2156
|
|
2111
|
-
},{"./empty_constructor_needs_parens.coffee":13}],
|
2157
|
+
},{"./empty_constructor_needs_parens.coffee":13}],35:[function(_dereq_,module,exports){
|
2112
2158
|
var SpaceOperators,
|
2113
2159
|
__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; };
|
2114
2160
|
|
data/lib/coffeelint.rb
CHANGED
@@ -69,9 +69,9 @@ module Coffeelint
|
|
69
69
|
puts " #{good} " + Coffeelint.green(name, pretty_output)
|
70
70
|
return true
|
71
71
|
else
|
72
|
-
|
72
|
+
no_failures = true
|
73
73
|
if errors.any? {|e| e["level"] == "error"}
|
74
|
-
|
74
|
+
no_failures = false
|
75
75
|
puts " #{bad} " + Coffeelint.red(name, pretty_output)
|
76
76
|
else
|
77
77
|
puts " #{warn} " + Coffeelint.yellow(name, pretty_output)
|
@@ -93,7 +93,7 @@ module Coffeelint
|
|
93
93
|
end
|
94
94
|
puts ": #{error["message"]}. #{error["context"]}."
|
95
95
|
end
|
96
|
-
return
|
96
|
+
return no_failures
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
data/lib/coffeelint/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coffeelint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zachary Bush
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coffee-script
|