diff --git a/Makefile.js b/Makefile.js
index e468d0a16bc..eb2c586a731 100644
--- a/Makefile.js
+++ b/Makefile.js
@@ -350,7 +350,7 @@ function publishRelease() {
/**
* Splits a command result to separate lines.
* @param {string} result The command result string.
- * @returns {array} The separated lines.
+ * @returns {Array} The separated lines.
*/
function splitCommandResultToLines(result) {
return result.trim().split("\n");
@@ -416,7 +416,7 @@ function getFirstVersionOfDeletion(filePath) {
/**
* Lints Markdown files.
- * @param {array} files Array of file names to lint.
+ * @param {Array} files Array of file names to lint.
* @returns {Object} exec-style exit code object.
* @private
*/
diff --git a/lib/config/autoconfig.js b/lib/config/autoconfig.js
index 8536fdc55ad..f2c707be843 100644
--- a/lib/config/autoconfig.js
+++ b/lib/config/autoconfig.js
@@ -102,7 +102,6 @@ class Registry {
*
* The length of the returned array will be <= MAX_CONFIG_COMBINATIONS.
*
- * @param {Object} registry The autoconfig registry
* @returns {Object[]} "rules" configurations to use for linting
*/
buildRuleSets() {
diff --git a/lib/config/config-rule.js b/lib/config/config-rule.js
index 27d29446dbb..e4221406df1 100644
--- a/lib/config/config-rule.js
+++ b/lib/config/config-rule.js
@@ -37,9 +37,9 @@ function explodeArray(xs) {
* For example:
* combineArrays([a, [b, c]], [x, y]); // -> [[a, x], [a, y], [b, c, x], [b, c, y]]
*
- * @param {array} arr1 The first array to combine.
- * @param {array} arr2 The second array to combine.
- * @returns {array} A mixture of the elements of the first and second arrays.
+ * @param {Array} arr1 The first array to combine.
+ * @param {Array} arr2 The second array to combine.
+ * @returns {Array} A mixture of the elements of the first and second arrays.
*/
function combineArrays(arr1, arr2) {
const res = [];
@@ -268,7 +268,7 @@ class RuleConfigSet {
/**
* Generate valid rule configurations based on a schema object
* @param {Object} schema A rule's schema object
- * @returns {array[]} Valid rule configurations
+ * @returns {Array[]} Valid rule configurations
*/
function generateConfigsFromSchema(schema) {
const configSet = new RuleConfigSet();
diff --git a/lib/config/config-validator.js b/lib/config/config-validator.js
index 6b151f46a49..0c63b68f76c 100644
--- a/lib/config/config-validator.js
+++ b/lib/config/config-validator.js
@@ -83,7 +83,7 @@ function validateRuleSeverity(options) {
/**
* Validates the non-severity options passed to a rule, based on its schema.
* @param {{create: Function}} rule The rule to validate
- * @param {array} localOptions The options for the rule, excluding severity
+ * @param {Array} localOptions The options for the rule, excluding severity
* @returns {void}
*/
function validateRuleSchema(rule, localOptions) {
@@ -111,7 +111,7 @@ function validateRuleSchema(rule, localOptions) {
* Validates a rule's options against its schema.
* @param {{create: Function}|null} rule The rule that the config is being validated for
* @param {string} ruleId The rule's unique name.
- * @param {array|number} options The given options for the rule.
+ * @param {Array|number} options The given options for the rule.
* @param {string|null} source The name of the configuration source to report in any errors. If null or undefined,
* no source is prepended to the message.
* @returns {void}
diff --git a/lib/linter.js b/lib/linter.js
index f37842d7682..d6d635f9f47 100644
--- a/lib/linter.js
+++ b/lib/linter.js
@@ -922,8 +922,6 @@ module.exports = class Linter {
* @param {(string|Object)} [filenameOrOptions] The optional filename of the file being checked.
* If this is not set, the filename will default to '' in the rule context. If
* an object, then it has "filename", "saveState", and "allowInlineConfig" properties.
- * @param {boolean} [saveState] Indicates if the state from the last run should be saved.
- * Mostly useful for testing purposes.
* @param {boolean} [filenameOrOptions.allowInlineConfig] Allow/disallow inline comments' ability to change config once it is set. Defaults to true if not supplied.
* Useful if you want to validate JS without comments overriding rules.
* @param {function(string): string[]} [filenameOrOptions.preprocess] preprocessor for source text. If provided,
diff --git a/lib/rules/array-element-newline.js b/lib/rules/array-element-newline.js
index 440290917d3..dadb26fdd22 100644
--- a/lib/rules/array-element-newline.js
+++ b/lib/rules/array-element-newline.js
@@ -173,7 +173,6 @@ module.exports = {
* Reports a given node if it violated this rule.
*
* @param {ASTNode} node - A node to check. This is an ObjectExpression node or an ObjectPattern node.
- * @param {{multiline: boolean, minItems: number}} options - An option object.
* @returns {void}
*/
function check(node) {
diff --git a/lib/rules/eqeqeq.js b/lib/rules/eqeqeq.js
index 715c5ce7c02..3e8a392cf69 100644
--- a/lib/rules/eqeqeq.js
+++ b/lib/rules/eqeqeq.js
@@ -119,7 +119,6 @@ module.exports = {
/**
* Gets the location (line and column) of the binary expression's operator
* @param {ASTNode} node The binary expression node to check
- * @param {string} operator The operator to find
* @returns {Object} { line, column } location of operator
* @private
*/
diff --git a/lib/rules/handle-callback-err.js b/lib/rules/handle-callback-err.js
index c62016d5895..5845aff4bc6 100644
--- a/lib/rules/handle-callback-err.js
+++ b/lib/rules/handle-callback-err.js
@@ -59,7 +59,7 @@ module.exports = {
/**
* Get the parameters of a given function scope.
* @param {Object} scope The function scope.
- * @returns {array} All parameters of the given scope.
+ * @returns {Array} All parameters of the given scope.
*/
function getParameters(scope) {
return scope.variables.filter(variable => variable.defs[0] && variable.defs[0].type === "Parameter");
diff --git a/lib/rules/implicit-arrow-linebreak.js b/lib/rules/implicit-arrow-linebreak.js
index cd729f8ad93..a883b226471 100644
--- a/lib/rules/implicit-arrow-linebreak.js
+++ b/lib/rules/implicit-arrow-linebreak.js
@@ -44,7 +44,6 @@ module.exports = {
/**
* Validates the location of an arrow function body
* @param {ASTNode} node The arrow function body
- * @param {string} keywordName The applicable keyword name for the arrow function body
* @returns {void}
*/
function validateExpression(node) {
diff --git a/lib/rules/indent-legacy.js b/lib/rules/indent-legacy.js
index 16687b521ed..cfb807e34e0 100644
--- a/lib/rules/indent-legacy.js
+++ b/lib/rules/indent-legacy.js
@@ -300,7 +300,6 @@ module.exports = {
* @param {int} gottenTabs Indentation tab count in the actual node/code
* @param {Object=} loc Error line and column location
* @param {boolean} isLastNodeCheck Is the error for last node check
- * @param {int} lastNodeCheckEndOffset Number of charecters to skip from the end
* @returns {void}
*/
function report(node, needed, gottenSpaces, gottenTabs, loc, isLastNodeCheck) {
@@ -365,7 +364,6 @@ module.exports = {
* Check indent for node
* @param {ASTNode} node Node to check
* @param {int} neededIndent needed indent
- * @param {boolean} [excludeCommas=false] skip comma on start of line
* @returns {void}
*/
function checkNodeIndent(node, neededIndent) {
@@ -413,7 +411,6 @@ module.exports = {
* Check indent for nodes list
* @param {ASTNode[]} nodes list of node objects
* @param {int} indent needed indent
- * @param {boolean} [excludeCommas=false] skip comma on start of line
* @returns {void}
*/
function checkNodesIndent(nodes, indent) {
diff --git a/lib/rules/newline-before-return.js b/lib/rules/newline-before-return.js
index 2743bf7a8be..6a0ec8d5eb7 100644
--- a/lib/rules/newline-before-return.js
+++ b/lib/rules/newline-before-return.js
@@ -36,7 +36,7 @@ module.exports = {
/**
* Tests whether node is preceded by supplied tokens
* @param {ASTNode} node - node to check
- * @param {array} testTokens - array of tokens to test against
+ * @param {Array} testTokens - array of tokens to test against
* @returns {boolean} Whether or not the node is preceded by one of the supplied tokens
* @private
*/
diff --git a/lib/rules/no-constant-condition.js b/lib/rules/no-constant-condition.js
index 88984c36e7f..8d7934d8a59 100644
--- a/lib/rules/no-constant-condition.js
+++ b/lib/rules/no-constant-condition.js
@@ -173,7 +173,6 @@ module.exports = {
/**
* Reports when the set still contains stored constant conditions
- * @param {ASTNode} node The AST node to check.
* @returns {void}
* @private
*/
diff --git a/lib/rules/no-else-return.js b/lib/rules/no-else-return.js
index eebdec76e0e..5ba02de2913 100644
--- a/lib/rules/no-else-return.js
+++ b/lib/rules/no-else-return.js
@@ -183,7 +183,6 @@ module.exports = {
* code paths.
*
* @param {Node} node The consequent or body node
- * @param {Node} alternate The alternate node
* @returns {boolean} `true` if it is a Return/If node that always returns.
*/
function checkForReturnOrIf(node) {
diff --git a/lib/rules/no-implied-eval.js b/lib/rules/no-implied-eval.js
index d31b5dfee80..afa24ab8efd 100644
--- a/lib/rules/no-implied-eval.js
+++ b/lib/rules/no-implied-eval.js
@@ -38,7 +38,7 @@ module.exports = {
/**
* Get the last element of an array, without modifying arr, like pop(), but non-destructive.
- * @param {array} arr What to inspect
+ * @param {Array} arr What to inspect
* @returns {*} The last element of arr
* @private
*/
diff --git a/lib/rules/no-restricted-imports.js b/lib/rules/no-restricted-imports.js
index b8fcca1aaf8..b8917ee9c56 100644
--- a/lib/rules/no-restricted-imports.js
+++ b/lib/rules/no-restricted-imports.js
@@ -195,7 +195,7 @@ module.exports = {
/**
* Check if the given importNames are restricted given a list of restrictedImportNames.
* @param {Set.} importNames - Set of import names that are being imported
- * @param {[string]} restrictedImportNames - array of import names that are restricted for this import
+ * @param {string[]} restrictedImportNames - array of import names that are restricted for this import
* @returns {boolean} whether the objectName is restricted
* @private
*/
diff --git a/lib/rules/no-this-before-super.js b/lib/rules/no-this-before-super.js
index 93fb094e9bc..bca379bf971 100644
--- a/lib/rules/no-this-before-super.js
+++ b/lib/rules/no-this-before-super.js
@@ -171,7 +171,6 @@ module.exports = {
* invalid node.
*
* @param {CodePath} codePath - A code path which was ended.
- * @param {ASTNode} node - The current node.
* @returns {void}
*/
onCodePathEnd(codePath) {
diff --git a/lib/rules/object-curly-newline.js b/lib/rules/object-curly-newline.js
index c460ea56bc3..d1a6bc20f63 100644
--- a/lib/rules/object-curly-newline.js
+++ b/lib/rules/object-curly-newline.js
@@ -172,7 +172,6 @@ module.exports = {
/**
* Reports a given node if it violated this rule.
* @param {ASTNode} node - A node to check. This is an ObjectExpression, ObjectPattern, ImportDeclaration or ExportNamedDeclaration node.
- * @param {{multiline: boolean, minProperties: number, consistent: boolean}} options - An option object.
* @returns {void}
*/
function check(node) {
diff --git a/lib/rules/one-var.js b/lib/rules/one-var.js
index 44f05fb700a..0e9dff41658 100644
--- a/lib/rules/one-var.js
+++ b/lib/rules/one-var.js
@@ -310,7 +310,6 @@ module.exports = {
/**
* Fixer to split a VariableDeclaration into individual declarations
* @param {VariableDeclaration} declaration The `VariableDeclaration` to split
- * @param {?Function} filter Function to filter the declarations
* @returns {Function} The fixer function
*/
function splitDeclarations(declaration) {
diff --git a/lib/rules/space-in-parens.js b/lib/rules/space-in-parens.js
index 88f4f0b50e1..30686626321 100644
--- a/lib/rules/space-in-parens.js
+++ b/lib/rules/space-in-parens.js
@@ -61,7 +61,6 @@ module.exports = {
/**
* Produces an object with the opener and closer exception values
- * @param {Object} opts The exception options
* @returns {Object} `openers` and `closers` exception values
* @private
*/
diff --git a/lib/util/ignored-paths.js b/lib/util/ignored-paths.js
index 34b5f521354..de4a79cde33 100644
--- a/lib/util/ignored-paths.js
+++ b/lib/util/ignored-paths.js
@@ -296,7 +296,7 @@ class IgnoredPaths {
/**
* read ignore filepath
* @param {string} filePath, file to add to ig
- * @returns {array} raw ignore rules
+ * @returns {Array} raw ignore rules
*/
readIgnoreFile(filePath) {
if (typeof this.cache[filePath] === "undefined") {
@@ -307,8 +307,8 @@ class IgnoredPaths {
/**
* add ignore file to node-ignore instance
- * @param {Object} ig, instance of node-ignore
- * @param {string} filePath, file to add to ig
+ * @param {Object} ig instance of node-ignore
+ * @param {string} filePath file to add to ig
* @returns {void}
*/
addIgnoreFile(ig, filePath) {
diff --git a/packages/eslint-config-eslint/default.yml b/packages/eslint-config-eslint/default.yml
index 30444d64078..42ce7b1ec7d 100644
--- a/packages/eslint-config-eslint/default.yml
+++ b/packages/eslint-config-eslint/default.yml
@@ -181,6 +181,7 @@ rules:
"String": "string",
"Number": "number",
"Boolean": "boolean",
+ "array": "Array",
"object": "Object",
"function": "Function"
}
diff --git a/tests/lib/rules/indent-legacy.js b/tests/lib/rules/indent-legacy.js
index 17a1f62a4c3..3e3a216849b 100644
--- a/tests/lib/rules/indent-legacy.js
+++ b/tests/lib/rules/indent-legacy.js
@@ -24,7 +24,7 @@ const fixedFixture = fs.readFileSync(path.join(__dirname, "../../fixtures/rules/
/**
* Create error message object for failure cases with a single 'found' indentation type
* @param {string} providedIndentType indent type of string or tab
- * @param {array} providedErrors error info
+ * @param {Array} providedErrors error info
* @returns {Object} returns the error messages collection
* @private
*/
diff --git a/tests/lib/rules/indent.js b/tests/lib/rules/indent.js
index 07e025f303f..8f20a8ea8e8 100644
--- a/tests/lib/rules/indent.js
+++ b/tests/lib/rules/indent.js
@@ -25,7 +25,7 @@ const parser = require("../../fixtures/fixture-parser");
/**
* Create error message object for failure cases with a single 'found' indentation type
* @param {string} providedIndentType indent type of string or tab
- * @param {array} providedErrors error info
+ * @param {Array} providedErrors error info
* @returns {Object} returns the error messages collection
* @private
*/
diff --git a/tests/lib/rules/no-empty-function.js b/tests/lib/rules/no-empty-function.js
index 416a47da687..21f1bdae0c4 100644
--- a/tests/lib/rules/no-empty-function.js
+++ b/tests/lib/rules/no-empty-function.js
@@ -31,9 +31,9 @@ const ALLOW_OPTIONS = Object.freeze([
* Folds test items to `{valid: [], invalid: []}`.
* One item would be converted to 4 valid patterns and 8 invalid patterns.
*
- * @param {{valid: object[], invalid: object[]}} patterns - The result.
+ * @param {{valid: Object[], invalid: Object[]}} patterns - The result.
* @param {{code: string, message: string, allow: string}} item - A test item.
- * @returns {{valid: object[], invalid: object[]}} The result.
+ * @returns {{valid: Object[], invalid: Object[]}} The result.
*/
function toValidInvalid(patterns, item) {
diff --git a/tests/lib/util/ignored-paths.js b/tests/lib/util/ignored-paths.js
index 7f3ff4387c1..acf007b1810 100644
--- a/tests/lib/util/ignored-paths.js
+++ b/tests/lib/util/ignored-paths.js
@@ -29,7 +29,7 @@ let fixtureDir;
/**
* get raw rules from IgnorePaths instance
- * @param {IgnoredPaths} ignoredPaths, instance of IgnoredPaths
+ * @param {IgnoredPaths} ignoredPaths instance of IgnoredPaths
* @returns {string[]} raw ignore rules
*/
function getIgnoreRules(ignoredPaths) {
@@ -78,7 +78,7 @@ function getIgnorePatterns(ignoredPaths) {
/**
* count the number of default patterns applied to IgnoredPaths instance
- * @param {IgnoredPaths} ignoredPaths, instance of IgnoredPaths
+ * @param {IgnoredPaths} ignoredPaths instance of IgnoredPaths
* @returns {integer} count of default patterns
*/
function countDefaultPatterns(ignoredPaths) {