Description
As follow-up of a discussion started in #986, is the TypeScript definition wrong?
The definition is quite huge, ~1200 lines. The main reason for this is because it prevents TS users to do things like test.serial.serial
or test.before.after
, etc. But as noted by @thejameskyle, this isn't really representing the runtime structure of AVA.
Also
test.serial.serial
is not an invalid combination. option-chain is designed so that the latter properties in the chain take precedence.
So although it looks weird and nobody should do it, it's perfectly possible and maybe shouldn't be restricted by the type definition?
These things should/can be prevented by the AVA ESLint rule. This means off course, we should create a AVA TSLint rule as well.
Just wanted to start the discussion over here. Everybody that has useful insights, feedback or whatever, feel free to chime in.