Open Aspyryan opened 5 months ago
I'm not sure if I agree; every optional property (with a ?
) automatically has | undefined
added to its type, so it would render the rule useless if every optional prop would not be required to have a default value then.
Hmm yea I get that, is it typescript doing the automatic undefined? can we somehow disable that and then apply the rule?
Yes it is. I don't think we can turn that off.
https://www.typescriptlang.org/tsconfig/#exactOptionalPropertyTypes
I'm using it in my projects to force an explicit undefined
on optional properties where expected.
Not sure if it helps with this exact situation, but there is support in TS for it.
One of our dependencies requires it: https://github.com/Effect-TS/effect/tree/main/packages/schema#requirements.
What rule do you want to change?
vue/require-default-prop
Does this change cause the rule to produce more or fewer warnings? Is will provide less warnings if the type is already defined as undefined.
How will the change be implemented? (New option, new default behavior, etc.)? Could be an option to not throw the error / warning when props is not required and has a undefined type set
Please provide some example code that this change will affect:
What does the rule currently do for this code? Throws a warning at the propertyName prop
What will the rule do after it's changed? Will not complain about the propertyName prop
Additional context If needed, I can look into it myself but I will need to be pointed to the correct files :)