lit-analyzer
lit-analyzer copied to clipboard
[no-complex-attribute-binding] Triggers when assigning serializable values to properties that include both objects and non-objects
e.g. <sl-radio value="0"> when value has type unknown, we produce the diagnostic:
You are assigning the primitive
'0'to a non-primitive typeunknown. Use '.' binding instead?
This isn't ideal, because this code should work fine (assuming that value can deserialize the attribute value '0', which I think is a reasonable responsibility to put on it) and my guess is that a static attribute will be cheaper than a dynamic property set to a constant. Certainly cheaper on update, since it's one fewer step to take.
The workaround for now is to turn these specific checks off in the vscode settings:
"lit-plugin.rules.no-complex-attribute-binding": "off",
"lit-plugin.rules.no-incompatible-type-binding": "off"