The sonarjs/deprecation and sonarjs/arguments-order are extremely slow relative to other rules in my project. Here’s a sample timing output:
Rule | Time (ms) | Relative
:-------------------------------------------|----------:|--------:
sonarjs/deprecation | 9242.197 | 40.9%
react-hooks/react-compiler | 6057.107 | 26.8%
sonarjs/no-redundant-assignments | 1032.823 | 4.6%
sonarjs/aws-restricted-ip-admin-access | 994.943 | 4.4%
sonarjs/no-dead-store | 980.333 | 4.3%
react/display-name | 255.277 | 1.1%
@typescript-eslint/no-unnecessary-condition | 254.485 | 1.1% .tsx
react/no-direct-mutation-state | 185.699 | 0.8%
sonarjs/no-async-constructor | 180.180 | 0.8%
@typescript-eslint/no-unused-vars | 176.022 | 0.8%
After disabling sonarjs/deprecation rule sonarjs/arguments-order ended up at the top:
Rule | Time (ms) | Relative
:-------------------------------------------|----------:|--------:
react-hooks/react-compiler | 5806.225 | 30.1%
sonarjs/arguments-order | 5534.279 | 28.7%
sonarjs/no-redundant-assignments | 1093.921 | 5.7%
sonarjs/no-dead-store | 999.189 | 5.2%
sonarjs/aws-restricted-ip-admin-access | 993.906 | 5.1%
@typescript-eslint/no-unnecessary-condition | 412.534 | 2.1%
sonarjs/no-async-constructor | 287.752 | 1.5%
react/display-name | 261.780 | 1.4%
@typescript-eslint/no-floating-promises | 216.520 | 1.1%
react/no-direct-mutation-state | 203.545 | 1.1%
These are both great rules, but it seems like there may be something wrong with the implementation that is causing them to be extremely expensive performance wise.