Skip to content

Commit 2d0357a

Browse files
authored
chore: enable @eslint-react/eslint-plugin (#62)
1 parent 5fc26c4 commit 2d0357a

File tree

9 files changed

+32
-6
lines changed

9 files changed

+32
-6
lines changed

.changeset/slow-readers-work.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@alauda/doom": patch
3+
---
4+
5+
chore: enable `@eslint-react/eslint-plugin`, fix related reports

eslint.config.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @ts-check
22

33
import eslint from '@eslint/js'
4+
import react from '@eslint-react/eslint-plugin'
45
import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript'
56
import { importX } from 'eslint-plugin-import-x'
67
import * as reactHooks from 'eslint-plugin-react-hooks'
@@ -13,10 +14,15 @@ export default config(
1314
eslint.configs.recommended,
1415
importX.flatConfigs.recommended,
1516
importX.flatConfigs.typescript,
17+
react.configs.recommended,
1618
reactHooks.configs['recommended-latest'],
1719
{
1820
files: ['**/*.{ts,tsx}'],
19-
extends: [configs.eslintRecommended, configs.strictTypeChecked],
21+
extends: [
22+
configs.eslintRecommended,
23+
configs.strictTypeChecked,
24+
react.configs['recommended-type-checked'],
25+
],
2026
languageOptions: {
2127
parserOptions: {
2228
projectService: true,

src/global/VersionsNav/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ const VersionsNav_ = () => {
120120
})
121121
const newNavMenu = getNavMenu()
122122
if (newNavMenu !== navMenu) {
123+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
123124
setNavMenu(newNavMenu)
124125
} else if (navMenu.parentNode) {
125126
observer.observe(navMenu.parentNode, { childList: true })

src/runtime/components/K8sCrd.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export const K8sCrdSchemaPart = ({
4141
}, [])
4242

4343
useEffect(() => {
44+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
4445
setOpen(expandAll)
4546
}, [expandAll])
4647

src/runtime/components/OpenAPIPath.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,19 @@ export const OpenAPIParameters = ({
5353
typeNode = <RefLink $ref={type.$ref} />
5454
}
5555
return (
56+
// eslint-disable-next-line @eslint-react/no-array-index-key
5657
<X.li key={index}>
57-
<code>{paramObj.name}</code>(<em>in {paramObj.in}</em>): {typeNode}
58-
{paramObj.required && <Badge>required</Badge>}
59-
<Markdown>{paramObj.description}</Markdown>
58+
<code>{paramObj.name}</code> (<em>in {paramObj.in}</em>): {typeNode}
59+
{paramObj.required && (
60+
<>
61+
{' '}
62+
<Badge>required</Badge>
63+
</>
64+
)}
65+
<>
66+
{' '}
67+
<Markdown>{paramObj.description}</Markdown>
68+
</>
6069
</X.li>
6170
)
6271
})}

src/runtime/components/OpenAPIRef.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ export const OpenAPIProperties = ({
106106
const [X] = useState(getCustomMDXComponent)
107107
return (
108108
<X.ul>
109-
{Object.entries(properties).map(([name, property], index) => (
110-
<X.li key={index}>
109+
{Object.entries(properties).map(([name, property]) => (
110+
<X.li key={name}>
111111
<OpenAPIProperty name={name} property={property} openapi={openapi} />
112112
</X.li>
113113
))}

src/runtime/components/Tabs.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ export const Tabs: ForwardRefExoticComponent<
1515
return (
1616
<div className="doom-tabs" ref={ref}>
1717
{isPrint ? (
18+
// eslint-disable-next-line @eslint-react/no-children-map
1819
Children.map(children, (child, index) => (
20+
// eslint-disable-next-line @eslint-react/no-array-index-key
1921
<Tabs_ key={index} {...props}>
2022
{child}
2123
</Tabs_>

src/runtime/components/TermsTable.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const TermsTable = ({ terms }: TermsTableProps) => {
2020
list?.length ? (
2121
<X.ul>
2222
{list.map((item, index) => (
23+
// eslint-disable-next-line @eslint-react/no-array-index-key
2324
<X.li key={index}>{item}</X.li>
2425
))}
2526
</X.ul>

src/runtime/components/_HeadingTitle.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export const HeadingTitle = ({
2525
const HeadingComponent = HeadingComponents[level]
2626
const slugFromChildren = useMemo(
2727
() =>
28+
// eslint-disable-next-line @eslint-react/no-children-to-array
2829
Children.toArray(children)
2930
.filter((it) => typeof it === 'string')
3031
.join(''),

0 commit comments

Comments
 (0)