Skip to content

Commit c9f9a52

Browse files
authored
style: force import type usage and add jsx-runtime rules (#170)
1 parent f371b78 commit c9f9a52

File tree

14 files changed

+35
-27
lines changed

14 files changed

+35
-27
lines changed

.eslintrc.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ module.exports = {
88
env: {
99
browser: true, es6: true
1010
},
11-
extends: ['eslint:recommended', 'plugin:react/recommended', 'standard'],
11+
extends: [
12+
'eslint:recommended',
13+
'plugin:react/recommended',
14+
'plugin:react/jsx-runtime',
15+
'standard'
16+
],
1217
globals: {
1318
Atomics: 'readonly', SharedArrayBuffer: 'readonly'
1419
},
@@ -75,6 +80,7 @@ module.exports = {
7580
delimiter: 'semi', requireLast: false
7681
}
7782
}],
83+
'@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports', disallowTypeAnnotations: false }],
7884
'@typescript-eslint/explicit-function-return-type': 'off',
7985
'react-hooks/rules-of-hooks': 'error',
8086
'react-hooks/exhaustive-deps': 'warn',

docs/components/JsonViewerPreview.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import { JsonViewer, JsonViewerProps } from '@textea/json-viewer'
2-
import type React from 'react'
1+
import type { JsonViewerProps } from '@textea/json-viewer'
2+
import { JsonViewer } from '@textea/json-viewer'
3+
import React from 'react'
34

45
export const JsonViewerPreview: React.FC<JsonViewerProps> = (props) => {
56
return (

docs/pages/_app.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'nextra-theme-docs/style.css'
22

33
import type { AppProps } from 'next/app'
4-
import type React from 'react'
4+
import React from 'react'
55

66
export default function Nextra ({ Component, pageProps }: AppProps) {
77
return <Component {...pageProps} />

docs/pages/full/index.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,18 @@ import {
1111
Toolbar,
1212
Typography
1313
} from '@mui/material'
14-
import {
15-
applyValue,
16-
createDataType,
17-
JsonViewer,
14+
import type {
1815
JsonViewerKeyRenderer,
1916
JsonViewerOnChange,
2017
JsonViewerTheme
2118
} from '@textea/json-viewer'
19+
import {
20+
applyValue,
21+
createDataType,
22+
JsonViewer
23+
} from '@textea/json-viewer'
2224
import Image from 'next/image'
23-
import type React from 'react'
24-
import { useCallback, useEffect, useState } from 'react'
25+
import React, { useCallback, useEffect, useState } from 'react'
2526

2627
import { ocean } from '../../lib/shared'
2728

src/browser.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from 'react'
2-
import { createRoot, Root } from 'react-dom/client'
2+
import type { Root } from 'react-dom/client'
3+
import { createRoot } from 'react-dom/client'
34

45
import { JsonViewer as JsonViewerComponent } from '.'
56
import type { JsonViewerProps } from './type'

src/components/DataKeyPair.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Box, styled } from '@mui/material'
2-
import type React from 'react'
3-
import { useCallback, useMemo, useState } from 'react'
2+
import React, { useCallback, useMemo, useState } from 'react'
43

54
import { useTextColor } from '../hooks/useColor'
65
import { useClipboard } from '../hooks/useCopyToClipboard'

src/components/DataTypeLabel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type React from 'react'
1+
import React from 'react'
22

33
import { DataBox } from './mui/DataBox'
44

src/components/DataTypes/Function.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Because in Next.js SSR, the function will be translated to other type
44
*/
55
import { Box, NoSsr } from '@mui/material'
6-
import type React from 'react'
6+
import React from 'react'
77

88
import { useJsonViewerStore } from '../../stores/JsonViewerStore'
99
import type { DataItemProps } from '../../type'

src/components/Icons.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import { SvgIcon, SvgIconProps } from '@mui/material'
2-
import type React from 'react'
1+
import type { SvgIconProps } from '@mui/material'
2+
import { SvgIcon } from '@mui/material'
3+
import React from 'react'
34

45
const BaseIcon: React.FC<SvgIconProps> = ({ d, ...props }) => {
56
return (

src/components/mui/DataBox.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { Box, styled } from '@mui/material'
2-
import type React from 'react'
32

43
export const DataBox = styled(props => <Box component='div' {...props}/>)`
54
display: inline-block;

0 commit comments

Comments
 (0)