浏览代码

Eslint: Improve config (#29981)

* Eslint: Improve config

* Only keep import merging

---------

Co-authored-by: Samuel Rigaud <srigaud@duodisplay.com>
Samuel Rigaud 1 年之前
父节点
当前提交
3e54130c1d

+ 3 - 0
.eslintrc.json

@@ -60,6 +60,9 @@
     ],
     "no-irregular-whitespace": [
       "error"
+    ],
+    "no-duplicate-imports": [
+      "error"
     ]
   }
 }

+ 1 - 2
src/materials/nodes/Line2NodeMaterial.js

@@ -1,5 +1,5 @@
 import NodeMaterial from './NodeMaterial.js';
-import { varyingProperty } from '../../nodes/core/PropertyNode.js';
+import { dashSize, gapSize, varyingProperty } from '../../nodes/core/PropertyNode.js';
 import { attribute } from '../../nodes/core/AttributeNode.js';
 import { cameraProjectionMatrix } from '../../nodes/accessors/Camera.js';
 import { materialColor, materialLineScale, materialLineDashSize, materialLineGapSize, materialLineDashOffset, materialLineWidth, materialOpacity } from '../../nodes/accessors/MaterialNode.js';
@@ -9,7 +9,6 @@ import { mix, smoothstep } from '../../nodes/math/MathNode.js';
 import { Fn, float, vec2, vec3, vec4, If } from '../../nodes/tsl/TSLBase.js';
 import { uv } from '../../nodes/accessors/UV.js';
 import { viewport } from '../../nodes/display/ScreenNode.js';
-import { dashSize, gapSize } from '../../nodes/core/PropertyNode.js';
 import { viewportSharedTexture } from '../../nodes/display/ViewportSharedTextureNode.js';
 
 import { LineDashedMaterial } from '../LineDashedMaterial.js';

+ 1 - 2
src/nodes/accessors/MorphNode.js

@@ -1,13 +1,12 @@
 import Node from '../core/Node.js';
 import { NodeUpdateType } from '../core/constants.js';
-import { float, nodeProxy, Fn } from '../tsl/TSLBase.js';
+import { float, nodeProxy, Fn, ivec2, int } from '../tsl/TSLBase.js';
 import { uniform } from '../core/UniformNode.js';
 import { reference } from './ReferenceNode.js';
 import { positionLocal } from './Position.js';
 import { normalLocal } from './Normal.js';
 import { textureLoad } from './TextureNode.js';
 import { instanceIndex, vertexIndex } from '../core/IndexNode.js';
-import { ivec2, int } from '../tsl/TSLBase.js';
 import { Loop } from '../utils/LoopNode.js';
 
 import { DataArrayTexture } from '../../textures/DataArrayTexture.js';

+ 1 - 2
src/nodes/accessors/Normal.js

@@ -1,9 +1,8 @@
 import { attribute } from '../core/AttributeNode.js';
 import { cameraViewMatrix } from './Camera.js';
 import { modelNormalMatrix, modelWorldMatrix } from './ModelNode.js';
-import { mat3, vec3 } from '../tsl/TSLBase.js';
+import { mat3, vec3, Fn, varying } from '../tsl/TSLBase.js';
 import { positionView } from './Position.js';
-import { Fn, varying } from '../tsl/TSLBase.js';
 import { faceDirection } from '../display/FrontFacingNode.js';
 
 export const normalGeometry = /*@__PURE__*/ attribute( 'normal', 'vec3' );

+ 1 - 2
src/nodes/core/NodeBuilder.js

@@ -25,14 +25,13 @@ import PMREMGenerator from '../../renderers/common/extras/PMREMGenerator.js';
 
 import BindGroup from '../../renderers/common/BindGroup.js';
 
-import { REVISION } from '../../constants.js';
+import { REVISION, IntType, UnsignedIntType, LinearFilter, LinearMipmapNearestFilter, NearestMipmapLinearFilter, LinearMipmapLinearFilter } from '../../constants.js';
 import { RenderTarget } from '../../core/RenderTarget.js';
 import { Color } from '../../math/Color.js';
 import { Vector2 } from '../../math/Vector2.js';
 import { Vector3 } from '../../math/Vector3.js';
 import { Vector4 } from '../../math/Vector4.js';
 import { Float16BufferAttribute } from '../../core/BufferAttribute.js';
-import { IntType, UnsignedIntType, LinearFilter, LinearMipmapNearestFilter, NearestMipmapLinearFilter, LinearMipmapLinearFilter } from '../../constants.js';
 
 const rendererCache = new WeakMap();
 

+ 1 - 2
src/nodes/functions/PhongLightingModel.js

@@ -1,10 +1,9 @@
 import BasicLightingModel from './BasicLightingModel.js';
 import F_Schlick from './BSDF/F_Schlick.js';
 import BRDF_Lambert from './BSDF/BRDF_Lambert.js';
