jsx-eslint/eslint-plugin-react

[Bug]: `prefer-read-only-props` rule doesn't work with namespaces

Open

#3,786 opened on Jul 20, 2024

View on GitHub
 (2 comments) (0 reactions) (0 assignees)JavaScript (2,797 forks)batch import
bughelp wantedtypescript

Repository metrics

Stars
 (8,630 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Is there an existing issue for this?

  • I have searched the existing issues and my issue is unique
  • My issue appears in the command-line and not only in the text editor

Description Overview

prefer-read-only-props rule should work with namespace syntax

namespace ItemsListElementSkeleton {
  export interface Props {
    withArtists?: boolean
    withPlayedAt?: boolean
    position?: number
    positionSize?: ItemPosition.Props['size']
    positionClassName?: string
    withPlaysOrPlayTime?: boolean
  }
}

function ItemsListElementSkeleton({
  position,
  positionSize,
  positionClassName,
  withArtists,
  withPlayedAt,
  withPlaysOrPlayTime,
}: ItemsListElementSkeleton.Props) {
...
}

export { ItemsListElementSkeleton }

Should throw an error

Prop '...' should be read-only.

Expected Behavior

Should throw error if props are not readonly

eslint-plugin-react version

v7.35.0

eslint version

v8.57

node version

v20.10.0

Contributor guide