feat(eslint-plugin-devtools): add rule forbidding non-null prototypes for Records
#604
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recordtypes in TS are typically used to indicate that an object may have arbitrary keys. This means that using{}or similar object literals to initialize them is a poor choice -- if user code can cause keys likehasOwnPropertyor__proto__to be used as keys on those objects, they will not behave as intended.This has been the cause of many security issues in the JS ecosystem, so let's add a lint rule to limit impact of these issues and force ourselves to stick to best practices.
Example autofixer output: mongodb-js/compass#7652
Description
Open Questions
Checklist