diff --git a/rules/better-regex.js b/rules/better-regex.js index 137c7c8f1c..b08f42acd2 100644 --- a/rules/better-regex.js +++ b/rules/better-regex.js @@ -14,6 +14,7 @@ const newRegExp = [ '[arguments.0.type="Literal"]', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const {sortCharacterClasses} = context.options[0] || {}; @@ -111,6 +112,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/catch-error-name.js b/rules/catch-error-name.js index 0d899cf99d..2cc913da79 100644 --- a/rules/catch-error-name.js +++ b/rules/catch-error-name.js @@ -32,6 +32,7 @@ const selector = matches([ ].join(''), ]); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = { name: 'error', @@ -113,6 +114,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/consistent-destructuring.js b/rules/consistent-destructuring.js index 92edfb1c27..7ddae4baa4 100644 --- a/rules/consistent-destructuring.js +++ b/rules/consistent-destructuring.js @@ -51,6 +51,7 @@ const isChildInParentScope = (child, parent) => { return false; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const source = context.getSourceCode(); const declarations = new Map(); @@ -149,6 +150,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/consistent-function-scoping.js b/rules/consistent-function-scoping.js index eb1195b599..89f87a6e3a 100644 --- a/rules/consistent-function-scoping.js +++ b/rules/consistent-function-scoping.js @@ -149,6 +149,7 @@ function checkNode(node, scopeManager) { return checkReferences(scope, parentScope, scopeManager); } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const {checkArrowFunctions} = {checkArrowFunctions: true, ...context.options[0]}; const sourceCode = context.getSourceCode(); @@ -206,6 +207,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/custom-error-definition.js b/rules/custom-error-definition.js index f6aabc7683..f9ee755112 100644 --- a/rules/custom-error-definition.js +++ b/rules/custom-error-definition.js @@ -182,12 +182,14 @@ const customErrorExport = (context, node) => { }; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ ClassDeclaration: node => customErrorDefinition(context, node), 'AssignmentExpression[right.type="ClassExpression"]': node => customErrorDefinition(context, node.right), 'AssignmentExpression[left.type="MemberExpression"][left.object.type="Identifier"][left.object.name="exports"]': node => customErrorExport(context, node), }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/empty-brace-spaces.js b/rules/empty-brace-spaces.js index 5422441723..9c76332c0a 100644 --- a/rules/empty-brace-spaces.js +++ b/rules/empty-brace-spaces.js @@ -44,6 +44,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/error-message.js b/rules/error-message.js index f4c373ba6e..24a878a257 100644 --- a/rules/error-message.js +++ b/rules/error-message.js @@ -25,6 +25,7 @@ const selector = callOrNewExpressionSelector([ 'AggregateError', ]); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector](expression) { if (isShadowed(context.getScope(), expression.callee)) { @@ -82,6 +83,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/escape-case.js b/rules/escape-case.js index c962271295..6942c29a2a 100644 --- a/rules/escape-case.js +++ b/rules/escape-case.js @@ -20,6 +20,7 @@ const getProblem = ({node, original, regex = escapeWithLowercase, fix}) => { } }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ Literal(node) { if (typeof node.value !== 'string') { @@ -47,6 +48,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/expiring-todo-comments.js b/rules/expiring-todo-comments.js index 73fb1893ba..60a893b44d 100644 --- a/rules/expiring-todo-comments.js +++ b/rules/expiring-todo-comments.js @@ -242,6 +242,7 @@ function semverComparisonForOperator(operator) { }[operator]; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = { terms: ['todo', 'fixme', 'xxx'], @@ -534,6 +535,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/explicit-length-check.js b/rules/explicit-length-check.js index ecbb493b8e..7456ade880 100644 --- a/rules/explicit-length-check.js +++ b/rules/explicit-length-check.js @@ -195,6 +195,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create: checkVueTemplate(create), meta: { diff --git a/rules/filename-case.js b/rules/filename-case.js index 7fba3035d1..21f53a0f06 100644 --- a/rules/filename-case.js +++ b/rules/filename-case.js @@ -142,6 +142,7 @@ function englishishJoinWords(words) { return `${words.slice(0, -1).join(', ')}, or ${words[words.length - 1]}`; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = context.options[0] || {}; const chosenCases = getChosenCases(options); @@ -253,6 +254,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/import-index.js b/rules/import-index.js index 4fbf66d5c7..90d23d1ee5 100644 --- a/rules/import-index.js +++ b/rules/import-index.js @@ -20,6 +20,7 @@ const importIndex = (context, node, argument) => { } }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = context.options[0] || {}; @@ -47,6 +48,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/import-style.js b/rules/import-style.js index 855b3c289d..cabe9efb25 100644 --- a/rules/import-style.js +++ b/rules/import-style.js @@ -150,6 +150,7 @@ const assignedRequireTemplate = templates.template` ${variableDeclarationVariable} ${assignmentTargetVariable} = require(${moduleNameVariable}); `; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { let [ { @@ -364,6 +365,7 @@ const schema = { }, }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/new-for-builtins.js b/rules/new-for-builtins.js index 9b68845f8d..3d3f3f2a48 100644 --- a/rules/new-for-builtins.js +++ b/rules/new-for-builtins.js @@ -12,6 +12,7 @@ const messages = { disallow: 'Use `{{name}}()` instead of `new {{name}}()`.', }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -66,6 +67,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-abusive-eslint-disable.js b/rules/no-abusive-eslint-disable.js index 97e32f466b..927dabe748 100644 --- a/rules/no-abusive-eslint-disable.js +++ b/rules/no-abusive-eslint-disable.js @@ -7,6 +7,7 @@ const messages = { const disableRegex = /^eslint-disable(?:-next-line|-line)?(?$|(?:\s+(?:@(?:[\w-]+\/){1,2})?[\w-]+)?)/; +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ * Program(node) { for (const comment of node.comments) { @@ -34,6 +35,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-array-callback-reference.js b/rules/no-array-callback-reference.js index a2d1b3f7fa..2cbf52a533 100644 --- a/rules/no-array-callback-reference.js +++ b/rules/no-array-callback-reference.js @@ -187,6 +187,7 @@ const ignoredFirstArgumentSelector = [ '[arguments.0.type!="ArrowFunctionExpression"]', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); const rules = {}; @@ -220,6 +221,7 @@ const create = context => { return rules; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-array-for-each.js b/rules/no-array-for-each.js index 1a8cd6026b..59f352349a 100644 --- a/rules/no-array-for-each.js +++ b/rules/no-array-for-each.js @@ -364,6 +364,7 @@ const ignoredObjects = [ 'R', ]; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const functionStack = []; const callExpressions = []; @@ -416,6 +417,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-array-method-this-argument.js b/rules/no-array-method-this-argument.js index 1302470734..e233a35dfb 100644 --- a/rules/no-array-method-this-argument.js +++ b/rules/no-array-method-this-argument.js @@ -159,6 +159,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-array-push-push.js b/rules/no-array-push-push.js index 562b04a16c..fa1936e12e 100644 --- a/rules/no-array-push-push.js +++ b/rules/no-array-push-push.js @@ -120,6 +120,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-array-reduce.js b/rules/no-array-reduce.js index 3613757951..76de61a153 100644 --- a/rules/no-array-reduce.js +++ b/rules/no-array-reduce.js @@ -48,6 +48,7 @@ const schema = [ }, ]; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const {allowSimpleOperations} = {allowSimpleOperations: true, ...context.options[0]}; @@ -81,6 +82,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-await-expression-member.js b/rules/no-await-expression-member.js index 096763574d..692e5aebe2 100644 --- a/rules/no-await-expression-member.js +++ b/rules/no-await-expression-member.js @@ -70,6 +70,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-console-spaces.js b/rules/no-console-spaces.js index 936e2ed7e4..9eb3ada6d0 100644 --- a/rules/no-console-spaces.js +++ b/rules/no-console-spaces.js @@ -27,6 +27,7 @@ const hasLeadingSpace = value => value.length > 1 && value.charAt(0) === ' ' && // Find exactly one trailing space, allow exactly one space const hasTrailingSpace = value => value.length > 1 && value.charAt(value.length - 1) === ' ' && value.charAt(value.length - 2) !== ' '; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); const getProblem = (node, method, position) => { @@ -71,6 +72,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-document-cookie.js b/rules/no-document-cookie.js index 1d9d945745..0ddb0511b6 100644 --- a/rules/no-document-cookie.js +++ b/rules/no-document-cookie.js @@ -28,6 +28,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-empty-file.js b/rules/no-empty-file.js index db24d82f21..be8a30e6e0 100644 --- a/rules/no-empty-file.js +++ b/rules/no-empty-file.js @@ -13,6 +13,7 @@ const isEmpty = node => || node.type === 'EmptyStatement' || (node.type === 'ExpressionStatement' && 'directive' in node); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const filename = context.getPhysicalFilename().toLowerCase(); @@ -34,6 +35,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-for-loop.js b/rules/no-for-loop.js index 4737f9726d..457d31d845 100644 --- a/rules/no-for-loop.js +++ b/rules/no-for-loop.js @@ -260,6 +260,7 @@ const someVariablesLeakOutOfTheLoop = (forStatement, variables, forScope) => const getReferencesInChildScopes = (scope, name) => getReferences(scope).filter(reference => reference.identifier.name === name); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); const {scopeManager, text: sourceCodeText} = sourceCode; @@ -411,6 +412,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-hex-escape.js b/rules/no-hex-escape.js index c819d9d5c2..f6fc3a7a18 100644 --- a/rules/no-hex-escape.js +++ b/rules/no-hex-escape.js @@ -21,6 +21,7 @@ function checkEscape(context, node, value) { } } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ Literal: node => { if (node.regex || typeof node.value === 'string') { @@ -30,6 +31,7 @@ const create = context => ({ TemplateElement: node => checkEscape(context, node, node.value.raw), }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-instanceof-array.js b/rules/no-instanceof-array.js index 5990e73fc5..362a5d2dfc 100644 --- a/rules/no-instanceof-array.js +++ b/rules/no-instanceof-array.js @@ -16,6 +16,7 @@ const selector = [ '[right.name="Array"]', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -48,6 +49,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create: checkVueTemplate(create), meta: { diff --git a/rules/no-invalid-remove-event-listener.js b/rules/no-invalid-remove-event-listener.js index e5cc938151..6586a9551b 100644 --- a/rules/no-invalid-remove-event-listener.js +++ b/rules/no-invalid-remove-event-listener.js @@ -40,6 +40,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-keyword-prefix.js b/rules/no-keyword-prefix.js index 6eea73e1c2..fe21fa236e 100644 --- a/rules/no-keyword-prefix.js +++ b/rules/no-keyword-prefix.js @@ -189,6 +189,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-lonely-if.js b/rules/no-lonely-if.js index 7bc90bbe19..cb0c4f4c21 100644 --- a/rules/no-lonely-if.js +++ b/rules/no-lonely-if.js @@ -120,6 +120,7 @@ function fix(innerIfStatement, sourceCode) { }; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -134,6 +135,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-nested-ternary.js b/rules/no-nested-ternary.js index 41efa0c5f3..a112c6f684 100644 --- a/rules/no-nested-ternary.js +++ b/rules/no-nested-ternary.js @@ -10,6 +10,7 @@ const messages = { const nestTernarySelector = level => `:not(ConditionalExpression)${' > ConditionalExpression'.repeat(level)}`; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -32,6 +33,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-new-array.js b/rules/no-new-array.js index 42a233d0fe..a748d81216 100644 --- a/rules/no-new-array.js +++ b/rules/no-new-array.js @@ -75,12 +75,14 @@ function getProblem(context, node) { return problem; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [newArraySelector](node) { return getProblem(context, node); }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-new-buffer.js b/rules/no-new-buffer.js index 750eb8476a..6f2f119013 100644 --- a/rules/no-new-buffer.js +++ b/rules/no-new-buffer.js @@ -49,6 +49,7 @@ function fix(node, sourceCode, method) { }; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); return { @@ -77,6 +78,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-null.js b/rules/no-null.js index f57da95d26..494b948dda 100644 --- a/rules/no-null.js +++ b/rules/no-null.js @@ -32,6 +32,7 @@ const selector = [ const isLooseEqual = node => node.type === 'BinaryExpression' && ['==', '!='].includes(node.operator); const isStrictEqual = node => node.type === 'BinaryExpression' && ['===', '!=='].includes(node.operator); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const {checkStrictEquality} = { checkStrictEquality: false, @@ -103,6 +104,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-object-as-default-parameter.js b/rules/no-object-as-default-parameter.js index 738bdde50d..e5af49e9f9 100644 --- a/rules/no-object-as-default-parameter.js +++ b/rules/no-object-as-default-parameter.js @@ -13,6 +13,7 @@ const objectParameterSelector = [ '[right.properties.length>0]', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [objectParameterSelector]: node => { const {left, right} = node; @@ -32,6 +33,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-process-exit.js b/rules/no-process-exit.js index ea557c7517..7bc205e577 100644 --- a/rules/no-process-exit.js +++ b/rules/no-process-exit.js @@ -29,6 +29,7 @@ const processExitCallSelector = methodCallSelector({ method: 'exit', }); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const startsWithHashBang = context.getSourceCode().lines[0].indexOf('#!') === 0; @@ -75,6 +76,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-static-only-class.js b/rules/no-static-only-class.js index 51196a56d3..16f3bad34f 100644 --- a/rules/no-static-only-class.js +++ b/rules/no-static-only-class.js @@ -215,6 +215,7 @@ function create(context) { }; } +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-this-assignment.js b/rules/no-this-assignment.js index 9350ded7e8..59cd0971d7 100644 --- a/rules/no-this-assignment.js +++ b/rules/no-this-assignment.js @@ -20,6 +20,7 @@ const assignmentExpressionSelector = [ const selector = matches([variableDeclaratorSelector, assignmentExpressionSelector]); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [selector](node) { const variable = node.type === 'AssignmentExpression' ? node.left : node.id; @@ -31,6 +32,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-unreadable-array-destructuring.js b/rules/no-unreadable-array-destructuring.js index feda79223c..1a20d84c2c 100644 --- a/rules/no-unreadable-array-destructuring.js +++ b/rules/no-unreadable-array-destructuring.js @@ -11,6 +11,7 @@ const messages = { const isCommaFollowedWithComma = (element, index, array) => element === null && array[index + 1] === null; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -66,6 +67,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-unsafe-regex.js b/rules/no-unsafe-regex.js index ddfb591cb7..1c1d088ccb 100644 --- a/rules/no-unsafe-regex.js +++ b/rules/no-unsafe-regex.js @@ -12,6 +12,7 @@ const newRegExpSelector = [ '[arguments.0.type="Literal"]', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ 'Literal[regex]': node => { // Handle regex literal inside RegExp constructor in the other handler @@ -56,6 +57,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-unused-properties.js b/rules/no-unused-properties.js index a069d6e8d4..128044d551 100644 --- a/rules/no-unused-properties.js +++ b/rules/no-unused-properties.js @@ -80,6 +80,7 @@ const isUnusedVariable = variable => { return !hasReadReference; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const getPropertyDisplayName = property => { if (property.key.type === 'Identifier') { @@ -225,6 +226,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-useless-fallback-in-spread.js b/rules/no-useless-fallback-in-spread.js index dfcf013fd1..f95cfb7555 100644 --- a/rules/no-useless-fallback-in-spread.js +++ b/rules/no-useless-fallback-in-spread.js @@ -58,6 +58,7 @@ const create = context => ({ const schema = []; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-useless-length-check.js b/rules/no-useless-length-check.js index 6a0f064271..ec7a087c85 100644 --- a/rules/no-useless-length-check.js +++ b/rules/no-useless-length-check.js @@ -135,6 +135,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-useless-spread.js b/rules/no-useless-spread.js index 4e078a02cd..a1f9b756fb 100644 --- a/rules/no-useless-spread.js +++ b/rules/no-useless-spread.js @@ -207,6 +207,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-useless-undefined.js b/rules/no-useless-undefined.js index 8cc9719f37..8180670985 100644 --- a/rules/no-useless-undefined.js +++ b/rules/no-useless-undefined.js @@ -89,6 +89,7 @@ const getFunction = scope => { } }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const listener = (fix, checkFunctionReturnType) => node => { if (checkFunctionReturnType) { @@ -199,6 +200,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/no-zero-fractions.js b/rules/no-zero-fractions.js index ed9c1c7fd3..9174477139 100644 --- a/rules/no-zero-fractions.js +++ b/rules/no-zero-fractions.js @@ -12,6 +12,7 @@ const messages = { [MESSAGE_DANGLING_DOT]: 'Don\'t use a dangling dot in the number.', }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ Literal: node => { if (!isNumber(node)) { @@ -63,6 +64,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/number-literal-case.js b/rules/number-literal-case.js index 410bb2cad6..bbc0eb57a9 100644 --- a/rules/number-literal-case.js +++ b/rules/number-literal-case.js @@ -16,6 +16,7 @@ const fix = raw => { return fixed; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ Literal: node => { const {raw} = node; @@ -37,6 +38,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create: checkVueTemplate(create), meta: { diff --git a/rules/numeric-separators-style.js b/rules/numeric-separators-style.js index 572f5c8101..d257928ed1 100644 --- a/rules/numeric-separators-style.js +++ b/rules/numeric-separators-style.js @@ -165,6 +165,7 @@ const schema = [{ }, }]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-add-event-listener.js b/rules/prefer-add-event-listener.js index 34b9fda2d5..0c58ba23a9 100644 --- a/rules/prefer-add-event-listener.js +++ b/rules/prefer-add-event-listener.js @@ -58,6 +58,7 @@ const isClearing = node => { return false; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = context.options[0] || {}; const excludedPackages = new Set(options.excludedPackages || ['koa', 'sax']); @@ -170,6 +171,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-array-find.js b/rules/prefer-array-find.js index 6e839dca4e..a457fc6f2c 100644 --- a/rules/prefer-array-find.js +++ b/rules/prefer-array-find.js @@ -227,6 +227,7 @@ const isDestructuringFirstElement = node => { && left.elements[0].type !== 'RestElement'; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -321,6 +322,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-array-flat-map.js b/rules/prefer-array-flat-map.js index 55cdc38c72..606c450659 100644 --- a/rules/prefer-array-flat-map.js +++ b/rules/prefer-array-flat-map.js @@ -19,6 +19,7 @@ const selector = [ const ignored = ['React.Children', 'Children']; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector](flatCallExpression) { const mapCallExpression = flatCallExpression.callee.object; @@ -52,6 +53,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-array-flat.js b/rules/prefer-array-flat.js index 8711ef6396..539c495dca 100644 --- a/rules/prefer-array-flat.js +++ b/rules/prefer-array-flat.js @@ -244,6 +244,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-array-index-of.js b/rules/prefer-array-index-of.js index 6de0fe8627..bc8a5f5341 100644 --- a/rules/prefer-array-index-of.js +++ b/rules/prefer-array-index-of.js @@ -6,6 +6,7 @@ const {messages, createListeners} = simpleArraySearchRule({ replacement: 'indexOf', }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create: context => createListeners(context), meta: { diff --git a/rules/prefer-array-some.js b/rules/prefer-array-some.js index a2038de62d..4d013a0ee5 100644 --- a/rules/prefer-array-some.js +++ b/rules/prefer-array-some.js @@ -58,6 +58,7 @@ const arrayFilterCallSelector = [ `${methodCallSelector('filter')}.object`, ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [arrayFindCallSelector](findCall) { const isCompare = isCheckingUndefined(findCall); @@ -127,6 +128,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create: checkVueTemplate(create), meta: { diff --git a/rules/prefer-at.js b/rules/prefer-at.js index 7f91f46de7..bc8c843ca7 100644 --- a/rules/prefer-at.js +++ b/rules/prefer-at.js @@ -298,6 +298,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-code-point.js b/rules/prefer-code-point.js index 0586b003ad..624022e1bb 100644 --- a/rules/prefer-code-point.js +++ b/rules/prefer-code-point.js @@ -19,6 +19,7 @@ const cases = [ }, ]; +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => Object.fromEntries( cases.map(({selector, replacement}) => [ selector, @@ -41,6 +42,7 @@ const create = () => Object.fromEntries( ]), ); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-date-now.js b/rules/prefer-date-now.js index 3f132a0de6..f18cb4ae84 100644 --- a/rules/prefer-date-now.js +++ b/rules/prefer-date-now.js @@ -66,6 +66,7 @@ const getProblem = (node, problem, sourceCode) => ({ ...problem, }); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [methodsSelector](node) { const method = node.callee.property; @@ -100,6 +101,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-default-parameters.js b/rules/prefer-default-parameters.js index 102fca5fc1..b714ed0d05 100644 --- a/rules/prefer-default-parameters.js +++ b/rules/prefer-default-parameters.js @@ -125,6 +125,7 @@ const fixDefaultExpression = (fixer, sourceCode, node) => { return fixer.remove(node); }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); const functionStack = []; @@ -208,6 +209,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-dom-node-append.js b/rules/prefer-dom-node-append.js index 99bbbb791c..7aeb5287c5 100644 --- a/rules/prefer-dom-node-append.js +++ b/rules/prefer-dom-node-append.js @@ -15,6 +15,7 @@ const selector = [ notDomNodeSelector('arguments.0'), ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [selector](node) { const fix = isValueNotUsable(node) @@ -29,6 +30,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-dom-node-dataset.js b/rules/prefer-dom-node-dataset.js index 3ff5641ef4..236bfef9ad 100644 --- a/rules/prefer-dom-node-dataset.js +++ b/rules/prefer-dom-node-dataset.js @@ -36,6 +36,7 @@ const fix = (context, node, fixer) => { return fixer.replaceText(node, replacement); }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector](node) { const name = node.arguments[0].value; @@ -52,6 +53,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-dom-node-remove.js b/rules/prefer-dom-node-remove.js index 8dd7a8d8f7..0f0b5c0f13 100644 --- a/rules/prefer-dom-node-remove.js +++ b/rules/prefer-dom-node-remove.js @@ -22,6 +22,7 @@ const selector = [ notDomNodeSelector('arguments.0'), ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -67,6 +68,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-dom-node-text-content.js b/rules/prefer-dom-node-text-content.js index e0bd911c1f..e85ef81bad 100644 --- a/rules/prefer-dom-node-text-content.js +++ b/rules/prefer-dom-node-text-content.js @@ -20,6 +20,7 @@ const destructuringSelector = [ '[name="innerText"]', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [memberExpressionPropertySelector](node) { return { @@ -50,6 +51,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-export-from.js b/rules/prefer-export-from.js index 347d40f95d..af4ffa4363 100644 --- a/rules/prefer-export-from.js +++ b/rules/prefer-export-from.js @@ -319,6 +319,7 @@ function create(context) { }; } +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-includes.js b/rules/prefer-includes.js index 1894935eab..63ca5f87d0 100644 --- a/rules/prefer-includes.js +++ b/rules/prefer-includes.js @@ -42,6 +42,7 @@ const includesOverSomeRule = simpleArraySearchRule({ replacement: 'includes', }); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ BinaryExpression: node => { const {left, right, operator} = node; @@ -78,6 +79,7 @@ const create = context => ({ ...includesOverSomeRule.createListeners(context), }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-keyboard-event-key.js b/rules/prefer-keyboard-event-key.js index 5cf5ee9812..cda0bc8021 100644 --- a/rules/prefer-keyboard-event-key.js +++ b/rules/prefer-keyboard-event-key.js @@ -113,6 +113,7 @@ const getProblem = node => ({ fix: fix(node), }); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ 'Identifier:matches([name="keyCode"], [name="charCode"], [name="which"])'(node) { // Normal case when usage is direct -> `event.keyCode` @@ -171,6 +172,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-math-trunc.js b/rules/prefer-math-trunc.js index 740c041838..8685b0c087 100644 --- a/rules/prefer-math-trunc.js +++ b/rules/prefer-math-trunc.js @@ -29,6 +29,7 @@ const bitwiseNotUnaryExpressionSelector = [ createBitwiseNotSelector(2, true), ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -100,6 +101,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-modern-dom-apis.js b/rules/prefer-modern-dom-apis.js index fda63ba91d..633b8572b8 100644 --- a/rules/prefer-modern-dom-apis.js +++ b/rules/prefer-modern-dom-apis.js @@ -111,6 +111,7 @@ const checkForInsertAdjacentTextOrInsertAdjacentElement = (context, node) => { }; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [replaceChildOrInsertBeforeSelector](node) { return checkForReplaceChildOrInsertBefore(context, node); @@ -120,6 +121,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-module.js b/rules/prefer-module.js index f7269773b6..d52af15eec 100644 --- a/rules/prefer-module.js +++ b/rules/prefer-module.js @@ -319,6 +319,7 @@ function create(context) { }; } +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-negative-index.js b/rules/prefer-negative-index.js index afdb448e68..aa3d7dfc09 100644 --- a/rules/prefer-negative-index.js +++ b/rules/prefer-negative-index.js @@ -130,6 +130,7 @@ function parse(node) { } } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ 'CallExpression[callee.type="MemberExpression"]': node => { const parsed = parse(node); @@ -167,6 +168,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-node-protocol.js b/rules/prefer-node-protocol.js index 8ade6d9b0f..c832964565 100644 --- a/rules/prefer-node-protocol.js +++ b/rules/prefer-node-protocol.js @@ -60,6 +60,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-number-properties.js b/rules/prefer-number-properties.js index 910bb58e7f..33a8338841 100644 --- a/rules/prefer-number-properties.js +++ b/rules/prefer-number-properties.js @@ -38,6 +38,7 @@ const isNegative = node => { return parent && parent.type === 'UnaryExpression' && parent.operator === '-' && parent.argument === node; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); const options = { @@ -137,6 +138,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-object-from-entries.js b/rules/prefer-object-from-entries.js index 531d762370..abeb087850 100644 --- a/rules/prefer-object-from-entries.js +++ b/rules/prefer-object-from-entries.js @@ -257,6 +257,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-object-has-own.js b/rules/prefer-object-has-own.js index d1e32748b9..9f6fb8661f 100644 --- a/rules/prefer-object-has-own.js +++ b/rules/prefer-object-has-own.js @@ -91,6 +91,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-optional-catch-binding.js b/rules/prefer-optional-catch-binding.js index b741ba21e0..17934ee5e4 100644 --- a/rules/prefer-optional-catch-binding.js +++ b/rules/prefer-optional-catch-binding.js @@ -15,6 +15,7 @@ const selector = [ '.param', ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector]: node => { const variables = context.getDeclaredVariables(node.parent); @@ -61,6 +62,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-prototype-methods.js b/rules/prefer-prototype-methods.js index 57325f7620..e9cdc8960f 100644 --- a/rules/prefer-prototype-methods.js +++ b/rules/prefer-prototype-methods.js @@ -65,6 +65,7 @@ function create(context) { }; } +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-query-selector.js b/rules/prefer-query-selector.js index aebedd1e6f..4ce7ffc532 100644 --- a/rules/prefer-query-selector.js +++ b/rules/prefer-query-selector.js @@ -99,6 +99,7 @@ const fix = (node, identifierName, preferredSelector) => { }; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [selector](node) { const method = node.callee.property.name; @@ -121,6 +122,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-reflect-apply.js b/rules/prefer-reflect-apply.js index a3cd2d336b..14e14653cd 100644 --- a/rules/prefer-reflect-apply.js +++ b/rules/prefer-reflect-apply.js @@ -64,6 +64,7 @@ const fixFunctionPrototypeCall = (node, sourceCode) => { } }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector]: node => { const sourceCode = context.getSourceCode(); @@ -78,6 +79,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-regexp-test.js b/rules/prefer-regexp-test.js index 6685bec6f7..7fc9b7eb81 100644 --- a/rules/prefer-regexp-test.js +++ b/rules/prefer-regexp-test.js @@ -82,6 +82,7 @@ const isRegExpNode = node => { return false; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => Object.fromEntries( cases.map(checkCase => [ checkCase.selector, @@ -122,6 +123,7 @@ const create = context => Object.fromEntries( ]), ); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create: checkVueTemplate(create), meta: { diff --git a/rules/prefer-set-has.js b/rules/prefer-set-has.js index 15cf398f35..95c0c4d7fa 100644 --- a/rules/prefer-set-has.js +++ b/rules/prefer-set-has.js @@ -124,6 +124,7 @@ const isMultipleCall = (identifier, node) => { return false; }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector]: node => { const variable = findVariable(context.getScope(), node); @@ -186,6 +187,7 @@ const create = context => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-spread.js b/rules/prefer-spread.js index 35d7e26596..72ee182052 100644 --- a/rules/prefer-spread.js +++ b/rules/prefer-spread.js @@ -320,6 +320,7 @@ function isClassName(node) { return /^[A-Z]./.test(name) && name.toUpperCase() !== name; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -475,6 +476,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-string-replace-all.js b/rules/prefer-string-replace-all.js index 32c5b88cca..3728ab5bce 100644 --- a/rules/prefer-string-replace-all.js +++ b/rules/prefer-string-replace-all.js @@ -42,6 +42,7 @@ function removeEscapeCharacters(regexString) { return fixedString; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [selector]: node => { const {arguments: arguments_, callee} = node; @@ -62,6 +63,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-string-slice.js b/rules/prefer-string-slice.js index 4d4d30bb5c..30e3095503 100644 --- a/rules/prefer-string-slice.js +++ b/rules/prefer-string-slice.js @@ -40,6 +40,7 @@ const isLengthProperty = node => ( const isLikelyNumeric = node => isLiteralNumber(node) || isLengthProperty(node); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -180,6 +181,7 @@ const create = context => { }); }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-string-starts-ends-with.js b/rules/prefer-string-starts-ends-with.js index 35ef548519..1a65387449 100644 --- a/rules/prefer-string-starts-ends-with.js +++ b/rules/prefer-string-starts-ends-with.js @@ -59,6 +59,7 @@ const checkRegex = ({pattern, flags}) => { } }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const sourceCode = context.getSourceCode(); @@ -171,6 +172,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-string-trim-start-end.js b/rules/prefer-string-trim-start-end.js index 3808c9bd3e..12f25bbc1f 100644 --- a/rules/prefer-string-trim-start-end.js +++ b/rules/prefer-string-trim-start-end.js @@ -15,6 +15,7 @@ const selector = [ ' > .property', ].join(' '); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [selector](node) { const method = node.name; @@ -29,6 +30,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-switch.js b/rules/prefer-switch.js index bcdc200d1b..eea8163b8e 100644 --- a/rules/prefer-switch.js +++ b/rules/prefer-switch.js @@ -243,6 +243,7 @@ function fix({discriminant, ifStatements}, sourceCode, options) { }; } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = { minimumCases: 3, @@ -321,6 +322,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-ternary.js b/rules/prefer-ternary.js index f3333b3d9b..d864916e6b 100644 --- a/rules/prefer-ternary.js +++ b/rules/prefer-ternary.js @@ -43,6 +43,7 @@ function getNodeBody(node) { const isSingleLineNode = node => node.loc.start.line === node.loc.end.line; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const onlySingleLine = context.options[0] === 'only-single-line'; const sourceCode = context.getSourceCode(); @@ -259,6 +260,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-top-level-await.js b/rules/prefer-top-level-await.js index 1d5d890191..459fbfcd38 100644 --- a/rules/prefer-top-level-await.js +++ b/rules/prefer-top-level-await.js @@ -88,6 +88,7 @@ function create(context) { }; } +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prefer-type-error.js b/rules/prefer-type-error.js index d9b3afe87a..3f288ce942 100644 --- a/rules/prefer-type-error.js +++ b/rules/prefer-type-error.js @@ -110,6 +110,7 @@ const isTypecheckingExpression = (node, callExpression) => { const isTypechecking = node => node.type === 'IfStatement' && isTypecheckingExpression(node.test); +/** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ [selector]: node => { if ( @@ -127,6 +128,7 @@ const create = () => ({ }, }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/prevent-abbreviations.js b/rules/prevent-abbreviations.js index 9a496dd392..228bd6e0b2 100644 --- a/rules/prevent-abbreviations.js +++ b/rules/prevent-abbreviations.js @@ -320,6 +320,7 @@ const isInternalImport = node => { ); }; +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const options = prepareOptions(context.options[0]); const filenameWithExtension = context.getPhysicalFilename(); @@ -609,6 +610,7 @@ const schema = { }, }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/require-array-join-separator.js b/rules/require-array-join-separator.js index b09b2f18eb..15b98ef7bf 100644 --- a/rules/require-array-join-separator.js +++ b/rules/require-array-join-separator.js @@ -41,6 +41,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/require-number-to-fixed-digits-argument.js b/rules/require-number-to-fixed-digits-argument.js index 06d6e1755a..a25ce01575 100644 --- a/rules/require-number-to-fixed-digits-argument.js +++ b/rules/require-number-to-fixed-digits-argument.js @@ -35,6 +35,7 @@ const create = context => { }; }; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/require-post-message-target-origin.js b/rules/require-post-message-target-origin.js index 62deb38520..5d08f0b528 100644 --- a/rules/require-post-message-target-origin.js +++ b/rules/require-post-message-target-origin.js @@ -56,6 +56,7 @@ function create(context) { }; } +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/string-content.js b/rules/string-content.js index 308090782a..d8afa4d3fc 100644 --- a/rules/string-content.js +++ b/rules/string-content.js @@ -61,6 +61,7 @@ function getReplacements(patterns) { }); } +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => { const {patterns} = { patterns: {}, @@ -171,6 +172,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/template-indent.js b/rules/template-indent.js index 28a6a50213..9b3571f62a 100644 --- a/rules/template-indent.js +++ b/rules/template-indent.js @@ -150,6 +150,7 @@ const schema = [ }, ]; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/rules/throw-new-error.js b/rules/throw-new-error.js index 566ae93c2b..20eeebdd4b 100644 --- a/rules/throw-new-error.js +++ b/rules/throw-new-error.js @@ -29,6 +29,7 @@ const selector = [ ]), ].join(''); +/** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ [selector]: node => ({ node, @@ -37,6 +38,7 @@ const create = context => ({ }), }); +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: { diff --git a/scripts/template/rule.js.jst b/scripts/template/rule.js.jst index a5f976e380..462eb7648c 100644 --- a/scripts/template/rule.js.jst +++ b/scripts/template/rule.js.jst @@ -28,6 +28,7 @@ const create = context => { const schema = []; +/** @type {import('eslint').Rule.RuleModule} */ module.exports = { create, meta: {