May 2021 (version 1.48.0)
Welcome to the new DeepScan updates. We love languages. We love improvements, too. We appreciate ECMAScript 2021 and TypeScript 4.3 and thank you for all the hardworkers.
Thank you for your continual love and support!
ECMAScript 2021 Support
Now we fully support ECMAScript 2021!
It's the best time to learn about new features in ECMAScript 2021.
TypeScript 4.3 Support
Now we fully support TypeScript 4.3!
Even though it's still in beta, it's good to know in advance.
New Rules
The following rules are introduced:
- BAD_REPLACE_ALL_ARG - Do not use a non-global
RegExp
atString.prototype.replaceAll()
- SKIPPED_ITERATION_AFTER_SPLICE - Check skipped iterations after removing elements with
Array.prototype.splice()
inside a loop
Analysis Improvements
- Support ES2021
WeakRef
- Support ES2021
FinalizationRegistry
- Support ES2021
Promise.any()
- Support ES2021
String.prototype.replaceAll()
- Support TypeScript 4.3
override
modifier - Support TypeScript 4.3
get
andset
type members - Support TypeScript 4.3 static index signature
Miscellaneous
- Lower impact to Medium for MISMATCHED_TYPE_OF_ARG alarms detected when a string is used at APIs expecting an iterable object
- Filter-out INSUFFICIENT_NULL_CHECK alarms on properties holding the
new
operator results - Improve SYNTAX_ERROR alarm messages for errors related to TypeScript modifiers
Bug Fixes
- A false alarm for SYNTAX_ERROR occurs when
BigInt
literal is used as a TypeScript literal type - A false alarm for SYNTAX_ERROR occurs when a TypeScript class method having a type parameter is named as a modifier
- A false alarm for SYNTAX_ERROR may occur when
BigInt
literal is used as a property or method name - SYNTAX_ERROR may not be reported for incorrectly ordered TypeScript modifiers
- VUE_DEPRECATED_FEATURE alarm may not be detected at method calls on
new Vue()
instance