TL;DR: ; ESLint will no longer coerce Object to object in @typedef tags.
This does two things:
Uses the recommended-typescript-flavor config from eslint-plugin-jsdoc, which is recommended for the types-in-JavaScript set. This only disables jsdoc/no-undefined-types, which can be safely removed from the rule overrides.
Configures rule jsdoc/check-types to allow Object in @typedef tags only; see #1755 for explanation of why coercing Object to object has potentially unintended consequences but otherwise can be used interchangeably in the vast majority of circumstances.
You may read the rule docs about why it is the way it is. I find the rationale to be entirely reasonable excepting in the case of Object vs object--which is why I did not disable the rule entirely.
closes: #1755
Description
TL;DR: ; ESLint will no longer coerce
Object
toobject
in@typedef
tags.This does two things:
recommended-typescript-flavor
config fromeslint-plugin-jsdoc
, which is recommended for the types-in-JavaScript set. This only disablesjsdoc/no-undefined-types
, which can be safely removed from the rule overrides.jsdoc/check-types
to allowObject
in@typedef
tags only; see #1755 for explanation of why coercingObject
toobject
has potentially unintended consequences but otherwise can be used interchangeably in the vast majority of circumstances.You may read the rule docs about why it is the way it is. I find the rationale to be entirely reasonable excepting in the case of
Object
vsobject
--which is why I did not disable the rule entirely.Security Considerations
none
Scaling Considerations
none
Documentation Considerations
none
Testing Considerations
none
Upgrade Considerations
none