eslint 0.22.0 → 0.24.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.
- package/LICENSE +20 -20
- package/README.md +111 -95
- package/bin/eslint.js +41 -41
- package/conf/environments.js +87 -81
- package/conf/eslint.json +186 -179
- package/lib/api.js +13 -12
- package/lib/cli-engine.js +441 -451
- package/lib/cli.js +196 -196
- package/lib/config-initializer.js +145 -145
- package/lib/config-validator.js +110 -110
- package/lib/config.js +428 -416
- package/lib/eslint.js +1072 -1073
- package/lib/file-finder.js +167 -167
- package/lib/formatters/checkstyle.js +68 -68
- package/lib/formatters/compact.js +53 -53
- package/lib/formatters/jslint-xml.js +40 -40
- package/lib/formatters/junit.js +63 -63
- package/lib/formatters/stylish.js +90 -90
- package/lib/formatters/tap.js +86 -86
- package/lib/ignored-paths.js +137 -137
- package/lib/load-rules.js +39 -39
- package/lib/options.js +132 -126
- package/lib/rule-context.js +107 -107
- package/lib/rules/accessor-pairs.js +65 -65
- package/lib/rules/array-bracket-spacing.js +180 -0
- package/lib/rules/block-scoped-var.js +339 -320
- package/lib/rules/brace-style.js +228 -228
- package/lib/rules/camelcase.js +111 -111
- package/lib/rules/comma-dangle.js +67 -64
- package/lib/rules/comma-spacing.js +191 -191
- package/lib/rules/comma-style.js +195 -195
- package/lib/rules/complexity.js +94 -94
- package/lib/rules/computed-property-spacing.js +144 -0
- package/lib/rules/consistent-return.js +75 -75
- package/lib/rules/consistent-this.js +119 -119
- package/lib/rules/constructor-super.js +108 -0
- package/lib/rules/curly.js +109 -109
- package/lib/rules/default-case.js +66 -66
- package/lib/rules/dot-location.js +63 -63
- package/lib/rules/dot-notation.js +119 -119
- package/lib/rules/eol-last.js +38 -38
- package/lib/rules/eqeqeq.js +96 -96
- package/lib/rules/func-names.js +45 -45
- package/lib/rules/func-style.js +49 -49
- package/lib/rules/generator-star-spacing.js +104 -87
- package/lib/rules/generator-star.js +76 -76
- package/lib/rules/global-strict.js +49 -49
- package/lib/rules/guard-for-in.js +32 -32
- package/lib/rules/handle-callback-err.js +81 -124
- package/lib/rules/indent.js +486 -486
- package/lib/rules/key-spacing.js +325 -325
- package/lib/rules/linebreak-style.js +44 -44
- package/lib/rules/lines-around-comment.js +228 -160
- package/lib/rules/max-depth.js +89 -89
- package/lib/rules/max-len.js +76 -76
- package/lib/rules/max-nested-callbacks.js +73 -73
- package/lib/rules/max-params.js +45 -45
- package/lib/rules/max-statements.js +61 -61
- package/lib/rules/new-cap.js +224 -224
- package/lib/rules/new-parens.js +29 -29
- package/lib/rules/newline-after-var.js +127 -127
- package/lib/rules/no-alert.js +153 -153
- package/lib/rules/no-array-constructor.js +31 -31
- package/lib/rules/no-bitwise.js +57 -57
- package/lib/rules/no-caller.js +29 -29
- package/lib/rules/no-catch-shadow.js +52 -52
- package/lib/rules/no-comma-dangle.js +45 -45
- package/lib/rules/no-cond-assign.js +123 -123
- package/lib/rules/no-console.js +27 -27
- package/lib/rules/no-constant-condition.js +73 -73
- package/lib/rules/no-continue.js +23 -23
- package/lib/rules/no-control-regex.js +58 -58
- package/lib/rules/no-debugger.js +22 -22
- package/lib/rules/no-delete-var.js +25 -25
- package/lib/rules/no-div-regex.js +27 -27
- package/lib/rules/no-dupe-args.js +89 -85
- package/lib/rules/no-dupe-keys.js +43 -43
- package/lib/rules/no-duplicate-case.js +67 -67
- package/lib/rules/no-else-return.js +125 -125
- package/lib/rules/no-empty-character-class.js +43 -43
- package/lib/rules/no-empty-class.js +45 -45
- package/lib/rules/no-empty-label.js +27 -27
- package/lib/rules/no-empty.js +49 -49
- package/lib/rules/no-eq-null.js +29 -29
- package/lib/rules/no-eval.js +26 -26
- package/lib/rules/no-ex-assign.js +42 -42
- package/lib/rules/no-extend-native.js +103 -103
- package/lib/rules/no-extra-bind.js +81 -81
- package/lib/rules/no-extra-boolean-cast.js +71 -71
- package/lib/rules/no-extra-parens.js +368 -355
- package/lib/rules/no-extra-semi.js +70 -23
- package/lib/rules/no-extra-strict.js +86 -86
- package/lib/rules/no-fallthrough.js +97 -97
- package/lib/rules/no-floating-decimal.js +30 -30
- package/lib/rules/no-func-assign.js +83 -83
- package/lib/rules/no-implied-eval.js +76 -76
- package/lib/rules/no-inline-comments.js +49 -49
- package/lib/rules/no-inner-declarations.js +78 -78
- package/lib/rules/no-invalid-regexp.js +53 -53
- package/lib/rules/no-irregular-whitespace.js +135 -135
- package/lib/rules/no-iterator.js +28 -28
- package/lib/rules/no-label-var.js +64 -64
- package/lib/rules/no-labels.js +44 -44
- package/lib/rules/no-lone-blocks.js +106 -27
- package/lib/rules/no-lonely-if.js +30 -30
- package/lib/rules/no-loop-func.js +58 -58
- package/lib/rules/no-mixed-requires.js +165 -165
- package/lib/rules/no-mixed-spaces-and-tabs.js +74 -74
- package/lib/rules/no-multi-spaces.js +119 -119
- package/lib/rules/no-multi-str.js +43 -43
- package/lib/rules/no-multiple-empty-lines.js +98 -98
- package/lib/rules/no-native-reassign.js +62 -62
- package/lib/rules/no-negated-in-lhs.js +25 -25
- package/lib/rules/no-nested-ternary.js +24 -24
- package/lib/rules/no-new-func.js +25 -25
- package/lib/rules/no-new-object.js +25 -25
- package/lib/rules/no-new-require.js +25 -25
- package/lib/rules/no-new-wrappers.js +26 -26
- package/lib/rules/no-new.js +27 -27
- package/lib/rules/no-obj-calls.js +28 -28
- package/lib/rules/no-octal-escape.js +39 -39
- package/lib/rules/no-octal.js +25 -25
- package/lib/rules/no-param-reassign.js +87 -87
- package/lib/rules/no-path-concat.js +39 -39
- package/lib/rules/no-plusplus.js +24 -24
- package/lib/rules/no-process-env.js +30 -30
- package/lib/rules/no-process-exit.js +33 -33
- package/lib/rules/no-proto.js +28 -28
- package/lib/rules/no-redeclare.js +68 -68
- package/lib/rules/no-regex-spaces.js +35 -35
- package/lib/rules/no-reserved-keys.js +56 -56
- package/lib/rules/no-restricted-modules.js +85 -85
- package/lib/rules/no-return-assign.js +53 -24
- package/lib/rules/no-script-url.js +34 -34
- package/lib/rules/no-self-compare.js +29 -29
- package/lib/rules/no-sequences.js +94 -94
- package/lib/rules/no-shadow-restricted-names.js +51 -51
- package/lib/rules/no-shadow.js +181 -136
- package/lib/rules/no-space-before-semi.js +98 -98
- package/lib/rules/no-spaced-func.js +37 -37
- package/lib/rules/no-sparse-arrays.js +33 -33
- package/lib/rules/no-sync.js +30 -30
- package/lib/rules/no-ternary.js +24 -24
- package/lib/rules/no-this-before-super.js +144 -0
- package/lib/rules/no-throw-literal.js +33 -33
- package/lib/rules/no-trailing-spaces.js +74 -63
- package/lib/rules/no-undef-init.js +28 -28
- package/lib/rules/no-undef.js +92 -92
- package/lib/rules/no-undefined.js +27 -27
- package/lib/rules/no-underscore-dangle.js +73 -73
- package/lib/rules/no-unexpected-multiline.js +58 -0
- package/lib/rules/no-unneeded-ternary.js +48 -48
- package/lib/rules/no-unreachable.js +98 -98
- package/lib/rules/no-unused-expressions.js +76 -76
- package/lib/rules/no-unused-vars.js +252 -250
- package/lib/rules/no-use-before-define.js +105 -105
- package/lib/rules/no-var.js +26 -26
- package/lib/rules/no-void.js +28 -28
- package/lib/rules/no-warning-comments.js +102 -102
- package/lib/rules/no-with.js +22 -22
- package/lib/rules/no-wrap-func.js +65 -65
- package/lib/rules/object-curly-spacing.js +231 -206
- package/lib/rules/object-shorthand.js +74 -73
- package/lib/rules/one-var.js +311 -304
- package/lib/rules/operator-assignment.js +118 -118
- package/lib/rules/operator-linebreak.js +114 -114
- package/lib/rules/padded-blocks.js +98 -98
- package/lib/rules/prefer-const.js +91 -0
- package/lib/rules/quote-props.js +72 -72
- package/lib/rules/quotes.js +92 -92
- package/lib/rules/radix.js +41 -41
- package/lib/rules/semi-spacing.js +167 -167
- package/lib/rules/semi.js +136 -136
- package/lib/rules/sort-vars.js +49 -49
- package/lib/rules/space-after-function-name.js +49 -49
- package/lib/rules/space-after-keywords.js +82 -82
- package/lib/rules/space-before-blocks.js +91 -91
- package/lib/rules/space-before-function-paren.js +139 -139
- package/lib/rules/space-before-function-parentheses.js +139 -139
- package/lib/rules/space-in-brackets.js +305 -305
- package/lib/rules/space-in-parens.js +281 -281
- package/lib/rules/space-infix-ops.js +106 -106
- package/lib/rules/space-return-throw-case.js +38 -38
- package/lib/rules/space-unary-ops.js +124 -133
- package/lib/rules/spaced-comment.js +143 -0
- package/lib/rules/spaced-line-comment.js +89 -89
- package/lib/rules/strict.js +242 -242
- package/lib/rules/use-isnan.js +26 -26
- package/lib/rules/valid-jsdoc.js +215 -215
- package/lib/rules/valid-typeof.js +42 -42
- package/lib/rules/vars-on-top.js +115 -115
- package/lib/rules/wrap-iife.js +48 -48
- package/lib/rules/wrap-regex.js +38 -38
- package/lib/rules/yoda.js +242 -225
- package/lib/rules.js +88 -88
- package/lib/timing.js +109 -109
- package/lib/token-store.js +201 -201
- package/lib/util/traverse.js +105 -105
- package/lib/util.js +125 -85
- package/package.json +6 -6
- package/CHANGELOG.md +0 -1638
package/lib/rules/no-octal.js
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Rule to flag when initializing octal literal
|
3
|
-
* @author Ilya Volodin
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
//------------------------------------------------------------------------------
|
9
|
-
// Rule Definition
|
10
|
-
//------------------------------------------------------------------------------
|
11
|
-
|
12
|
-
module.exports = function(context) {
|
13
|
-
|
14
|
-
return {
|
15
|
-
|
16
|
-
"Literal": function(node) {
|
17
|
-
if (typeof node.value === "number" && /^0[0-7]/.test(node.raw)) {
|
18
|
-
context.report(node, "Octal literals should not be used.");
|
19
|
-
}
|
20
|
-
}
|
21
|
-
};
|
22
|
-
|
23
|
-
};
|
24
|
-
|
25
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Rule to flag when initializing octal literal
|
3
|
+
* @author Ilya Volodin
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
//------------------------------------------------------------------------------
|
9
|
+
// Rule Definition
|
10
|
+
//------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module.exports = function(context) {
|
13
|
+
|
14
|
+
return {
|
15
|
+
|
16
|
+
"Literal": function(node) {
|
17
|
+
if (typeof node.value === "number" && /^0[0-7]/.test(node.raw)) {
|
18
|
+
context.report(node, "Octal literals should not be used.");
|
19
|
+
}
|
20
|
+
}
|
21
|
+
};
|
22
|
+
|
23
|
+
};
|
24
|
+
|
25
|
+
module.exports.schema = [];
|
@@ -1,87 +1,87 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Disallow reassignment of function parameters.
|
3
|
-
* @author Nat Burns
|
4
|
-
* @copyright 2014 Nat Burns. All rights reserved.
|
5
|
-
*/
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
//------------------------------------------------------------------------------
|
9
|
-
// Rule Definition
|
10
|
-
//------------------------------------------------------------------------------
|
11
|
-
|
12
|
-
module.exports = function(context) {
|
13
|
-
|
14
|
-
//--------------------------------------------------------------------------
|
15
|
-
// Helpers
|
16
|
-
//--------------------------------------------------------------------------
|
17
|
-
|
18
|
-
/**
|
19
|
-
* Finds the declaration for a given variable by name, searching up the scope tree.
|
20
|
-
* @param {Scope} scope The scope in which to search.
|
21
|
-
* @param {String} name The name of the variable.
|
22
|
-
* @returns {Variable} The declaration information for the given variable, or null if no declaration was found.
|
23
|
-
*/
|
24
|
-
function findDeclaration(scope, name) {
|
25
|
-
var variables = scope.variables;
|
26
|
-
|
27
|
-
for (var i = 0; i < variables.length; i++) {
|
28
|
-
if (variables[i].name === name) {
|
29
|
-
return variables[i];
|
30
|
-
}
|
31
|
-
}
|
32
|
-
|
33
|
-
if (scope.upper) {
|
34
|
-
return findDeclaration(scope.upper, name);
|
35
|
-
} else {
|
36
|
-
return null;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
|
40
|
-
/**
|
41
|
-
* Determines if a given variable is declared as a function parameter.
|
42
|
-
* @param {Variable} variable The variable declaration.
|
43
|
-
* @returns {boolean} True if the variable is a function parameter, false otherwise.
|
44
|
-
*/
|
45
|
-
function isParameter(variable) {
|
46
|
-
var defs = variable.defs;
|
47
|
-
|
48
|
-
for (var i = 0; i < defs.length; i++) {
|
49
|
-
if (defs[i].type === "Parameter") {
|
50
|
-
return true;
|
51
|
-
}
|
52
|
-
}
|
53
|
-
|
54
|
-
return false;
|
55
|
-
}
|
56
|
-
|
57
|
-
/**
|
58
|
-
* Checks whether a given node is an assignment to a function parameter.
|
59
|
-
* If so, a linting error will be reported.
|
60
|
-
* @param {ASTNode} node The node to check.
|
61
|
-
* @param {String} name The name of the variable being assigned to.
|
62
|
-
* @returns {void}
|
63
|
-
*/
|
64
|
-
function checkParameter(node, name) {
|
65
|
-
var declaration = findDeclaration(context.getScope(), name);
|
66
|
-
|
67
|
-
if (declaration && isParameter(declaration)) {
|
68
|
-
context.report(node, "Assignment to function parameter '{{name}}'.", { name: name });
|
69
|
-
}
|
70
|
-
}
|
71
|
-
|
72
|
-
//--------------------------------------------------------------------------
|
73
|
-
// Public
|
74
|
-
//--------------------------------------------------------------------------
|
75
|
-
|
76
|
-
return {
|
77
|
-
"AssignmentExpression": function(node) {
|
78
|
-
checkParameter(node, node.left.name);
|
79
|
-
},
|
80
|
-
|
81
|
-
"UpdateExpression": function(node) {
|
82
|
-
checkParameter(node, node.argument.name);
|
83
|
-
}
|
84
|
-
};
|
85
|
-
};
|
86
|
-
|
87
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Disallow reassignment of function parameters.
|
3
|
+
* @author Nat Burns
|
4
|
+
* @copyright 2014 Nat Burns. All rights reserved.
|
5
|
+
*/
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
//------------------------------------------------------------------------------
|
9
|
+
// Rule Definition
|
10
|
+
//------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module.exports = function(context) {
|
13
|
+
|
14
|
+
//--------------------------------------------------------------------------
|
15
|
+
// Helpers
|
16
|
+
//--------------------------------------------------------------------------
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Finds the declaration for a given variable by name, searching up the scope tree.
|
20
|
+
* @param {Scope} scope The scope in which to search.
|
21
|
+
* @param {String} name The name of the variable.
|
22
|
+
* @returns {Variable} The declaration information for the given variable, or null if no declaration was found.
|
23
|
+
*/
|
24
|
+
function findDeclaration(scope, name) {
|
25
|
+
var variables = scope.variables;
|
26
|
+
|
27
|
+
for (var i = 0; i < variables.length; i++) {
|
28
|
+
if (variables[i].name === name) {
|
29
|
+
return variables[i];
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
if (scope.upper) {
|
34
|
+
return findDeclaration(scope.upper, name);
|
35
|
+
} else {
|
36
|
+
return null;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Determines if a given variable is declared as a function parameter.
|
42
|
+
* @param {Variable} variable The variable declaration.
|
43
|
+
* @returns {boolean} True if the variable is a function parameter, false otherwise.
|
44
|
+
*/
|
45
|
+
function isParameter(variable) {
|
46
|
+
var defs = variable.defs;
|
47
|
+
|
48
|
+
for (var i = 0; i < defs.length; i++) {
|
49
|
+
if (defs[i].type === "Parameter") {
|
50
|
+
return true;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
return false;
|
55
|
+
}
|
56
|
+
|
57
|
+
/**
|
58
|
+
* Checks whether a given node is an assignment to a function parameter.
|
59
|
+
* If so, a linting error will be reported.
|
60
|
+
* @param {ASTNode} node The node to check.
|
61
|
+
* @param {String} name The name of the variable being assigned to.
|
62
|
+
* @returns {void}
|
63
|
+
*/
|
64
|
+
function checkParameter(node, name) {
|
65
|
+
var declaration = findDeclaration(context.getScope(), name);
|
66
|
+
|
67
|
+
if (declaration && isParameter(declaration)) {
|
68
|
+
context.report(node, "Assignment to function parameter '{{name}}'.", { name: name });
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
//--------------------------------------------------------------------------
|
73
|
+
// Public
|
74
|
+
//--------------------------------------------------------------------------
|
75
|
+
|
76
|
+
return {
|
77
|
+
"AssignmentExpression": function(node) {
|
78
|
+
checkParameter(node, node.left.name);
|
79
|
+
},
|
80
|
+
|
81
|
+
"UpdateExpression": function(node) {
|
82
|
+
checkParameter(node, node.argument.name);
|
83
|
+
}
|
84
|
+
};
|
85
|
+
};
|
86
|
+
|
87
|
+
module.exports.schema = [];
|
@@ -1,39 +1,39 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Disallow string concatenation when using __dirname and __filename
|
3
|
-
* @author Nicholas C. Zakas
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
//------------------------------------------------------------------------------
|
8
|
-
// Rule Definition
|
9
|
-
//------------------------------------------------------------------------------
|
10
|
-
|
11
|
-
module.exports = function(context) {
|
12
|
-
|
13
|
-
var MATCHER = /^__(?:dir|file)name$/;
|
14
|
-
|
15
|
-
//--------------------------------------------------------------------------
|
16
|
-
// Public
|
17
|
-
//--------------------------------------------------------------------------
|
18
|
-
|
19
|
-
return {
|
20
|
-
|
21
|
-
"BinaryExpression": function(node) {
|
22
|
-
|
23
|
-
var left = node.left,
|
24
|
-
right = node.right;
|
25
|
-
|
26
|
-
if (node.operator === "+" &&
|
27
|
-
((left.type === "Identifier" && MATCHER.test(left.name)) ||
|
28
|
-
(right.type === "Identifier" && MATCHER.test(right.name)))
|
29
|
-
) {
|
30
|
-
|
31
|
-
context.report(node, "Use path.join() or path.resolve() instead of + to create paths.");
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
};
|
36
|
-
|
37
|
-
};
|
38
|
-
|
39
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Disallow string concatenation when using __dirname and __filename
|
3
|
+
* @author Nicholas C. Zakas
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
//------------------------------------------------------------------------------
|
8
|
+
// Rule Definition
|
9
|
+
//------------------------------------------------------------------------------
|
10
|
+
|
11
|
+
module.exports = function(context) {
|
12
|
+
|
13
|
+
var MATCHER = /^__(?:dir|file)name$/;
|
14
|
+
|
15
|
+
//--------------------------------------------------------------------------
|
16
|
+
// Public
|
17
|
+
//--------------------------------------------------------------------------
|
18
|
+
|
19
|
+
return {
|
20
|
+
|
21
|
+
"BinaryExpression": function(node) {
|
22
|
+
|
23
|
+
var left = node.left,
|
24
|
+
right = node.right;
|
25
|
+
|
26
|
+
if (node.operator === "+" &&
|
27
|
+
((left.type === "Identifier" && MATCHER.test(left.name)) ||
|
28
|
+
(right.type === "Identifier" && MATCHER.test(right.name)))
|
29
|
+
) {
|
30
|
+
|
31
|
+
context.report(node, "Use path.join() or path.resolve() instead of + to create paths.");
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
};
|
36
|
+
|
37
|
+
};
|
38
|
+
|
39
|
+
module.exports.schema = [];
|
package/lib/rules/no-plusplus.js
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Rule to flag use of unary increment and decrement operators.
|
3
|
-
* @author Ian Christian Myers
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
//------------------------------------------------------------------------------
|
9
|
-
// Rule Definition
|
10
|
-
//------------------------------------------------------------------------------
|
11
|
-
|
12
|
-
module.exports = function(context) {
|
13
|
-
|
14
|
-
return {
|
15
|
-
|
16
|
-
"UpdateExpression": function(node) {
|
17
|
-
context.report(node, "Unary operator '" + node.operator + "' used.");
|
18
|
-
}
|
19
|
-
|
20
|
-
};
|
21
|
-
|
22
|
-
};
|
23
|
-
|
24
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Rule to flag use of unary increment and decrement operators.
|
3
|
+
* @author Ian Christian Myers
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
//------------------------------------------------------------------------------
|
9
|
+
// Rule Definition
|
10
|
+
//------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module.exports = function(context) {
|
13
|
+
|
14
|
+
return {
|
15
|
+
|
16
|
+
"UpdateExpression": function(node) {
|
17
|
+
context.report(node, "Unary operator '" + node.operator + "' used.");
|
18
|
+
}
|
19
|
+
|
20
|
+
};
|
21
|
+
|
22
|
+
};
|
23
|
+
|
24
|
+
module.exports.schema = [];
|
@@ -1,30 +1,30 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Disallow the use of process.env()
|
3
|
-
* @author Vignesh Anand
|
4
|
-
* @copyright 2014 Vignesh Anand. All rights reserved.
|
5
|
-
*/
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
//------------------------------------------------------------------------------
|
9
|
-
// Rule Definition
|
10
|
-
//------------------------------------------------------------------------------
|
11
|
-
|
12
|
-
module.exports = function(context) {
|
13
|
-
|
14
|
-
return {
|
15
|
-
|
16
|
-
"MemberExpression": function(node) {
|
17
|
-
var objectName = node.object.name,
|
18
|
-
propertyName = node.property.name;
|
19
|
-
|
20
|
-
if (objectName === "process" && !node.computed && propertyName && propertyName === "env") {
|
21
|
-
context.report(node, "Unexpected use of process.env.");
|
22
|
-
}
|
23
|
-
|
24
|
-
}
|
25
|
-
|
26
|
-
};
|
27
|
-
|
28
|
-
};
|
29
|
-
|
30
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Disallow the use of process.env()
|
3
|
+
* @author Vignesh Anand
|
4
|
+
* @copyright 2014 Vignesh Anand. All rights reserved.
|
5
|
+
*/
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
//------------------------------------------------------------------------------
|
9
|
+
// Rule Definition
|
10
|
+
//------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module.exports = function(context) {
|
13
|
+
|
14
|
+
return {
|
15
|
+
|
16
|
+
"MemberExpression": function(node) {
|
17
|
+
var objectName = node.object.name,
|
18
|
+
propertyName = node.property.name;
|
19
|
+
|
20
|
+
if (objectName === "process" && !node.computed && propertyName && propertyName === "env") {
|
21
|
+
context.report(node, "Unexpected use of process.env.");
|
22
|
+
}
|
23
|
+
|
24
|
+
}
|
25
|
+
|
26
|
+
};
|
27
|
+
|
28
|
+
};
|
29
|
+
|
30
|
+
module.exports.schema = [];
|
@@ -1,33 +1,33 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Disallow the use of process.exit()
|
3
|
-
* @author Nicholas C. Zakas
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
//------------------------------------------------------------------------------
|
8
|
-
// Rule Definition
|
9
|
-
//------------------------------------------------------------------------------
|
10
|
-
|
11
|
-
module.exports = function(context) {
|
12
|
-
|
13
|
-
//--------------------------------------------------------------------------
|
14
|
-
// Public
|
15
|
-
//--------------------------------------------------------------------------
|
16
|
-
|
17
|
-
return {
|
18
|
-
|
19
|
-
"CallExpression": function(node) {
|
20
|
-
var callee = node.callee;
|
21
|
-
|
22
|
-
if (callee.type === "MemberExpression" && callee.object.name === "process" &&
|
23
|
-
callee.property.name === "exit"
|
24
|
-
) {
|
25
|
-
context.report(node, "Don't use process.exit(); throw an error instead.");
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
};
|
30
|
-
|
31
|
-
};
|
32
|
-
|
33
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Disallow the use of process.exit()
|
3
|
+
* @author Nicholas C. Zakas
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
//------------------------------------------------------------------------------
|
8
|
+
// Rule Definition
|
9
|
+
//------------------------------------------------------------------------------
|
10
|
+
|
11
|
+
module.exports = function(context) {
|
12
|
+
|
13
|
+
//--------------------------------------------------------------------------
|
14
|
+
// Public
|
15
|
+
//--------------------------------------------------------------------------
|
16
|
+
|
17
|
+
return {
|
18
|
+
|
19
|
+
"CallExpression": function(node) {
|
20
|
+
var callee = node.callee;
|
21
|
+
|
22
|
+
if (callee.type === "MemberExpression" && callee.object.name === "process" &&
|
23
|
+
callee.property.name === "exit"
|
24
|
+
) {
|
25
|
+
context.report(node, "Don't use process.exit(); throw an error instead.");
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
};
|
30
|
+
|
31
|
+
};
|
32
|
+
|
33
|
+
module.exports.schema = [];
|
package/lib/rules/no-proto.js
CHANGED
@@ -1,28 +1,28 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Rule to flag usage of __proto__ property
|
3
|
-
* @author Ilya Volodin
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
//------------------------------------------------------------------------------
|
9
|
-
// Rule Definition
|
10
|
-
//------------------------------------------------------------------------------
|
11
|
-
|
12
|
-
module.exports = function(context) {
|
13
|
-
|
14
|
-
return {
|
15
|
-
|
16
|
-
"MemberExpression": function(node) {
|
17
|
-
|
18
|
-
if (node.property &&
|
19
|
-
(node.property.type === "Identifier" && node.property.name === "__proto__" && !node.computed) ||
|
20
|
-
(node.property.type === "Literal" && node.property.value === "__proto__")) {
|
21
|
-
context.report(node, "The '__proto__' property is deprecated.");
|
22
|
-
}
|
23
|
-
}
|
24
|
-
};
|
25
|
-
|
26
|
-
};
|
27
|
-
|
28
|
-
module.exports.schema = [];
|
1
|
+
/**
|
2
|
+
* @fileoverview Rule to flag usage of __proto__ property
|
3
|
+
* @author Ilya Volodin
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
//------------------------------------------------------------------------------
|
9
|
+
// Rule Definition
|
10
|
+
//------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
module.exports = function(context) {
|
13
|
+
|
14
|
+
return {
|
15
|
+
|
16
|
+
"MemberExpression": function(node) {
|
17
|
+
|
18
|
+
if (node.property &&
|
19
|
+
(node.property.type === "Identifier" && node.property.name === "__proto__" && !node.computed) ||
|
20
|
+
(node.property.type === "Literal" && node.property.value === "__proto__")) {
|
21
|
+
context.report(node, "The '__proto__' property is deprecated.");
|
22
|
+
}
|
23
|
+
}
|
24
|
+
};
|
25
|
+
|
26
|
+
};
|
27
|
+
|
28
|
+
module.exports.schema = [];
|