Skip to content

Commit 8718554

Browse files
authored
Merge pull request #434 from taeuscherpferd/Add-ESLint-File-Import-Organization-Rule
feat: Add eslint file import organization rule
2 parents f6133aa + 181b900 commit 8718554

File tree

162 files changed

+419
-356
lines changed

Some content is hidden

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

162 files changed

+419
-356
lines changed

.eslintrc

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,31 @@
1818
"plugin:import/recommended",
1919
"plugin:@react-three/recommended"
2020
],
21-
"plugins": ["@typescript-eslint", "react", "react-hooks", "import", "prettier", "@react-three"],
21+
"plugins": [ "@typescript-eslint", "react", "react-hooks", "import", "unused-imports", "prettier", "@react-three" ],
2222
"rules": {
2323
"import/no-unresolved": "off",
2424
"import/named": "off",
2525
"import/namespace": "off",
2626
"import/no-named-as-default-member": "off",
27-
"import/extensions": ["error", "ignorePackages"]
27+
"import/extensions": [ "error", "ignorePackages" ],
28+
29+
"import/order": ["error", {
30+
"groups": [
31+
"builtin",
32+
"external",
33+
"internal",
34+
["parent", "sibling", "index"],
35+
"object",
36+
"type"
37+
],
38+
"newlines-between": "never",
39+
"alphabetize": {
40+
"order": "asc",
41+
"caseInsensitive": true
42+
}
43+
}],
44+
45+
// "simple-import-sort/imports": "error",
46+
"unused-imports/no-unused-imports": "error"
2847
}
29-
}
48+
}

.vscode/settings.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
// enable ESLint only for this workspace
3+
"eslint.enable": true,
4+
5+
// Run the equivalent of `eslint --fix` each time you save
6+
"editor.codeActionsOnSave": {
7+
"source.fixAll.eslint": true
8+
},
9+
10+
// Disable the built‑in “Organize Imports” so it doesn’t fight ESLint
11+
"editor.formatOnSave": false,
12+
"typescript.preferences.organizeImports": false,
13+
}
14+

examples/demo-controller/app.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import { XRControllerGamepadComponentId, XRControllerLayout, getXRControllerComponentObject } from '@pmndrs/xr'
2+
import { Environment, OrbitControls } from '@react-three/drei'
13
import { Canvas, createPortal, ThreeElements, useFrame } from '@react-three/fiber'
4+
import { Container, Root, Text } from '@react-three/uikit'
25
import { useLoadXRControllerLayout, useLoadXRControllerModel } from '@react-three/xr'
3-
import { XRControllerGamepadComponentId, XRControllerLayout, getXRControllerComponentObject } from '@pmndrs/xr'
46
import { PropsWithChildren, Suspense, useEffect, useRef, useState } from 'react'
57
import { Group, MeshBasicMaterial, Object3D } from 'three'
6-
import { Environment, OrbitControls } from '@react-three/drei'
7-
import { Container, Root, Text } from '@react-three/uikit'
88

99
export function App() {
1010
return (

examples/demo-controller/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import { StrictMode } from 'react'
12
import { createRoot } from 'react-dom/client'
23
import { App } from './app.js'
3-
import { StrictMode } from 'react'
44

55
createRoot(document.getElementById('root')!).render(
66
<StrictMode>

examples/demo-controller/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
"@react-three/xr": "workspace:~"
66
},
77
"scripts": {
8-
"dev": "vite --host"
8+
"dev": "vite --host",
9+
"check:eslint": "eslint \"*.{ts,tsx}\"",
10+
"fix:eslint": "eslint \"*.{ts,tsx}\" --fix"
911
}
10-
}
12+
}

examples/demo-controller/vite.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { defineConfig } from 'vite'
2-
import react from '@vitejs/plugin-react'
31
import basicSsl from '@vitejs/plugin-basic-ssl'
2+
import react from '@vitejs/plugin-react'
3+
import { defineConfig } from 'vite'
44

55
// https://vitejs.dev/config/
66
export default defineConfig({

examples/editor/app.tsx

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
import { applyDampedScreenCameraState, defaultApply, HandleState, HandleStore } from '@pmndrs/handle'
2+
import { getVoidObject, PointerEventsMap, PointerEvent } from '@pmndrs/pointer-events'
3+
import { PositionalAudio, RoundedBox, useGLTF } from '@react-three/drei'
14
import { Canvas, Color, extend, RootState, useFrame, useThree } from '@react-three/fiber'
5+
import { OrbitHandles, Handle, HandleTarget, createScreenCameraStore, PivotHandles } from '@react-three/handle'
26
import {
37
createXRStore,
48
IfInSessionMode,
@@ -13,15 +17,8 @@ import {
1317
XRLayer,
1418
XROrigin,
1519
} from '@react-three/xr'
16-
import { PositionalAudio, RoundedBox, useGLTF } from '@react-three/drei'
17-
import {
18-
OrbitHandles,
19-
Handle,
20-
HandleTarget,
21-
createScreenCameraStore,
22-
ScreenCameraStateAndFunctions,
23-
PivotHandles,
24-
} from '@react-three/handle'
20+
import { MeshLineGeometry, MeshLineMaterial } from 'meshline'
21+
import { CopyPass, EffectComposer, RenderPass, ShaderPass } from 'postprocessing'
2522
import {
2623
ComponentPropsWithoutRef,
2724
CSSProperties,
@@ -53,18 +50,8 @@ import {
5350
PositionalAudio as PAudio,
5451
BackSide,
5552
} from 'three'
56-
import { create } from 'zustand'
57-
import {
58-
applyDampedScreenCameraState,
59-
defaultApply,
60-
defaultOrbitHandlesScreenCameraApply,
61-
HandleState,
62-
HandleStore,
63-
} from '@pmndrs/handle'
6453
import { damp } from 'three/src/math/MathUtils.js'
65-
import { getVoidObject, PointerEventsMap, PointerEvent } from '@pmndrs/pointer-events'
66-
import { CopyPass, EffectComposer, RenderPass, ShaderPass } from 'postprocessing'
67-
import { MeshLineGeometry, MeshLineMaterial } from 'meshline'
54+
import { create } from 'zustand'
6855

6956
function createDefaultTransformation(x: number, y: number, z: number) {
7057
return {

examples/editor/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import { StrictMode } from 'react'
12
import { createRoot } from 'react-dom/client'
23
import { App } from './app.js'
3-
import { StrictMode } from 'react'
44

55
createRoot(document.getElementById('root')!).render(
66
<StrictMode>

examples/editor/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
},
1111
"scripts": {
1212
"dev": "vite --host",
13-
"build": "vite build"
13+
"build": "vite build",
14+
"check:eslint": "eslint \"*.{ts,tsx}\"",
15+
"fix:eslint": "eslint \"*.{ts,tsx}\" --fix"
1416
}
1517
}

examples/editor/vite.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { defineConfig } from 'vite'
2-
import react from '@vitejs/plugin-react'
31
import basicSsl from '@vitejs/plugin-basic-ssl'
2+
import react from '@vitejs/plugin-react'
3+
import { defineConfig } from 'vite'
44

55
// https://vitejs.dev/config/
66
export default defineConfig({

0 commit comments

Comments
 (0)