January 2020 (version 1.33.0)
1.33.0 Update
Happy New Year!
We hope you have a great 2020 and will work hard to ensure DeepScan is your handy JavaScript tool.
Please kindly go ahead with the highlights for the latest release.
Release Summary
This version includes a number of updates that we hope you've found some of them helpful.
The key highlights are:
- New rules - Rules about React Context!
- DeepScan for GitHub Students
- Enhanced ESLint support - More ESLint plugins are supported.
New Rules
We are enhancing our rules. Check out the newly introduced rules!
- MISMATCHED_TYPE_OF_DEFAULT_VALUE - Do not set a default value with an invalid type
- REACT_BAD_CONTEXT_TYPE - Do not set an invalid value to the
contextType
property of a React component
Improved Rules
- Recognize React-specific objects like React element, context object, context provider and context consumer. This will enable detecting more alarms for REACT_MISMATCHED_TYPE_OF_ARG and REACT_MISMATCHED_TYPE_OF_PROP including invalid plain objects.
- Detect REACT_MISMATCHED_TYPE_OF_PROP alarms at the child expressions of a React element when the
children
prop type is specified
DeepScan for GitHub Students
Now we are together with the GitHub Student Developer Pack.
Providing a free trial for qualified GitHub Students, we hope to help students who want to develop and learn JavaScript enjoyably.
Good luck to the future JavaScript developers!
ESLint Integration
We have added more ESLint plugins which are missing in the analysis.
For details about ESLint analysis, see the Using ESLint.
Miscellaneous
- In the ESLint analysis, the files larger than 3MB are ignored automatically
- Recognize type annotations of outer function parameters
- Recognize React
PropTypes.node
andPropTypes.element
more precisely - Remove support for deprecated Firefox-specific APIs:
Object.prototype.watch
andObject.prototype.unwatch
Bug Fixes
- A false alarm may occur when a computed property is used at object literal
- A false alarm may occur when a property value is updated after object literal creation
- Leading and trailing whitespaces at JSX text node may not be properly removed
- Object literals assigned at
let
declaration may not be properly recognized