-import { diffuseColor } from '../core/PropertyNode.js';
+import { diffuseColor, shininess, specularColor } from '../core/PropertyNode.js';
 import { transformedNormalView } from '../accessors/Normal.js';
 import { materialSpecularStrength } from '../accessors/MaterialNode.js';
-import { shininess, specularColor } from '../core/PropertyNode.js';
 import { positionViewDirection } from '../accessors/Position.js';
 import { Fn, float } from '../tsl/TSLBase.js';
 

+ 1 - 2
src/objects/BatchedMesh.js

@@ -1,10 +1,9 @@
 import { BufferAttribute } from '../core/BufferAttribute.js';
 import { BufferGeometry } from '../core/BufferGeometry.js';
 import { DataTexture } from '../textures/DataTexture.js';
-import { FloatType, RedIntegerFormat, UnsignedIntType } from '../constants.js';
+import { FloatType, RedIntegerFormat, UnsignedIntType, RGBAFormat } from '../constants.js';
 import { Matrix4 } from '../math/Matrix4.js';
 import { Mesh } from './Mesh.js';
-import { RGBAFormat } from '../constants.js';
 import { ColorManagement } from '../math/ColorManagement.js';
 import { Box3 } from '../math/Box3.js';
 import { Sphere } from '../math/Sphere.js';

+ 10 - 8
src/renderers/webgpu/nodes/BasicNodeLibrary.js

@@ -2,21 +2,23 @@ import NodeLibrary from '../../common/nodes/NodeLibrary.js';
 
 // Lights
 import { PointLight } from '../../../lights/PointLight.js';
-import { PointLightNode } from '../../../nodes/Nodes.js';
 import { DirectionalLight } from '../../../lights/DirectionalLight.js';
-import { DirectionalLightNode } from '../../../nodes/Nodes.js';
 import { RectAreaLight } from '../../../lights/RectAreaLight.js';
-import { RectAreaLightNode } from '../../../nodes/Nodes.js';
 import { SpotLight } from '../../../lights/SpotLight.js';
-import { SpotLightNode } from '../../../nodes/Nodes.js';
 import { AmbientLight } from '../../../lights/AmbientLight.js';
-import { AmbientLightNode } from '../../../nodes/Nodes.js';
 import { HemisphereLight } from '../../../lights/HemisphereLight.js';
-import { HemisphereLightNode } from '../../../nodes/Nodes.js';
 import { LightProbe } from '../../../lights/LightProbe.js';
-import { LightProbeNode } from '../../../nodes/Nodes.js';
 import IESSpotLight from '../../../lights/webgpu/IESSpotLight.js';
-import { IESSpotLightNode } from '../../../nodes/Nodes.js';
+import {
+	PointLightNode,
+	DirectionalLightNode,
+	RectAreaLightNode,
+	SpotLightNode,
+	AmbientLightNode,
+	HemisphereLightNode,
+	LightProbeNode,
+	IESSpotLightNode
+} from '../../../nodes/Nodes.js';
 
 // Tone Mapping
 import { LinearToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, AgXToneMapping, NeutralToneMapping } from '../../../constants.js';

+ 10 - 8
src/renderers/webgpu/nodes/StandardNodeLibrary.js

@@ -21,21 +21,23 @@ import ShadowNodeMaterial from '../../../materials/nodes/ShadowNodeMaterial.js';
 
 // Lights
 import { PointLight } from '../../../lights/PointLight.js';
-import { PointLightNode } from '../../../nodes/Nodes.js';
 import { DirectionalLight } from '../../../lights/DirectionalLight.js';
-import { DirectionalLightNode } from '../../../nodes/Nodes.js';
 import { RectAreaLight } from '../../../lights/RectAreaLight.js';
-import { RectAreaLightNode } from '../../../nodes/Nodes.js';
 import { SpotLight } from '../../../lights/SpotLight.js';
-import { SpotLightNode } from '../../../nodes/Nodes.js';
 import { AmbientLight } from '../../../lights/AmbientLight.js';
-import { AmbientLightNode } from '../../../nodes/Nodes.js';
 import { HemisphereLight } from '../../../lights/HemisphereLight.js';
-import { HemisphereLightNode } from '../../../nodes/Nodes.js';
 import { LightProbe } from '../../../lights/LightProbe.js';
-import { LightProbeNode } from '../../../nodes/Nodes.js';
 import IESSpotLight from '../../../lights/webgpu/IESSpotLight.js';
-import { IESSpotLightNode } from '../../../nodes/Nodes.js';
+import {
+	PointLightNode,
+	DirectionalLightNode,
+	RectAreaLightNode,
+	SpotLightNode,
+	AmbientLightNode,
+	HemisphereLightNode,
+	LightProbeNode,
+	IESSpotLightNode
+} from '../../../nodes/Nodes.js';
 
 // Tone Mapping
 import { LinearToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, AgXToneMapping, NeutralToneMapping } from '../../../constants.js';

粤ICP备19079148号