Skip to content

Commit 3b1770f

Browse files
committed
chore: new eslint rules
1 parent 1d17441 commit 3b1770f

13 files changed

Lines changed: 194 additions & 62 deletions

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22
1+
24

eslint.config.mts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import js from '@eslint/js'
2-
import globals from 'globals'
3-
import tseslint from 'typescript-eslint'
4-
import pluginReact from 'eslint-plugin-react'
5-
import { defineConfig, globalIgnores } from 'eslint/config'
2+
import jsxA11y from 'eslint-plugin-jsx-a11y'
3+
import perfectionist from 'eslint-plugin-perfectionist'
64
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
5+
import pluginReact from 'eslint-plugin-react'
76
import reactHooks from 'eslint-plugin-react-hooks'
8-
import jsxA11y from 'eslint-plugin-jsx-a11y'
7+
import { defineConfig, globalIgnores } from 'eslint/config'
8+
import globals from 'globals'
9+
import tseslint from 'typescript-eslint'
910

1011
export default defineConfig([
1112
{
@@ -27,4 +28,17 @@ export default defineConfig([
2728
reactHooks.configs.flat.recommended,
2829
jsxA11y.flatConfigs.recommended,
2930
globalIgnores(['index.js']),
31+
{
32+
plugins: {
33+
perfectionist,
34+
},
35+
rules: {
36+
'perfectionist/sort-imports': 'error',
37+
},
38+
},
39+
{
40+
rules: {
41+
'@typescript-eslint/consistent-type-imports': 'error',
42+
},
43+
},
3044
])

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"eslint": "^9.39.2",
4242
"eslint-config-prettier": "^10.1.8",
4343
"eslint-plugin-jsx-a11y": "^6.10.2",
44+
"eslint-plugin-perfectionist": "^5.4.0",
4445
"eslint-plugin-prettier": "^5.5.4",
4546
"eslint-plugin-react": "^7.37.5",
4647
"eslint-plugin-react-hooks": "^7.0.1",

pnpm-lock.yaml

Lines changed: 112 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

poi-types.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { APIShip } from 'kcsapi/api_port/port/response'
2-
import { APIMstShip } from 'kcsapi/api_start2/getData/response'
3-
import { APIDeckPort } from 'kcsapi/api_port/port/response'
4-
import { APIGetMemberSlotItemResponse } from 'kcsapi/api_get_member/slot_item/response'
5-
import { APIGetMemberNdockResponse } from 'kcsapi/api_get_member/ndock/response'
1+
import type { APIGetMemberNdockResponse } from 'kcsapi/api_get_member/ndock/response'
2+
import type { APIGetMemberSlotItemResponse } from 'kcsapi/api_get_member/slot_item/response'
3+
import type { APIShip } from 'kcsapi/api_port/port/response'
4+
import type { APIDeckPort } from 'kcsapi/api_port/port/response'
5+
import type { APIMstShip } from 'kcsapi/api_start2/getData/response'
66

77
export type RootState = {
88
const: {

src/candidates.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
import React, { useMemo, useState, useRef } from 'react'
2-
import { createSelector } from 'reselect'
3-
import { useSelector } from 'react-redux'
4-
import { useTranslation } from 'react-i18next'
5-
import styled from 'styled-components'
1+
import type { ColumnDef, SortingState } from '@tanstack/react-table'
2+
import type { APIShip } from 'kcsapi/api_port/port/response'
3+
import type { APIMstShip } from 'kcsapi/api_start2/getData/response'
4+
65
import { HTMLTable } from '@blueprintjs/core'
76
import {
87
useReactTable,
98
getCoreRowModel,
109
getSortedRowModel,
1110
flexRender,
12-
ColumnDef,
13-
SortingState,
1411
} from '@tanstack/react-table'
1512
import { useVirtualizer } from '@tanstack/react-virtual'
16-
import fp from 'lodash/fp'
17-
import { mapValues, findIndex, includes, map } from 'lodash'
1813
import chroma from 'chroma-js'
19-
14+
import { mapValues, findIndex, includes, map } from 'lodash'
15+
import fp from 'lodash/fp'
16+
import React, { useMemo, useState, useRef } from 'react'
17+
import { useTranslation } from 'react-i18next'
18+
import { useSelector } from 'react-redux'
19+
import { createSelector } from 'reselect'
20+
import styled from 'styled-components'
2021
import {
2122
repairsSelector,
2223
fleetShipsIdSelectorFactory,
2324
} from 'views/utils/selectors'
2425
import { resolveTime } from 'views/utils/tools'
2526

27+
import type { RootState } from '../poi-types'
28+
2629
import { akashiEstimate, timePerHPCalc } from './functions'
27-
import { APIShip } from 'kcsapi/api_port/port/response'
28-
import { APIMstShip } from 'kcsapi/api_start2/getData/response'
29-
import { RootState } from '../poi-types'
3030

3131
interface EnhancedShip extends APIShip {
3232
akashi: number

src/countup-timer.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// similar to CountdownTimer in 'views/components/main/parts/countdown-timer.es', but it counts up
22

33
import React, { useState, useEffect, useRef } from 'react'
4-
54
import { resolveTime } from 'views/utils/tools'
65

76
interface Ticker {

src/fleet-list.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1+
import { HTMLTable, Tag, Callout } from '@blueprintjs/core'
2+
import _ from 'lodash'
13
import React, { useState, useEffect, useCallback, useMemo } from 'react'
2-
import { useSelector } from 'react-redux'
34
import { useTranslation } from 'react-i18next'
5+
import { useSelector } from 'react-redux'
46
import styled from 'styled-components'
5-
import { HTMLTable, Tag, Callout } from '@blueprintjs/core'
67
import { Tooltip } from 'views/components/etc/overlay'
7-
import _ from 'lodash'
88

99
import CountupTimer from './countup-timer'
10-
import { timerState } from './timer-state'
11-
import ShipRow from './ship-row'
1210
import {
1311
createFleetBasicInfoSelector,
1412
createFleetStatusSelector,
1513
createFleetRepairCountSelector,
1614
createFleetRepairDetailSelector,
1715
} from './fleet-selectors'
16+
import ShipRow from './ship-row'
17+
import { timerState } from './timer-state'
1818

1919
interface FleetListProps {
2020
fleetId: number

src/fleet-selectors.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
import { createSelector } from 'reselect'
1+
import type { APIDeckPort } from 'kcsapi/api_port/port/response'
2+
23
import _ from 'lodash'
4+
import { createSelector } from 'reselect'
35
import {
46
fleetsSelector,
57
shipsSelector,
68
equipsSelector,
79
repairsSelector,
810
} from 'views/utils/selectors'
9-
import { RootState } from '../poi-types'
10-
import { APIDeckPort } from 'kcsapi/api_port/port/response'
11+
12+
import type { RootState } from '../poi-types'
13+
1114
import {
1215
getFleetBasicInfo,
1316
getFleetStatus,

0 commit comments

Comments
 (0)