Skip to content

Commit b6b09f1

Browse files
committed
chore: 新增import相关规则
1 parent 3ce48fc commit b6b09f1

File tree

66 files changed

+317
-126
lines changed

Some content is hidden

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

66 files changed

+317
-126
lines changed

bun.lock

Lines changed: 81 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eslint.config.ts

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
import js from '@eslint/js';
2-
import tseslint, {ConfigArray} from "typescript-eslint"
31
import { defineConfig } from "eslint/config"
2+
import tseslint, {ConfigArray} from "typescript-eslint"
3+
import tsParser from '@typescript-eslint/parser'
44
import globals from "globals"
5+
import js from '@eslint/js'
56
import css from "@eslint/css"
67
import markdown from "@eslint/markdown"
78
import json from "@eslint/json"
9+
import { importX } from 'eslint-plugin-import-x'
10+
811

912
const globalConfig = defineConfig([
1013
{
@@ -19,9 +22,9 @@ const globalConfig = defineConfig([
1922
},
2023
])
2124

22-
const scriptFile = "*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"
23-
const jsFile = "*.{js,jsx,mjs,cjs}"
24-
const tsFile = "*.{ts,tsx,mts,cts}"
25+
const scriptFile = "*.{cjs,js,jsx,mjs,mjsx,cts,ts,tsx,mts,mtsx}"
26+
const jsFile = "*.{cjs,js,jsx,mjs,mjsx}"
27+
const tsFile = "*.{cts,ts,tsx,mts,mtsx}"
2528

2629
const scriptConfig: ConfigArray = tseslint.config([
2730
{
@@ -73,8 +76,19 @@ const scriptConfig: ConfigArray = tseslint.config([
7376
files: [`**/${scriptFile}`],
7477
},
7578
{
79+
...importX.flatConfigs.recommended,
7680
files: [`**/${scriptFile}`],
77-
rules: {
81+
},
82+
{
83+
...importX.flatConfigs.typescript,
84+
files: [`**/${scriptFile}`],
85+
},
86+
{
87+
files: [`**/${scriptFile}`],
88+
languageOptions: {
89+
parser: tsParser,
90+
ecmaVersion: 'latest',
91+
sourceType: 'module',
7892
},
7993
},
8094
])
@@ -117,6 +131,37 @@ const customConfig = defineConfig([
117131
files: [`src/**/${scriptFile}`],
118132
rules: {
119133
"@typescript-eslint/no-unused-vars": "off",
134+
"import-x/order": [
135+
"error",
136+
{
137+
"groups": [
138+
"builtin",
139+
"external",
140+
"internal",
141+
"parent",
142+
"sibling",
143+
"index",
144+
"object",
145+
"type",
146+
],
147+
"pathGroups": [
148+
{
149+
"pattern": "@/**",
150+
"group": "internal",
151+
"position": "before",
152+
},
153+
],
154+
"pathGroupsExcludedImportTypes": ["builtin"],
155+
"newlines-between": "always",
156+
"distinctGroup": false,
157+
"alphabetize": {
158+
"order": "asc",
159+
"caseInsensitive": true
160+
},
161+
"sortTypesGroup": true,
162+
"newlines-between-types": "always",
163+
}
164+
]
120165
},
121166
},
122167
])

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747
"brotli-wasm": "^3.0.1",
4848
"clsx": "2.1.1",
4949
"eslint": "^9.28.0",
50+
"eslint-import-resolver-typescript": "^4.4.2",
51+
"eslint-plugin-import-x": "^4.15.0",
5052
"file-type": "^20.4.1",
5153
"globals": "^16.2.0",
5254
"mime": "^4.0.7",

src/api/components/ant/ant-empty-props.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {ReactNode} from "react"
21
import {EmptyProps} from "antd"
2+
import {ReactNode} from "react"
33

44
export interface AntEmptyProps extends EmptyProps{
55
className?: string

src/api/components/normal/scroll-bar-props.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {ReactNode} from "react"
2+
23
import {DivProps} from "@/api/components/interface/base-types"
34

45
export interface ScrollBarProps extends DivProps{

src/api/ofp-api.ts

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,29 @@
1-
import type {FunctionComponent} from "react"
2-
import SpaceServiceApi from './service/main/space/space-service-api'
3-
import PluginServiceApi from "./service/main/plugin/plugin-service-api"
1+
import {AntEmptyProps} from "@/api/components/ant/ant-empty-props"
2+
import MainPortalProps from "@/api/components/dev/main-portal-props"
3+
import {MaterialSymbolProps} from "@/api/components/normal/material-symbol-props"
4+
import ResourcePreviewProps from "@/api/components/normal/resource-preview-props"
5+
import {UseBase} from "@/api/hook/use-base.type"
6+
import {UseStepOptions} from "@/api/hook/use-step-options.type"
7+
import {UseTStep} from "@/api/hook/use-t-step.type"
8+
import RsSelectionServiceApi from "@/api/service/engine/operate/selection/rs-selection-service-api"
9+
import FirstLoadModelServiceApi from "@/api/service/engine/render/model/first/first-load-model-service-api"
10+
import DialogServiceApi from "@/api/service/main/dialog/dialog-service-api"
11+
import FirstLoadServiceApi from "@/api/service/main/file/first/first-load-service-api"
12+
import OssUploadServiceApi from "@/api/service/main/file/oss/oss-upload-service-api"
13+
import MessageServiceApi from "@/api/service/main/message/message-service-api"
14+
import RvGlobalServiceApi from "@/api/service/sync/global/rv-global-service-api"
15+
import {AntCheckboxProps} from "./components/ant/ant-checkbox-props"
16+
import {AnchorProps} from "./components/normal/anchor-props"
17+
import {RsdButtonProps} from './components/rsd/rsd-button-props'
418
import LocalDataServiceApi from "./service/main/file/local/local-data-service-api"
19+
import PluginServiceApi from "./service/main/plugin/plugin-service-api"
20+
import SpaceServiceApi from './service/main/space/space-service-api'
521
import InternationalizationServiceApi from "./service/main/internationalization/internationalization-service-api"
622
import MeetingServiceApi from "./service/main/meeting/meeting-service-api"
723
import StatusServiceApi from './service/main/status/status-service-api'
824
import UserServiceApi from './service/main/user/user-service-api'
9-
import {RsdButtonProps} from './components/rsd/rsd-button-props'
10-
import {AnchorProps} from "./components/normal/anchor-props"
1125
import {RsdInputProps} from "./components/rsd/rsd-input-props"
1226
import {RsdTitleProps} from "./components/rsd/rsd-title-props"
13-
import {AntCheckboxProps} from "./components/ant/ant-checkbox-props"
1427
import {AntNumberProps} from "./components/ant/ant-number-props"
1528
import {AntColorProps} from "./components/ant/ant-color-props"
1629
import {AntSwitchProps} from "./components/ant/ant-switch-props"
@@ -34,34 +47,24 @@ import {AntSelectProps} from "./components/ant/ant-select-props"
3447
import {FlexGrowProps} from "./components/dev/flex-grow-props"
3548
import ThemeProviderProps from "./components/ant/theme-provider-props"
3649
import ModulePreloaderApi from "./service/main/preloader/module-preloader-api"
37-
import SyncServiceApi from "./service/sync/sync-service-api"
38-
import RvGlobalServiceApi from "@/api/service/sync/global/rv-global-service-api"
3950
import HistoryServiceApi from "./service/sync/history-service-api"
40-
import {UseTStep} from "@/api/hook/use-t-step.type"
51+
import RvModelServiceApi from "./service/sync/model/rv-model-service-api"
52+
import RvResourceServiceApi from "./service/sync/resource/rv-resource-service-api"
53+
import SyncServiceApi from "./service/sync/sync-service-api"
4154
import RvStepServiceApi from "@/api/service/sync/step/rv-step-service-api"
4255
import TStepServiceApi from "@/api/service/target/step/t-step-service-api"
43-
import {UseStepOptions} from "@/api/hook/use-step-options.type"
44-
import {AntEmptyProps} from "@/api/components/ant/ant-empty-props"
45-
import MessageServiceApi from "@/api/service/main/message/message-service-api"
46-
import OssUploadServiceApi from "@/api/service/main/file/oss/oss-upload-service-api"
4756
import RvFileServiceApi from "@/api/service/sync/file/rv-file-service-api"
4857
import ResourceServiceApi from "@/api/service/main/resource/resource-service-api"
49-
import MainPortalProps from "@/api/components/dev/main-portal-props"
50-
import {MaterialSymbolProps} from "@/api/components/normal/material-symbol-props"
51-
import FirstLoadServiceApi from "@/api/service/main/file/first/first-load-service-api"
52-
import RvResourceServiceApi from "./service/sync/resource/rv-resource-service-api"
5358
import {MaterialSymbolFunction} from "@/utils/material-symbol-utils"
5459
import {SleepFunction} from "@/utils/sleep-utils"
55-
import DialogServiceApi from "@/api/service/main/dialog/dialog-service-api"
5660
import NativeEventServiceApi from "@/api/service/main/native-event/native-event-service-api"
57-
import RvModelServiceApi from "./service/sync/model/rv-model-service-api"
58-
import FirstLoadModelServiceApi from "@/api/service/engine/render/model/first/first-load-model-service-api"
61+
5962
import { UseTAttributes } from "./hook/use-t-attributes.type"
60-
import RsSelectionServiceApi from "@/api/service/engine/operate/selection/rs-selection-service-api"
63+
6164
import TAttributesServiceApi from "./service/target/attribute/t-attributes-service-api"
6265
import RvLocationAttributeApi from "@/api/service/attributes/location/rv-location-attribute-api"
6366
import RvAttributesServiceApi from "@/api/service/sync/step/attributes/rv-attributes-service-api"
64-
import {UseBase} from "@/api/hook/use-base.type"
67+
6568
import RsNodeServiceApi from "./service/engine/render/model/rs-node-service-api"
6669
import RsModelServiceApi from "@/api/service/engine/render/model/rs-model-service-api"
6770
import RvLabelAttributeApi from "@/api/service/attributes/label/rv-label-attribute-api"
@@ -82,8 +85,10 @@ import RvNativeAttributeApi from "@/api/service/attributes/animation/native/rv-n
8285
import RvCodeAttributeApi from "@/api/service/attributes/code/rv-code-attribute-api"
8386
import ThemeServiceApi from "@/api/service/main/theme/theme-service-api"
8487
import RvMaterialAttributeApi from "@/api/service/attributes/material/rv-material-attribute-api"
88+
8589
import sceneServiceApi from "./service/main/scene/scene-service-api"
86-
import ResourcePreviewProps from "@/api/components/normal/resource-preview-props"
90+
91+
import type {FunctionComponent} from "react"
8792

8893
export interface OfpApi {
8994

src/api/service/attributes/location/rv-location-attribute-api.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import RvLocation from "@/api/service/sync/interface/step/attributes/location/rv-location.interface"
21
import { Node } from "@babylonjs/core"
32

3+
import RvLocation from "@/api/service/sync/interface/step/attributes/location/rv-location.interface"
4+
45
export default interface RvLocationAttributeApi {
56

67
key: string

src/api/service/attributes/material/rv-material-attribute-api.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
import RvMaterial from "@/api/service/sync/interface/step/attributes/material/rv-material.interface"
21
import {BaseTexture, NodeMaterial, PBRMaterial} from "@babylonjs/core"
3-
import { RvMaterialTexture } from "../../sync/interface/step/attributes/material/texture/rv-material-texture.interface"
4-
import { RvMaterialPBR } from "../../sync/interface/step/attributes/material/pbr/rv-material-pbr.interface"
2+
3+
import RvMaterial from "@/api/service/sync/interface/step/attributes/material/rv-material.interface"
4+
55
import { RvMaterialNode } from "../../sync/interface/step/attributes/material/node/rv-material-node.interface"
6+
import { RvMaterialPBR } from "../../sync/interface/step/attributes/material/pbr/rv-material-pbr.interface"
7+
import { RvMaterialTexture } from "../../sync/interface/step/attributes/material/texture/rv-material-texture.interface"
68

79
export default interface RvMaterialAttributeApi {
810

src/api/service/engine/animation/entry/environment/camera-location-animation-api.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import {Animation} from "@babylonjs/core"
12
import {AnimationGroup} from "@babylonjs/core/Animations/animationGroup"
2-
import RvCameraLocation from "@/api/service/sync/interface/step/environment/camera/location/rv-camera-location.interface"
3+
34
import RvAwareness from "@/api/service/sync/interface/awareness/rv-awareness.interface"
4-
import {Animation} from "@babylonjs/core"
5+
import RvCameraLocation from "@/api/service/sync/interface/step/environment/camera/location/rv-camera-location.interface"
56

67
export default interface CameraLocationAnimationApi {
78

src/api/service/engine/animation/factory/between/easy-property-animation-api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { AnimationGroup } from "@babylonjs/core"
2+
23
import { SupportAnimationTarget } from "../dto/support-animation-target.type"
34

45
export default interface EasyPropertyAnimationApi {

0 commit comments

Comments
 (0)