aboutsummaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/lib/rules
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-02-15 16:51:43 -0500
committercjihrig <cjihrig@gmail.com>2019-02-17 21:56:18 -0500
commit77b39c2eb2c9fe437d0e09e3e7682564d815c7fb (patch)
treea10a28bd5022e46c7ba49103282f63a80bf08886 /tools/node_modules/eslint/lib/rules
parent2da7ff5e969538a19c27e6929d435094347f90a8 (diff)
downloadandroid-node-v8-77b39c2eb2c9fe437d0e09e3e7682564d815c7fb.tar.gz
android-node-v8-77b39c2eb2c9fe437d0e09e3e7682564d815c7fb.tar.bz2
android-node-v8-77b39c2eb2c9fe437d0e09e3e7682564d815c7fb.zip
tools: update ESLint to 5.14.0
Update ESLint to 5.14.0 PR-URL: https://github.com/nodejs/node/pull/26142 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Wyatt Preul <wpreul@gmail.com>
Diffstat (limited to 'tools/node_modules/eslint/lib/rules')
-rw-r--r--tools/node_modules/eslint/lib/rules/accessor-pairs.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/array-bracket-newline.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/array-callback-return.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/array-element-newline.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/arrow-body-style.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/arrow-parens.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/arrow-spacing.js13
-rw-r--r--tools/node_modules/eslint/lib/rules/brace-style.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/camelcase.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/capitalized-comments.js29
-rw-r--r--tools/node_modules/eslint/lib/rules/class-methods-use-this.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/comma-spacing.js14
-rw-r--r--tools/node_modules/eslint/lib/rules/complexity.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/consistent-return.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/dot-notation.js8
-rw-r--r--tools/node_modules/eslint/lib/rules/eqeqeq.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/func-call-spacing.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/func-style.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/getter-return.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/id-length.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/id-match.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/indent.js11
-rw-r--r--tools/node_modules/eslint/lib/rules/init-declarations.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/key-spacing.js81
-rw-r--r--tools/node_modules/eslint/lib/rules/keyword-spacing.js14
-rw-r--r--tools/node_modules/eslint/lib/rules/line-comment-position.js13
-rw-r--r--tools/node_modules/eslint/lib/rules/lines-around-comment.js26
-rw-r--r--tools/node_modules/eslint/lib/rules/lines-between-class-members.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/max-depth.js13
-rw-r--r--tools/node_modules/eslint/lib/rules/max-len.js27
-rw-r--r--tools/node_modules/eslint/lib/rules/max-lines-per-function.js28
-rw-r--r--tools/node_modules/eslint/lib/rules/max-lines.js17
-rw-r--r--tools/node_modules/eslint/lib/rules/max-nested-callbacks.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/max-params.js13
-rw-r--r--tools/node_modules/eslint/lib/rules/max-statements-per-line.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/max-statements.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/new-cap.js11
-rw-r--r--tools/node_modules/eslint/lib/rules/newline-per-chained-call.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-bitwise.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-confusing-arrow.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/no-constant-condition.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-duplicate-imports.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-else-return.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-empty.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-eval.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/no-extra-parens.js8
-rw-r--r--tools/node_modules/eslint/lib/rules/no-fallthrough.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-implicit-coercion.js15
-rw-r--r--tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js12
-rw-r--r--tools/node_modules/eslint/lib/rules/no-labels.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/no-magic-numbers.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/no-mixed-operators.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/no-mixed-requires.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/no-multi-spaces.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-param-reassign.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/no-plusplus.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-redeclare.js4
-rw-r--r--tools/node_modules/eslint/lib/rules/no-self-assign.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js18
-rw-r--r--tools/node_modules/eslint/lib/rules/no-shadow.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/no-sync.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-tabs.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-trailing-spaces.js8
-rw-r--r--tools/node_modules/eslint/lib/rules/no-undef.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-underscore-dangle.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unused-expressions.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unused-vars.js12
-rw-r--r--tools/node_modules/eslint/lib/rules/no-use-before-define.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/no-useless-rename.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/object-curly-newline.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/object-property-newline.js8
-rw-r--r--tools/node_modules/eslint/lib/rules/object-shorthand.js12
-rw-r--r--tools/node_modules/eslint/lib/rules/one-var.js62
-rw-r--r--tools/node_modules/eslint/lib/rules/padded-blocks.js41
-rw-r--r--tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/prefer-const.js4
-rw-r--r--tools/node_modules/eslint/lib/rules/prefer-destructuring.js82
-rw-r--r--tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/prefer-spread.js15
-rw-r--r--tools/node_modules/eslint/lib/rules/quote-props.js15
-rw-r--r--tools/node_modules/eslint/lib/rules/quotes.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/require-jsdoc.js20
-rw-r--r--tools/node_modules/eslint/lib/rules/semi-spacing.js14
-rw-r--r--tools/node_modules/eslint/lib/rules/semi.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/sort-imports.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/sort-keys.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/sort-vars.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/space-before-function-paren.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/space-infix-ops.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/space-unary-ops.js8
-rw-r--r--tools/node_modules/eslint/lib/rules/spaced-comment.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/switch-colon-spacing.js4
-rw-r--r--tools/node_modules/eslint/lib/rules/valid-jsdoc.js15
-rw-r--r--tools/node_modules/eslint/lib/rules/valid-typeof.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/wrap-iife.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/yield-star-spacing.js4
-rw-r--r--tools/node_modules/eslint/lib/rules/yoda.js6
98 files changed, 627 insertions, 404 deletions
diff --git a/tools/node_modules/eslint/lib/rules/accessor-pairs.js b/tools/node_modules/eslint/lib/rules/accessor-pairs.js
index 032e894305..aca2318486 100644
--- a/tools/node_modules/eslint/lib/rules/accessor-pairs.js
+++ b/tools/node_modules/eslint/lib/rules/accessor-pairs.js
@@ -85,10 +85,12 @@ module.exports = {
type: "object",
properties: {
getWithoutSet: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
setWithoutGet: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/array-bracket-newline.js b/tools/node_modules/eslint/lib/rules/array-bracket-newline.js
index a458e69f76..b98fa9d27c 100644
--- a/tools/node_modules/eslint/lib/rules/array-bracket-newline.js
+++ b/tools/node_modules/eslint/lib/rules/array-bracket-newline.js
@@ -34,11 +34,13 @@ module.exports = {
type: "object",
properties: {
multiline: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
minItems: {
type: ["integer", "null"],
- minimum: 0
+ minimum: 0,
+ default: null
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/array-callback-return.js b/tools/node_modules/eslint/lib/rules/array-callback-return.js
index bfee39b037..f88f4b8bfa 100644
--- a/tools/node_modules/eslint/lib/rules/array-callback-return.js
+++ b/tools/node_modules/eslint/lib/rules/array-callback-return.js
@@ -155,7 +155,8 @@ module.exports = {
type: "object",
properties: {
allowImplicit: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/array-element-newline.js b/tools/node_modules/eslint/lib/rules/array-element-newline.js
index dadb26fdd2..0efceedd27 100644
--- a/tools/node_modules/eslint/lib/rules/array-element-newline.js
+++ b/tools/node_modules/eslint/lib/rules/array-element-newline.js
@@ -34,11 +34,13 @@ module.exports = {
type: "object",
properties: {
multiline: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
minItems: {
type: ["integer", "null"],
- minimum: 0
+ minimum: 0,
+ default: null
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/arrow-body-style.js b/tools/node_modules/eslint/lib/rules/arrow-body-style.js
index c2ce3b59e4..83fc28aba0 100644
--- a/tools/node_modules/eslint/lib/rules/arrow-body-style.js
+++ b/tools/node_modules/eslint/lib/rules/arrow-body-style.js
@@ -46,7 +46,7 @@ module.exports = {
{
type: "object",
properties: {
- requireReturnForObjectLiteral: { type: "boolean" }
+ requireReturnForObjectLiteral: { type: "boolean", default: false }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/arrow-parens.js b/tools/node_modules/eslint/lib/rules/arrow-parens.js
index 637a0c1f1f..217a9b60e1 100644
--- a/tools/node_modules/eslint/lib/rules/arrow-parens.js
+++ b/tools/node_modules/eslint/lib/rules/arrow-parens.js
@@ -35,7 +35,8 @@ module.exports = {
type: "object",
properties: {
requireForBlockBody: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/arrow-spacing.js b/tools/node_modules/eslint/lib/rules/arrow-spacing.js
index 87d381840a..95acb78772 100644
--- a/tools/node_modules/eslint/lib/rules/arrow-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/arrow-spacing.js
@@ -32,10 +32,12 @@ module.exports = {
type: "object",
properties: {
before: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
after: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -54,11 +56,10 @@ module.exports = {
create(context) {
// merge rules with default
- const rule = { before: true, after: true },
- option = context.options[0] || {};
+ const rule = Object.assign({}, context.options[0]);
- rule.before = option.before !== false;
- rule.after = option.after !== false;
+ rule.before = rule.before !== false;
+ rule.after = rule.after !== false;
const sourceCode = context.getSourceCode();
diff --git a/tools/node_modules/eslint/lib/rules/brace-style.js b/tools/node_modules/eslint/lib/rules/brace-style.js
index d172124d2f..17a5c7fdf9 100644
--- a/tools/node_modules/eslint/lib/rules/brace-style.js
+++ b/tools/node_modules/eslint/lib/rules/brace-style.js
@@ -30,7 +30,8 @@ module.exports = {
type: "object",
properties: {
allowSingleLine: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/camelcase.js b/tools/node_modules/eslint/lib/rules/camelcase.js
index a8341c84b6..6dd3793f66 100644
--- a/tools/node_modules/eslint/lib/rules/camelcase.js
+++ b/tools/node_modules/eslint/lib/rules/camelcase.js
@@ -25,7 +25,8 @@ module.exports = {
type: "object",
properties: {
ignoreDestructuring: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
properties: {
enum: ["always", "never"]
@@ -54,7 +55,7 @@ module.exports = {
const options = context.options[0] || {};
let properties = options.properties || "";
- const ignoreDestructuring = options.ignoreDestructuring || false;
+ const ignoreDestructuring = options.ignoreDestructuring;
const allow = options.allow || [];
if (properties !== "always" && properties !== "never") {
diff --git a/tools/node_modules/eslint/lib/rules/capitalized-comments.js b/tools/node_modules/eslint/lib/rules/capitalized-comments.js
index 7947833b27..285f856379 100644
--- a/tools/node_modules/eslint/lib/rules/capitalized-comments.js
+++ b/tools/node_modules/eslint/lib/rules/capitalized-comments.js
@@ -17,12 +17,7 @@ const astUtils = require("../util/ast-utils");
const DEFAULT_IGNORE_PATTERN = astUtils.COMMENTS_IGNORE_PATTERN,
WHITESPACE = /\s/g,
- MAYBE_URL = /^\s*[^:/?#\s]+:\/\/[^?#]/, // TODO: Combine w/ max-len pattern?
- DEFAULTS = {
- ignorePattern: null,
- ignoreInlineComments: false,
- ignoreConsecutiveComments: false
- };
+ MAYBE_URL = /^\s*[^:/?#\s]+:\/\/[^?#]/; // TODO: Combine w/ max-len pattern?
/*
* Base schema body for defining the basic capitalization rule, ignorePattern,
@@ -33,17 +28,27 @@ const SCHEMA_BODY = {
type: "object",
properties: {
ignorePattern: {
- type: "string"
+ type: "string",
+ default: ""
},
ignoreInlineComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreConsecutiveComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
};
+const DEFAULTS = Object.keys(SCHEMA_BODY.properties).reduce(
+ (obj, current) => {
+ obj[current] = SCHEMA_BODY.properties[current].default;
+ return obj;
+ },
+ {}
+);
/**
* Get normalized options for either block or line comments from the given
@@ -59,11 +64,7 @@ const SCHEMA_BODY = {
* @param {string} which Either "line" or "block".
* @returns {Object} The normalized options.
*/
-function getNormalizedOptions(rawOptions, which) {
- if (!rawOptions) {
- return Object.assign({}, DEFAULTS);
- }
-
+function getNormalizedOptions(rawOptions = {}, which) {
return Object.assign({}, DEFAULTS, rawOptions[which] || rawOptions);
}
diff --git a/tools/node_modules/eslint/lib/rules/class-methods-use-this.js b/tools/node_modules/eslint/lib/rules/class-methods-use-this.js
index a15ab6b89e..0eb1da87f4 100644
--- a/tools/node_modules/eslint/lib/rules/class-methods-use-this.js
+++ b/tools/node_modules/eslint/lib/rules/class-methods-use-this.js
@@ -38,7 +38,7 @@ module.exports = {
}
},
create(context) {
- const config = context.options[0] ? Object.assign({}, context.options[0]) : {};
+ const config = Object.assign({}, context.options[0]);
const exceptMethods = new Set(config.exceptMethods || []);
const stack = [];
diff --git a/tools/node_modules/eslint/lib/rules/comma-spacing.js b/tools/node_modules/eslint/lib/rules/comma-spacing.js
index 2db0035b54..a9f89676a4 100644
--- a/tools/node_modules/eslint/lib/rules/comma-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/comma-spacing.js
@@ -28,10 +28,12 @@ module.exports = {
type: "object",
properties: {
before: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
after: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -50,8 +52,8 @@ module.exports = {
const tokensAndComments = sourceCode.tokensAndComments;
const options = {
- before: context.options[0] ? !!context.options[0].before : false,
- after: context.options[0] ? !!context.options[0].after : true
+ before: context.options[0] ? context.options[0].before : false,
+ after: context.options[0] ? context.options[0].after : true
};
//--------------------------------------------------------------------------
@@ -118,6 +120,10 @@ module.exports = {
report(reportItem, "before", tokens.left);
}
+ if (tokens.right && astUtils.isClosingParenToken(tokens.right)) {
+ return;
+ }
+
if (tokens.right && !options.after && tokens.right.type === "Line") {
return;
}
diff --git a/tools/node_modules/eslint/lib/rules/complexity.js b/tools/node_modules/eslint/lib/rules/complexity.js
index af583c0279..9f791e6de7 100644
--- a/tools/node_modules/eslint/lib/rules/complexity.js
+++ b/tools/node_modules/eslint/lib/rules/complexity.js
@@ -41,11 +41,13 @@ module.exports = {
properties: {
maximum: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 20
},
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 20
}
},
additionalProperties: false
@@ -63,13 +65,9 @@ module.exports = {
const option = context.options[0];
let THRESHOLD = 20;
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "maximum") && typeof option.maximum === "number") {
- THRESHOLD = option.maximum;
- }
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "max") && typeof option.max === "number") {
- THRESHOLD = option.max;
- }
- if (typeof option === "number") {
+ if (typeof option === "object") {
+ THRESHOLD = option.maximum || option.max;
+ } else if (typeof option === "number") {
THRESHOLD = option;
}
diff --git a/tools/node_modules/eslint/lib/rules/consistent-return.js b/tools/node_modules/eslint/lib/rules/consistent-return.js
index ffd7ef2058..68f9f9d8fb 100644
--- a/tools/node_modules/eslint/lib/rules/consistent-return.js
+++ b/tools/node_modules/eslint/lib/rules/consistent-return.js
@@ -66,7 +66,8 @@ module.exports = {
type: "object",
properties: {
treatUndefinedAsUnspecified: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/dot-notation.js b/tools/node_modules/eslint/lib/rules/dot-notation.js
index 55ccea4ce3..a1b091da0e 100644
--- a/tools/node_modules/eslint/lib/rules/dot-notation.js
+++ b/tools/node_modules/eslint/lib/rules/dot-notation.js
@@ -33,10 +33,12 @@ module.exports = {
type: "object",
properties: {
allowKeywords: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
allowPattern: {
- type: "string"
+ type: "string",
+ default: ""
}
},
additionalProperties: false
@@ -53,7 +55,7 @@ module.exports = {
create(context) {
const options = context.options[0] || {};
- const allowKeywords = options.allowKeywords === void 0 || !!options.allowKeywords;
+ const allowKeywords = options.allowKeywords === void 0 || options.allowKeywords;
const sourceCode = context.getSourceCode();
let allowPattern;
diff --git a/tools/node_modules/eslint/lib/rules/eqeqeq.js b/tools/node_modules/eslint/lib/rules/eqeqeq.js
index 3e8a392cf6..a52de67d75 100644
--- a/tools/node_modules/eslint/lib/rules/eqeqeq.js
+++ b/tools/node_modules/eslint/lib/rules/eqeqeq.js
@@ -38,7 +38,8 @@ module.exports = {
type: "object",
properties: {
null: {
- enum: ["always", "never", "ignore"]
+ enum: ["always", "never", "ignore"],
+ default: "always"
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/func-call-spacing.js b/tools/node_modules/eslint/lib/rules/func-call-spacing.js
index c49aa9e59f..62bba144e6 100644
--- a/tools/node_modules/eslint/lib/rules/func-call-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/func-call-spacing.js
@@ -50,7 +50,8 @@ module.exports = {
type: "object",
properties: {
allowNewlines: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/func-style.js b/tools/node_modules/eslint/lib/rules/func-style.js
index b7e368cbd2..e150b1a76f 100644
--- a/tools/node_modules/eslint/lib/rules/func-style.js
+++ b/tools/node_modules/eslint/lib/rules/func-style.js
@@ -27,7 +27,8 @@ module.exports = {
type: "object",
properties: {
allowArrowFunctions: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -43,7 +44,7 @@ module.exports = {
create(context) {
const style = context.options[0],
- allowArrowFunctions = context.options[1] && context.options[1].allowArrowFunctions === true,
+ allowArrowFunctions = context.options[1] && context.options[1].allowArrowFunctions,
enforceDeclarations = (style === "declaration"),
stack = [];
diff --git a/tools/node_modules/eslint/lib/rules/getter-return.js b/tools/node_modules/eslint/lib/rules/getter-return.js
index dc3d9d6b62..a1806c357b 100644
--- a/tools/node_modules/eslint/lib/rules/getter-return.js
+++ b/tools/node_modules/eslint/lib/rules/getter-return.js
@@ -60,7 +60,8 @@ module.exports = {
type: "object",
properties: {
allowImplicit: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/id-length.js b/tools/node_modules/eslint/lib/rules/id-length.js
index 1f9c696e2a..c8586ea348 100644
--- a/tools/node_modules/eslint/lib/rules/id-length.js
+++ b/tools/node_modules/eslint/lib/rules/id-length.js
@@ -26,10 +26,11 @@ module.exports = {
type: "object",
properties: {
min: {
- type: "number"
+ type: "integer",
+ default: 2
},
max: {
- type: "number"
+ type: "integer"
},
exceptions: {
type: "array",
diff --git a/tools/node_modules/eslint/lib/rules/id-match.js b/tools/node_modules/eslint/lib/rules/id-match.js
index 5dc86f8dbf..3978a5ef68 100644
--- a/tools/node_modules/eslint/lib/rules/id-match.js
+++ b/tools/node_modules/eslint/lib/rules/id-match.js
@@ -28,13 +28,16 @@ module.exports = {
type: "object",
properties: {
properties: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
onlyDeclarations: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreDestructuring: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
}
}
diff --git a/tools/node_modules/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js
index c30d1f1e7b..08b9250f05 100644
--- a/tools/node_modules/eslint/lib/rules/indent.js
+++ b/tools/node_modules/eslint/lib/rules/indent.js
@@ -518,7 +518,8 @@ module.exports = {
properties: {
SwitchCase: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 0
},
VariableDeclarator: {
oneOf: [
@@ -582,7 +583,8 @@ module.exports = {
ObjectExpression: ELEMENT_LIST_SCHEMA,
ImportDeclaration: ELEMENT_LIST_SCHEMA,
flatTernaryExpressions: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoredNodes: {
type: "array",
@@ -594,7 +596,8 @@ module.exports = {
}
},
ignoreComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -650,7 +653,7 @@ module.exports = {
}
if (context.options[1]) {
- lodash.merge(options, context.options[1]);
+ Object.assign(options, context.options[1]);
if (typeof options.VariableDeclarator === "number" || options.VariableDeclarator === "first") {
options.VariableDeclarator = {
diff --git a/tools/node_modules/eslint/lib/rules/init-declarations.js b/tools/node_modules/eslint/lib/rules/init-declarations.js
index 65197358e6..484cbef0a5 100644
--- a/tools/node_modules/eslint/lib/rules/init-declarations.js
+++ b/tools/node_modules/eslint/lib/rules/init-declarations.js
@@ -75,7 +75,8 @@ module.exports = {
type: "object",
properties: {
ignoreForLoopInit: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/key-spacing.js b/tools/node_modules/eslint/lib/rules/key-spacing.js
index c52a74d499..31ba9522e9 100644
--- a/tools/node_modules/eslint/lib/rules/key-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/key-spacing.js
@@ -148,16 +148,20 @@ module.exports = {
type: "object",
properties: {
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
on: {
- enum: ["colon", "value"]
+ enum: ["colon", "value"],
+ default: "colon"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -165,13 +169,16 @@ module.exports = {
]
},
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -183,13 +190,16 @@ module.exports = {
type: "object",
properties: {
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -206,16 +216,20 @@ module.exports = {
type: "object",
properties: {
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
on: {
- enum: ["colon", "value"]
+ enum: ["colon", "value"],
+ default: "colon"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -223,13 +237,16 @@ module.exports = {
]
},
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -244,13 +261,16 @@ module.exports = {
type: "object",
properties: {
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -259,13 +279,16 @@ module.exports = {
type: "object",
properties: {
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -274,16 +297,20 @@ module.exports = {
type: "object",
properties: {
mode: {
- enum: ["strict", "minimum"]
+ enum: ["strict", "minimum"],
+ default: "strict"
},
on: {
- enum: ["colon", "value"]
+ enum: ["colon", "value"],
+ default: "colon"
},
beforeColon: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterColon: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/keyword-spacing.js b/tools/node_modules/eslint/lib/rules/keyword-spacing.js
index 833092e416..83ad628268 100644
--- a/tools/node_modules/eslint/lib/rules/keyword-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/keyword-spacing.js
@@ -80,16 +80,16 @@ module.exports = {
{
type: "object",
properties: {
- before: { type: "boolean" },
- after: { type: "boolean" },
+ before: { type: "boolean", default: true },
+ after: { type: "boolean", default: true },
overrides: {
type: "object",
properties: KEYS.reduce((retv, key) => {
retv[key] = {
type: "object",
properties: {
- before: { type: "boolean" },
- after: { type: "boolean" }
+ before: { type: "boolean", default: true },
+ after: { type: "boolean", default: true }
},
additionalProperties: false
};
@@ -228,9 +228,9 @@ module.exports = {
* Keys are keywords (there are for every keyword).
* Values are instances of `{"before": function, "after": function}`.
*/
- function parseOptions(options) {
- const before = !options || options.before !== false;
- const after = !options || options.after !== false;
+ function parseOptions(options = {}) {
+ const before = options.before !== false;
+ const after = options.after !== false;
const defaultValue = {
before: before ? expectSpaceBefore : unexpectSpaceBefore,
after: after ? expectSpaceAfter : unexpectSpaceAfter
diff --git a/tools/node_modules/eslint/lib/rules/line-comment-position.js b/tools/node_modules/eslint/lib/rules/line-comment-position.js
index 6d0ac6d2ba..132a8ad875 100644
--- a/tools/node_modules/eslint/lib/rules/line-comment-position.js
+++ b/tools/node_modules/eslint/lib/rules/line-comment-position.js
@@ -31,16 +31,19 @@ module.exports = {
type: "object",
properties: {
position: {
- enum: ["above", "beside"]
+ enum: ["above", "beside"],
+ default: "above"
},
ignorePattern: {
type: "string"
},
applyDefaultPatterns: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
applyDefaultIgnorePatterns: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -69,9 +72,9 @@ module.exports = {
ignorePattern = options.ignorePattern;
if (Object.prototype.hasOwnProperty.call(options, "applyDefaultIgnorePatterns")) {
- applyDefaultIgnorePatterns = options.applyDefaultIgnorePatterns !== false;
+ applyDefaultIgnorePatterns = options.applyDefaultIgnorePatterns;
} else {
- applyDefaultIgnorePatterns = options.applyDefaultPatterns !== false;
+ applyDefaultIgnorePatterns = options.applyDefaultPatterns;
}
}
diff --git a/tools/node_modules/eslint/lib/rules/lines-around-comment.js b/tools/node_modules/eslint/lib/rules/lines-around-comment.js
index 62bef94831..0f9851f724 100644
--- a/tools/node_modules/eslint/lib/rules/lines-around-comment.js
+++ b/tools/node_modules/eslint/lib/rules/lines-around-comment.js
@@ -68,22 +68,28 @@ module.exports = {
type: "object",
properties: {
beforeBlockComment: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
afterBlockComment: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
beforeLineComment: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
afterLineComment: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowBlockStart: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowBlockEnd: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowClassStart: {
type: "boolean"
@@ -121,19 +127,13 @@ module.exports = {
create(context) {
- const options = context.options[0] ? Object.assign({}, context.options[0]) : {};
+ const options = Object.assign({}, context.options[0]);
const ignorePattern = options.ignorePattern;
const defaultIgnoreRegExp = astUtils.COMMENTS_IGNORE_PATTERN;
const customIgnoreRegExp = new RegExp(ignorePattern);
const applyDefaultIgnorePatterns = options.applyDefaultIgnorePatterns !== false;
-
- options.beforeLineComment = options.beforeLineComment || false;
- options.afterLineComment = options.afterLineComment || false;
options.beforeBlockComment = typeof options.beforeBlockComment !== "undefined" ? options.beforeBlockComment : true;
- options.afterBlockComment = options.afterBlockComment || false;
- options.allowBlockStart = options.allowBlockStart || false;
- options.allowBlockEnd = options.allowBlockEnd || false;
const sourceCode = context.getSourceCode();
diff --git a/tools/node_modules/eslint/lib/rules/lines-between-class-members.js b/tools/node_modules/eslint/lib/rules/lines-between-class-members.js
index 2937d24f81..19ae8a6a29 100644
--- a/tools/node_modules/eslint/lib/rules/lines-between-class-members.js
+++ b/tools/node_modules/eslint/lib/rules/lines-between-class-members.js
@@ -31,7 +31,8 @@ module.exports = {
type: "object",
properties: {
exceptAfterSingleLine: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/max-depth.js b/tools/node_modules/eslint/lib/rules/max-depth.js
index 500e931881..3b997e21bc 100644
--- a/tools/node_modules/eslint/lib/rules/max-depth.js
+++ b/tools/node_modules/eslint/lib/rules/max-depth.js
@@ -32,11 +32,13 @@ module.exports = {
properties: {
maximum: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 4
},
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 4
}
},
additionalProperties: false
@@ -59,11 +61,8 @@ module.exports = {
option = context.options[0];
let maxDepth = 4;
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "maximum") && typeof option.maximum === "number") {
- maxDepth = option.maximum;
- }
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "max") && typeof option.max === "number") {
- maxDepth = option.max;
+ if (typeof option === "object") {
+ maxDepth = option.maximum || option.max;
}
if (typeof option === "number") {
maxDepth = option;
diff --git a/tools/node_modules/eslint/lib/rules/max-len.js b/tools/node_modules/eslint/lib/rules/max-len.js
index d74373e9ea..f6f0b6d3ac 100644
--- a/tools/node_modules/eslint/lib/rules/max-len.js
+++ b/tools/node_modules/eslint/lib/rules/max-len.js
@@ -14,7 +14,8 @@ const OPTIONS_SCHEMA = {
properties: {
code: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 80
},
comments: {
type: "integer",
@@ -22,28 +23,35 @@ const OPTIONS_SCHEMA = {
},
tabWidth: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 4
},
ignorePattern: {
type: "string"
},
ignoreComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreStrings: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreUrls: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreTemplateLiterals: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreRegExpLiterals: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreTrailingComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -121,8 +129,7 @@ module.exports = {
}
// The options object must be the last option specified…
- const lastOption = context.options[context.options.length - 1];
- const options = typeof lastOption === "object" ? Object.create(lastOption) : {};
+ const options = Object.assign({}, context.options[context.options.length - 1]);
// …but max code length…
if (typeof context.options[0] === "number") {
diff --git a/tools/node_modules/eslint/lib/rules/max-lines-per-function.js b/tools/node_modules/eslint/lib/rules/max-lines-per-function.js
index d1e4597a22..2a0e1a645a 100644
--- a/tools/node_modules/eslint/lib/rules/max-lines-per-function.js
+++ b/tools/node_modules/eslint/lib/rules/max-lines-per-function.js
@@ -19,16 +19,20 @@ const OPTIONS_SCHEMA = {
properties: {
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 50
},
skipComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
skipBlankLines: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
IIFEs: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -97,18 +101,10 @@ module.exports = {
let IIFEs = false;
if (typeof option === "object") {
- if (typeof option.max === "number") {
- maxLines = option.max;
- }
- if (typeof option.skipComments === "boolean") {
- skipComments = option.skipComments;
- }
- if (typeof option.skipBlankLines === "boolean") {
- skipBlankLines = option.skipBlankLines;
- }
- if (typeof option.IIFEs === "boolean") {
- IIFEs = option.IIFEs;
- }
+ maxLines = option.max;
+ skipComments = option.skipComments;
+ skipBlankLines = option.skipBlankLines;
+ IIFEs = option.IIFEs;
} else if (typeof option === "number") {
maxLines = option;
}
diff --git a/tools/node_modules/eslint/lib/rules/max-lines.js b/tools/node_modules/eslint/lib/rules/max-lines.js
index da7ddd8a88..0fae4ec2fa 100644
--- a/tools/node_modules/eslint/lib/rules/max-lines.js
+++ b/tools/node_modules/eslint/lib/rules/max-lines.js
@@ -38,13 +38,16 @@ module.exports = {
properties: {
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 300
},
skipComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
skipBlankLines: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -61,11 +64,9 @@ module.exports = {
const option = context.options[0];
let max = 300;
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "max") && typeof option.max === "number") {
+ if (typeof option === "object") {
max = option.max;
- }
-
- if (typeof option === "number") {
+ } else if (typeof option === "number") {
max = option;
}
@@ -86,7 +87,7 @@ module.exports = {
/**
* Returns the line numbers of a comment that don't have any code on the same line
* @param {Node} comment The comment node to check
- * @returns {int[]} The line numbers
+ * @returns {number[]} The line numbers
*/
function getLinesWithoutCode(comment) {
let start = comment.loc.start.line;
diff --git a/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js b/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js
index 754fa168d3..cbbb0ed6c7 100644
--- a/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js
+++ b/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js
@@ -32,11 +32,13 @@ module.exports = {
properties: {
maximum: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 10
},
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 10
}
},
additionalProperties: false
@@ -57,13 +59,9 @@ module.exports = {
const option = context.options[0];
let THRESHOLD = 10;
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "maximum") && typeof option.maximum === "number") {
- THRESHOLD = option.maximum;
- }
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "max") && typeof option.max === "number") {
- THRESHOLD = option.max;
- }
- if (typeof option === "number") {
+ if (typeof option === "object") {
+ THRESHOLD = option.maximum || option.max;
+ } else if (typeof option === "number") {
THRESHOLD = option;
}
diff --git a/tools/node_modules/eslint/lib/rules/max-params.js b/tools/node_modules/eslint/lib/rules/max-params.js
index e082ec8e98..5e1e558ab5 100644
--- a/tools/node_modules/eslint/lib/rules/max-params.js
+++ b/tools/node_modules/eslint/lib/rules/max-params.js
@@ -40,11 +40,13 @@ module.exports = {
properties: {
maximum: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 3
},
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 3
}
},
additionalProperties: false
@@ -62,11 +64,8 @@ module.exports = {
const option = context.options[0];
let numParams = 3;
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "maximum") && typeof option.maximum === "number") {
- numParams = option.maximum;
- }
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "max") && typeof option.max === "number") {
- numParams = option.max;
+ if (typeof option === "object") {
+ numParams = option.maximum || option.max;
}
if (typeof option === "number") {
numParams = option;
diff --git a/tools/node_modules/eslint/lib/rules/max-statements-per-line.js b/tools/node_modules/eslint/lib/rules/max-statements-per-line.js
index b834cedc03..444bdfa21a 100644
--- a/tools/node_modules/eslint/lib/rules/max-statements-per-line.js
+++ b/tools/node_modules/eslint/lib/rules/max-statements-per-line.js
@@ -31,7 +31,8 @@ module.exports = {
properties: {
max: {
type: "integer",
- minimum: 1
+ minimum: 1,
+ default: 1
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/max-statements.js b/tools/node_modules/eslint/lib/rules/max-statements.js
index b33ca42982..cd0e50ae39 100644
--- a/tools/node_modules/eslint/lib/rules/max-statements.js
+++ b/tools/node_modules/eslint/lib/rules/max-statements.js
@@ -40,11 +40,13 @@ module.exports = {
properties: {
maximum: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 10
},
max: {
type: "integer",
- minimum: 0
+ minimum: 0,
+ default: 10
}
},
additionalProperties: false
@@ -78,13 +80,9 @@ module.exports = {
topLevelFunctions = [];
let maxStatements = 10;
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "maximum") && typeof option.maximum === "number") {
- maxStatements = option.maximum;
- }
- if (typeof option === "object" && Object.prototype.hasOwnProperty.call(option, "max") && typeof option.max === "number") {
- maxStatements = option.max;
- }
- if (typeof option === "number") {
+ if (typeof option === "object") {
+ maxStatements = option.maximum || option.max;
+ } else if (typeof option === "number") {
maxStatements = option;
}
diff --git a/tools/node_modules/eslint/lib/rules/new-cap.js b/tools/node_modules/eslint/lib/rules/new-cap.js
index 4a01dcfa7f..ab70fcfadd 100644
--- a/tools/node_modules/eslint/lib/rules/new-cap.js
+++ b/tools/node_modules/eslint/lib/rules/new-cap.js
@@ -88,10 +88,12 @@ module.exports = {
type: "object",
properties: {
newIsCap: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
capIsNew: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
newIsCapExceptions: {
type: "array",
@@ -112,7 +114,8 @@ module.exports = {
type: "string"
},
properties: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -126,7 +129,7 @@ module.exports = {
create(context) {
- const config = context.options[0] ? Object.assign({}, context.options[0]) : {};
+ const config = Object.assign({}, context.options[0]);
config.newIsCap = config.newIsCap !== false;
config.capIsNew = config.capIsNew !== false;
diff --git a/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js b/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js
index 0bf2365de5..90b540c484 100644
--- a/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js
+++ b/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js
@@ -31,7 +31,8 @@ module.exports = {
ignoreChainWithDepth: {
type: "integer",
minimum: 1,
- maximum: 10
+ maximum: 10,
+ default: 2
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-bitwise.js b/tools/node_modules/eslint/lib/rules/no-bitwise.js
index df492937c0..a9c3360a7c 100644
--- a/tools/node_modules/eslint/lib/rules/no-bitwise.js
+++ b/tools/node_modules/eslint/lib/rules/no-bitwise.js
@@ -43,7 +43,8 @@ module.exports = {
uniqueItems: true
},
int32Hint: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js b/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js
index f18ec19453..79df9a5138 100644
--- a/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js
+++ b/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js
@@ -41,7 +41,7 @@ module.exports = {
schema: [{
type: "object",
properties: {
- allowParens: { type: "boolean" }
+ allowParens: { type: "boolean", default: false }
},
additionalProperties: false
}],
diff --git a/tools/node_modules/eslint/lib/rules/no-constant-condition.js b/tools/node_modules/eslint/lib/rules/no-constant-condition.js
index fb36207ebb..d6d0417429 100644
--- a/tools/node_modules/eslint/lib/rules/no-constant-condition.js
+++ b/tools/node_modules/eslint/lib/rules/no-constant-condition.js
@@ -32,7 +32,8 @@ module.exports = {
type: "object",
properties: {
checkLoops: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js
index 7d35b41b4d..03b5e2c123 100644
--- a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js
+++ b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js
@@ -113,7 +113,8 @@ module.exports = {
type: "object",
properties: {
includeExports: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-else-return.js b/tools/node_modules/eslint/lib/rules/no-else-return.js
index 5ba02de291..5c21fb1b3f 100644
--- a/tools/node_modules/eslint/lib/rules/no-else-return.js
+++ b/tools/node_modules/eslint/lib/rules/no-else-return.js
@@ -31,7 +31,8 @@ module.exports = {
type: "object",
properties: {
allowElseIf: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-empty.js b/tools/node_modules/eslint/lib/rules/no-empty.js
index 9d72969e67..2d55dee665 100644
--- a/tools/node_modules/eslint/lib/rules/no-empty.js
+++ b/tools/node_modules/eslint/lib/rules/no-empty.js
@@ -30,7 +30,8 @@ module.exports = {
type: "object",
properties: {
allowEmptyCatch: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-eval.js b/tools/node_modules/eslint/lib/rules/no-eval.js
index 39d91e776e..d4b79468f1 100644
--- a/tools/node_modules/eslint/lib/rules/no-eval.js
+++ b/tools/node_modules/eslint/lib/rules/no-eval.js
@@ -89,7 +89,7 @@ module.exports = {
{
type: "object",
properties: {
- allowIndirect: { type: "boolean" }
+ allowIndirect: { type: "boolean", default: false }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/no-extra-parens.js b/tools/node_modules/eslint/lib/rules/no-extra-parens.js
index 3a21b69580..9f16e0e6cc 100644
--- a/tools/node_modules/eslint/lib/rules/no-extra-parens.js
+++ b/tools/node_modules/eslint/lib/rules/no-extra-parens.js
@@ -44,11 +44,11 @@ module.exports = {
{
type: "object",
properties: {
- conditionalAssign: { type: "boolean" },
- nestedBinaryExpressions: { type: "boolean" },
- returnAssign: { type: "boolean" },
+ conditionalAssign: { type: "boolean", default: true },
+ nestedBinaryExpressions: { type: "boolean", default: true },
+ returnAssign: { type: "boolean", default: true },
ignoreJSX: { enum: ["none", "all", "single-line", "multi-line"] },
- enforceForArrowConditionals: { type: "boolean" }
+ enforceForArrowConditionals: { type: "boolean", default: true }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/no-fallthrough.js b/tools/node_modules/eslint/lib/rules/no-fallthrough.js
index 79cbe81c0b..dfd9d85415 100644
--- a/tools/node_modules/eslint/lib/rules/no-fallthrough.js
+++ b/tools/node_modules/eslint/lib/rules/no-fallthrough.js
@@ -69,7 +69,8 @@ module.exports = {
type: "object",
properties: {
commentPattern: {
- type: "string"
+ type: "string",
+ default: ""
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js
index 826d9398ca..d54c578646 100644
--- a/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js
+++ b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js
@@ -21,9 +21,9 @@ const ALLOWABLE_OPERATORS = ["~", "!!", "+", "*"];
*/
function parseOptions(options) {
return {
- boolean: "boolean" in options ? Boolean(options.boolean) : true,
- number: "number" in options ? Boolean(options.number) : true,
- string: "string" in options ? Boolean(options.string) : true,
+ boolean: "boolean" in options ? options.boolean : true,
+ number: "number" in options ? options.number : true,
+ string: "string" in options ? options.string : true,
allow: options.allow || []
};
}
@@ -167,13 +167,16 @@ module.exports = {
type: "object",
properties: {
boolean: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
number: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
string: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
allow: {
type: "array",
diff --git a/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js b/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js
index 90d1a79a1c..ddbfd1c91c 100644
--- a/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js
+++ b/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js
@@ -41,16 +41,20 @@ module.exports = {
type: "object",
properties: {
skipComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
skipStrings: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
skipTemplates: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
skipRegExps: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-labels.js b/tools/node_modules/eslint/lib/rules/no-labels.js
index 34db20725b..29580bd236 100644
--- a/tools/node_modules/eslint/lib/rules/no-labels.js
+++ b/tools/node_modules/eslint/lib/rules/no-labels.js
@@ -30,10 +30,12 @@ module.exports = {
type: "object",
properties: {
allowLoop: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowSwitch: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -43,8 +45,8 @@ module.exports = {
create(context) {
const options = context.options[0];
- const allowLoop = Boolean(options && options.allowLoop);
- const allowSwitch = Boolean(options && options.allowSwitch);
+ const allowLoop = options && options.allowLoop;
+ const allowSwitch = options && options.allowSwitch;
let scopeInfo = null;
/**
diff --git a/tools/node_modules/eslint/lib/rules/no-magic-numbers.js b/tools/node_modules/eslint/lib/rules/no-magic-numbers.js
index 84c08dfb08..2c6ea61e28 100644
--- a/tools/node_modules/eslint/lib/rules/no-magic-numbers.js
+++ b/tools/node_modules/eslint/lib/rules/no-magic-numbers.js
@@ -24,10 +24,12 @@ module.exports = {
type: "object",
properties: {
detectObjects: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
enforceConst: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignore: {
type: "array",
@@ -37,7 +39,8 @@ module.exports = {
uniqueItems: true
},
ignoreArrayIndexes: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-mixed-operators.js b/tools/node_modules/eslint/lib/rules/no-mixed-operators.js
index 22ed65f5b1..2b603a86df 100644
--- a/tools/node_modules/eslint/lib/rules/no-mixed-operators.js
+++ b/tools/node_modules/eslint/lib/rules/no-mixed-operators.js
@@ -42,10 +42,10 @@ const TARGET_NODE_TYPE = /^(?:Binary|Logical)Expression$/;
* @param {Object|undefined} options - A options object to normalize.
* @returns {Object} Normalized option object.
*/
-function normalizeOptions(options) {
- const hasGroups = (options && options.groups && options.groups.length > 0);
+function normalizeOptions(options = {}) {
+ const hasGroups = options.groups && options.groups.length > 0;
const groups = hasGroups ? options.groups : DEFAULT_GROUPS;
- const allowSamePrecedence = (options && options.allowSamePrecedence) !== false;
+ const allowSamePrecedence = options.allowSamePrecedence !== false;
return {
groups,
@@ -95,7 +95,8 @@ module.exports = {
uniqueItems: true
},
allowSamePrecedence: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-mixed-requires.js b/tools/node_modules/eslint/lib/rules/no-mixed-requires.js
index 438ac668a8..5b07a5f293 100644
--- a/tools/node_modules/eslint/lib/rules/no-mixed-requires.js
+++ b/tools/node_modules/eslint/lib/rules/no-mixed-requires.js
@@ -30,10 +30,12 @@ module.exports = {
type: "object",
properties: {
grouping: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowCall: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-multi-spaces.js b/tools/node_modules/eslint/lib/rules/no-multi-spaces.js
index f1792c31ed..c5fb074034 100644
--- a/tools/node_modules/eslint/lib/rules/no-multi-spaces.js
+++ b/tools/node_modules/eslint/lib/rules/no-multi-spaces.js
@@ -38,7 +38,8 @@ module.exports = {
additionalProperties: false
},
ignoreEOLComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-param-reassign.js b/tools/node_modules/eslint/lib/rules/no-param-reassign.js
index 349345c148..83760edb8c 100644
--- a/tools/node_modules/eslint/lib/rules/no-param-reassign.js
+++ b/tools/node_modules/eslint/lib/rules/no-param-reassign.js
@@ -55,7 +55,7 @@ module.exports = {
},
create(context) {
- const props = context.options[0] && Boolean(context.options[0].props);
+ const props = context.options[0] && context.options[0].props;
const ignoredPropertyAssignmentsFor = context.options[0] && context.options[0].ignorePropertyModificationsFor || [];
/**
diff --git a/tools/node_modules/eslint/lib/rules/no-plusplus.js b/tools/node_modules/eslint/lib/rules/no-plusplus.js
index 4c854de1a0..1d122dcd31 100644
--- a/tools/node_modules/eslint/lib/rules/no-plusplus.js
+++ b/tools/node_modules/eslint/lib/rules/no-plusplus.js
@@ -26,7 +26,8 @@ module.exports = {
type: "object",
properties: {
allowForLoopAfterthoughts: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-redeclare.js b/tools/node_modules/eslint/lib/rules/no-redeclare.js
index e88436d7c5..4d689cc613 100644
--- a/tools/node_modules/eslint/lib/rules/no-redeclare.js
+++ b/tools/node_modules/eslint/lib/rules/no-redeclare.js
@@ -24,7 +24,7 @@ module.exports = {
{
type: "object",
properties: {
- builtinGlobals: { type: "boolean" }
+ builtinGlobals: { type: "boolean", default: false }
},
additionalProperties: false
}
@@ -33,7 +33,7 @@ module.exports = {
create(context) {
const options = {
- builtinGlobals: Boolean(context.options[0] && context.options[0].builtinGlobals)
+ builtinGlobals: context.options[0] && context.options[0].builtinGlobals
};
/**
diff --git a/tools/node_modules/eslint/lib/rules/no-self-assign.js b/tools/node_modules/eslint/lib/rules/no-self-assign.js
index d493855efe..8bc7afbe38 100644
--- a/tools/node_modules/eslint/lib/rules/no-self-assign.js
+++ b/tools/node_modules/eslint/lib/rules/no-self-assign.js
@@ -179,7 +179,8 @@ module.exports = {
type: "object",
properties: {
props: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js b/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js
index 9bdd508680..f09f3767da 100644
--- a/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js
+++ b/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js
@@ -4,6 +4,19 @@
*/
"use strict";
+/**
+ * Determines if a variable safely shadows undefined.
+ * This is the case when a variable named `undefined` is never assigned to a value (i.e. it always shares the same value
+ * as the global).
+ * @param {eslintScope.Variable} variable The variable to check
+ * @returns {boolean} true if this variable safely shadows `undefined`
+ */
+function safelyShadowsUndefined(variable) {
+ return variable.name === "undefined" &&
+ variable.references.every(ref => !ref.isWrite()) &&
+ variable.defs.every(def => def.node.type === "VariableDeclarator" && def.node.init === null);
+}
+
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
@@ -24,12 +37,13 @@ module.exports = {
create(context) {
- const RESTRICTED = ["undefined", "NaN", "Infinity", "arguments", "eval"];
+
+ const RESTRICTED = new Set(["undefined", "NaN", "Infinity", "arguments", "eval"]);
return {
"VariableDeclaration, :function, CatchClause"(node) {
for (const variable of context.getDeclaredVariables(node)) {
- if (variable.defs.length > 0 && RESTRICTED.includes(variable.name)) {
+ if (variable.defs.length > 0 && RESTRICTED.has(variable.name) && !safelyShadowsUndefined(variable)) {
context.report({
node: variable.defs[0].name,
message: "Shadowing of global property '{{idName}}'.",
diff --git a/tools/node_modules/eslint/lib/rules/no-shadow.js b/tools/node_modules/eslint/lib/rules/no-shadow.js
index f910230d6a..5f617e52a7 100644
--- a/tools/node_modules/eslint/lib/rules/no-shadow.js
+++ b/tools/node_modules/eslint/lib/rules/no-shadow.js
@@ -30,8 +30,8 @@ module.exports = {
{
type: "object",
properties: {
- builtinGlobals: { type: "boolean" },
- hoist: { enum: ["all", "functions", "never"] },
+ builtinGlobals: { type: "boolean", default: false },
+ hoist: { enum: ["all", "functions", "never"], default: "functions" },
allow: {
type: "array",
items: {
@@ -47,7 +47,7 @@ module.exports = {
create(context) {
const options = {
- builtinGlobals: Boolean(context.options[0] && context.options[0].builtinGlobals),
+ builtinGlobals: context.options[0] && context.options[0].builtinGlobals,
hoist: (context.options[0] && context.options[0].hoist) || "functions",
allow: (context.options[0] && context.options[0].allow) || []
};
diff --git a/tools/node_modules/eslint/lib/rules/no-sync.js b/tools/node_modules/eslint/lib/rules/no-sync.js
index a0096e3d04..578bac96d3 100644
--- a/tools/node_modules/eslint/lib/rules/no-sync.js
+++ b/tools/node_modules/eslint/lib/rules/no-sync.js
@@ -27,7 +27,8 @@ module.exports = {
type: "object",
properties: {
allowAtRootLevel: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-tabs.js b/tools/node_modules/eslint/lib/rules/no-tabs.js
index 0002f55929..91fb000796 100644
--- a/tools/node_modules/eslint/lib/rules/no-tabs.js
+++ b/tools/node_modules/eslint/lib/rules/no-tabs.js
@@ -30,7 +30,8 @@ module.exports = {
type: "object",
properties: {
allowIndentationTabs: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js b/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js
index 18f0340ef0..1f0b53aca2 100644
--- a/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js
+++ b/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js
@@ -32,10 +32,12 @@ module.exports = {
type: "object",
properties: {
skipBlankLines: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreComments: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -52,7 +54,7 @@ module.exports = {
const options = context.options[0] || {},
skipBlankLines = options.skipBlankLines || false,
- ignoreComments = typeof options.ignoreComments === "boolean" && options.ignoreComments;
+ ignoreComments = options.ignoreComments || false;
/**
* Report the error message
diff --git a/tools/node_modules/eslint/lib/rules/no-undef.js b/tools/node_modules/eslint/lib/rules/no-undef.js
index e6cd152761..6b5140819b 100644
--- a/tools/node_modules/eslint/lib/rules/no-undef.js
+++ b/tools/node_modules/eslint/lib/rules/no-undef.js
@@ -39,7 +39,8 @@ module.exports = {
type: "object",
properties: {
typeof: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js b/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js
index 926803b992..3f59815b57 100644
--- a/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js
+++ b/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js
@@ -31,13 +31,16 @@ module.exports = {
}
},
allowAfterThis: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowAfterSuper: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
enforceInMethodNames: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js b/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js
index 3a7dd5fad7..e75a36430f 100644
--- a/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js
+++ b/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js
@@ -38,7 +38,8 @@ module.exports = {
type: "object",
properties: {
defaultAssignment: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-unused-expressions.js b/tools/node_modules/eslint/lib/rules/no-unused-expressions.js
index 854298b411..25c21775b0 100644
--- a/tools/node_modules/eslint/lib/rules/no-unused-expressions.js
+++ b/tools/node_modules/eslint/lib/rules/no-unused-expressions.js
@@ -24,13 +24,16 @@ module.exports = {
type: "object",
properties: {
allowShortCircuit: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowTernary: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowTaggedTemplates: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/no-unused-vars.js b/tools/node_modules/eslint/lib/rules/no-unused-vars.js
index e76e325103..e56ba221bb 100644
--- a/tools/node_modules/eslint/lib/rules/no-unused-vars.js
+++ b/tools/node_modules/eslint/lib/rules/no-unused-vars.js
@@ -37,22 +37,26 @@ module.exports = {
type: "object",
properties: {
vars: {
- enum: ["all", "local"]
+ enum: ["all", "local"],
+ default: "all"
},
varsIgnorePattern: {
type: "string"
},
args: {
- enum: ["all", "after-used", "none"]
+ enum: ["all", "after-used", "none"],
+ default: "after-used"
},
ignoreRestSiblings: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
argsIgnorePattern: {
type: "string"
},
caughtErrors: {
- enum: ["all", "none"]
+ enum: ["all", "none"],
+ default: "none"
},
caughtErrorsIgnorePattern: {
type: "string"
diff --git a/tools/node_modules/eslint/lib/rules/no-use-before-define.js b/tools/node_modules/eslint/lib/rules/no-use-before-define.js
index 500cd3a410..e0b2d23a7e 100644
--- a/tools/node_modules/eslint/lib/rules/no-use-before-define.js
+++ b/tools/node_modules/eslint/lib/rules/no-use-before-define.js
@@ -154,9 +154,9 @@ module.exports = {
{
type: "object",
properties: {
- functions: { type: "boolean" },
- classes: { type: "boolean" },
- variables: { type: "boolean" }
+ functions: { type: "boolean", default: true },
+ classes: { type: "boolean", default: true },
+ variables: { type: "boolean", default: true }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/no-useless-rename.js b/tools/node_modules/eslint/lib/rules/no-useless-rename.js
index 337f875b45..c1860645ea 100644
--- a/tools/node_modules/eslint/lib/rules/no-useless-rename.js
+++ b/tools/node_modules/eslint/lib/rules/no-useless-rename.js
@@ -26,9 +26,9 @@ module.exports = {
{
type: "object",
properties: {
- ignoreDestructuring: { type: "boolean" },
- ignoreImport: { type: "boolean" },
- ignoreExport: { type: "boolean" }
+ ignoreDestructuring: { type: "boolean", default: false },
+ ignoreImport: { type: "boolean", default: false },
+ ignoreExport: { type: "boolean", default: false }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/object-curly-newline.js b/tools/node_modules/eslint/lib/rules/object-curly-newline.js
index d1a6bc20f6..d45620d53c 100644
--- a/tools/node_modules/eslint/lib/rules/object-curly-newline.js
+++ b/tools/node_modules/eslint/lib/rules/object-curly-newline.js
@@ -26,14 +26,16 @@ const OPTION_VALUE = {
type: "object",
properties: {
multiline: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
minProperties: {
type: "integer",
minimum: 0
},
consistent: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false,
@@ -59,9 +61,9 @@ function normalizeOptionValue(value) {
} else if (value === "never") {
minProperties = Number.POSITIVE_INFINITY;
} else {
- multiline = Boolean(value.multiline);
+ multiline = value.multiline;
minProperties = value.minProperties || Number.POSITIVE_INFINITY;
- consistent = Boolean(value.consistent);
+ consistent = value.consistent;
}
} else {
consistent = true;
diff --git a/tools/node_modules/eslint/lib/rules/object-property-newline.js b/tools/node_modules/eslint/lib/rules/object-property-newline.js
index 3e2c017157..bf777b5ff6 100644
--- a/tools/node_modules/eslint/lib/rules/object-property-newline.js
+++ b/tools/node_modules/eslint/lib/rules/object-property-newline.js
@@ -25,10 +25,12 @@ module.exports = {
type: "object",
properties: {
allowAllPropertiesOnSameLine: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowMultiplePropertiesPerLine: { // Deprecated
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -40,7 +42,7 @@ module.exports = {
create(context) {
const allowSameLine = context.options[0] && (
- (Boolean(context.options[0].allowAllPropertiesOnSameLine) || Boolean(context.options[0].allowMultiplePropertiesPerLine)) // Deprecated
+ (context.options[0].allowAllPropertiesOnSameLine || context.options[0].allowMultiplePropertiesPerLine /* Deprecated */)
);
const errorMessage = allowSameLine
? "Object properties must go on a new line if they aren't all on the same line."
diff --git a/tools/node_modules/eslint/lib/rules/object-shorthand.js b/tools/node_modules/eslint/lib/rules/object-shorthand.js
index 31010f0e73..98917fb6ee 100644
--- a/tools/node_modules/eslint/lib/rules/object-shorthand.js
+++ b/tools/node_modules/eslint/lib/rules/object-shorthand.js
@@ -57,7 +57,8 @@ module.exports = {
type: "object",
properties: {
avoidQuotes: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -76,13 +77,16 @@ module.exports = {
type: "object",
properties: {
ignoreConstructors: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
avoidQuotes: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
avoidExplicitReturnArrows: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/one-var.js b/tools/node_modules/eslint/lib/rules/one-var.js
index 0e9dff4165..5a5c71b187 100644
--- a/tools/node_modules/eslint/lib/rules/one-var.js
+++ b/tools/node_modules/eslint/lib/rules/one-var.js
@@ -32,16 +32,20 @@ module.exports = {
type: "object",
properties: {
separateRequires: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
var: {
- enum: ["always", "never", "consecutive"]
+ enum: ["always", "never", "consecutive"],
+ default: "always"
},
let: {
- enum: ["always", "never", "consecutive"]
+ enum: ["always", "never", "consecutive"],
+ default: "always"
},
const: {
- enum: ["always", "never", "consecutive"]
+ enum: ["always", "never", "consecutive"],
+ default: "always"
}
},
additionalProperties: false
@@ -76,42 +80,16 @@ module.exports = {
options.let = { uninitialized: mode, initialized: mode };
options.const = { uninitialized: mode, initialized: mode };
} else if (typeof mode === "object") { // options configuration is an object
- if (Object.prototype.hasOwnProperty.call(mode, "separateRequires")) {
- options.separateRequires = !!mode.separateRequires;
- }
- if (Object.prototype.hasOwnProperty.call(mode, "var")) {
- options.var = { uninitialized: mode.var, initialized: mode.var };
- }
- if (Object.prototype.hasOwnProperty.call(mode, "let")) {
- options.let = { uninitialized: mode.let, initialized: mode.let };
- }
- if (Object.prototype.hasOwnProperty.call(mode, "const")) {
- options.const = { uninitialized: mode.const, initialized: mode.const };
- }
+ options.separateRequires = mode.separateRequires;
+ options.var = { uninitialized: mode.var, initialized: mode.var };
+ options.let = { uninitialized: mode.let, initialized: mode.let };
+ options.const = { uninitialized: mode.const, initialized: mode.const };
if (Object.prototype.hasOwnProperty.call(mode, "uninitialized")) {
- if (!options.var) {
- options.var = {};
- }
- if (!options.let) {
- options.let = {};
- }
- if (!options.const) {
- options.const = {};
- }
options.var.uninitialized = mode.uninitialized;
options.let.uninitialized = mode.uninitialized;
options.const.uninitialized = mode.uninitialized;
}
if (Object.prototype.hasOwnProperty.call(mode, "initialized")) {
- if (!options.var) {
- options.var = {};
- }
- if (!options.let) {
- options.let = {};
- }
- if (!options.const) {
- options.const = {};
- }
options.var.initialized = mode.initialized;
options.let.initialized = mode.initialized;
options.const.initialized = mode.initialized;
@@ -257,7 +235,9 @@ module.exports = {
if (currentOptions.uninitialized === MODE_ALWAYS && currentOptions.initialized === MODE_ALWAYS) {
if (currentScope.uninitialized || currentScope.initialized) {
- return false;
+ if (!hasRequires) {
+ return false;
+ }
}
}
@@ -268,7 +248,9 @@ module.exports = {
}
if (declarationCounts.initialized > 0) {
if (currentOptions.initialized === MODE_ALWAYS && currentScope.initialized) {
- return false;
+ if (!hasRequires) {
+ return false;
+ }
}
}
if (currentScope.required && hasRequires) {
@@ -340,7 +322,11 @@ module.exports = {
* y`
* ^ afterComma
*/
- if (afterComma.loc.start.line > tokenAfterDeclarator.loc.end.line || afterComma.type === "Line" || afterComma.type === "Block") {
+ if (
+ afterComma.loc.start.line > tokenAfterDeclarator.loc.end.line ||
+ afterComma.type === "Line" ||
+ afterComma.type === "Block"
+ ) {
let lastComment = afterComma;
while (lastComment.type === "Line" || lastComment.type === "Block") {
@@ -349,7 +335,7 @@ module.exports = {
return fixer.replaceTextRange(
[tokenAfterDeclarator.range[0], lastComment.range[0]],
- `;\n${sourceCode.text.slice(tokenAfterDeclarator.range[1], lastComment.range[0])}\n${declaration.kind} `
+ `;${sourceCode.text.slice(tokenAfterDeclarator.range[1], lastComment.range[0])}${declaration.kind} `
);
}
diff --git a/tools/node_modules/eslint/lib/rules/padded-blocks.js b/tools/node_modules/eslint/lib/rules/padded-blocks.js
index 7c0b56ba7f..e4dd37f4cd 100644
--- a/tools/node_modules/eslint/lib/rules/padded-blocks.js
+++ b/tools/node_modules/eslint/lib/rules/padded-blocks.js
@@ -6,6 +6,12 @@
"use strict";
//------------------------------------------------------------------------------
+// Requirements
+//------------------------------------------------------------------------------
+
+const astUtils = require("../util/ast-utils");
+
+//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
@@ -45,32 +51,45 @@ module.exports = {
minProperties: 1
}
]
+ },
+ {
+ type: "object",
+ properties: {
+ allowSingleLineBlocks: {
+ type: "boolean"
+ }
+ }
}
]
},
create(context) {
const options = {};
- const config = context.options[0] || "always";
+ const typeOptions = context.options[0] || "always";
+ const exceptOptions = context.options[1] || {};
- if (typeof config === "string") {
- const shouldHavePadding = config === "always";
+ if (typeof typeOptions === "string") {
+ const shouldHavePadding = typeOptions === "always";
options.blocks = shouldHavePadding;
options.switches = shouldHavePadding;
options.classes = shouldHavePadding;
} else {
- if (Object.prototype.hasOwnProperty.call(config, "blocks")) {
- options.blocks = config.blocks === "always";
+ if (Object.prototype.hasOwnProperty.call(typeOptions, "blocks")) {
+ options.blocks = typeOptions.blocks === "always";
}
- if (Object.prototype.hasOwnProperty.call(config, "switches")) {
- options.switches = config.switches === "always";
+ if (Object.prototype.hasOwnProperty.call(typeOptions, "switches")) {
+ options.switches = typeOptions.switches === "always";
}
- if (Object.prototype.hasOwnProperty.call(config, "classes")) {
- options.classes = config.classes === "always";
+ if (Object.prototype.hasOwnProperty.call(typeOptions, "classes")) {
+ options.classes = typeOptions.classes === "always";
}
}
+ if (Object.prototype.hasOwnProperty.call(exceptOptions, "allowSingleLineBlocks")) {
+ options.allowSingleLineBlocks = exceptOptions.allowSingleLineBlocks === true;
+ }
+
const ALWAYS_MESSAGE = "Block must be padded by blank lines.",
NEVER_MESSAGE = "Block must not be padded by blank lines.";
@@ -177,6 +196,10 @@ module.exports = {
blockHasTopPadding = isPaddingBetweenTokens(tokenBeforeFirst, firstBlockToken),
blockHasBottomPadding = isPaddingBetweenTokens(lastBlockToken, tokenAfterLast);
+ if (options.allowSingleLineBlocks && astUtils.isTokenOnSameLine(tokenBeforeFirst, tokenAfterLast)) {
+ return;
+ }
+
if (requirePaddingFor(node)) {
if (!blockHasTopPadding) {
context.report({
diff --git a/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js b/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js
index b4bbf33f29..a0957399ea 100644
--- a/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js
+++ b/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js
@@ -146,10 +146,12 @@ module.exports = {
type: "object",
properties: {
allowNamedFunctions: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowUnboundThis: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/prefer-const.js b/tools/node_modules/eslint/lib/rules/prefer-const.js
index 5f75376c95..023f69cbd3 100644
--- a/tools/node_modules/eslint/lib/rules/prefer-const.js
+++ b/tools/node_modules/eslint/lib/rules/prefer-const.js
@@ -345,8 +345,8 @@ module.exports = {
{
type: "object",
properties: {
- destructuring: { enum: ["any", "all"] },
- ignoreReadBeforeAssign: { type: "boolean" }
+ destructuring: { enum: ["any", "all"], default: "any" },
+ ignoreReadBeforeAssign: { type: "boolean", default: false }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/prefer-destructuring.js b/tools/node_modules/eslint/lib/rules/prefer-destructuring.js
index 119fae5608..c30c9170cd 100644
--- a/tools/node_modules/eslint/lib/rules/prefer-destructuring.js
+++ b/tools/node_modules/eslint/lib/rules/prefer-destructuring.js
@@ -19,6 +19,8 @@ module.exports = {
url: "https://eslint.org/docs/rules/prefer-destructuring"
},
+ fixable: "code",
+
schema: [
{
@@ -34,10 +36,12 @@ module.exports = {
type: "object",
properties: {
array: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
object: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -46,10 +50,12 @@ module.exports = {
type: "object",
properties: {
array: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
object: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -61,10 +67,12 @@ module.exports = {
type: "object",
properties: {
array: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
object: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -75,7 +83,8 @@ module.exports = {
type: "object",
properties: {
enforceForRenamedProperties: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -130,10 +139,55 @@ module.exports = {
*
* @param {ASTNode} reportNode the node to report
* @param {string} type the type of destructuring that should have been done
+ * @param {Function|null} fix the fix function or null to pass to context.report
* @returns {void}
*/
- function report(reportNode, type) {
- context.report({ node: reportNode, message: "Use {{type}} destructuring.", data: { type } });
+ function report(reportNode, type, fix) {
+ context.report({
+ node: reportNode,
+ message: "Use {{type}} destructuring.",
+ data: { type },
+ fix
+ });
+ }
+
+ /**
+ * Determines if a node should be fixed into object destructuring
+ *
+ * The fixer only fixes the simplest case of object destructuring,
+ * like: `let x = a.x`;
+ *
+ * Assignment expression is not fixed.
+ * Array destructuring is not fixed.
+ * Renamed property is not fixed.
+ *
+ * @param {ASTNode} node the the node to evaluate
+ * @returns {boolean} whether or not the node should be fixed
+ */
+ function shouldFix(node) {
+ return node.type === "VariableDeclarator" &&
+ node.id.type === "Identifier" &&
+ node.init.type === "MemberExpression" &&
+ node.id.name === node.init.property.name;
+ }
+
+ /**
+ * Fix a node into object destructuring.
+ * This function only handles the simplest case of object destructuring,
+ * see {@link shouldFix}.
+ *
+ * @param {SourceCodeFixer} fixer the fixer object
+ * @param {ASTNode} node the node to be fixed.
+ * @returns {Object} a fix for the node
+ */
+ function fixIntoObjectDestructuring(fixer, node) {
+ const rightNode = node.init;
+ const sourceCode = context.getSourceCode();
+
+ return fixer.replaceText(
+ node,
+ `{${rightNode.property.name}} = ${sourceCode.getText(rightNode.object)}`
+ );
}
/**
@@ -155,13 +209,17 @@ module.exports = {
if (isArrayIndexAccess(rightNode)) {
if (shouldCheck(reportNode.type, "array")) {
- report(reportNode, "array");
+ report(reportNode, "array", null);
}
return;
}
+ const fix = shouldFix(reportNode)
+ ? fixer => fixIntoObjectDestructuring(fixer, reportNode)
+ : null;
+
if (shouldCheck(reportNode.type, "object") && enforceForRenamedProperties) {
- report(reportNode, "object");
+ report(reportNode, "object", fix);
return;
}
@@ -172,7 +230,7 @@ module.exports = {
(property.type === "Literal" && leftNode.name === property.value) ||
(property.type === "Identifier" && leftNode.name === property.name && !rightNode.computed)
) {
- report(reportNode, "object");
+ report(reportNode, "object", fix);
}
}
}
diff --git a/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js b/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js
index 0db5ae874c..275e705f6d 100644
--- a/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js
+++ b/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js
@@ -27,7 +27,7 @@ module.exports = {
{
type: "object",
properties: {
- allowEmptyReject: { type: "boolean" }
+ allowEmptyReject: { type: "boolean", default: false }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/prefer-spread.js b/tools/node_modules/eslint/lib/rules/prefer-spread.js
index 790fd3b82a..5f3a477329 100644
--- a/tools/node_modules/eslint/lib/rules/prefer-spread.js
+++ b/tools/node_modules/eslint/lib/rules/prefer-spread.js
@@ -59,7 +59,7 @@ module.exports = {
},
schema: [],
- fixable: "code"
+ fixable: null
},
create(context) {
@@ -78,18 +78,7 @@ module.exports = {
if (isValidThisArg(expectedThis, thisArg, sourceCode)) {
context.report({
node,
- message: "Use the spread operator instead of '.apply()'.",
- fix(fixer) {
- if (expectedThis && expectedThis.type !== "Identifier") {
-
- // Don't fix cases where the `this` value could be a computed expression.
- return null;
- }
-
- const propertyDot = sourceCode.getFirstTokenBetween(applied, node.callee.property, token => token.value === ".");
-
- return fixer.replaceTextRange([propertyDot.range[0], node.range[1]], `(...${sourceCode.getText(node.arguments[1])})`);
- }
+ message: "Use the spread operator instead of '.apply()'."
});
}
}
diff --git a/tools/node_modules/eslint/lib/rules/quote-props.js b/tools/node_modules/eslint/lib/rules/quote-props.js
index 7184bd34d3..f4582dd1f4 100644
--- a/tools/node_modules/eslint/lib/rules/quote-props.js
+++ b/tools/node_modules/eslint/lib/rules/quote-props.js
@@ -32,7 +32,8 @@ module.exports = {
type: "array",
items: [
{
- enum: ["always", "as-needed", "consistent", "consistent-as-needed"]
+ enum: ["always", "as-needed", "consistent", "consistent-as-needed"],
+ default: "always"
}
],
minItems: 0,
@@ -42,19 +43,23 @@ module.exports = {
type: "array",
items: [
{
- enum: ["always", "as-needed", "consistent", "consistent-as-needed"]
+ enum: ["always", "as-needed", "consistent", "consistent-as-needed"],
+ default: "always"
},
{
type: "object",
properties: {
keywords: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
unnecessary: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
numbers: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/quotes.js b/tools/node_modules/eslint/lib/rules/quotes.js
index c3c0778224..e0797f9e8b 100644
--- a/tools/node_modules/eslint/lib/rules/quotes.js
+++ b/tools/node_modules/eslint/lib/rules/quotes.js
@@ -100,10 +100,12 @@ module.exports = {
type: "object",
properties: {
avoidEscape: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
allowTemplateLiterals: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/require-jsdoc.js b/tools/node_modules/eslint/lib/rules/require-jsdoc.js
index 389bfb692b..416a22ce6c 100644
--- a/tools/node_modules/eslint/lib/rules/require-jsdoc.js
+++ b/tools/node_modules/eslint/lib/rules/require-jsdoc.js
@@ -23,22 +23,28 @@ module.exports = {
type: "object",
properties: {
ClassDeclaration: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
MethodDefinition: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
FunctionDeclaration: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
ArrowFunctionExpression: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
FunctionExpression: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
- additionalProperties: false
+ additionalProperties: false,
+ default: {}
}
},
additionalProperties: false
@@ -58,7 +64,7 @@ module.exports = {
ArrowFunctionExpression: false,
FunctionExpression: false
};
- const options = Object.assign(DEFAULT_OPTIONS, context.options[0] && context.options[0].require || {});
+ const options = Object.assign(DEFAULT_OPTIONS, context.options[0] && context.options[0].require);
/**
* Report the error message
diff --git a/tools/node_modules/eslint/lib/rules/semi-spacing.js b/tools/node_modules/eslint/lib/rules/semi-spacing.js
index 56ae687d85..3a6d8a052a 100644
--- a/tools/node_modules/eslint/lib/rules/semi-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/semi-spacing.js
@@ -29,10 +29,12 @@ module.exports = {
type: "object",
properties: {
before: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
after: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
@@ -48,12 +50,8 @@ module.exports = {
requireSpaceAfter = true;
if (typeof config === "object") {
- if (Object.prototype.hasOwnProperty.call(config, "before")) {
- requireSpaceBefore = config.before;
- }
- if (Object.prototype.hasOwnProperty.call(config, "after")) {
- requireSpaceAfter = config.after;
- }
+ requireSpaceBefore = config.before;
+ requireSpaceAfter = config.after;
}
/**
diff --git a/tools/node_modules/eslint/lib/rules/semi.js b/tools/node_modules/eslint/lib/rules/semi.js
index e8f4c959d4..f7bc0f5fd6 100644
--- a/tools/node_modules/eslint/lib/rules/semi.js
+++ b/tools/node_modules/eslint/lib/rules/semi.js
@@ -40,7 +40,8 @@ module.exports = {
type: "object",
properties: {
beforeStatementContinuationChars: {
- enum: ["always", "any", "never"]
+ enum: ["always", "any", "never"],
+ default: "any"
}
},
additionalProperties: false
@@ -58,7 +59,7 @@ module.exports = {
{
type: "object",
properties: {
- omitLastInOneLineBlock: { type: "boolean" }
+ omitLastInOneLineBlock: { type: "boolean", default: false }
},
additionalProperties: false
}
@@ -75,8 +76,8 @@ module.exports = {
const OPT_OUT_PATTERN = /^[-[(/+`]/; // One of [(/+-`
const options = context.options[1];
const never = context.options[0] === "never";
- const exceptOneLine = Boolean(options && options.omitLastInOneLineBlock);
- const beforeStatementContinuationChars = (options && options.beforeStatementContinuationChars) || "any";
+ const exceptOneLine = options && options.omitLastInOneLineBlock;
+ const beforeStatementContinuationChars = options && options.beforeStatementContinuationChars;
const sourceCode = context.getSourceCode();
//--------------------------------------------------------------------------
diff --git a/tools/node_modules/eslint/lib/rules/sort-imports.js b/tools/node_modules/eslint/lib/rules/sort-imports.js
index 1c0d134046..05e643ca06 100644
--- a/tools/node_modules/eslint/lib/rules/sort-imports.js
+++ b/tools/node_modules/eslint/lib/rules/sort-imports.js
@@ -25,7 +25,8 @@ module.exports = {
type: "object",
properties: {
ignoreCase: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
memberSyntaxSortOrder: {
type: "array",
@@ -37,10 +38,12 @@ module.exports = {
maxItems: 4
},
ignoreDeclarationSort: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
ignoreMemberSort: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/sort-keys.js b/tools/node_modules/eslint/lib/rules/sort-keys.js
index 0668e617d3..08bfcdf3d8 100644
--- a/tools/node_modules/eslint/lib/rules/sort-keys.js
+++ b/tools/node_modules/eslint/lib/rules/sort-keys.js
@@ -90,10 +90,12 @@ module.exports = {
type: "object",
properties: {
caseSensitive: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
natural: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -106,8 +108,8 @@ module.exports = {
// Parse options.
const order = context.options[0] || "asc";
const options = context.options[1];
- const insensitive = (options && options.caseSensitive) === false;
- const natual = Boolean(options && options.natural);
+ const insensitive = options && options.caseSensitive === false;
+ const natual = options && options.natural;
const isValidOrder = isValidOrders[
order + (insensitive ? "I" : "") + (natual ? "N" : "")
];
@@ -127,8 +129,12 @@ module.exports = {
stack = stack.upper;
},
+ SpreadElement() {
+ stack.prevName = null;
+ },
+
Property(node) {
- if (node.parent.type === "ObjectPattern" || node.parent.properties.some(n => n.type === "SpreadElement")) {
+ if (node.parent.type === "ObjectPattern") {
return;
}
diff --git a/tools/node_modules/eslint/lib/rules/sort-vars.js b/tools/node_modules/eslint/lib/rules/sort-vars.js
index b6a2c86779..e85c6534e3 100644
--- a/tools/node_modules/eslint/lib/rules/sort-vars.js
+++ b/tools/node_modules/eslint/lib/rules/sort-vars.js
@@ -25,7 +25,8 @@ module.exports = {
type: "object",
properties: {
ignoreCase: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/space-before-function-paren.js b/tools/node_modules/eslint/lib/rules/space-before-function-paren.js
index 64ba72bf9e..c0d8e509fd 100644
--- a/tools/node_modules/eslint/lib/rules/space-before-function-paren.js
+++ b/tools/node_modules/eslint/lib/rules/space-before-function-paren.js
@@ -37,13 +37,16 @@ module.exports = {
type: "object",
properties: {
anonymous: {
- enum: ["always", "never", "ignore"]
+ enum: ["always", "never", "ignore"],
+ default: "always"
},
named: {
- enum: ["always", "never", "ignore"]
+ enum: ["always", "never", "ignore"],
+ default: "always"
},
asyncArrow: {
- enum: ["always", "never", "ignore"]
+ enum: ["always", "never", "ignore"],
+ default: "always"
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/space-infix-ops.js b/tools/node_modules/eslint/lib/rules/space-infix-ops.js
index 254616d998..8d1d172c66 100644
--- a/tools/node_modules/eslint/lib/rules/space-infix-ops.js
+++ b/tools/node_modules/eslint/lib/rules/space-infix-ops.js
@@ -26,7 +26,8 @@ module.exports = {
type: "object",
properties: {
int32Hint: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/space-unary-ops.js b/tools/node_modules/eslint/lib/rules/space-unary-ops.js
index 046be22bec..779697b5b3 100644
--- a/tools/node_modules/eslint/lib/rules/space-unary-ops.js
+++ b/tools/node_modules/eslint/lib/rules/space-unary-ops.js
@@ -32,10 +32,12 @@ module.exports = {
type: "object",
properties: {
words: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
nonwords: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
overrides: {
type: "object",
@@ -58,7 +60,7 @@ module.exports = {
},
create(context) {
- const options = context.options && Array.isArray(context.options) && context.options[0] || { words: true, nonwords: false };
+ const options = context.options[0] || { words: true, nonwords: false };
const sourceCode = context.getSourceCode();
diff --git a/tools/node_modules/eslint/lib/rules/spaced-comment.js b/tools/node_modules/eslint/lib/rules/spaced-comment.js
index d4c86d27cf..63177eb1c7 100644
--- a/tools/node_modules/eslint/lib/rules/spaced-comment.js
+++ b/tools/node_modules/eslint/lib/rules/spaced-comment.js
@@ -215,7 +215,8 @@ module.exports = {
}
},
balanced: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js b/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js
index 9c7c0d589e..40154862d1 100644
--- a/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js
@@ -30,8 +30,8 @@ module.exports = {
{
type: "object",
properties: {
- before: { type: "boolean" },
- after: { type: "boolean" }
+ before: { type: "boolean", default: false },
+ after: { type: "boolean", default: true }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
index 515ba78b1d..46eb02211a 100644
--- a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
+++ b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
@@ -42,22 +42,27 @@ module.exports = {
}
},
requireReturn: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
requireParamDescription: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
requireReturnDescription: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
matchDescription: {
type: "string"
},
requireReturnType: {
- type: "boolean"
+ type: "boolean",
+ default: true
},
requireParamType: {
- type: "boolean"
+ type: "boolean",
+ default: true
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/valid-typeof.js b/tools/node_modules/eslint/lib/rules/valid-typeof.js
index 7fa2b89bd0..16b2a47d37 100644
--- a/tools/node_modules/eslint/lib/rules/valid-typeof.js
+++ b/tools/node_modules/eslint/lib/rules/valid-typeof.js
@@ -24,7 +24,8 @@ module.exports = {
type: "object",
properties: {
requireStringLiterals: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
diff --git a/tools/node_modules/eslint/lib/rules/wrap-iife.js b/tools/node_modules/eslint/lib/rules/wrap-iife.js
index 628ebf532e..0e54157f10 100644
--- a/tools/node_modules/eslint/lib/rules/wrap-iife.js
+++ b/tools/node_modules/eslint/lib/rules/wrap-iife.js
@@ -34,7 +34,8 @@ module.exports = {
type: "object",
properties: {
functionPrototypeMethods: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false
@@ -52,7 +53,7 @@ module.exports = {
create(context) {
const style = context.options[0] || "outside";
- const includeFunctionPrototypeMethods = (context.options[1] && context.options[1].functionPrototypeMethods) || false;
+ const includeFunctionPrototypeMethods = context.options[1] && context.options[1].functionPrototypeMethods;
const sourceCode = context.getSourceCode();
diff --git a/tools/node_modules/eslint/lib/rules/yield-star-spacing.js b/tools/node_modules/eslint/lib/rules/yield-star-spacing.js
index 20b8e9ea91..17124dd6ec 100644
--- a/tools/node_modules/eslint/lib/rules/yield-star-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/yield-star-spacing.js
@@ -31,8 +31,8 @@ module.exports = {
{
type: "object",
properties: {
- before: { type: "boolean" },
- after: { type: "boolean" }
+ before: { type: "boolean", default: false },
+ after: { type: "boolean", default: true }
},
additionalProperties: false
}
diff --git a/tools/node_modules/eslint/lib/rules/yoda.js b/tools/node_modules/eslint/lib/rules/yoda.js
index 83c435a4f7..825634a79f 100644
--- a/tools/node_modules/eslint/lib/rules/yoda.js
+++ b/tools/node_modules/eslint/lib/rules/yoda.js
@@ -169,10 +169,12 @@ module.exports = {
type: "object",
properties: {
exceptRange: {
- type: "boolean"
+ type: "boolean",
+ default: false
},
onlyEquality: {
- type: "boolean"
+ type: "boolean",
+ default: false
}
},
additionalProperties: false