stenciljs/eslint-plugin

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

Open

#196 aberto em 26 de mar. de 2026

Ver no GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (37 forks)auto 404
Bug: ValidatedHelp Wanted

Métricas do repositório

Stars
 (71 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

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

https://github.com/pinussilvestrus/test-stencil/commit/0d943e601dd76a51bd819527802f6d6d4f77985c

Additional Information

No response

Guia do colaborador