RMD046 — More than one @StableProps on one class
@StableProps("a")
@StableProps("b") // merged into the union, and reported
class Watcher extends Hook<{ a: readonly unknown[]; b: readonly unknown[] }> { … }
@StableProps names a set, and it already merges along the class chain — a subclass adds names
rather than shadowing the base's. So two on one class has an unambiguous reading, the union, and both
declarations take effect. Combine them: @StableProps("a", "b").
A warning rather than a refusal, and the difference from the two above is the union: they have none, so one declaration wins and the other silently does nothing. Here the result is exactly what you asked for, written twice — so nothing is wrong except the spelling.
A subclass declaring its own is not this. That adds to the base's list, which is the intended way to extend it.
Next
- All diagnostics — every code the framework can report.
- Checking your app — the faults proved from the source, before anything runs.