React Doctor
492 rules react-doctor@0.9.14
Complete effective rule inventory.
Rules
No enabled React Doctor rules match this search.
-
react-doctor/three-shader-no-redundant-frag-depthLet fixed-function depth supply gl_FragCoord.z when depth is unchanged
: warning in React projects -
react-doctor/three-shader-no-reserved-identifiersRename user-defined identifiers that start with gl_ or contain __
: error in React projects -
react-doctor/three-shader-no-version-directiveSet glslVersion on the material instead of writing #version in shader source
: error in React projects -
react-doctor/three-shader-prefer-small-integer-powUse explicit multiplication for powers of two, three, or four
: warning in React projects -
react-doctor/three-shader-prefer-squared-distance-comparisonCompare squared vector distance against a squared nonnegative threshold
: warning in React projects -
react-doctor/three-shader-require-compatible-uniform-valuesBind GLSL uniforms to compatible numbers, vectors, matrices, and textures
: error in React projects -
react-doctor/three-shader-require-fragment-output-on-all-pathsAssign every used fragment color output before each return and on every non-discarded path
: error in React projects -
react-doctor/three-shader-require-matching-uniformsUse the same type, array dimensions, and precision for uniforms shared by both shader stages
: error in React projects -
react-doctor/three-shader-require-matching-varyingsDeclare every statically used fragment input as a compatible vertex output with the same name
: error in React projects -
react-doctor/three-shader-require-position-on-all-pathsAssign gl_Position before every return and on every path through main
: error in React projects -
react-doctor/three-shader-require-uniform-bindingsAdd every custom GLSL uniform to the ShaderMaterial uniforms object with a compatible value
: error in React projects -
react-doctor/three-shader-valid-global-initializersRemove initializers from interface variables and initialize every const declaration
: error in React projects -
react-doctor/three-shader-valid-uniform-definitionsDefine each ShaderMaterial uniform as { value: ... } or THREE.Uniform
: error in React projects -
react-doctor/three-texture-repeat-requires-wrappingSet wrapS or wrapT to RepeatWrapping or MirroredRepeatWrapping before increasing repeat on that axis
: warning in React projects -
react-doctor/three-tsl-no-js-uniform-branchExpress uniform-dependent shader control flow with TSL If, select, or Loop nodes so it runs on the GPU
: warning in React projects -
react-doctor/three-valid-buffer-attribute-array-lengthUse an attribute array length divisible by itemSize
: error in React projects -
react-doctor/three-valid-buffer-attribute-item-sizeUse a positive integer itemSize matching the number of components per vertex attribute
: error in React projects -
react-doctor/three-valid-data-texture-data-lengthAllocate enough typed-array elements for every data-texture texel component
: error in React projects -
react-doctor/three-valid-data-texture-dimensionsUse positive integer width, height, and depth values for data textures
: error in React projects -
react-doctor/three-valid-fog-parametersUse non-negative fog parameters and keep linear fog far greater than near
: error in React projects -
react-doctor/three-valid-gpu-computation-dimensionsUse positive integer dimensions for GPU computation textures
: error in React projects -
react-doctor/three-valid-material-opacityKeep material opacity in the normalized [0, 1] range
: warning in React projects -
react-doctor/three-valid-orthographic-cameraUse distinct horizontal and vertical frustum planes and a far plane greater than near
: error in React projects -
react-doctor/three-valid-pbr-material-propertiesKeep MeshStandardMaterial and MeshPhysicalMaterial roughness and metalness in [0, 1]
: warning in React projects -
react-doctor/three-valid-perspective-cameraUse a positive aspect ratio and near plane, and keep the far plane greater than the near plane
: error in React projects -
react-doctor/three-valid-physical-material-propertiesKeep MeshPhysicalMaterial layer strengths and indices of refraction in their documented ranges
: warning in React projects -
react-doctor/three-valid-raycaster-rangeKeep raycaster near nonnegative and far greater than or equal to near
: error in React projects -
react-doctor/three-valid-shadow-map-sizeUse positive power-of-two shadow map dimensions within the renderer's maximum texture size
: warning in React projects -
react-doctor/three-valid-spot-light-propertiesKeep spotlight angle in (0, Math.PI / 2] and penumbra in [0, 1]
: warning in React projects -
react-doctor/three-valid-texture-color-spaceUse SRGBColorSpace for color maps and NoColorSpace for non-color material data maps
: error in React projects -
react-doctor/three-webgpu-no-high-precision-instancingDisable renderer.highPrecision when rendering InstancedMesh or SkinnedMesh objects
: error in React projects -
react-doctor/three-webgpu-no-legacy-effect-composerUse WebGPURenderer's node-based post-processing pipeline instead of the legacy WebGL EffectComposer
: error in React projects -
react-doctor/three-webgpu-no-legacy-material-apiUse Three.js node materials and TSL for custom shaders rendered by WebGPURenderer
: error in React projects -
react-doctor/three-webgpu-require-init-before-sync-operationAwait renderer.init() before calling synchronous WebGPU renderer methods
: error in React projects -
react-doctor/unsafe-json-in-htmlJSON.stringify does not HTML-escape, so a
</script>(or<) in the data breaks out and becomes XSS. Use an HTML-safe serializer (serialize-javascript, devalue) or escape<,>, and&, or pass data via a JSON<script type="application/json">read with JSON.parse.: warning in React projects -
react-doctor/untrusted-redirect-followingUse
redirect: "manual"or equivalent and re-validate every redirect target before following it to avoid SSRF redirect bypasses.: warning in React projects -
react-doctor/url-prefilled-privileged-actionRequire server-side validation and explicit confirmation for URL-sourced invite, role, permission, redirect, or sharing parameters.
: warning in React projects -
react-doctor/valtio-no-proxy-read-in-renderRead reactive render values from useSnapshot. Reserve the mutable proxy for event handlers, effects, and other callbacks that need the latest value.
: warning in React projects -
react-doctor/valtio-no-snapshot-in-callbackRead from the original Valtio proxy inside callbacks.
useSnapshot()results are for render reads; callback reads can become tracked render dependencies and cause extra re-renders.: warning in React projects -
react-doctor/void-dom-elements-no-childrenRemove the children or use a non-void tag so React does not drop content the element cannot render.
: warning in React projects