Release notes - SonarJS - 12.1
Feature
JS-1341 Consolidate web analysis into a single WebSensor, replacing JsTsSensor + HtmlSensor + YamlSensor + CssRuleSensor
JS-1355 Merge CssRuling and JsTsRuling into a single unified ruling test
False Positive
JS-1122 Fix FP on S2310: Array splice with compensating counter decrement pattern
JS-1154 Fix FP on S6827: Dynamic anchor content via prop spreading or component composition
JS-1178 Fix FP on S7739: JSON Schema if-then-else validation constructs
JS-1244 Fix FP on S6747: Styled-JSX jsx and global attributes flagged as unknown
JS-1255 Fix FP on S4325: Type assertions narrowing generic/union return types
JS-1301 Fix FP on S3800: Functions with consistent return types flagged as mixed
JS-1307 Fix FP on S3516: Functions with intentional invariant returns for chaining
JS-1309 Fix FP on S6544: Promise existence checks for lazy initialization patterns
JS-1310 Fix FP on S6544: async functions used for side effects with void expectation
JS-1321 Fix FP on S101: Dollar sign prefix convention for internal types not recognized
JS-1322 Fix FP on S7723: Object() used for type coercion not object creation
JS-1360 Fix FP on S1119: Labels for multi-level loop exits in nested iteration
JS-1361 Fix FP on S1119: Labels used for control flow within switch statements
JS-1364 Fix FP on S2234: MD5/crypto algorithm parameter rotation patterns
JS-1381 Fix FP on S6598: Interface used as defineEmits type argument in Vue <script setup>
JS-1386 Fix FP on S6767: Props reported unused when entire props object is passed to a helper function
JS-1387 Fix FP on S6767: Props reported unused when spread into another object or JSX element
JS-1388 Fix FP on S6767: Props reported unused when accessed via dynamic bracket notation
JS-1395 Fix FP on S1143: Void returns as guard clauses in finally blocks
JS-1396 Fix FP on S1143: Guard clause throws in finally after cleanup
Bug
JS-1429 Fix S4030: crash when linting Svelte use: directives