React Doctor
492 rules react-doctor@0.9.14
Complete effective rule inventory.
Rules
No enabled React Doctor rules match this search.
-
react-doctor/r3f-require-root-unmountUnmount component-owned R3F roots in React cleanup, or return an exact disposer that unmounts the root
: warning in React projects -
react-doctor/r3f-require-shadows-enabledEnable the Canvas shadows prop when descendants cast or receive real-time shadows
: warning in React projects -
react-doctor/r3f-require-transparent-for-opacityEnable transparent, alphaHash, or alphaTest when a material opacity below 1 should affect rendering
: warning in React projects -
react-doctor/r3f-require-uv-for-texture-mapAttach a uv, uv1, uv2, or uv3 BufferAttribute when a built-in mesh material samples a texture map
: error in React projects -
react-doctor/r3f-texture-repeat-requires-wrappingSet wrapS or wrapT to RepeatWrapping or MirroredRepeatWrapping when increasing repeat on that axis
: warning in React projects -
react-doctor/r3f-valid-buffer-attribute-array-lengthUse an attribute array length divisible by itemSize
: error in React projects -
react-doctor/r3f-valid-buffer-attribute-item-sizeUse a positive integer itemSize matching the number of components per vertex attribute
: error in React projects -
react-doctor/r3f-valid-fog-parametersUse non-negative fog parameters and keep linear fog far greater than near
: error in React projects -
react-doctor/r3f-valid-material-opacityKeep material opacity in the normalized [0, 1] range
: warning in React projects -
react-doctor/r3f-valid-orthographic-cameraUse distinct horizontal and vertical frustum planes and a far plane greater than near
: error in React projects -
react-doctor/r3f-valid-pbr-material-propertiesKeep meshStandardMaterial and meshPhysicalMaterial roughness and metalness in [0, 1]
: warning in React projects -
react-doctor/r3f-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/r3f-valid-physical-material-propertiesKeep meshPhysicalMaterial layer strengths and indices of refraction in their documented ranges
: warning in React projects -
react-doctor/r3f-valid-raycaster-rangeKeep raycaster near nonnegative and far greater than or equal to near
: error in React projects -
react-doctor/r3f-valid-shadow-map-sizeUse positive power-of-two shadow map dimensions within the renderer's maximum texture size
: warning in React projects -
react-doctor/r3f-valid-spot-light-propertiesKeep spotlight angle in (0, Math.PI / 2] and penumbra in [0, 1]
: warning in React projects -
react-doctor/r3f-valid-texture-color-spaceUse SRGBColorSpace for color maps and NoColorSpace for non-color material data maps
: error in React projects -
react-doctor/r3f-webgpu-canvas-prop-compatibilityUse renderer with @react-three/fiber/webgpu, gl with /legacy, and never pass both renderer APIs to one Canvas
: error in React projects -
react-doctor/r3f-webgpu-no-gl-stateRead state.renderer from the R3F WebGPU root instead of state.gl
: warning in React projects -
react-doctor/r3f-webgpu-no-high-precision-instancingDisable renderer.highPrecision for Canvas trees containing instancedMesh or skinnedMesh
: error in React projects -
react-doctor/r3f-webgpu-no-js-uniform-branchExpress uniform-dependent control flow with TSL If, select, or Loop nodes so it runs on the GPU
: warning in React projects -
react-doctor/r3f-webgpu-no-legacy-effect-composerUse the renderer's node-based post-processing pipeline instead of @react-three/postprocessing EffectComposer
: error in React projects -
react-doctor/r3f-webgpu-no-legacy-material-apiUse Three.js node materials and TSL for custom shaders rendered by the WebGPU backend
: error in React projects -
react-doctor/r3f-webgpu-no-unregistered-pipeline-passReturn custom passes from the WebGPU post-processing callback so R3F registers them in state.passes
: error in React projects -
react-doctor/r3f-webgpu-require-async-initMake the Canvas gl factory async and await renderer.init() before returning it
: error in React projects -
react-doctor/radio-input-missing-nameGive every radio in the same group the same
nameprop (e.g.<input type="radio" name="shippingSpeed" />). The browser groups radios and enables arrow-key navigation only when they share aname.: warning in React projects -
react-doctor/radix-dialog-content-requires-titleGive every Radix Dialog.Content and AlertDialog.Content a Title part (wrapped in VisuallyHidden when the design shows no heading) or name the dialog with aria-label.
: warning in React projects -
react-doctor/radix-tabs-trigger-requires-listRender each Radix Tabs.Trigger inside Tabs.List so the tablist role and roving keyboard focus cover every trigger.
: warning in React projects -
react-doctor/raw-sql-injection-riskKeep user input in driver parameters or ORM bind variables. Avoid unsafe/raw SQL helpers and string interpolation for queries.
: warning in React projects -
react-doctor/react-aria-dialog-requires-headingGive every React Aria Dialog a <Heading slot="title"> child or name the dialog with aria-label / aria-labelledby.
: warning in React projects -
react-doctor/react-markdown-unsanitized-raw-htmlAdd
rehype-sanitizetorehypePluginsor sanitize dynamic markdown before rendering.skipHtmldoes not disable HTML already parsed byrehype-raw.: warning in React projects -
react-doctor/react-router-no-nested-routerKeep one router provider at the application root.
: error in React projects -
react-doctor/react-router-no-route-module-environment-suffixKeep the route module environment-neutral and move environment-specific code into imported .client or .server modules.
: error in React projects -
react-doctor/react-router-resource-link-requires-reloadAdd reloadDocument to resource links so the browser downloads or opens the resource instead of client-routing it.
: error in React projects -
react-doctor/react-router-v8-no-meta-data-fieldRead loaderData instead of the removed data field.
: error in React projects -
react-doctor/react-router-v8-no-react-router-dom-importImport DOM-only APIs from react-router/dom and all other APIs from react-router.
: error in React projects -
react-doctor/react-router-v8-no-removed-future-flagsRemove v8 future flags; move v8_splitRouteModules to the top-level splitRouteModules option.
: error in React projects -
react-doctor/redux-useselector-inline-derivationSelect the raw slice and memoize derivation so Redux actions do not rebuild a collection and redraw this component.
: warning in React projects -
react-doctor/redux-useselector-returns-new-collectionReturn a stable selected value, split selectors, or pass
shallowEqualso every Redux action does not redraw this component.: warning in React projects -
react-doctor/remotion-calculate-metadata-fetch-signalDestructure
abortSignalfrom the calculateMetadata argument and pass it to direct fetch calls as{signal: abortSignal}.: error in React projects