Skip to content

bug: props-must-be-readonly reports error although mutable is set when attribute is set via constant value #196

Description

@pinussilvestrus

Prerequisites

Stencil ESLint Version

1.2.0

Current Behavior

When declaring a @Prop via enum or constant, the props-must-be-readonly is reporting an error although mutable was set to true.

@Prop({ reflect: true, attribute: Attribute.withPadding, mutable: true }) withPadding: boolean = false;

=>

  26:77  error  Class properties decorated with @Prop() should be readonly  stencil/props-must-be-readonly

In comparison, when setting the attribute directly without an enum or const, it works as expected (no error is reported)

 @Prop({ reflect: true, attribute: 'with-padding', mutable: true }) withPadding: boolean = false;

Expected Behavior

The @Prop declaration

@Prop({ reflect: true, attribute: Attribute.withPadding, mutable: true }) withPadding: boolean = false;

should not throw an error, as mutable is set to true (cf. docs).

Steps to Reproduce

  • Declare a property as above
  • Run the linting rules with props-must-be-readonly enabled

Code Reproduction URL

pinussilvestrus/test-stencil@0d943e6

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions