jsx-eslint/eslint-plugin-react

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

Open

#3786 opened on Jul 20, 2024

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

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