Skip to content

Commit 7f9a2bd

Browse files
authored
Merge branch 'master' into async-server-action
2 parents 32cdfe4 + d50d886 commit 7f9a2bd

File tree

71 files changed

+71
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+71
-0
lines changed

lib/rules/boolean-prop-naming.js

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const messages = {
2222
patternMismatch: 'Prop name `{{propName}}` doesn’t match rule `{{pattern}}`',
2323
};
2424

25+
/** @type {import('eslint').Rule.RuleModule} */
2526
module.exports = {
2627
meta: {
2728
docs: {

lib/rules/default-props-match-prop-types.js

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const messages = {
2121
defaultHasNoType: 'defaultProp "{{name}}" has no corresponding propTypes declaration.',
2222
};
2323

24+
/** @type {import('eslint').Rule.RuleModule} */
2425
module.exports = {
2526
meta: {
2627
docs: {

lib/rules/destructuring-assignment.js

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ const messages = {
5353
destructureInSignature: 'Must destructure props in the function signature.',
5454
};
5555

56+
/** @type {import('eslint').Rule.RuleModule} */
5657
module.exports = {
5758
meta: {
5859
docs: {

lib/rules/display-name.js

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const messages = {
2727
noContextDisplayName: 'Context definition is missing display name',
2828
};
2929

30+
/** @type {import('eslint').Rule.RuleModule} */
3031
module.exports = {
3132
meta: {
3233
docs: {

lib/rules/forbid-component-props.js

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const messages = {
2222
propIsForbidden: 'Prop "{{prop}}" is forbidden on Components',
2323
};
2424

25+
/** @type {import('eslint').Rule.RuleModule} */
2526
module.exports = {
2627
meta: {
2728
docs: {

lib/rules/forbid-dom-props.js

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const messages = {
3737
propIsForbidden: 'Prop "{{prop}}" is forbidden on DOM Nodes',
3838
};
3939

40+
/** @type {import('eslint').Rule.RuleModule} */
4041
module.exports = {
4142
meta: {
4243
docs: {

lib/rules/function-component-definition.js

+1
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ const messages = {
113113
'arrow-function': 'Function component is not an arrow function',
114114
};
115115

116+
/** @type {import('eslint').Rule.RuleModule} */
116117
module.exports = {
117118
meta: {
118119
docs: {

lib/rules/iframe-missing-sandbox.js

+1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ function checkProps(context, node) {
109109
}
110110
}
111111

112+
/** @type {import('eslint').Rule.RuleModule} */
112113
module.exports = {
113114
meta: {
114115
docs: {

lib/rules/jsx-boolean-value.js

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ const messages = {
5454
omitPropAndBoolean: 'Value must be omitted for `false` attribute: `{{propName}}`',
5555
};
5656

57+
/** @type {import('eslint').Rule.RuleModule} */
5758
module.exports = {
5859
meta: {
5960
docs: {

lib/rules/jsx-child-element-spacing.js

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ const messages = {
4444
spacingBeforeNext: 'Ambiguous spacing before next element {{element}}',
4545
};
4646

47+
/** @type {import('eslint').Rule.RuleModule} */
4748
module.exports = {
4849
meta: {
4950
docs: {

lib/rules/jsx-closing-tag-location.js

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const messages = {
1818
matchIndent: 'Expected closing tag to match indentation of opening.',
1919
};
2020

21+
/** @type {import('eslint').Rule.RuleModule} */
2122
module.exports = {
2223
meta: {
2324
docs: {

lib/rules/jsx-curly-brace-presence.js

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const messages = {
3636
missingCurly: 'Need to wrap this literal in a JSX expression.',
3737
};
3838

39+
/** @type {import('eslint').Rule.RuleModule} */
3940
module.exports = {
4041
meta: {
4142
docs: {

lib/rules/jsx-curly-newline.js

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const messages = {
4141
unexpectedAfter: 'Unexpected newline after \'{\'.',
4242
};
4343

44+
/** @type {import('eslint').Rule.RuleModule} */
4445
module.exports = {
4546
meta: {
4647
type: 'layout',

lib/rules/jsx-filename-extension.js

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const messages = {
2828
extensionOnlyForJSX: 'Only files containing JSX may use the extension \'{{ext}}\'',
2929
};
3030

31+
/** @type {import('eslint').Rule.RuleModule} */
3132
module.exports = {
3233
meta: {
3334
docs: {

lib/rules/jsx-first-prop-new-line.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const messages = {
1717
propOnSameLine: 'Property should be placed on the same line as the component declaration',
1818
};
1919

20+
/** @type {import('eslint').Rule.RuleModule} */
2021
module.exports = {
2122
meta: {
2223
docs: {

lib/rules/jsx-handler-names.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const messages = {
1717
badPropKey: 'Prop key for {{propValue}} must begin with \'{{handlerPropPrefix}}\'',
1818
};
1919

20+
/** @type {import('eslint').Rule.RuleModule} */
2021
module.exports = {
2122
meta: {
2223
docs: {

lib/rules/jsx-key.js

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const messages = {
3232
nonUniqueKeys: '`key` prop must be unique',
3333
};
3434

35+
/** @type {import('eslint').Rule.RuleModule} */
3536
module.exports = {
3637
meta: {
3738
docs: {

lib/rules/jsx-max-depth.js

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const messages = {
2020
wrongDepth: 'Expected the depth of nested jsx elements to be <= {{needed}}, but found {{found}}.',
2121
};
2222

23+
/** @type {import('eslint').Rule.RuleModule} */
2324
module.exports = {
2425
meta: {
2526
docs: {

lib/rules/jsx-max-props-per-line.js

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const messages = {
2323
newLine: 'Prop `{{prop}}` must be placed on a new line',
2424
};
2525

26+
/** @type {import('eslint').Rule.RuleModule} */
2627
module.exports = {
2728
meta: {
2829
docs: {

lib/rules/jsx-newline.js

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ function isMultilined(node) {
2323
return node && node.loc.start.line !== node.loc.end.line;
2424
}
2525

26+
/** @type {import('eslint').Rule.RuleModule} */
2627
module.exports = {
2728
meta: {
2829
docs: {

lib/rules/jsx-no-comment-textnodes.js

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ function checkText(node, context) {
3333
}
3434
}
3535

36+
/** @type {import('eslint').Rule.RuleModule} */
3637
module.exports = {
3738
meta: {
3839
docs: {

lib/rules/jsx-no-constructed-context-values.js

+1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ const messages = {
129129
defaultMsgFunc: 'The {{type}} passed as the value prop to the Context provider (at line {{nodeLine}}) changes every render. To fix this consider wrapping it in a useCallback hook.',
130130
};
131131

132+
/** @type {import('eslint').Rule.RuleModule} */
132133
module.exports = {
133134
meta: {
134135
docs: {

lib/rules/jsx-no-duplicate-props.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const messages = {
1717
noDuplicateProps: 'No duplicate props allowed',
1818
};
1919

20+
/** @type {import('eslint').Rule.RuleModule} */
2021
module.exports = {
2122
meta: {
2223
docs: {

lib/rules/jsx-no-leaked-render.js

+1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ function ruleFixer(context, fixStrategy, fixer, reportedNode, leftNode, rightNod
111111
/**
112112
* @type {import('eslint').Rule.RuleModule}
113113
*/
114+
/** @type {import('eslint').Rule.RuleModule} */
114115
module.exports = {
115116
meta: {
116117
docs: {

lib/rules/jsx-no-literals.js

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const messages = {
2727
literalNotInJSXExpression: 'Missing JSX expression container around literal string: "{{text}}"',
2828
};
2929

30+
/** @type {import('eslint').Rule.RuleModule} */
3031
module.exports = {
3132
meta: {
3233
docs: {

lib/rules/jsx-no-script-url.js

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ const messages = {
4343
noScriptURL: 'A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML, try using dangerouslySetInnerHTML instead.',
4444
};
4545

46+
/** @type {import('eslint').Rule.RuleModule} */
4647
module.exports = {
4748
meta: {
4849
docs: {

lib/rules/jsx-no-target-blank.js

+1
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ const messages = {
126126
noTargetBlankWithoutNoopener: 'Using target="_blank" without rel="noreferrer" or rel="noopener" (the former implies the latter and is preferred due to wider support) is a security risk: see https://mathiasbynens.github.io/rel-noopener/#recommendations',
127127
};
128128

129+
/** @type {import('eslint').Rule.RuleModule} */
129130
module.exports = {
130131
meta: {
131132
fixable: 'code',

lib/rules/jsx-no-undef.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const messages = {
1717
undefined: '\'{{identifier}}\' is not defined.',
1818
};
1919

20+
/** @type {import('eslint').Rule.RuleModule} */
2021
module.exports = {
2122
meta: {
2223
docs: {

lib/rules/jsx-no-useless-fragment.js

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ const messages = {
8383
ChildOfHtmlElement: 'Passing a fragment to an HTML element is useless.',
8484
};
8585

86+
/** @type {import('eslint').Rule.RuleModule} */
8687
module.exports = {
8788
meta: {
8889
type: 'suggestion',

lib/rules/jsx-one-expression-per-line.js

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const messages = {
2121
moveToNewLine: '`{{descriptor}}` must be placed on a new line',
2222
};
2323

24+
/** @type {import('eslint').Rule.RuleModule} */
2425
module.exports = {
2526
meta: {
2627
docs: {

lib/rules/jsx-pascal-case.js

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ const messages = {
7676
usePascalOrSnakeCase: 'Imported JSX component {{name}} must be in PascalCase or SCREAMING_SNAKE_CASE',
7777
};
7878

79+
/** @type {import('eslint').Rule.RuleModule} */
7980
module.exports = {
8081
meta: {
8182
docs: {

lib/rules/jsx-props-no-multi-spaces.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const messages = {
1717
onlyOneSpace: 'Expected only one space between “{{prop1}}” and “{{prop2}}”',
1818
};
1919

20+
/** @type {import('eslint').Rule.RuleModule} */
2021
module.exports = {
2122
meta: {
2223
docs: {

lib/rules/jsx-props-no-spreading.js

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ const messages = {
3838
noSpreading: 'Prop spreading is forbidden',
3939
};
4040

41+
/** @type {import('eslint').Rule.RuleModule} */
4142
module.exports = {
4243
meta: {
4344
docs: {

lib/rules/jsx-sort-props.js

+1
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,7 @@ function reportNodeAttribute(nodeAttribute, errorType, node, context, reservedLi
338338
});
339339
}
340340

341+
/** @type {import('eslint').Rule.RuleModule} */
341342
module.exports = {
342343
meta: {
343344
docs: {

lib/rules/jsx-tag-spacing.js

+1
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ const optionDefaults = {
255255
beforeClosing: 'allow',
256256
};
257257

258+
/** @type {import('eslint').Rule.RuleModule} */
258259
module.exports = {
259260
meta: {
260261
docs: {

lib/rules/jsx-uses-react.js

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const docsUrl = require('../util/docsUrl');
1212
// Rule Definition
1313
// ------------------------------------------------------------------------------
1414

15+
/** @type {import('eslint').Rule.RuleModule} */
1516
module.exports = {
1617
// eslint-disable-next-line eslint-plugin/prefer-message-ids -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/292
1718
meta: {

lib/rules/jsx-uses-vars.js

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const docsUrl = require('../util/docsUrl');
1414
const isTagNameRe = /^[a-z]/;
1515
const isTagName = (name) => isTagNameRe.test(name);
1616

17+
/** @type {import('eslint').Rule.RuleModule} */
1718
module.exports = {
1819
// eslint-disable-next-line eslint-plugin/prefer-message-ids -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/292
1920
meta: {

lib/rules/jsx-wrap-multilines.js

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const messages = {
3535
parensOnNewLines: 'Parentheses around JSX should be on separate lines',
3636
};
3737

38+
/** @type {import('eslint').Rule.RuleModule} */
3839
module.exports = {
3940
meta: {
4041
docs: {

lib/rules/no-array-index-key.js

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const messages = {
4141
noArrayIndex: 'Do not use Array index in keys',
4242
};
4343

44+
/** @type {import('eslint').Rule.RuleModule} */
4445
module.exports = {
4546
meta: {
4647
docs: {

lib/rules/no-arrow-function-lifecycle.js

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const messages = {
3232
lifecycle: '{{propertyName}} is a React lifecycle method, and should not be an arrow function or in a class field. Use an instance method instead.',
3333
};
3434

35+
/** @type {import('eslint').Rule.RuleModule} */
3536
module.exports = {
3637
meta: {
3738
docs: {

lib/rules/no-danger.js

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ const messages = {
4343
dangerousProp: 'Dangerous property \'{{name}}\' found',
4444
};
4545

46+
/** @type {import('eslint').Rule.RuleModule} */
4647
module.exports = {
4748
meta: {
4849
docs: {

lib/rules/no-did-mount-set-state.js

+1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77

88
const makeNoMethodSetStateRule = require('../util/makeNoMethodSetStateRule');
99

10+
/** @type {import('eslint').Rule.RuleModule} */
1011
module.exports = makeNoMethodSetStateRule('componentDidMount');

lib/rules/no-did-update-set-state.js

+1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77

88
const makeNoMethodSetStateRule = require('../util/makeNoMethodSetStateRule');
99

10+
/** @type {import('eslint').Rule.RuleModule} */
1011
module.exports = makeNoMethodSetStateRule('componentDidUpdate');

lib/rules/no-direct-mutation-state.js

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const messages = {
2121
noDirectMutation: 'Do not mutate state directly. Use setState().',
2222
};
2323

24+
/** @type {import('eslint').Rule.RuleModule} */
2425
module.exports = {
2526
meta: {
2627
docs: {

lib/rules/no-multi-comp.js

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const messages = {
1919
onlyOneComponent: 'Declare only one React component per file',
2020
};
2121

22+
/** @type {import('eslint').Rule.RuleModule} */
2223
module.exports = {
2324
meta: {
2425
docs: {

lib/rules/no-namespace.js

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const messages = {
1818
noNamespace: 'React component {{name}} must not be in a namespace, as React does not support them',
1919
};
2020

21+
/** @type {import('eslint').Rule.RuleModule} */
2122
module.exports = {
2223
meta: {
2324
docs: {

lib/rules/no-object-type-as-default-prop.js

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ function verifyDefaultPropsDestructuring(context, properties) {
7878
});
7979
}
8080

81+
/** @type {import('eslint').Rule.RuleModule} */
8182
module.exports = {
8283
meta: {
8384
docs: {

lib/rules/no-redundant-should-component-update.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const messages = {
1717
noShouldCompUpdate: '{{component}} does not need shouldComponentUpdate when extending React.PureComponent.',
1818
};
1919

20+
/** @type {import('eslint').Rule.RuleModule} */
2021
module.exports = {
2122
meta: {
2223
docs: {

lib/rules/no-set-state.js

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const messages = {
1919
noSetState: 'Do not use setState',
2020
};
2121

22+
/** @type {import('eslint').Rule.RuleModule} */
2223
module.exports = {
2324
meta: {
2425
docs: {

lib/rules/no-string-refs.js

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const messages = {
1818
stringInRefDeprecated: 'Using string literals in ref attributes is deprecated.',
1919
};
2020

21+
/** @type {import('eslint').Rule.RuleModule} */
2122
module.exports = {
2223
meta: {
2324
docs: {

0 commit comments

Comments
 (0)