eslint-plugin-sonarjs 4.0.2 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1623) hide show
  1. package/README.md +73 -76
  2. package/cjs/S100/config.js +3 -3
  3. package/cjs/S100/generated-meta.js +5 -4
  4. package/cjs/S100/index.js +3 -3
  5. package/cjs/S100/meta.js +3 -3
  6. package/cjs/S100/rule.js +3 -3
  7. package/cjs/S101/config.js +4 -4
  8. package/cjs/S101/generated-meta.js +6 -5
  9. package/cjs/S101/index.js +3 -3
  10. package/cjs/S101/meta.js +3 -3
  11. package/cjs/S101/rule.js +4 -4
  12. package/cjs/S104/config.js +3 -3
  13. package/cjs/S104/generated-meta.js +5 -4
  14. package/cjs/S104/index.js +3 -3
  15. package/cjs/S104/meta.js +3 -3
  16. package/cjs/S104/rule.js +3 -3
  17. package/cjs/S105/generated-meta.js +5 -4
  18. package/cjs/S105/index.js +3 -3
  19. package/cjs/S105/meta.js +3 -3
  20. package/cjs/S105/rule.js +3 -3
  21. package/cjs/S1066/generated-meta.js +5 -4
  22. package/cjs/S1066/index.js +3 -3
  23. package/cjs/S1066/meta.js +3 -3
  24. package/cjs/S1066/rule.js +3 -3
  25. package/cjs/S1067/config.js +3 -3
  26. package/cjs/S1067/generated-meta.js +5 -4
  27. package/cjs/S1067/index.js +3 -3
  28. package/cjs/S1067/meta.js +3 -3
  29. package/cjs/S1067/rule.js +3 -3
  30. package/cjs/S1110/generated-meta.js +5 -4
  31. package/cjs/S1110/index.js +3 -3
  32. package/cjs/S1110/meta.js +3 -3
  33. package/cjs/S1110/rule.js +3 -3
  34. package/cjs/S1119/generated-meta.js +5 -4
  35. package/cjs/S1119/index.js +3 -3
  36. package/cjs/S1119/meta.js +3 -3
  37. package/cjs/S1119/rule.js +3 -3
  38. package/cjs/S1121/generated-meta.js +5 -4
  39. package/cjs/S1121/index.js +3 -3
  40. package/cjs/S1121/meta.js +3 -3
  41. package/cjs/S1121/rule.js +3 -3
  42. package/cjs/S1125/generated-meta.js +5 -4
  43. package/cjs/S1125/index.js +3 -3
  44. package/cjs/S1125/meta.js +3 -3
  45. package/cjs/S1125/rule.js +3 -3
  46. package/cjs/S1126/generated-meta.js +5 -4
  47. package/cjs/S1126/index.js +3 -3
  48. package/cjs/S1126/meta.js +3 -3
  49. package/cjs/S1126/rule.js +29 -10
  50. package/cjs/S1128/generated-meta.js +6 -4
  51. package/cjs/S1128/index.js +3 -3
  52. package/cjs/S1128/meta.js +3 -3
  53. package/cjs/S1128/rule.js +3 -3
  54. package/cjs/S1134/generated-meta.js +5 -4
  55. package/cjs/S1134/index.js +3 -3
  56. package/cjs/S1134/meta.js +3 -3
  57. package/cjs/S1134/rule.js +3 -3
  58. package/cjs/S1135/generated-meta.js +5 -4
  59. package/cjs/S1135/index.js +3 -3
  60. package/cjs/S1135/meta.js +3 -3
  61. package/cjs/S1135/rule.js +3 -3
  62. package/cjs/S1154/generated-meta.js +5 -4
  63. package/cjs/S1154/index.js +3 -3
  64. package/cjs/S1154/meta.js +3 -3
  65. package/cjs/S1154/rule.js +24 -5
  66. package/cjs/S117/config.js +3 -3
  67. package/cjs/S117/generated-meta.js +5 -4
  68. package/cjs/S117/index.js +3 -3
  69. package/cjs/S117/meta.js +3 -3
  70. package/cjs/S117/rule.js +3 -3
  71. package/cjs/S1172/generated-meta.js +5 -4
  72. package/cjs/S1172/index.js +3 -3
  73. package/cjs/S1172/meta.js +3 -3
  74. package/cjs/S1172/rule.js +3 -3
  75. package/cjs/S1192/config.js +3 -3
  76. package/cjs/S1192/generated-meta.js +5 -4
  77. package/cjs/S1192/index.js +3 -3
  78. package/cjs/S1192/meta.js +3 -3
  79. package/cjs/S1192/rule.js +5 -5
  80. package/cjs/S1219/generated-meta.js +5 -4
  81. package/cjs/S1219/index.js +3 -3
  82. package/cjs/S1219/meta.js +3 -3
  83. package/cjs/S1219/rule.js +3 -3
  84. package/cjs/S1226/generated-meta.js +5 -4
  85. package/cjs/S1226/index.js +3 -3
  86. package/cjs/S1226/meta.js +3 -3
  87. package/cjs/S1226/rule.js +3 -3
  88. package/cjs/S124/config.js +3 -3
  89. package/cjs/S124/generated-meta.js +5 -4
  90. package/cjs/S124/index.js +3 -3
  91. package/cjs/S124/meta.js +3 -3
  92. package/cjs/S124/rule.js +3 -3
  93. package/cjs/{S2255 → S1244}/generated-meta.js +11 -10
  94. package/cjs/{S4784 → S1244}/index.js +3 -3
  95. package/cjs/{S4817 → S1244}/meta.js +4 -4
  96. package/cjs/S1244/rule.js +265 -0
  97. package/cjs/S125/generated-meta.js +6 -5
  98. package/cjs/S125/index.js +3 -3
  99. package/cjs/S125/meta.js +3 -3
  100. package/cjs/S125/rule.js +67 -20
  101. package/cjs/S126/generated-meta.js +5 -4
  102. package/cjs/S126/index.js +3 -3
  103. package/cjs/S126/meta.js +3 -3
  104. package/cjs/S126/rule.js +3 -3
  105. package/cjs/S1264/generated-meta.js +5 -4
  106. package/cjs/S1264/index.js +3 -3
  107. package/cjs/S1264/meta.js +3 -3
  108. package/cjs/S1264/rule.js +3 -3
  109. package/cjs/S128/generated-meta.js +5 -4
  110. package/cjs/S128/index.js +3 -3
  111. package/cjs/S128/meta.js +3 -3
  112. package/cjs/S128/rule.js +3 -3
  113. package/cjs/S1291/generated-meta.js +5 -4
  114. package/cjs/S1291/index.js +3 -3
  115. package/cjs/S1291/meta.js +3 -3
  116. package/cjs/S1291/rule.js +3 -3
  117. package/cjs/S1301/generated-meta.js +6 -5
  118. package/cjs/S1301/index.js +3 -3
  119. package/cjs/S1301/meta.js +3 -3
  120. package/cjs/S1301/rule.js +141 -3
  121. package/cjs/S1313/generated-meta.js +7 -6
  122. package/cjs/S1313/index.js +3 -3
  123. package/cjs/S1313/meta.js +3 -3
  124. package/cjs/S1313/rule.js +3 -3
  125. package/cjs/S134/config.js +4 -4
  126. package/cjs/S134/generated-meta.js +5 -4
  127. package/cjs/S134/index.js +3 -3
  128. package/cjs/S134/meta.js +3 -3
  129. package/cjs/S134/rule.js +3 -3
  130. package/cjs/S135/generated-meta.js +5 -4
  131. package/cjs/S135/index.js +3 -3
  132. package/cjs/S135/meta.js +3 -3
  133. package/cjs/S135/rule.js +3 -3
  134. package/cjs/S138/config.js +3 -3
  135. package/cjs/S138/generated-meta.js +5 -4
  136. package/cjs/S138/index.js +3 -3
  137. package/cjs/S138/meta.js +3 -3
  138. package/cjs/S138/rule.js +3 -3
  139. package/cjs/S1439/generated-meta.js +5 -4
  140. package/cjs/S1439/index.js +3 -3
  141. package/cjs/S1439/meta.js +3 -3
  142. package/cjs/S1439/rule.js +3 -3
  143. package/cjs/S1444/generated-meta.js +5 -4
  144. package/cjs/S1444/index.js +3 -3
  145. package/cjs/S1444/meta.js +3 -3
  146. package/cjs/S1444/rule.js +3 -3
  147. package/cjs/S1451/config.js +3 -3
  148. package/cjs/S1451/generated-meta.js +5 -4
  149. package/cjs/S1451/index.js +3 -3
  150. package/cjs/S1451/meta.js +3 -3
  151. package/cjs/S1451/rule.js +3 -3
  152. package/cjs/S1472/generated-meta.js +5 -4
  153. package/cjs/S1472/index.js +3 -3
  154. package/cjs/S1472/meta.js +3 -3
  155. package/cjs/S1472/rule.js +3 -3
  156. package/cjs/S1479/config.js +3 -3
  157. package/cjs/S1479/generated-meta.js +5 -4
  158. package/cjs/S1479/index.js +3 -3
  159. package/cjs/S1479/meta.js +3 -3
  160. package/cjs/S1479/rule.js +3 -3
  161. package/cjs/S1481/generated-meta.js +5 -4
  162. package/cjs/S1481/index.js +3 -3
  163. package/cjs/S1481/meta.js +3 -3
  164. package/cjs/S1481/rule.js +3 -3
  165. package/cjs/S1488/generated-meta.js +5 -4
  166. package/cjs/S1488/index.js +3 -3
  167. package/cjs/S1488/meta.js +3 -3
  168. package/cjs/S1488/rule.js +3 -3
  169. package/cjs/S1515/generated-meta.js +5 -4
  170. package/cjs/S1515/index.js +3 -3
  171. package/cjs/S1515/meta.js +3 -3
  172. package/cjs/S1515/rule.js +3 -3
  173. package/cjs/S1523/generated-meta.js +6 -5
  174. package/cjs/S1523/index.js +3 -3
  175. package/cjs/S1523/meta.js +3 -3
  176. package/cjs/S1523/rule.js +3 -3
  177. package/cjs/S1526/generated-meta.js +5 -4
  178. package/cjs/S1526/index.js +3 -3
  179. package/cjs/S1526/meta.js +3 -3
  180. package/cjs/S1526/rule.js +3 -3
  181. package/cjs/S1527/generated-meta.js +5 -4
  182. package/cjs/S1527/index.js +3 -3
  183. package/cjs/S1527/meta.js +3 -3
  184. package/cjs/S1527/rule.js +3 -3
  185. package/cjs/S1528/generated-meta.js +5 -4
  186. package/cjs/S1528/index.js +3 -3
  187. package/cjs/S1528/meta.js +3 -3
  188. package/cjs/S1529/generated-meta.js +5 -4
  189. package/cjs/S1529/index.js +3 -3
  190. package/cjs/S1529/meta.js +3 -3
  191. package/cjs/S1529/rule.js +3 -3
  192. package/cjs/S1530/generated-meta.js +5 -4
  193. package/cjs/S1530/index.js +3 -3
  194. package/cjs/S1530/meta.js +3 -3
  195. package/cjs/S1530/rule.js +3 -3
  196. package/cjs/S1533/generated-meta.js +5 -4
  197. package/cjs/S1533/index.js +3 -3
  198. package/cjs/S1533/meta.js +3 -3
  199. package/cjs/S1533/rule.js +3 -3
  200. package/cjs/S1535/generated-meta.js +5 -4
  201. package/cjs/S1535/index.js +3 -3
  202. package/cjs/S1535/meta.js +3 -3
  203. package/cjs/S1535/rule.js +3 -3
  204. package/cjs/S1541/config.js +3 -3
  205. package/cjs/S1541/generated-meta.js +5 -4
  206. package/cjs/S1541/index.js +3 -3
  207. package/cjs/S1541/meta.js +3 -3
  208. package/cjs/S1541/rule.js +3 -3
  209. package/cjs/S1607/generated-meta.js +5 -4
  210. package/cjs/S1607/index.js +3 -3
  211. package/cjs/S1607/meta.js +3 -3
  212. package/cjs/S1607/rule.js +75 -10
  213. package/cjs/S1764/generated-meta.js +5 -4
  214. package/cjs/S1764/index.js +3 -3
  215. package/cjs/S1764/meta.js +3 -3
  216. package/cjs/S1764/rule.js +3 -3
  217. package/cjs/S1821/generated-meta.js +5 -4
  218. package/cjs/S1821/index.js +3 -3
  219. package/cjs/S1821/meta.js +3 -3
  220. package/cjs/S1821/rule.js +3 -3
  221. package/cjs/S1848/generated-meta.js +5 -4
  222. package/cjs/S1848/index.js +3 -3
  223. package/cjs/S1848/meta.js +3 -3
  224. package/cjs/S1848/rule.js +3 -3
  225. package/cjs/S1854/generated-meta.js +5 -4
  226. package/cjs/S1854/index.js +3 -3
  227. package/cjs/S1854/meta.js +3 -3
  228. package/cjs/S1854/rule.js +3 -3
  229. package/cjs/S1862/generated-meta.js +5 -4
  230. package/cjs/S1862/index.js +3 -3
  231. package/cjs/S1862/meta.js +3 -3
  232. package/cjs/S1862/rule.js +3 -3
  233. package/cjs/S1871/generated-meta.js +5 -4
  234. package/cjs/S1871/index.js +3 -3
  235. package/cjs/S1871/meta.js +3 -3
  236. package/cjs/S1871/rule.js +3 -3
  237. package/cjs/S1874/generated-meta.js +5 -4
  238. package/cjs/S1874/index.js +3 -3
  239. package/cjs/S1874/meta.js +3 -3
  240. package/cjs/S1874/rule.js +3 -3
  241. package/cjs/S1940/generated-meta.js +5 -4
  242. package/cjs/S1940/index.js +3 -3
  243. package/cjs/S1940/meta.js +3 -3
  244. package/cjs/S1940/rule.js +3 -3
  245. package/cjs/S1994/generated-meta.js +5 -4
  246. package/cjs/S1994/index.js +3 -3
  247. package/cjs/S1994/meta.js +3 -3
  248. package/cjs/S1994/rule.js +3 -3
  249. package/cjs/S2004/config.js +3 -3
  250. package/cjs/S2004/generated-meta.js +5 -4
  251. package/cjs/S2004/index.js +3 -3
  252. package/cjs/S2004/meta.js +3 -3
  253. package/cjs/S2004/rule.js +3 -3
  254. package/cjs/S2068/config.js +3 -3
  255. package/cjs/S2068/generated-meta.js +5 -4
  256. package/cjs/S2068/index.js +3 -3
  257. package/cjs/S2068/meta.js +3 -3
  258. package/cjs/S2068/rule.js +28 -18
  259. package/cjs/S2077/generated-meta.js +6 -5
  260. package/cjs/S2077/index.js +3 -3
  261. package/cjs/S2077/meta.js +3 -3
  262. package/cjs/S2077/rule.js +35 -3
  263. package/cjs/S2092/generated-meta.js +6 -5
  264. package/cjs/S2092/index.js +3 -3
  265. package/cjs/S2092/meta.js +3 -3
  266. package/cjs/S2092/rule.js +3 -3
  267. package/cjs/S2123/generated-meta.js +5 -4
  268. package/cjs/S2123/index.js +3 -3
  269. package/cjs/S2123/meta.js +3 -3
  270. package/cjs/S2123/rule.js +3 -3
  271. package/cjs/S2137/generated-meta.js +5 -4
  272. package/cjs/S2137/index.js +3 -3
  273. package/cjs/S2137/meta.js +3 -3
  274. package/cjs/S2137/rule.js +3 -3
  275. package/cjs/S2138/generated-meta.js +5 -4
  276. package/cjs/S2138/index.js +3 -3
  277. package/cjs/S2138/meta.js +3 -3
  278. package/cjs/S2138/rule.js +3 -3
  279. package/cjs/S2187/generated-meta.js +5 -4
  280. package/cjs/S2187/index.js +3 -3
  281. package/cjs/S2187/meta.js +3 -3
  282. package/cjs/S2187/rule.js +53 -16
  283. package/cjs/S2201/generated-meta.js +5 -4
  284. package/cjs/S2201/index.js +3 -3
  285. package/cjs/S2201/meta.js +3 -3
  286. package/cjs/S2201/rule.js +3 -3
  287. package/cjs/S2208/generated-meta.js +6 -4
  288. package/cjs/S2208/index.js +3 -3
  289. package/cjs/S2208/meta.js +3 -3
  290. package/cjs/S2208/rule.js +3 -3
  291. package/cjs/S2234/generated-meta.js +5 -4
  292. package/cjs/S2234/index.js +3 -3
  293. package/cjs/S2234/meta.js +3 -3
  294. package/cjs/S2234/rule.js +148 -5
  295. package/cjs/S2245/generated-meta.js +6 -5
  296. package/cjs/S2245/index.js +3 -3
  297. package/cjs/S2245/meta.js +3 -3
  298. package/cjs/S2245/rule.js +3 -3
  299. package/cjs/S2251/generated-meta.js +5 -4
  300. package/cjs/S2251/index.js +3 -3
  301. package/cjs/S2251/meta.js +3 -3
  302. package/cjs/S2251/rule.js +3 -3
  303. package/cjs/S2259/generated-meta.js +5 -4
  304. package/cjs/S2259/index.js +3 -3
  305. package/cjs/S2259/meta.js +3 -3
  306. package/cjs/S2259/rule.js +3 -3
  307. package/cjs/S2301/generated-meta.js +5 -4
  308. package/cjs/S2301/index.js +3 -3
  309. package/cjs/S2301/meta.js +3 -3
  310. package/cjs/S2301/rule.js +10 -4
  311. package/cjs/S2310/generated-meta.js +5 -4
  312. package/cjs/S2310/index.js +3 -3
  313. package/cjs/S2310/meta.js +3 -3
  314. package/cjs/S2310/rule.js +3 -3
  315. package/cjs/S2392/generated-meta.js +5 -4
  316. package/cjs/S2392/index.js +3 -3
  317. package/cjs/S2392/meta.js +3 -3
  318. package/cjs/S2392/rule.js +44 -3
  319. package/cjs/S2424/generated-meta.js +5 -4
  320. package/cjs/S2424/index.js +3 -3
  321. package/cjs/S2424/meta.js +3 -3
  322. package/cjs/S2424/rule.js +3 -3
  323. package/cjs/S2428/generated-meta.js +5 -4
  324. package/cjs/S2428/index.js +3 -3
  325. package/cjs/S2428/meta.js +3 -3
  326. package/cjs/S2428/rule.js +3 -3
  327. package/cjs/S2486/generated-meta.js +5 -4
  328. package/cjs/S2486/index.js +3 -3
  329. package/cjs/S2486/meta.js +3 -3
  330. package/cjs/S2486/rule.js +3 -3
  331. package/cjs/S2589/generated-meta.js +5 -4
  332. package/cjs/S2589/index.js +3 -3
  333. package/cjs/S2589/meta.js +3 -3
  334. package/cjs/S2589/rule.js +3 -3
  335. package/cjs/S2598/generated-meta.js +5 -4
  336. package/cjs/S2598/index.js +3 -3
  337. package/cjs/S2598/meta.js +3 -3
  338. package/cjs/S2598/rule.js +3 -3
  339. package/cjs/S2612/generated-meta.js +5 -4
  340. package/cjs/S2612/index.js +3 -3
  341. package/cjs/S2612/meta.js +3 -3
  342. package/cjs/S2612/rule.js +3 -3
  343. package/cjs/S2639/generated-meta.js +5 -4
  344. package/cjs/S2639/index.js +3 -3
  345. package/cjs/S2639/meta.js +3 -3
  346. package/cjs/S2639/rule.js +3 -3
  347. package/cjs/S2681/generated-meta.js +5 -4
  348. package/cjs/S2681/index.js +3 -3
  349. package/cjs/S2681/meta.js +3 -3
  350. package/cjs/S2681/rule.js +3 -3
  351. package/cjs/S2692/generated-meta.js +5 -4
  352. package/cjs/S2692/index.js +3 -3
  353. package/cjs/S2692/meta.js +3 -3
  354. package/cjs/S2692/rule.js +3 -3
  355. package/cjs/S2699/generated-meta.js +5 -4
  356. package/cjs/S2699/index.js +3 -3
  357. package/cjs/S2699/meta.js +3 -3
  358. package/cjs/S2699/rule.js +19 -5
  359. package/cjs/S2703/generated-meta.js +5 -4
  360. package/cjs/S2703/index.js +3 -3
  361. package/cjs/S2703/meta.js +3 -3
  362. package/cjs/S2703/rule.js +3 -3
  363. package/cjs/S2737/generated-meta.js +5 -4
  364. package/cjs/S2737/index.js +3 -3
  365. package/cjs/S2737/meta.js +3 -3
  366. package/cjs/S2737/rule.js +3 -3
  367. package/cjs/S2755/generated-meta.js +5 -4
  368. package/cjs/S2755/index.js +3 -3
  369. package/cjs/S2755/meta.js +3 -3
  370. package/cjs/S2755/rule.js +3 -3
  371. package/cjs/S2757/generated-meta.js +5 -4
  372. package/cjs/S2757/index.js +3 -3
  373. package/cjs/S2757/meta.js +3 -3
  374. package/cjs/S2757/rule.js +3 -3
  375. package/cjs/S2817/generated-meta.js +5 -4
  376. package/cjs/S2817/index.js +3 -3
  377. package/cjs/S2817/meta.js +3 -3
  378. package/cjs/S2817/rule.js +3 -3
  379. package/cjs/S2819/generated-meta.js +5 -4
  380. package/cjs/S2819/index.js +3 -3
  381. package/cjs/S2819/meta.js +3 -3
  382. package/cjs/S2819/rule.js +3 -3
  383. package/cjs/S2870/generated-meta.js +5 -4
  384. package/cjs/S2870/index.js +3 -3
  385. package/cjs/S2870/meta.js +3 -3
  386. package/cjs/S2870/rule.js +3 -3
  387. package/cjs/S2871/generated-meta.js +5 -4
  388. package/cjs/S2871/index.js +3 -3
  389. package/cjs/S2871/meta.js +3 -3
  390. package/cjs/S2871/rule.js +88 -4
  391. package/cjs/S2970/generated-meta.js +5 -4
  392. package/cjs/S2970/index.js +3 -3
  393. package/cjs/S2970/meta.js +3 -3
  394. package/cjs/S2970/rule.js +3 -3
  395. package/cjs/S2990/generated-meta.js +5 -4
  396. package/cjs/S2990/index.js +3 -3
  397. package/cjs/S2990/meta.js +3 -3
  398. package/cjs/S2990/rule.js +3 -3
  399. package/cjs/S2999/config.js +3 -3
  400. package/cjs/S2999/generated-meta.js +5 -4
  401. package/cjs/S2999/index.js +3 -3
  402. package/cjs/S2999/meta.js +3 -3
  403. package/cjs/S2999/rule.js +3 -3
  404. package/cjs/S3001/generated-meta.js +5 -4
  405. package/cjs/S3001/index.js +3 -3
  406. package/cjs/S3001/meta.js +3 -3
  407. package/cjs/S3001/rule.js +3 -3
  408. package/cjs/S3003/generated-meta.js +5 -4
  409. package/cjs/S3003/index.js +3 -3
  410. package/cjs/S3003/meta.js +3 -3
  411. package/cjs/S3003/rule.js +3 -3
  412. package/cjs/S3317/generated-meta.js +6 -4
  413. package/cjs/S3317/index.js +3 -3
  414. package/cjs/S3317/meta.js +3 -3
  415. package/cjs/S3317/rule.js +3 -3
  416. package/cjs/S3330/generated-meta.js +6 -5
  417. package/cjs/S3330/index.js +3 -3
  418. package/cjs/S3330/meta.js +3 -3
  419. package/cjs/S3330/rule.js +3 -3
  420. package/cjs/S3358/generated-meta.js +5 -4
  421. package/cjs/S3358/index.js +3 -3
  422. package/cjs/S3358/meta.js +3 -3
  423. package/cjs/S3358/rule.js +3 -3
  424. package/cjs/S3402/generated-meta.js +5 -4
  425. package/cjs/S3402/index.js +3 -3
  426. package/cjs/S3402/meta.js +3 -3
  427. package/cjs/S3402/rule.js +3 -3
  428. package/cjs/S3403/generated-meta.js +5 -4
  429. package/cjs/S3403/index.js +3 -3
  430. package/cjs/S3403/meta.js +3 -3
  431. package/cjs/S3403/rule.js +24 -4
  432. package/cjs/S3415/generated-meta.js +5 -4
  433. package/cjs/S3415/index.js +3 -3
  434. package/cjs/S3415/meta.js +3 -3
  435. package/cjs/S3415/rule.js +3 -3
  436. package/cjs/S3499/generated-meta.js +6 -4
  437. package/cjs/S3499/index.js +3 -3
  438. package/cjs/S3499/meta.js +3 -3
  439. package/cjs/S3499/rule.js +3 -3
  440. package/cjs/S3500/generated-meta.js +6 -4
  441. package/cjs/S3500/index.js +3 -3
  442. package/cjs/S3500/meta.js +3 -3
  443. package/cjs/S3500/rule.js +3 -3
  444. package/cjs/S3513/generated-meta.js +6 -4
  445. package/cjs/S3513/index.js +3 -3
  446. package/cjs/S3513/meta.js +3 -3
  447. package/cjs/S3513/rule.js +3 -3
  448. package/cjs/S3514/generated-meta.js +6 -4
  449. package/cjs/S3514/index.js +3 -3
  450. package/cjs/S3514/meta.js +3 -3
  451. package/cjs/S3514/rule.js +3 -3
  452. package/cjs/S3516/generated-meta.js +5 -4
  453. package/cjs/S3516/index.js +3 -3
  454. package/cjs/S3516/meta.js +3 -3
  455. package/cjs/S3516/rule.js +102 -3
  456. package/cjs/S3524/config.js +3 -3
  457. package/cjs/S3524/generated-meta.js +6 -4
  458. package/cjs/S3524/index.js +3 -3
  459. package/cjs/S3524/meta.js +3 -3
  460. package/cjs/S3524/rule.js +3 -3
  461. package/cjs/S3525/generated-meta.js +6 -4
  462. package/cjs/S3525/index.js +3 -3
  463. package/cjs/S3525/meta.js +3 -3
  464. package/cjs/S3525/rule.js +3 -3
  465. package/cjs/S3531/generated-meta.js +6 -4
  466. package/cjs/S3531/index.js +3 -3
  467. package/cjs/S3531/meta.js +3 -3
  468. package/cjs/S3531/rule.js +3 -3
  469. package/cjs/S3533/generated-meta.js +6 -4
  470. package/cjs/S3533/index.js +3 -3
  471. package/cjs/S3533/meta.js +3 -3
  472. package/cjs/S3533/rule.js +3 -3
  473. package/cjs/S3579/generated-meta.js +5 -4
  474. package/cjs/S3579/index.js +3 -3
  475. package/cjs/S3579/meta.js +3 -3
  476. package/cjs/S3579/rule.js +3 -3
  477. package/cjs/S3616/generated-meta.js +5 -4
  478. package/cjs/S3616/index.js +3 -3
  479. package/cjs/S3616/meta.js +3 -3
  480. package/cjs/S3616/rule.js +3 -3
  481. package/cjs/S3626/generated-meta.js +5 -4
  482. package/cjs/S3626/index.js +3 -3
  483. package/cjs/S3626/meta.js +3 -3
  484. package/cjs/S3626/rule.js +4 -4
  485. package/cjs/S3686/generated-meta.js +5 -4
  486. package/cjs/S3686/index.js +3 -3
  487. package/cjs/S3686/meta.js +3 -3
  488. package/cjs/S3686/rule.js +3 -3
  489. package/cjs/S3699/generated-meta.js +5 -4
  490. package/cjs/S3699/index.js +3 -3
  491. package/cjs/S3699/meta.js +3 -3
  492. package/cjs/S3699/rule.js +4 -4
  493. package/cjs/S3735/generated-meta.js +5 -4
  494. package/cjs/S3735/index.js +3 -3
  495. package/cjs/S3735/meta.js +3 -3
  496. package/cjs/S3735/rule.js +3 -3
  497. package/cjs/S3757/generated-meta.js +5 -4
  498. package/cjs/S3757/index.js +3 -3
  499. package/cjs/S3757/meta.js +3 -3
  500. package/cjs/S3757/rule.js +6 -4
  501. package/cjs/S3758/generated-meta.js +5 -4
  502. package/cjs/S3758/index.js +3 -3
  503. package/cjs/S3758/meta.js +3 -3
  504. package/cjs/S3758/rule.js +3 -3
  505. package/cjs/S3760/generated-meta.js +5 -4
  506. package/cjs/S3760/index.js +3 -3
  507. package/cjs/S3760/meta.js +3 -3
  508. package/cjs/S3760/rule.js +3 -3
  509. package/cjs/S3776/config.js +3 -3
  510. package/cjs/S3776/generated-meta.js +5 -4
  511. package/cjs/S3776/index.js +3 -3
  512. package/cjs/S3776/meta.js +12 -4
  513. package/cjs/S3776/rule.js +13 -16
  514. package/cjs/S3782/generated-meta.js +5 -4
  515. package/cjs/S3782/index.js +3 -3
  516. package/cjs/S3782/meta.js +3 -3
  517. package/cjs/S3782/rule.js +4 -4
  518. package/cjs/S3785/generated-meta.js +5 -4
  519. package/cjs/S3785/index.js +3 -3
  520. package/cjs/S3785/meta.js +3 -3
  521. package/cjs/S3785/rule.js +3 -3
  522. package/cjs/S3796/generated-meta.js +5 -4
  523. package/cjs/S3796/index.js +3 -3
  524. package/cjs/S3796/meta.js +3 -3
  525. package/cjs/S3796/rule.js +3 -3
  526. package/cjs/S3798/generated-meta.js +5 -4
  527. package/cjs/S3798/index.js +3 -3
  528. package/cjs/S3798/meta.js +3 -3
  529. package/cjs/S3798/rule.js +57 -17
  530. package/cjs/S3800/generated-meta.js +5 -4
  531. package/cjs/S3800/index.js +3 -3
  532. package/cjs/S3800/meta.js +3 -3
  533. package/cjs/S3800/rule.js +3 -3
  534. package/cjs/S3801/generated-meta.js +5 -4
  535. package/cjs/S3801/index.js +3 -3
  536. package/cjs/S3801/meta.js +3 -3
  537. package/cjs/S3801/rule.js +3 -3
  538. package/cjs/S3827/generated-meta.js +5 -4
  539. package/cjs/S3827/index.js +3 -3
  540. package/cjs/S3827/meta.js +3 -3
  541. package/cjs/S3923/generated-meta.js +5 -4
  542. package/cjs/S3923/index.js +3 -3
  543. package/cjs/S3923/meta.js +3 -3
  544. package/cjs/S3923/rule.js +3 -3
  545. package/cjs/S3972/generated-meta.js +5 -4
  546. package/cjs/S3972/index.js +3 -3
  547. package/cjs/S3972/meta.js +3 -3
  548. package/cjs/S3972/rule.js +3 -3
  549. package/cjs/S3973/generated-meta.js +5 -4
  550. package/cjs/S3973/index.js +3 -3
  551. package/cjs/S3973/meta.js +3 -3
  552. package/cjs/S3973/rule.js +3 -3
  553. package/cjs/S3981/generated-meta.js +5 -4
  554. package/cjs/S3981/index.js +3 -3
  555. package/cjs/S3981/meta.js +3 -3
  556. package/cjs/S3981/rule.js +3 -3
  557. package/cjs/S3984/generated-meta.js +5 -4
  558. package/cjs/S3984/index.js +3 -3
  559. package/cjs/S3984/meta.js +3 -3
  560. package/cjs/S3984/rule.js +3 -3
  561. package/cjs/S4030/generated-meta.js +5 -4
  562. package/cjs/S4030/index.js +3 -3
  563. package/cjs/S4030/meta.js +3 -3
  564. package/cjs/S4030/rule.js +5 -5
  565. package/cjs/S4036/generated-meta.js +6 -5
  566. package/cjs/S4036/index.js +3 -3
  567. package/cjs/S4036/meta.js +3 -3
  568. package/cjs/S4036/rule.js +4 -4
  569. package/cjs/S4043/generated-meta.js +5 -4
  570. package/cjs/S4043/index.js +3 -3
  571. package/cjs/S4043/meta.js +3 -3
  572. package/cjs/S4043/rule.js +3 -3
  573. package/cjs/S4139/generated-meta.js +5 -4
  574. package/cjs/S4139/index.js +3 -3
  575. package/cjs/S4139/meta.js +3 -3
  576. package/cjs/S4139/rule.js +3 -3
  577. package/cjs/S4143/generated-meta.js +5 -4
  578. package/cjs/S4143/index.js +3 -3
  579. package/cjs/S4143/meta.js +3 -3
  580. package/cjs/S4143/rule.js +3 -3
  581. package/cjs/S4144/config.js +3 -3
  582. package/cjs/S4144/generated-meta.js +5 -4
  583. package/cjs/S4144/index.js +3 -3
  584. package/cjs/S4144/meta.js +3 -3
  585. package/cjs/S4144/rule.js +3 -3
  586. package/cjs/S4158/generated-meta.js +5 -4
  587. package/cjs/S4158/index.js +3 -3
  588. package/cjs/S4158/meta.js +3 -3
  589. package/cjs/S4158/rule.js +4 -4
  590. package/cjs/S4165/generated-meta.js +5 -4
  591. package/cjs/S4165/index.js +3 -3
  592. package/cjs/S4165/meta.js +3 -3
  593. package/cjs/S4165/rule.js +3 -3
  594. package/cjs/S4322/generated-meta.js +5 -4
  595. package/cjs/S4322/index.js +3 -3
  596. package/cjs/S4322/meta.js +3 -3
  597. package/cjs/S4322/rule.js +3 -3
  598. package/cjs/S4323/generated-meta.js +5 -4
  599. package/cjs/S4323/index.js +3 -3
  600. package/cjs/S4323/meta.js +3 -3
  601. package/cjs/S4323/rule.js +3 -3
  602. package/cjs/S4324/generated-meta.js +5 -4
  603. package/cjs/S4324/index.js +3 -3
  604. package/cjs/S4324/meta.js +3 -3
  605. package/cjs/S4324/rule.js +3 -3
  606. package/cjs/S4328/config.js +3 -3
  607. package/cjs/S4328/generated-meta.js +5 -4
  608. package/cjs/S4328/index.js +3 -3
  609. package/cjs/S4328/meta.js +3 -3
  610. package/cjs/S4328/rule.js +10 -5
  611. package/cjs/S4335/generated-meta.js +5 -4
  612. package/cjs/S4335/index.js +3 -3
  613. package/cjs/S4335/meta.js +3 -3
  614. package/cjs/S4335/rule.js +3 -3
  615. package/cjs/S4423/generated-meta.js +5 -4
  616. package/cjs/S4423/index.js +3 -3
  617. package/cjs/S4423/meta.js +3 -3
  618. package/cjs/S4423/rule.aws.js +3 -3
  619. package/cjs/S4423/rule.js +3 -3
  620. package/cjs/S4423/rule.lib.js +3 -3
  621. package/cjs/S4426/generated-meta.js +5 -4
  622. package/cjs/S4426/index.js +3 -3
  623. package/cjs/S4426/meta.js +3 -3
  624. package/cjs/S4426/rule.js +3 -3
  625. package/cjs/S4502/generated-meta.js +6 -5
  626. package/cjs/S4502/index.js +3 -3
  627. package/cjs/S4502/meta.js +3 -3
  628. package/cjs/S4502/rule.js +3 -3
  629. package/cjs/S4507/generated-meta.js +6 -5
  630. package/cjs/S4507/index.js +3 -3
  631. package/cjs/S4507/meta.js +3 -3
  632. package/cjs/S4507/rule.js +3 -3
  633. package/cjs/S4524/generated-meta.js +5 -4
  634. package/cjs/S4524/index.js +3 -3
  635. package/cjs/S4524/meta.js +3 -3
  636. package/cjs/S4524/rule.js +3 -3
  637. package/cjs/S4619/generated-meta.js +5 -4
  638. package/cjs/S4619/index.js +3 -3
  639. package/cjs/S4619/meta.js +3 -3
  640. package/cjs/S4619/rule.js +3 -3
  641. package/cjs/S4621/generated-meta.js +5 -4
  642. package/cjs/S4621/index.js +3 -3
  643. package/cjs/S4621/meta.js +3 -3
  644. package/cjs/S4621/rule.js +3 -3
  645. package/cjs/S4622/config.js +3 -3
  646. package/cjs/S4622/generated-meta.js +5 -4
  647. package/cjs/S4622/index.js +3 -3
  648. package/cjs/S4622/meta.js +3 -3
  649. package/cjs/S4622/rule.js +3 -3
  650. package/cjs/S4623/generated-meta.js +5 -4
  651. package/cjs/S4623/index.js +3 -3
  652. package/cjs/S4623/meta.js +3 -3
  653. package/cjs/S4623/rule.js +3 -3
  654. package/cjs/S4624/generated-meta.js +6 -4
  655. package/cjs/S4624/index.js +3 -3
  656. package/cjs/S4624/meta.js +3 -3
  657. package/cjs/S4624/rule.js +5 -10
  658. package/cjs/S4634/generated-meta.js +6 -4
  659. package/cjs/S4634/index.js +3 -3
  660. package/cjs/S4634/meta.js +3 -3
  661. package/cjs/S4634/rule.js +3 -3
  662. package/cjs/S4721/generated-meta.js +8 -7
  663. package/cjs/S4721/index.js +3 -3
  664. package/cjs/S4721/meta.js +3 -3
  665. package/cjs/S4721/rule.js +3 -3
  666. package/cjs/S4782/generated-meta.js +5 -4
  667. package/cjs/S4782/index.js +3 -3
  668. package/cjs/S4782/meta.js +3 -3
  669. package/cjs/S4782/rule.js +99 -17
  670. package/cjs/S4790/generated-meta.js +6 -5
  671. package/cjs/S4790/index.js +3 -3
  672. package/cjs/S4790/meta.js +3 -3
  673. package/cjs/S4790/rule.js +220 -5
  674. package/cjs/S4798/generated-meta.js +5 -4
  675. package/cjs/S4798/index.js +3 -3
  676. package/cjs/S4798/meta.js +3 -3
  677. package/cjs/S4798/rule.js +3 -3
  678. package/cjs/S4822/generated-meta.js +6 -4
  679. package/cjs/S4822/index.js +3 -3
  680. package/cjs/S4822/meta.js +3 -3
  681. package/cjs/S4822/rule.js +3 -3
  682. package/cjs/S4830/generated-meta.js +5 -4
  683. package/cjs/S4830/index.js +3 -3
  684. package/cjs/S4830/meta.js +3 -3
  685. package/cjs/S4830/rule.js +3 -3
  686. package/cjs/S5042/generated-meta.js +9 -8
  687. package/cjs/S5042/index.js +3 -3
  688. package/cjs/S5042/meta.js +3 -3
  689. package/cjs/S5042/rule.js +3 -3
  690. package/cjs/S5122/generated-meta.js +6 -5
  691. package/cjs/S5122/index.js +3 -3
  692. package/cjs/S5122/meta.js +3 -3
  693. package/cjs/S5122/rule.js +3 -3
  694. package/cjs/S5148/generated-meta.js +6 -5
  695. package/cjs/S5148/index.js +3 -3
  696. package/cjs/S5148/meta.js +3 -3
  697. package/cjs/S5148/rule.js +3 -3
  698. package/cjs/S5247/generated-meta.js +6 -5
  699. package/cjs/S5247/index.js +3 -3
  700. package/cjs/S5247/meta.js +3 -3
  701. package/cjs/S5247/rule.js +3 -3
  702. package/cjs/S5256/generated-meta.js +5 -4
  703. package/cjs/S5256/index.js +3 -3
  704. package/cjs/S5256/meta.js +3 -3
  705. package/cjs/S5256/rule.js +3 -3
  706. package/cjs/S5257/generated-meta.js +5 -4
  707. package/cjs/S5257/index.js +3 -3
  708. package/cjs/S5257/meta.js +3 -3
  709. package/cjs/S5257/rule.js +3 -3
  710. package/cjs/S5260/generated-meta.js +5 -4
  711. package/cjs/S5260/index.js +3 -3
  712. package/cjs/S5260/meta.js +3 -3
  713. package/cjs/S5260/rule.js +3 -3
  714. package/cjs/S5264/generated-meta.js +5 -4
  715. package/cjs/S5264/index.js +3 -3
  716. package/cjs/S5264/meta.js +3 -3
  717. package/cjs/S5264/rule.js +3 -3
  718. package/cjs/S5332/generated-meta.js +6 -5
  719. package/cjs/S5332/index.js +3 -3
  720. package/cjs/S5332/meta.js +3 -3
  721. package/cjs/S5332/rule.aws.js +3 -3
  722. package/cjs/S5332/rule.js +3 -3
  723. package/cjs/S5332/rule.lib.js +57 -49
  724. package/cjs/S5443/generated-meta.js +6 -5
  725. package/cjs/S5443/index.js +3 -3
  726. package/cjs/S5443/meta.js +3 -3
  727. package/cjs/S5443/rule.js +3 -3
  728. package/cjs/S5527/generated-meta.js +5 -4
  729. package/cjs/S5527/index.js +3 -3
  730. package/cjs/S5527/meta.js +3 -3
  731. package/cjs/S5527/rule.js +3 -3
  732. package/cjs/S5542/generated-meta.js +5 -4
  733. package/cjs/S5542/index.js +3 -3
  734. package/cjs/S5542/meta.js +3 -3
  735. package/cjs/S5542/rule.js +3 -3
  736. package/cjs/S5547/generated-meta.js +5 -4
  737. package/cjs/S5547/index.js +3 -3
  738. package/cjs/S5547/meta.js +3 -3
  739. package/cjs/S5547/rule.js +3 -3
  740. package/cjs/S5604/config.js +3 -3
  741. package/cjs/S5604/generated-meta.js +8 -7
  742. package/cjs/S5604/index.js +3 -3
  743. package/cjs/S5604/meta.js +3 -3
  744. package/cjs/S5604/rule.js +3 -3
  745. package/cjs/S5659/generated-meta.js +5 -4
  746. package/cjs/S5659/index.js +3 -3
  747. package/cjs/S5659/meta.js +3 -3
  748. package/cjs/S5659/rule.js +3 -3
  749. package/cjs/S5689/generated-meta.js +6 -5
  750. package/cjs/S5689/index.js +3 -3
  751. package/cjs/S5689/meta.js +3 -3
  752. package/cjs/S5689/rule.js +3 -3
  753. package/cjs/S5691/generated-meta.js +8 -7
  754. package/cjs/S5691/index.js +3 -3
  755. package/cjs/S5691/meta.js +3 -3
  756. package/cjs/S5691/rule.js +3 -3
  757. package/cjs/S5693/config.js +3 -3
  758. package/cjs/S5693/generated-meta.js +6 -5
  759. package/cjs/S5693/index.js +3 -3
  760. package/cjs/S5693/meta.js +3 -3
  761. package/cjs/S5693/rule.js +48 -4
  762. package/cjs/S5725/generated-meta.js +6 -5
  763. package/cjs/S5725/index.js +3 -3
  764. package/cjs/S5725/meta.js +3 -3
  765. package/cjs/S5725/rule.js +78 -15
  766. package/cjs/S5728/generated-meta.js +6 -5
  767. package/cjs/S5728/index.js +3 -3
  768. package/cjs/S5728/meta.js +3 -3
  769. package/cjs/S5728/rule.js +3 -3
  770. package/cjs/S5730/generated-meta.js +8 -7
  771. package/cjs/S5730/index.js +3 -3
  772. package/cjs/S5730/meta.js +3 -3
  773. package/cjs/S5730/rule.js +3 -3
  774. package/cjs/S5732/generated-meta.js +8 -7
  775. package/cjs/S5732/index.js +3 -3
  776. package/cjs/S5732/meta.js +3 -3
  777. package/cjs/S5732/rule.js +3 -3
  778. package/cjs/S5734/generated-meta.js +6 -5
  779. package/cjs/S5734/index.js +3 -3
  780. package/cjs/S5734/meta.js +3 -3
  781. package/cjs/S5734/rule.js +3 -3
  782. package/cjs/S5736/generated-meta.js +6 -5
  783. package/cjs/S5736/index.js +3 -3
  784. package/cjs/S5736/meta.js +3 -3
  785. package/cjs/S5736/rule.js +3 -3
  786. package/cjs/S5739/generated-meta.js +6 -5
  787. package/cjs/S5739/index.js +3 -3
  788. package/cjs/S5739/meta.js +3 -3
  789. package/cjs/S5739/rule.js +3 -3
  790. package/cjs/S5757/generated-meta.js +8 -7
  791. package/cjs/S5757/index.js +3 -3
  792. package/cjs/S5757/meta.js +3 -3
  793. package/cjs/S5757/rule.js +3 -3
  794. package/cjs/S5759/generated-meta.js +8 -7
  795. package/cjs/S5759/index.js +3 -3
  796. package/cjs/S5759/meta.js +3 -3
  797. package/cjs/S5759/rule.js +3 -3
  798. package/cjs/S5842/generated-meta.js +5 -4
  799. package/cjs/S5842/index.js +3 -3
  800. package/cjs/S5842/meta.js +3 -3
  801. package/cjs/S5842/rule.js +3 -3
  802. package/cjs/S5843/config.js +3 -3
  803. package/cjs/S5843/generated-meta.js +5 -4
  804. package/cjs/S5843/index.js +3 -3
  805. package/cjs/S5843/meta.js +3 -3
  806. package/cjs/S5843/rule.js +3 -3
  807. package/cjs/S5845/generated-meta.js +52 -0
  808. package/cjs/{S2255 → S5845}/index.js +3 -3
  809. package/cjs/{S2255 → S5845}/meta.js +4 -4
  810. package/cjs/S5845/rule.js +296 -0
  811. package/cjs/S5850/generated-meta.js +5 -4
  812. package/cjs/S5850/index.js +3 -3
  813. package/cjs/S5850/meta.js +3 -3
  814. package/cjs/S5850/rule.js +3 -3
  815. package/cjs/S5852/generated-meta.js +6 -5
  816. package/cjs/S5852/index.js +3 -3
  817. package/cjs/S5852/meta.js +3 -3
  818. package/cjs/S5852/rule.js +14 -6
  819. package/cjs/S5856/generated-meta.js +5 -4
  820. package/cjs/S5856/index.js +3 -3
  821. package/cjs/S5856/meta.js +3 -3
  822. package/cjs/S5856/rule.js +3 -3
  823. package/cjs/S5860/generated-meta.js +5 -4
  824. package/cjs/S5860/index.js +3 -3
  825. package/cjs/S5860/meta.js +3 -3
  826. package/cjs/S5860/rule.js +3 -3
  827. package/cjs/S5863/generated-meta.js +5 -4
  828. package/cjs/S5863/index.js +3 -3
  829. package/cjs/S5863/meta.js +3 -3
  830. package/cjs/S5863/rule.js +3 -3
  831. package/cjs/S5867/generated-meta.js +5 -4
  832. package/cjs/S5867/index.js +3 -3
  833. package/cjs/S5867/meta.js +3 -3
  834. package/cjs/S5867/rule.js +3 -3
  835. package/cjs/S5868/generated-meta.js +5 -4
  836. package/cjs/S5868/index.js +3 -3
  837. package/cjs/S5868/meta.js +3 -3
  838. package/cjs/S5868/rule.js +57 -28
  839. package/cjs/S5869/generated-meta.js +5 -4
  840. package/cjs/S5869/index.js +3 -3
  841. package/cjs/S5869/meta.js +3 -3
  842. package/cjs/S5869/rule.js +3 -3
  843. package/cjs/S5876/generated-meta.js +5 -4
  844. package/cjs/S5876/index.js +3 -3
  845. package/cjs/S5876/meta.js +3 -3
  846. package/cjs/S5876/rule.js +3 -3
  847. package/cjs/S5906/assertion-suggestions.js +279 -0
  848. package/cjs/S5906/assertion-utils.js +103 -0
  849. package/cjs/S5906/cypress-suggestions.js +62 -0
  850. package/cjs/S5906/expect-chain.js +16 -0
  851. package/cjs/S5906/generated-meta.js +52 -0
  852. package/cjs/{S4787 → S5906}/index.js +3 -3
  853. package/cjs/{S4818 → S5906}/meta.js +4 -4
  854. package/cjs/S5906/playwright-suggestions.js +103 -0
  855. package/cjs/S5906/rule.js +365 -0
  856. package/cjs/S5914/generated-meta.js +52 -0
  857. package/cjs/{S4817 → S5914}/index.js +3 -3
  858. package/cjs/{S4787 → S5914}/meta.js +4 -4
  859. package/cjs/S5914/rule.js +213 -0
  860. package/cjs/S5958/generated-meta.js +5 -4
  861. package/cjs/S5958/index.js +3 -3
  862. package/cjs/S5958/meta.js +3 -3
  863. package/cjs/S5958/rule.js +3 -3
  864. package/cjs/S5973/generated-meta.js +5 -4
  865. package/cjs/S5973/index.js +3 -3
  866. package/cjs/S5973/meta.js +3 -3
  867. package/cjs/S5973/rule.js +4 -4
  868. package/cjs/S6019/generated-meta.js +5 -4
  869. package/cjs/S6019/index.js +3 -3
  870. package/cjs/S6019/meta.js +3 -3
  871. package/cjs/S6019/rule.js +3 -3
  872. package/cjs/S6035/generated-meta.js +5 -4
  873. package/cjs/S6035/index.js +3 -3
  874. package/cjs/S6035/meta.js +3 -3
  875. package/cjs/S6035/rule.js +3 -3
  876. package/cjs/S6079/generated-meta.js +5 -4
  877. package/cjs/S6079/index.js +3 -3
  878. package/cjs/S6079/meta.js +3 -3
  879. package/cjs/S6079/rule.js +3 -3
  880. package/cjs/S6080/generated-meta.js +5 -4
  881. package/cjs/S6080/index.js +3 -3
  882. package/cjs/S6080/meta.js +3 -3
  883. package/cjs/S6080/rule.js +3 -3
  884. package/cjs/S6092/generated-meta.js +5 -4
  885. package/cjs/S6092/index.js +3 -3
  886. package/cjs/S6092/meta.js +3 -3
  887. package/cjs/S6092/rule.js +3 -3
  888. package/cjs/S6249/generated-meta.js +6 -5
  889. package/cjs/S6249/index.js +3 -3
  890. package/cjs/S6249/meta.js +3 -3
  891. package/cjs/S6249/rule.js +3 -3
  892. package/cjs/S6252/generated-meta.js +6 -5
  893. package/cjs/S6252/index.js +3 -3
  894. package/cjs/S6252/meta.js +3 -3
  895. package/cjs/S6252/rule.js +3 -3
  896. package/cjs/S6265/generated-meta.js +6 -5
  897. package/cjs/S6265/index.js +3 -3
  898. package/cjs/S6265/meta.js +3 -3
  899. package/cjs/S6265/rule.js +3 -3
  900. package/cjs/S6268/generated-meta.js +6 -5
  901. package/cjs/S6268/index.js +3 -3
  902. package/cjs/S6268/meta.js +3 -3
  903. package/cjs/S6268/rule.js +3 -3
  904. package/cjs/S6270/generated-meta.js +6 -5
  905. package/cjs/S6270/index.js +3 -3
  906. package/cjs/S6270/meta.js +3 -3
  907. package/cjs/S6270/rule.js +3 -3
  908. package/cjs/S6275/generated-meta.js +6 -5
  909. package/cjs/S6275/index.js +3 -3
  910. package/cjs/S6275/meta.js +3 -3
  911. package/cjs/S6275/rule.js +3 -3
  912. package/cjs/S6281/generated-meta.js +6 -5
  913. package/cjs/S6281/index.js +3 -3
  914. package/cjs/S6281/meta.js +3 -3
  915. package/cjs/S6281/rule.js +10 -23
  916. package/cjs/S6302/generated-meta.js +6 -5
  917. package/cjs/S6302/index.js +3 -3
  918. package/cjs/S6302/meta.js +3 -3
  919. package/cjs/S6302/rule.js +3 -3
  920. package/cjs/S6303/generated-meta.js +6 -5
  921. package/cjs/S6303/index.js +3 -3
  922. package/cjs/S6303/meta.js +3 -3
  923. package/cjs/S6303/rule.js +3 -3
  924. package/cjs/S6304/generated-meta.js +6 -5
  925. package/cjs/S6304/index.js +3 -3
  926. package/cjs/S6304/meta.js +3 -3
  927. package/cjs/S6304/rule.js +3 -3
  928. package/cjs/S6308/generated-meta.js +6 -5
  929. package/cjs/S6308/index.js +3 -3
  930. package/cjs/S6308/meta.js +3 -3
  931. package/cjs/S6308/rule.js +3 -3
  932. package/cjs/S6317/generated-meta.js +5 -4
  933. package/cjs/S6317/index.js +3 -3
  934. package/cjs/S6317/meta.js +3 -3
  935. package/cjs/S6317/rule.js +3 -3
  936. package/cjs/S6319/generated-meta.js +6 -5
  937. package/cjs/S6319/index.js +3 -3
  938. package/cjs/S6319/meta.js +3 -3
  939. package/cjs/S6319/rule.js +3 -3
  940. package/cjs/S6321/generated-meta.js +5 -4
  941. package/cjs/S6321/index.js +3 -3
  942. package/cjs/S6321/meta.js +3 -3
  943. package/cjs/S6321/rule.js +3 -3
  944. package/cjs/S6323/generated-meta.js +5 -4
  945. package/cjs/S6323/index.js +3 -3
  946. package/cjs/S6323/meta.js +3 -3
  947. package/cjs/S6323/rule.js +3 -3
  948. package/cjs/S6324/generated-meta.js +5 -4
  949. package/cjs/S6324/index.js +3 -3
  950. package/cjs/S6324/meta.js +3 -3
  951. package/cjs/S6324/rule.js +8 -8
  952. package/cjs/S6326/generated-meta.js +5 -4
  953. package/cjs/S6326/index.js +3 -3
  954. package/cjs/S6326/meta.js +3 -3
  955. package/cjs/S6326/rule.js +3 -3
  956. package/cjs/S6327/generated-meta.js +6 -5
  957. package/cjs/S6327/index.js +3 -3
  958. package/cjs/S6327/meta.js +3 -3
  959. package/cjs/S6327/rule.js +3 -3
  960. package/cjs/S6328/generated-meta.js +5 -4
  961. package/cjs/S6328/index.js +3 -3
  962. package/cjs/S6328/meta.js +3 -3
  963. package/cjs/S6328/rule.js +3 -3
  964. package/cjs/S6329/generated-meta.js +6 -5
  965. package/cjs/S6329/index.js +3 -3
  966. package/cjs/S6329/meta.js +3 -3
  967. package/cjs/S6329/rule.js +3 -3
  968. package/cjs/S6330/generated-meta.js +6 -5
  969. package/cjs/S6330/index.js +3 -3
  970. package/cjs/S6330/meta.js +3 -3
  971. package/cjs/S6330/rule.js +3 -3
  972. package/cjs/S6331/generated-meta.js +5 -4
  973. package/cjs/S6331/index.js +3 -3
  974. package/cjs/S6331/meta.js +3 -3
  975. package/cjs/S6331/rule.js +3 -3
  976. package/cjs/S6332/generated-meta.js +6 -5
  977. package/cjs/S6332/index.js +3 -3
  978. package/cjs/S6332/meta.js +3 -3
  979. package/cjs/S6332/rule.js +3 -3
  980. package/cjs/S6333/generated-meta.js +6 -5
  981. package/cjs/S6333/index.js +3 -3
  982. package/cjs/S6333/meta.js +3 -3
  983. package/cjs/S6333/rule.js +3 -3
  984. package/cjs/S6351/generated-meta.js +5 -4
  985. package/cjs/S6351/index.js +3 -3
  986. package/cjs/S6351/meta.js +3 -3
  987. package/cjs/S6351/rule.js +3 -3
  988. package/cjs/S6353/generated-meta.js +5 -4
  989. package/cjs/S6353/index.js +3 -3
  990. package/cjs/S6353/meta.js +3 -3
  991. package/cjs/S6353/rule.js +3 -3
  992. package/cjs/S6397/generated-meta.js +5 -4
  993. package/cjs/S6397/index.js +3 -3
  994. package/cjs/S6397/meta.js +3 -3
  995. package/cjs/S6397/rule.js +3 -3
  996. package/cjs/S6418/config.js +3 -3
  997. package/cjs/S6418/generated-meta.js +5 -4
  998. package/cjs/S6418/index.js +3 -3
  999. package/cjs/S6418/meta.js +3 -3
  1000. package/cjs/S6418/rule.js +3 -3
  1001. package/cjs/S6426/generated-meta.js +5 -4
  1002. package/cjs/S6426/index.js +3 -3
  1003. package/cjs/S6426/meta.js +3 -3
  1004. package/cjs/S6426/rule.js +9 -4
  1005. package/cjs/S6437/generated-meta.js +5 -4
  1006. package/cjs/S6437/index.js +3 -3
  1007. package/cjs/S6437/meta.js +3 -3
  1008. package/cjs/S6437/rule.js +12 -5
  1009. package/cjs/S6439/generated-meta.js +6 -5
  1010. package/cjs/S6439/index.js +3 -3
  1011. package/cjs/S6439/meta.js +3 -3
  1012. package/cjs/S6439/rule.js +3 -3
  1013. package/cjs/S6442/generated-meta.js +6 -5
  1014. package/cjs/S6442/index.js +3 -3
  1015. package/cjs/S6442/meta.js +3 -3
  1016. package/cjs/S6442/rule.js +3 -3
  1017. package/cjs/S6443/generated-meta.js +6 -5
  1018. package/cjs/S6443/index.js +3 -3
  1019. package/cjs/S6443/meta.js +3 -3
  1020. package/cjs/S6443/rule.js +3 -3
  1021. package/cjs/S6486/generated-meta.js +5 -4
  1022. package/cjs/S6486/index.js +3 -3
  1023. package/cjs/S6486/meta.js +3 -3
  1024. package/cjs/S6486/rule.js +8 -8
  1025. package/cjs/S6564/generated-meta.js +5 -4
  1026. package/cjs/S6564/index.js +3 -3
  1027. package/cjs/S6564/meta.js +3 -3
  1028. package/cjs/S6564/rule.js +3 -3
  1029. package/cjs/S6594/generated-meta.js +5 -4
  1030. package/cjs/S6594/index.js +3 -3
  1031. package/cjs/S6594/meta.js +3 -3
  1032. package/cjs/S6594/rule.js +3 -3
  1033. package/cjs/S6627/generated-meta.js +5 -4
  1034. package/cjs/S6627/index.js +3 -3
  1035. package/cjs/S6627/meta.js +3 -3
  1036. package/cjs/S6627/rule.js +3 -3
  1037. package/cjs/S6759/generated-meta.js +5 -4
  1038. package/cjs/S6759/index.js +3 -3
  1039. package/cjs/S6759/meta.js +3 -3
  1040. package/cjs/S6759/rule.js +34 -4
  1041. package/cjs/S6958/generated-meta.js +5 -4
  1042. package/cjs/S6958/index.js +3 -3
  1043. package/cjs/S6958/meta.js +3 -3
  1044. package/cjs/S6959/generated-meta.js +5 -4
  1045. package/cjs/S6959/index.js +3 -3
  1046. package/cjs/S6959/meta.js +3 -3
  1047. package/cjs/S6959/rule.js +3 -3
  1048. package/cjs/S7059/generated-meta.js +6 -4
  1049. package/cjs/S7059/index.js +3 -3
  1050. package/cjs/S7059/meta.js +3 -3
  1051. package/cjs/S7059/rule.js +3 -3
  1052. package/cjs/S7639/generated-meta.js +5 -4
  1053. package/cjs/S7639/index.js +3 -3
  1054. package/cjs/S7639/meta.js +3 -3
  1055. package/cjs/S7639/rule.js +3 -3
  1056. package/cjs/S7790/generated-meta.js +5 -4
  1057. package/cjs/S7790/index.js +3 -3
  1058. package/cjs/S7790/meta.js +3 -3
  1059. package/cjs/S7790/rule.js +3 -3
  1060. package/cjs/S8441/generated-meta.js +5 -4
  1061. package/cjs/S8441/index.js +3 -3
  1062. package/cjs/S8441/meta.js +3 -3
  1063. package/cjs/S8441/rule.js +3 -3
  1064. package/cjs/{S4817 → S8479}/generated-meta.js +12 -11
  1065. package/cjs/S8479/index.js +21 -0
  1066. package/cjs/S8479/meta.js +22 -0
  1067. package/cjs/S8479/rule.js +239 -0
  1068. package/cjs/S8754/generated-meta.js +52 -0
  1069. package/cjs/S8754/index.js +21 -0
  1070. package/cjs/{S5743 → S8754}/meta.js +4 -4
  1071. package/cjs/S8754/rule.js +289 -0
  1072. package/cjs/{S4784 → S8780}/generated-meta.js +12 -11
  1073. package/cjs/S8780/index.js +21 -0
  1074. package/cjs/S8780/meta.js +21 -0
  1075. package/cjs/S8780/rule.js +321 -0
  1076. package/cjs/S8781/generated-meta.js +52 -0
  1077. package/cjs/S8781/index.js +21 -0
  1078. package/cjs/S8781/meta.js +21 -0
  1079. package/cjs/S8781/rule.js +112 -0
  1080. package/cjs/S8782/generated-meta.js +52 -0
  1081. package/cjs/S8782/index.js +21 -0
  1082. package/cjs/S8782/meta.js +21 -0
  1083. package/cjs/S8782/rule.js +148 -0
  1084. package/cjs/S8783/generated-meta.js +52 -0
  1085. package/cjs/S8783/index.js +21 -0
  1086. package/cjs/S8783/meta.js +21 -0
  1087. package/cjs/S8783/rule.js +167 -0
  1088. package/cjs/{S4787 → S8786}/generated-meta.js +12 -11
  1089. package/cjs/S8786/index.js +21 -0
  1090. package/cjs/{S4784 → S8786}/meta.js +5 -4
  1091. package/cjs/{S4818 → S8786}/rule.js +27 -23
  1092. package/cjs/S881/generated-meta.js +5 -4
  1093. package/cjs/S881/index.js +3 -3
  1094. package/cjs/S881/meta.js +3 -3
  1095. package/cjs/S881/rule.js +3 -3
  1096. package/cjs/S888/generated-meta.js +5 -4
  1097. package/cjs/S888/index.js +3 -3
  1098. package/cjs/S888/meta.js +3 -3
  1099. package/cjs/S888/rule.js +3 -3
  1100. package/cjs/S930/generated-meta.js +5 -4
  1101. package/cjs/S930/index.js +3 -3
  1102. package/cjs/S930/meta.js +3 -3
  1103. package/cjs/S930/rule.js +3 -3
  1104. package/cjs/helpers/accessibility.js +3 -3
  1105. package/cjs/helpers/assertions-chai-common.js +29 -0
  1106. package/cjs/helpers/assertions-chai.js +331 -0
  1107. package/cjs/helpers/assertions-cypress.js +95 -0
  1108. package/cjs/helpers/assertions.js +285 -0
  1109. package/cjs/helpers/ast.js +31 -1
  1110. package/cjs/helpers/cache.js +3 -3
  1111. package/cjs/helpers/chai.js +1 -1
  1112. package/cjs/helpers/collection.js +3 -3
  1113. package/cjs/helpers/configs.js +39 -3
  1114. package/cjs/helpers/cypress.js +73 -0
  1115. package/cjs/helpers/dependency-manifests/all-in-parent-dirs.js +92 -0
  1116. package/cjs/helpers/dependency-manifests/closest.js +40 -0
  1117. package/cjs/helpers/dependency-manifests/dependencies.js +255 -0
  1118. package/cjs/helpers/dependency-manifests/index.js +78 -0
  1119. package/cjs/helpers/dependency-manifests/parse.js +51 -0
  1120. package/cjs/helpers/dependency-manifests/parsed-dependency-files.js +80 -0
  1121. package/cjs/helpers/dependency-manifests/resolvers/deno.js +79 -0
  1122. package/cjs/helpers/dependency-manifests/resolvers/helpers.js +41 -0
  1123. package/cjs/helpers/dependency-manifests/resolvers/package-json.js +167 -0
  1124. package/cjs/helpers/dependency-manifests/resolvers/types.js +4 -0
  1125. package/cjs/helpers/entropy.js +5 -5
  1126. package/cjs/helpers/files.js +33 -4
  1127. package/cjs/helpers/find-up/all-in-parent-dirs.js +1 -0
  1128. package/cjs/helpers/find-up/closest.js +4 -3
  1129. package/cjs/helpers/find-up/find-minimatch.js +2 -2
  1130. package/cjs/helpers/generate-meta.js +1 -1
  1131. package/cjs/helpers/internal-metrics.js +27 -0
  1132. package/cjs/helpers/mocha-style-test-frameworks.js +132 -0
  1133. package/cjs/helpers/mocha.js +17 -7
  1134. package/cjs/helpers/module-ts.js +8 -3
  1135. package/cjs/helpers/module.js +116 -23
  1136. package/cjs/helpers/numbers.js +62 -0
  1137. package/cjs/helpers/playwright.js +13 -0
  1138. package/cjs/helpers/recognizers/Detector.js +3 -3
  1139. package/cjs/helpers/recognizers/detectors/CamelCaseDetector.js +3 -3
  1140. package/cjs/helpers/recognizers/detectors/ContainsDetector.js +3 -3
  1141. package/cjs/helpers/recognizers/detectors/EndWithDetector.js +3 -3
  1142. package/cjs/helpers/recognizers/detectors/KeywordsDetector.js +3 -3
  1143. package/cjs/helpers/regex/extract.js +21 -9
  1144. package/cjs/helpers/regex/flags.js +12 -5
  1145. package/cjs/helpers/sinon.js +0 -4
  1146. package/cjs/helpers/supertest.js +0 -4
  1147. package/cjs/helpers/test-file-pattern.js +63 -0
  1148. package/cjs/helpers/type-origin.js +82 -0
  1149. package/cjs/helpers/type.js +162 -1
  1150. package/cjs/helpers/vitest.js +0 -4
  1151. package/cjs/plugin-rules.js +299 -299
  1152. package/docs/async-test-assertions.md +7 -0
  1153. package/docs/aws-apigateway-public-api.md +1 -1
  1154. package/docs/aws-ec2-rds-dms-public.md +1 -1
  1155. package/docs/aws-ec2-unencrypted-ebs-volume.md +1 -1
  1156. package/docs/aws-efs-unencrypted.md +1 -1
  1157. package/docs/aws-iam-all-privileges.md +1 -1
  1158. package/docs/aws-iam-all-resources-accessible.md +1 -1
  1159. package/docs/aws-iam-public-access.md +1 -1
  1160. package/docs/aws-opensearchservice-domain.md +1 -1
  1161. package/docs/aws-rds-unencrypted-databases.md +1 -1
  1162. package/docs/aws-s3-bucket-granted-access.md +1 -1
  1163. package/docs/aws-s3-bucket-insecure-http.md +1 -1
  1164. package/docs/aws-s3-bucket-public-access.md +1 -1
  1165. package/docs/aws-s3-bucket-versioning.md +1 -1
  1166. package/docs/aws-sagemaker-unencrypted-notebook.md +1 -1
  1167. package/docs/aws-sns-unencrypted-topics.md +1 -1
  1168. package/docs/aws-sqs-unencrypted-queue.md +1 -1
  1169. package/docs/class-name.md +3 -3
  1170. package/docs/code-eval.md +1 -1
  1171. package/docs/confidential-information-logging.md +4 -2
  1172. package/docs/content-length.md +1 -1
  1173. package/docs/content-security-policy.md +1 -1
  1174. package/docs/cookie-no-httponly.md +1 -1
  1175. package/docs/cors.md +1 -1
  1176. package/docs/csrf.md +1 -1
  1177. package/docs/disabled-auto-escaping.md +1 -1
  1178. package/docs/disabled-resource-integrity.md +1 -1
  1179. package/docs/dompurify-unsafe-config.md +9 -0
  1180. package/docs/frame-ancestors.md +4 -2
  1181. package/docs/hashing.md +1 -1
  1182. package/docs/hidden-files.md +4 -2
  1183. package/docs/hooks-before-test-cases.md +7 -0
  1184. package/docs/insecure-cookie.md +1 -1
  1185. package/docs/link-with-target-blank.md +1 -1
  1186. package/docs/no-angular-bypass-sanitization.md +1 -1
  1187. package/docs/no-clear-text-protocols.md +1 -1
  1188. package/docs/no-commented-code.md +1 -1
  1189. package/docs/no-duplicate-test-title.md +7 -0
  1190. package/docs/no-empty-test-title.md +7 -0
  1191. package/docs/no-floating-point-equality.md +7 -0
  1192. package/docs/no-forced-browser-interaction.md +7 -0
  1193. package/docs/no-hardcoded-ip.md +1 -1
  1194. package/docs/no-incompatible-assertion-types.md +9 -0
  1195. package/docs/no-intrusive-permissions.md +4 -2
  1196. package/docs/no-ip-forward.md +4 -2
  1197. package/docs/no-mime-sniff.md +1 -1
  1198. package/docs/no-mixed-content.md +4 -2
  1199. package/docs/no-os-command-from-path.md +1 -1
  1200. package/docs/no-referrer-policy.md +1 -1
  1201. package/docs/no-small-switch.md +2 -0
  1202. package/docs/no-trivial-assertions.md +7 -0
  1203. package/docs/no-unsafe-unzip.md +4 -2
  1204. package/docs/os-command.md +4 -2
  1205. package/docs/prefer-specific-assertions.md +9 -0
  1206. package/docs/production-debug.md +1 -1
  1207. package/docs/pseudo-random.md +1 -1
  1208. package/docs/publicly-writable-directories.md +1 -1
  1209. package/docs/slow-regex.md +1 -1
  1210. package/docs/sql-queries.md +1 -1
  1211. package/docs/strict-transport-security.md +1 -1
  1212. package/docs/super-linear-regex.md +7 -0
  1213. package/docs/x-powered-by.md +1 -1
  1214. package/package.json +7 -6
  1215. package/types/S100/generated-meta.d.ts +1 -0
  1216. package/types/S101/config.d.ts +1 -1
  1217. package/types/S101/generated-meta.d.ts +1 -0
  1218. package/types/S104/generated-meta.d.ts +1 -0
  1219. package/types/S105/generated-meta.d.ts +1 -0
  1220. package/types/S1066/generated-meta.d.ts +1 -0
  1221. package/types/S1067/generated-meta.d.ts +1 -0
  1222. package/types/S1110/generated-meta.d.ts +1 -0
  1223. package/types/S1119/generated-meta.d.ts +1 -0
  1224. package/types/S1121/generated-meta.d.ts +1 -0
  1225. package/types/S1125/generated-meta.d.ts +1 -0
  1226. package/types/S1126/generated-meta.d.ts +1 -0
  1227. package/types/S1128/generated-meta.d.ts +2 -0
  1228. package/types/S1134/generated-meta.d.ts +1 -0
  1229. package/types/S1135/generated-meta.d.ts +1 -0
  1230. package/types/S1154/generated-meta.d.ts +1 -0
  1231. package/types/S117/generated-meta.d.ts +1 -0
  1232. package/types/S1172/generated-meta.d.ts +1 -0
  1233. package/types/S1192/generated-meta.d.ts +1 -0
  1234. package/types/S1219/generated-meta.d.ts +1 -0
  1235. package/types/S1226/generated-meta.d.ts +1 -0
  1236. package/types/S124/generated-meta.d.ts +1 -0
  1237. package/types/{S2255 → S1244}/generated-meta.d.ts +3 -2
  1238. package/types/S1244/meta.d.ts +2 -0
  1239. package/types/S125/generated-meta.d.ts +1 -0
  1240. package/types/S126/generated-meta.d.ts +1 -0
  1241. package/types/S1264/generated-meta.d.ts +1 -0
  1242. package/types/S128/generated-meta.d.ts +1 -0
  1243. package/types/S1291/generated-meta.d.ts +1 -0
  1244. package/types/S1301/generated-meta.d.ts +2 -1
  1245. package/types/S1313/generated-meta.d.ts +2 -1
  1246. package/types/S134/config.d.ts +1 -1
  1247. package/types/S134/generated-meta.d.ts +1 -0
  1248. package/types/S135/generated-meta.d.ts +1 -0
  1249. package/types/S138/generated-meta.d.ts +1 -0
  1250. package/types/S1439/generated-meta.d.ts +1 -0
  1251. package/types/S1444/generated-meta.d.ts +1 -0
  1252. package/types/S1451/generated-meta.d.ts +1 -0
  1253. package/types/S1472/generated-meta.d.ts +1 -0
  1254. package/types/S1479/generated-meta.d.ts +1 -0
  1255. package/types/S1481/generated-meta.d.ts +1 -0
  1256. package/types/S1488/generated-meta.d.ts +1 -0
  1257. package/types/S1515/generated-meta.d.ts +1 -0
  1258. package/types/S1523/generated-meta.d.ts +1 -0
  1259. package/types/S1526/generated-meta.d.ts +1 -0
  1260. package/types/S1527/generated-meta.d.ts +1 -0
  1261. package/types/S1528/generated-meta.d.ts +1 -0
  1262. package/types/S1529/generated-meta.d.ts +1 -0
  1263. package/types/S1530/generated-meta.d.ts +1 -0
  1264. package/types/S1533/generated-meta.d.ts +1 -0
  1265. package/types/S1535/generated-meta.d.ts +1 -0
  1266. package/types/S1541/generated-meta.d.ts +1 -0
  1267. package/types/S1607/generated-meta.d.ts +1 -0
  1268. package/types/S1764/generated-meta.d.ts +1 -0
  1269. package/types/S1821/generated-meta.d.ts +1 -0
  1270. package/types/S1848/generated-meta.d.ts +1 -0
  1271. package/types/S1854/generated-meta.d.ts +1 -0
  1272. package/types/S1862/generated-meta.d.ts +1 -0
  1273. package/types/S1871/generated-meta.d.ts +1 -0
  1274. package/types/S1874/generated-meta.d.ts +1 -0
  1275. package/types/S1940/generated-meta.d.ts +1 -0
  1276. package/types/S1994/generated-meta.d.ts +1 -0
  1277. package/types/S2004/generated-meta.d.ts +1 -0
  1278. package/types/S2068/generated-meta.d.ts +1 -0
  1279. package/types/S2077/generated-meta.d.ts +1 -0
  1280. package/types/S2092/generated-meta.d.ts +1 -0
  1281. package/types/S2123/generated-meta.d.ts +1 -0
  1282. package/types/S2137/generated-meta.d.ts +1 -0
  1283. package/types/S2138/generated-meta.d.ts +1 -0
  1284. package/types/S2187/generated-meta.d.ts +1 -0
  1285. package/types/S2201/generated-meta.d.ts +1 -0
  1286. package/types/S2208/generated-meta.d.ts +2 -0
  1287. package/types/S2234/generated-meta.d.ts +1 -0
  1288. package/types/S2245/generated-meta.d.ts +1 -0
  1289. package/types/S2251/generated-meta.d.ts +1 -0
  1290. package/types/S2259/generated-meta.d.ts +1 -0
  1291. package/types/S2301/generated-meta.d.ts +1 -0
  1292. package/types/S2310/generated-meta.d.ts +1 -0
  1293. package/types/S2392/generated-meta.d.ts +1 -0
  1294. package/types/S2424/generated-meta.d.ts +1 -0
  1295. package/types/S2428/generated-meta.d.ts +1 -0
  1296. package/types/S2486/generated-meta.d.ts +1 -0
  1297. package/types/S2589/generated-meta.d.ts +1 -0
  1298. package/types/S2598/generated-meta.d.ts +1 -0
  1299. package/types/S2612/generated-meta.d.ts +1 -0
  1300. package/types/S2639/generated-meta.d.ts +1 -0
  1301. package/types/S2681/generated-meta.d.ts +1 -0
  1302. package/types/S2692/generated-meta.d.ts +1 -0
  1303. package/types/S2699/generated-meta.d.ts +1 -0
  1304. package/types/S2703/generated-meta.d.ts +1 -0
  1305. package/types/S2737/generated-meta.d.ts +1 -0
  1306. package/types/S2755/generated-meta.d.ts +1 -0
  1307. package/types/S2757/generated-meta.d.ts +1 -0
  1308. package/types/S2817/generated-meta.d.ts +1 -0
  1309. package/types/S2819/generated-meta.d.ts +1 -0
  1310. package/types/S2870/generated-meta.d.ts +1 -0
  1311. package/types/S2871/generated-meta.d.ts +1 -0
  1312. package/types/S2970/generated-meta.d.ts +1 -0
  1313. package/types/S2990/generated-meta.d.ts +1 -0
  1314. package/types/S2999/generated-meta.d.ts +1 -0
  1315. package/types/S3001/generated-meta.d.ts +1 -0
  1316. package/types/S3003/generated-meta.d.ts +1 -0
  1317. package/types/S3317/generated-meta.d.ts +2 -0
  1318. package/types/S3330/generated-meta.d.ts +1 -0
  1319. package/types/S3358/generated-meta.d.ts +1 -0
  1320. package/types/S3402/generated-meta.d.ts +1 -0
  1321. package/types/S3403/generated-meta.d.ts +1 -0
  1322. package/types/S3415/generated-meta.d.ts +1 -0
  1323. package/types/S3499/generated-meta.d.ts +2 -0
  1324. package/types/S3500/generated-meta.d.ts +2 -0
  1325. package/types/S3513/generated-meta.d.ts +2 -0
  1326. package/types/S3514/generated-meta.d.ts +2 -0
  1327. package/types/S3516/generated-meta.d.ts +1 -0
  1328. package/types/S3524/generated-meta.d.ts +2 -0
  1329. package/types/S3525/generated-meta.d.ts +2 -0
  1330. package/types/S3531/generated-meta.d.ts +2 -0
  1331. package/types/S3533/generated-meta.d.ts +2 -0
  1332. package/types/S3579/generated-meta.d.ts +1 -0
  1333. package/types/S3616/generated-meta.d.ts +1 -0
  1334. package/types/S3626/generated-meta.d.ts +1 -0
  1335. package/types/S3686/generated-meta.d.ts +1 -0
  1336. package/types/S3699/generated-meta.d.ts +1 -0
  1337. package/types/S3735/generated-meta.d.ts +1 -0
  1338. package/types/S3757/generated-meta.d.ts +1 -0
  1339. package/types/S3758/generated-meta.d.ts +1 -0
  1340. package/types/S3760/generated-meta.d.ts +1 -0
  1341. package/types/S3776/generated-meta.d.ts +1 -0
  1342. package/types/S3776/meta.d.ts +2 -0
  1343. package/types/S3782/generated-meta.d.ts +1 -0
  1344. package/types/S3785/generated-meta.d.ts +1 -0
  1345. package/types/S3796/generated-meta.d.ts +1 -0
  1346. package/types/S3798/generated-meta.d.ts +1 -0
  1347. package/types/S3800/generated-meta.d.ts +1 -0
  1348. package/types/S3801/generated-meta.d.ts +1 -0
  1349. package/types/S3827/generated-meta.d.ts +1 -0
  1350. package/types/S3923/generated-meta.d.ts +1 -0
  1351. package/types/S3972/generated-meta.d.ts +1 -0
  1352. package/types/S3973/generated-meta.d.ts +1 -0
  1353. package/types/S3981/generated-meta.d.ts +1 -0
  1354. package/types/S3984/generated-meta.d.ts +1 -0
  1355. package/types/S4030/generated-meta.d.ts +1 -0
  1356. package/types/S4036/generated-meta.d.ts +1 -0
  1357. package/types/S4043/generated-meta.d.ts +1 -0
  1358. package/types/S4139/generated-meta.d.ts +1 -0
  1359. package/types/S4143/generated-meta.d.ts +1 -0
  1360. package/types/S4144/generated-meta.d.ts +1 -0
  1361. package/types/S4158/generated-meta.d.ts +1 -0
  1362. package/types/S4165/generated-meta.d.ts +1 -0
  1363. package/types/S4322/generated-meta.d.ts +1 -0
  1364. package/types/S4323/generated-meta.d.ts +1 -0
  1365. package/types/S4324/generated-meta.d.ts +1 -0
  1366. package/types/S4328/generated-meta.d.ts +1 -0
  1367. package/types/S4335/generated-meta.d.ts +1 -0
  1368. package/types/S4423/generated-meta.d.ts +1 -0
  1369. package/types/S4426/generated-meta.d.ts +1 -0
  1370. package/types/S4502/generated-meta.d.ts +1 -0
  1371. package/types/S4507/generated-meta.d.ts +1 -0
  1372. package/types/S4524/generated-meta.d.ts +1 -0
  1373. package/types/S4619/generated-meta.d.ts +1 -0
  1374. package/types/S4621/generated-meta.d.ts +1 -0
  1375. package/types/S4622/generated-meta.d.ts +1 -0
  1376. package/types/S4623/generated-meta.d.ts +1 -0
  1377. package/types/S4624/generated-meta.d.ts +2 -0
  1378. package/types/S4634/generated-meta.d.ts +2 -0
  1379. package/types/S4721/generated-meta.d.ts +2 -1
  1380. package/types/S4782/generated-meta.d.ts +1 -0
  1381. package/types/S4790/generated-meta.d.ts +1 -0
  1382. package/types/S4798/generated-meta.d.ts +1 -0
  1383. package/types/S4822/generated-meta.d.ts +2 -0
  1384. package/types/S4830/generated-meta.d.ts +1 -0
  1385. package/types/S5042/generated-meta.d.ts +3 -2
  1386. package/types/S5122/generated-meta.d.ts +1 -0
  1387. package/types/S5148/generated-meta.d.ts +1 -0
  1388. package/types/S5247/generated-meta.d.ts +1 -0
  1389. package/types/S5256/generated-meta.d.ts +1 -0
  1390. package/types/S5257/generated-meta.d.ts +1 -0
  1391. package/types/S5260/generated-meta.d.ts +1 -0
  1392. package/types/S5264/generated-meta.d.ts +1 -0
  1393. package/types/S5332/generated-meta.d.ts +1 -0
  1394. package/types/S5443/generated-meta.d.ts +1 -0
  1395. package/types/S5527/generated-meta.d.ts +1 -0
  1396. package/types/S5542/generated-meta.d.ts +1 -0
  1397. package/types/S5547/generated-meta.d.ts +1 -0
  1398. package/types/S5604/generated-meta.d.ts +2 -1
  1399. package/types/S5659/generated-meta.d.ts +1 -0
  1400. package/types/S5689/generated-meta.d.ts +1 -0
  1401. package/types/S5691/generated-meta.d.ts +2 -1
  1402. package/types/S5693/generated-meta.d.ts +1 -0
  1403. package/types/S5725/generated-meta.d.ts +1 -0
  1404. package/types/S5728/generated-meta.d.ts +1 -0
  1405. package/types/S5730/generated-meta.d.ts +2 -1
  1406. package/types/S5732/generated-meta.d.ts +2 -1
  1407. package/types/S5734/generated-meta.d.ts +1 -0
  1408. package/types/S5736/generated-meta.d.ts +1 -0
  1409. package/types/S5739/generated-meta.d.ts +1 -0
  1410. package/types/S5757/generated-meta.d.ts +2 -1
  1411. package/types/S5759/generated-meta.d.ts +2 -1
  1412. package/types/S5842/generated-meta.d.ts +1 -0
  1413. package/types/S5843/generated-meta.d.ts +1 -0
  1414. package/types/S5845/generated-meta.d.ts +18 -0
  1415. package/types/S5845/meta.d.ts +2 -0
  1416. package/types/S5850/generated-meta.d.ts +1 -0
  1417. package/types/S5852/generated-meta.d.ts +1 -0
  1418. package/types/S5856/generated-meta.d.ts +1 -0
  1419. package/types/S5860/generated-meta.d.ts +1 -0
  1420. package/types/S5863/generated-meta.d.ts +1 -0
  1421. package/types/S5867/generated-meta.d.ts +1 -0
  1422. package/types/S5868/generated-meta.d.ts +1 -0
  1423. package/types/S5869/generated-meta.d.ts +1 -0
  1424. package/types/S5876/generated-meta.d.ts +1 -0
  1425. package/types/S5906/assertion-suggestions.d.ts +7 -0
  1426. package/types/S5906/assertion-utils.d.ts +14 -0
  1427. package/types/S5906/cypress-suggestions.d.ts +4 -0
  1428. package/types/S5906/expect-chain.d.ts +5 -0
  1429. package/types/S5906/generated-meta.d.ts +18 -0
  1430. package/types/S5906/meta.d.ts +2 -0
  1431. package/types/S5906/playwright-suggestions.d.ts +4 -0
  1432. package/types/S5914/generated-meta.d.ts +18 -0
  1433. package/types/S5914/meta.d.ts +2 -0
  1434. package/types/S5958/generated-meta.d.ts +1 -0
  1435. package/types/S5973/generated-meta.d.ts +1 -0
  1436. package/types/S6019/generated-meta.d.ts +1 -0
  1437. package/types/S6035/generated-meta.d.ts +1 -0
  1438. package/types/S6079/generated-meta.d.ts +1 -0
  1439. package/types/S6080/generated-meta.d.ts +1 -0
  1440. package/types/S6092/generated-meta.d.ts +1 -0
  1441. package/types/S6249/generated-meta.d.ts +1 -0
  1442. package/types/S6252/generated-meta.d.ts +1 -0
  1443. package/types/S6265/generated-meta.d.ts +1 -0
  1444. package/types/S6268/generated-meta.d.ts +1 -0
  1445. package/types/S6270/generated-meta.d.ts +1 -0
  1446. package/types/S6275/generated-meta.d.ts +1 -0
  1447. package/types/S6281/generated-meta.d.ts +1 -0
  1448. package/types/S6302/generated-meta.d.ts +1 -0
  1449. package/types/S6303/generated-meta.d.ts +1 -0
  1450. package/types/S6304/generated-meta.d.ts +1 -0
  1451. package/types/S6308/generated-meta.d.ts +1 -0
  1452. package/types/S6317/generated-meta.d.ts +1 -0
  1453. package/types/S6319/generated-meta.d.ts +1 -0
  1454. package/types/S6321/generated-meta.d.ts +1 -0
  1455. package/types/S6323/generated-meta.d.ts +1 -0
  1456. package/types/S6324/generated-meta.d.ts +1 -0
  1457. package/types/S6326/generated-meta.d.ts +1 -0
  1458. package/types/S6327/generated-meta.d.ts +1 -0
  1459. package/types/S6328/generated-meta.d.ts +1 -0
  1460. package/types/S6329/generated-meta.d.ts +1 -0
  1461. package/types/S6330/generated-meta.d.ts +1 -0
  1462. package/types/S6331/generated-meta.d.ts +1 -0
  1463. package/types/S6332/generated-meta.d.ts +1 -0
  1464. package/types/S6333/generated-meta.d.ts +1 -0
  1465. package/types/S6351/generated-meta.d.ts +1 -0
  1466. package/types/S6353/generated-meta.d.ts +1 -0
  1467. package/types/S6397/generated-meta.d.ts +1 -0
  1468. package/types/S6418/generated-meta.d.ts +1 -0
  1469. package/types/S6426/generated-meta.d.ts +1 -0
  1470. package/types/S6437/generated-meta.d.ts +1 -0
  1471. package/types/S6439/generated-meta.d.ts +2 -1
  1472. package/types/S6442/generated-meta.d.ts +2 -1
  1473. package/types/S6443/generated-meta.d.ts +2 -1
  1474. package/types/S6486/generated-meta.d.ts +1 -0
  1475. package/types/S6564/generated-meta.d.ts +1 -0
  1476. package/types/S6594/generated-meta.d.ts +1 -0
  1477. package/types/S6627/generated-meta.d.ts +1 -0
  1478. package/types/S6759/generated-meta.d.ts +1 -0
  1479. package/types/S6958/generated-meta.d.ts +1 -0
  1480. package/types/S6959/generated-meta.d.ts +1 -0
  1481. package/types/S7059/generated-meta.d.ts +2 -0
  1482. package/types/S7639/generated-meta.d.ts +1 -0
  1483. package/types/S7790/generated-meta.d.ts +1 -0
  1484. package/types/S8441/generated-meta.d.ts +1 -0
  1485. package/types/{S4787 → S8479}/generated-meta.d.ts +4 -3
  1486. package/types/S8479/meta.d.ts +2 -0
  1487. package/types/S8754/generated-meta.d.ts +18 -0
  1488. package/types/{S5743 → S8754}/meta.d.ts +1 -1
  1489. package/types/{S4817 → S8780}/generated-meta.d.ts +4 -3
  1490. package/types/S8780/meta.d.ts +2 -0
  1491. package/types/S8781/generated-meta.d.ts +18 -0
  1492. package/types/S8781/meta.d.ts +2 -0
  1493. package/types/S8782/generated-meta.d.ts +18 -0
  1494. package/types/S8782/meta.d.ts +2 -0
  1495. package/types/S8783/generated-meta.d.ts +18 -0
  1496. package/types/S8783/meta.d.ts +2 -0
  1497. package/types/{S4784 → S8786}/generated-meta.d.ts +4 -3
  1498. package/types/S8786/meta.d.ts +2 -0
  1499. package/types/S881/generated-meta.d.ts +1 -0
  1500. package/types/S888/generated-meta.d.ts +1 -0
  1501. package/types/S930/generated-meta.d.ts +1 -0
  1502. package/types/helpers/assertions-chai-common.d.ts +7 -0
  1503. package/types/helpers/assertions-chai.d.ts +4 -0
  1504. package/types/helpers/assertions-cypress.d.ts +7 -0
  1505. package/types/helpers/assertions.d.ts +39 -0
  1506. package/types/helpers/ast.d.ts +10 -0
  1507. package/types/helpers/configs.d.ts +7 -38
  1508. package/types/helpers/cypress.d.ts +11 -0
  1509. package/types/helpers/dependency-manifests/all-in-parent-dirs.d.ts +18 -0
  1510. package/types/helpers/dependency-manifests/closest.d.ts +5 -0
  1511. package/types/helpers/dependency-manifests/dependencies.d.ts +73 -0
  1512. package/types/helpers/dependency-manifests/index.d.ts +22 -0
  1513. package/types/helpers/dependency-manifests/parse.d.ts +12 -0
  1514. package/types/helpers/dependency-manifests/parsed-dependency-files.d.ts +8 -0
  1515. package/types/helpers/dependency-manifests/resolvers/deno.d.ts +12 -0
  1516. package/types/helpers/dependency-manifests/resolvers/helpers.d.ts +12 -0
  1517. package/types/helpers/dependency-manifests/resolvers/package-json.d.ts +2 -0
  1518. package/types/helpers/dependency-manifests/resolvers/types.d.ts +46 -0
  1519. package/types/helpers/files.d.ts +14 -21
  1520. package/types/helpers/generate-meta.d.ts +5 -0
  1521. package/types/helpers/internal-metrics.d.ts +5 -0
  1522. package/types/helpers/mocha-style-test-frameworks.d.ts +19 -0
  1523. package/types/helpers/mocha.d.ts +7 -0
  1524. package/types/helpers/module.d.ts +14 -8
  1525. package/types/helpers/numbers.d.ts +4 -0
  1526. package/types/helpers/playwright.d.ts +2 -0
  1527. package/types/helpers/regex/extract.d.ts +7 -3
  1528. package/types/helpers/sinon.d.ts +0 -1
  1529. package/types/helpers/supertest.d.ts +0 -1
  1530. package/types/helpers/test-file-pattern.d.ts +17 -0
  1531. package/types/helpers/type-origin.d.ts +31 -0
  1532. package/types/helpers/type.d.ts +92 -1
  1533. package/types/helpers/vitest.d.ts +0 -1
  1534. package/types/plugin-rules.d.ts +11 -11
  1535. package/cjs/S2255/rule.js +0 -111
  1536. package/cjs/S4784/rule.js +0 -120
  1537. package/cjs/S4787/rule.js +0 -124
  1538. package/cjs/S4817/rule.js +0 -103
  1539. package/cjs/S4818/generated-meta.js +0 -51
  1540. package/cjs/S4818/index.js +0 -21
  1541. package/cjs/S4823/generated-meta.js +0 -51
  1542. package/cjs/S4823/index.js +0 -21
  1543. package/cjs/S4823/meta.js +0 -21
  1544. package/cjs/S4823/rule.js +0 -75
  1545. package/cjs/S4829/generated-meta.js +0 -51
  1546. package/cjs/S4829/index.js +0 -21
  1547. package/cjs/S4829/meta.js +0 -21
  1548. package/cjs/S4829/rule.js +0 -75
  1549. package/cjs/S5742/generated-meta.js +0 -51
  1550. package/cjs/S5742/index.js +0 -21
  1551. package/cjs/S5742/meta.js +0 -22
  1552. package/cjs/S5742/rule.js +0 -75
  1553. package/cjs/S5743/generated-meta.js +0 -51
  1554. package/cjs/S5743/index.js +0 -21
  1555. package/cjs/S5743/rule.js +0 -78
  1556. package/cjs/S6245/generated-meta.js +0 -51
  1557. package/cjs/S6245/index.js +0 -21
  1558. package/cjs/S6245/meta.js +0 -22
  1559. package/cjs/S6245/rule.js +0 -87
  1560. package/cjs/S6299/generated-meta.js +0 -51
  1561. package/cjs/S6299/index.js +0 -21
  1562. package/cjs/S6299/meta.js +0 -21
  1563. package/cjs/S6299/rule.js +0 -93
  1564. package/cjs/helpers/package-jsons/all-in-parent-dirs.js +0 -31
  1565. package/cjs/helpers/package-jsons/closest.js +0 -32
  1566. package/cjs/helpers/package-jsons/dependencies.js +0 -87
  1567. package/cjs/helpers/package-jsons/index.js +0 -41
  1568. package/cjs/helpers/package-jsons/parse.js +0 -79
  1569. package/docs/aws-s3-bucket-server-encryption.md +0 -9
  1570. package/docs/certificate-transparency.md +0 -9
  1571. package/docs/cookies.md +0 -9
  1572. package/docs/dns-prefetching.md +0 -9
  1573. package/docs/encryption.md +0 -9
  1574. package/docs/no-vue-bypass-sanitization.md +0 -9
  1575. package/docs/process-argv.md +0 -9
  1576. package/docs/regular-expr.md +0 -9
  1577. package/docs/sockets.md +0 -9
  1578. package/docs/standard-input.md +0 -9
  1579. package/docs/xpath.md +0 -9
  1580. package/types/S2255/meta.d.ts +0 -2
  1581. package/types/S4784/meta.d.ts +0 -2
  1582. package/types/S4787/meta.d.ts +0 -2
  1583. package/types/S4817/meta.d.ts +0 -2
  1584. package/types/S4818/generated-meta.d.ts +0 -17
  1585. package/types/S4818/meta.d.ts +0 -2
  1586. package/types/S4823/generated-meta.d.ts +0 -17
  1587. package/types/S4823/meta.d.ts +0 -2
  1588. package/types/S4829/generated-meta.d.ts +0 -17
  1589. package/types/S4829/meta.d.ts +0 -2
  1590. package/types/S5742/generated-meta.d.ts +0 -17
  1591. package/types/S5742/meta.d.ts +0 -3
  1592. package/types/S5743/generated-meta.d.ts +0 -17
  1593. package/types/S6245/generated-meta.d.ts +0 -17
  1594. package/types/S6245/meta.d.ts +0 -3
  1595. package/types/S6299/generated-meta.d.ts +0 -17
  1596. package/types/S6299/meta.d.ts +0 -2
  1597. package/types/helpers/package-jsons/all-in-parent-dirs.d.ts +0 -10
  1598. package/types/helpers/package-jsons/closest.d.ts +0 -2
  1599. package/types/helpers/package-jsons/dependencies.d.ts +0 -32
  1600. package/types/helpers/package-jsons/index.d.ts +0 -8
  1601. package/types/helpers/package-jsons/parse.d.ts +0 -13
  1602. /package/types/{S2255 → S1244}/index.d.ts +0 -0
  1603. /package/types/{S2255 → S1244}/rule.d.ts +0 -0
  1604. /package/types/{S4784 → S5845}/index.d.ts +0 -0
  1605. /package/types/{S4784 → S5845}/rule.d.ts +0 -0
  1606. /package/types/{S4787 → S5906}/index.d.ts +0 -0
  1607. /package/types/{S4787 → S5906}/rule.d.ts +0 -0
  1608. /package/types/{S4817 → S5914}/index.d.ts +0 -0
  1609. /package/types/{S4817 → S5914}/rule.d.ts +0 -0
  1610. /package/types/{S4818 → S8479}/index.d.ts +0 -0
  1611. /package/types/{S4818 → S8479}/rule.d.ts +0 -0
  1612. /package/types/{S4823 → S8754}/index.d.ts +0 -0
  1613. /package/types/{S4823 → S8754}/rule.d.ts +0 -0
  1614. /package/types/{S4829 → S8780}/index.d.ts +0 -0
  1615. /package/types/{S4829 → S8780}/rule.d.ts +0 -0
  1616. /package/types/{S5742 → S8781}/index.d.ts +0 -0
  1617. /package/types/{S5742 → S8781}/rule.d.ts +0 -0
  1618. /package/types/{S5743 → S8782}/index.d.ts +0 -0
  1619. /package/types/{S5743 → S8782}/rule.d.ts +0 -0
  1620. /package/types/{S6245 → S8783}/index.d.ts +0 -0
  1621. /package/types/{S6245 → S8783}/rule.d.ts +0 -0
  1622. /package/types/{S6299 → S8786}/index.d.ts +0 -0
  1623. /package/types/{S6299 → S8786}/rule.d.ts +0 -0
package/cjs/S124/meta.js CHANGED
@@ -17,11 +17,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.schema = exports.eslintId = exports.implementation = void 0;
18
18
  /*
19
19
  * SonarQube JavaScript Plugin
20
- * Copyright (C) 2011-2025 SonarSource Sàrl
20
+ * Copyright (C) SonarSource Sàrl
21
21
  * mailto:info AT sonarsource DOT com
22
22
  *
23
- * This program is free software; you can redistribute it and/or
24
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
23
+ * You can redistribute and/or modify this program under the terms of
24
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
25
25
  *
26
26
  * This program is distributed in the hope that it will be useful,
27
27
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
package/cjs/S124/rule.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /*
3
3
  * SonarQube JavaScript Plugin
4
- * Copyright (C) 2011-2025 SonarSource Sàrl
4
+ * Copyright (C) SonarSource Sàrl
5
5
  * mailto:info AT sonarsource DOT com
6
6
  *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
7
+ * You can redistribute and/or modify this program under the terms of
8
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
9
9
  *
10
10
  * This program is distributed in the hope that it will be useful,
11
11
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /*
3
3
  * SonarQube JavaScript Plugin
4
- * Copyright (C) 2011-2025 SonarSource Sàrl
4
+ * Copyright (C) SonarSource Sàrl
5
5
  * mailto:info AT sonarsource DOT com
6
6
  *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
7
+ * You can redistribute and/or modify this program under the terms of
8
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
9
9
  *
10
10
  * This program is distributed in the hope that it will be useful,
11
11
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,7 +15,7 @@
15
15
  * You should have received a copy of the Sonar Source-Available License
16
16
  * along with this program; if not, see https://sonarsource.com/license/ssal/
17
17
  */
18
- // https://sonarsource.github.io/rspec/#/rspec/S2255/javascript
18
+ // https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
19
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
20
  if (k2 === undefined) k2 = k;
21
21
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -31,21 +31,22 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
31
31
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
34
+ exports.skipOnGeneratedSource = exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
35
35
  __exportStar(require("./meta.js"), exports);
36
36
  exports.meta = {
37
37
  type: 'problem',
38
38
  docs: {
39
- description: 'Writing cookies is security-sensitive',
40
- recommended: false,
41
- url: 'https://sonarsource.github.io/rspec/#/rspec/S2255/javascript',
39
+ description: 'Floating point numbers should not be tested for equality',
40
+ recommended: true,
41
+ url: 'https://sonarsource.github.io/rspec/#/rspec/S1244/javascript',
42
42
  requiresTypeChecking: false,
43
43
  },
44
44
  fixable: undefined,
45
- deprecated: true,
45
+ deprecated: false,
46
46
  defaultOptions: [],
47
47
  };
48
- exports.sonarKey = 'S2255';
48
+ exports.sonarKey = 'S1244';
49
49
  exports.scope = 'Main';
50
50
  exports.languages = ['js', 'ts'];
51
51
  exports.requiredDependency = [];
52
+ exports.skipOnGeneratedSource = false;
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = void 0;
4
4
  /*
5
5
  * SonarQube JavaScript Plugin
6
- * Copyright (C) 2011-2025 SonarSource Sàrl
6
+ * Copyright (C) SonarSource Sàrl
7
7
  * mailto:info AT sonarsource DOT com
8
8
  *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
9
+ * You can redistribute and/or modify this program under the terms of
10
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
11
11
  *
12
12
  * This program is distributed in the hope that it will be useful,
13
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.eslintId = exports.implementation = void 0;
4
4
  /*
5
5
  * SonarQube JavaScript Plugin
6
- * Copyright (C) 2011-2025 SonarSource Sàrl
6
+ * Copyright (C) SonarSource Sàrl
7
7
  * mailto:info AT sonarsource DOT com
8
8
  *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
9
+ * You can redistribute and/or modify this program under the terms of
10
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
11
11
  *
12
12
  * This program is distributed in the hope that it will be useful,
13
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,4 +18,4 @@ exports.eslintId = exports.implementation = void 0;
18
18
  * along with this program; if not, see https://sonarsource.com/license/ssal/
19
19
  */
20
20
  exports.implementation = 'original';
21
- exports.eslintId = 'xpath';
21
+ exports.eslintId = 'no-floating-point-equality';
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ /*
3
+ * SonarQube JavaScript Plugin
4
+ * Copyright (C) SonarSource Sàrl
5
+ * mailto:info AT sonarsource DOT com
6
+ *
7
+ * You can redistribute and/or modify this program under the terms of
8
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
+ * See the Sonar Source-Available License for more details.
14
+ *
15
+ * You should have received a copy of the Sonar Source-Available License
16
+ * along with this program; if not, see https://sonarsource.com/license/ssal/
17
+ */
18
+ // https://sonarsource.github.io/rspec/#/rspec/S1244/javascript
19
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
26
+ }) : (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ o[k2] = m[k];
29
+ }));
30
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32
+ }) : function(o, v) {
33
+ o["default"] = v;
34
+ });
35
+ var __importStar = (this && this.__importStar) || (function () {
36
+ var ownKeys = function(o) {
37
+ ownKeys = Object.getOwnPropertyNames || function (o) {
38
+ var ar = [];
39
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
+ return ar;
41
+ };
42
+ return ownKeys(o);
43
+ };
44
+ return function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ })();
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.rule = void 0;
54
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
55
+ const ast_js_1 = require("../helpers/ast.js");
56
+ const equivalence_js_1 = require("../helpers/equivalence.js");
57
+ const assertions_js_1 = require("../helpers/assertions.js");
58
+ const numbers_js_1 = require("../helpers/numbers.js");
59
+ const meta = __importStar(require("./generated-meta.js"));
60
+ const equalityOperators = new Set(['===', '!==', '==', '!=']);
61
+ const arithmeticOperators = new Set(['+', '-', '*', '%', '**']);
62
+ const constantArithmeticOperators = new Set(['+', '-', '*', '/', '%', '**']);
63
+ const indirectEqualityOperators = new Set(['<=', '>=']);
64
+ const indirectInequalityOperators = new Set(['<', '>']);
65
+ exports.rule = {
66
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
67
+ messages: {
68
+ noExactFloatEquality: 'Do not check floating point equality or inequality with exact values, use a range instead.',
69
+ },
70
+ }),
71
+ create(context) {
72
+ function report(node) {
73
+ context.report({
74
+ messageId: 'noExactFloatEquality',
75
+ node,
76
+ });
77
+ }
78
+ function isFloatingPointSensitive(node) {
79
+ return isFloatingPointExpression(context, node, new Set());
80
+ }
81
+ function shouldReportComparison(node) {
82
+ return (equalityOperators.has(node.operator) &&
83
+ (isFloatingPointSensitive(node.left) || isFloatingPointSensitive(node.right)));
84
+ }
85
+ return {
86
+ BinaryExpression(node) {
87
+ const binaryExpression = node;
88
+ if (shouldReportComparison(binaryExpression)) {
89
+ report(binaryExpression);
90
+ }
91
+ },
92
+ LogicalExpression(node) {
93
+ const logicalExpression = node;
94
+ if (isIndirectExactComparison(context, logicalExpression, isFloatingPointSensitive)) {
95
+ report(logicalExpression);
96
+ }
97
+ },
98
+ CallExpression(node) {
99
+ const assertion = (0, assertions_js_1.extractTestAssertion)(context, node);
100
+ if (assertion?.kind === 'comparison' &&
101
+ (isFloatingPointSensitive(assertion.actual) ||
102
+ isFloatingPointSensitive(assertion.expected))) {
103
+ report(assertion.reportNode);
104
+ }
105
+ },
106
+ SwitchCase(node) {
107
+ const { test } = node;
108
+ if (test && isFloatingPointSensitive(test)) {
109
+ report(test);
110
+ }
111
+ },
112
+ };
113
+ },
114
+ };
115
+ function isFloatingPointLiteral(node) {
116
+ const raw = String(node.raw).replaceAll('_', '').toLowerCase();
117
+ if (!raw.includes('.') && !raw.includes('e')) {
118
+ return false;
119
+ }
120
+ if (!/^\d*(?:\.\d*)?(?:e[+-]?\d+)?$/u.test(raw)) {
121
+ return false;
122
+ }
123
+ return !(0, numbers_js_1.isExactlyRepresentableAsBinaryFraction)(raw);
124
+ }
125
+ function isFractionProducingDivision(node) {
126
+ const leftValue = numericLiteralValue(node.left);
127
+ const rightValue = numericLiteralValue(node.right);
128
+ if (leftValue === null || rightValue === null || rightValue === 0) {
129
+ return false;
130
+ }
131
+ const result = leftValue / rightValue;
132
+ return (Number.isInteger(leftValue) &&
133
+ !Number.isInteger(result) &&
134
+ !(0, numbers_js_1.isExactlyRepresentableIntegerDivision)(leftValue, rightValue));
135
+ }
136
+ function numericLiteralValue(node) {
137
+ if ((0, ast_js_1.isNumberLiteral)(node)) {
138
+ return node.value;
139
+ }
140
+ if (node.type === 'UnaryExpression' &&
141
+ (node.operator === '+' || node.operator === '-') &&
142
+ (0, ast_js_1.isNumberLiteral)(node.argument)) {
143
+ return node.operator === '-' ? -node.argument.value : node.argument.value;
144
+ }
145
+ return null;
146
+ }
147
+ function numericExpressionValue(node) {
148
+ const literalValue = numericLiteralValue(node);
149
+ if (literalValue !== null) {
150
+ return literalValue;
151
+ }
152
+ if (node.type !== 'BinaryExpression' || !constantArithmeticOperators.has(node.operator)) {
153
+ return null;
154
+ }
155
+ const leftValue = numericExpressionValue(node.left);
156
+ const rightValue = numericExpressionValue(node.right);
157
+ if (leftValue === null || rightValue === null) {
158
+ return null;
159
+ }
160
+ switch (node.operator) {
161
+ case '+':
162
+ return leftValue + rightValue;
163
+ case '-':
164
+ return leftValue - rightValue;
165
+ case '*':
166
+ return leftValue * rightValue;
167
+ case '/':
168
+ return rightValue === 0 ? null : leftValue / rightValue;
169
+ case '%':
170
+ return rightValue === 0 ? null : leftValue % rightValue;
171
+ case '**':
172
+ return leftValue ** rightValue;
173
+ default:
174
+ return null;
175
+ }
176
+ }
177
+ function isFloatingPointConst(context, node, visitedVariables) {
178
+ const variable = (0, ast_js_1.getVariableFromName)(context, node.name, node);
179
+ if (!variable || visitedVariables.has(variable)) {
180
+ return false;
181
+ }
182
+ const definition = variable.defs[0];
183
+ if (definition?.type !== 'Variable' || definition.node.type !== 'VariableDeclarator') {
184
+ return false;
185
+ }
186
+ const declaration = definition.parent;
187
+ if (declaration?.type !== 'VariableDeclaration' ||
188
+ declaration.kind !== 'const' ||
189
+ definition.node.id.type !== 'Identifier' ||
190
+ !definition.node.init) {
191
+ return false;
192
+ }
193
+ visitedVariables.add(variable);
194
+ return isFloatingPointExpression(context, definition.node.init, visitedVariables);
195
+ }
196
+ function isFloatingPointExpression(context, node, visitedVariables) {
197
+ if ((0, ast_js_1.isNumberLiteral)(node)) {
198
+ return isFloatingPointLiteral(node);
199
+ }
200
+ if (node.type === 'UnaryExpression') {
201
+ return (['+', '-'].includes(node.operator) &&
202
+ isFloatingPointExpression(context, node.argument, visitedVariables));
203
+ }
204
+ if (node.type === 'BinaryExpression') {
205
+ const numericValue = numericExpressionValue(node);
206
+ if (numericValue !== null && Number.isSafeInteger(numericValue)) {
207
+ return false;
208
+ }
209
+ if (node.operator === '/') {
210
+ return (isFloatingPointExpression(context, node.left, visitedVariables) ||
211
+ isFloatingPointExpression(context, node.right, visitedVariables) ||
212
+ isFractionProducingDivision(node));
213
+ }
214
+ return (arithmeticOperators.has(node.operator) &&
215
+ (isFloatingPointExpression(context, node.left, visitedVariables) ||
216
+ isFloatingPointExpression(context, node.right, visitedVariables)));
217
+ }
218
+ return (0, ast_js_1.isIdentifier)(node) && isFloatingPointConst(context, node, visitedVariables);
219
+ }
220
+ function isIndirectExactComparison(context, node, isFloatingPointSensitive) {
221
+ const acceptedOperators = acceptedIndirectOperators(node.operator);
222
+ const { left: leftComparison, right: rightComparison } = node;
223
+ if (!acceptedOperators ||
224
+ !isAcceptedComparison(leftComparison, acceptedOperators) ||
225
+ !isAcceptedComparison(rightComparison, acceptedOperators)) {
226
+ return false;
227
+ }
228
+ return comparisonOrientations(leftComparison).some(left => comparisonOrientations(rightComparison).some(right => left.isAbove !== right.isAbove &&
229
+ (0, equivalence_js_1.areEquivalent)(left.expression, right.expression, context.sourceCode) &&
230
+ (0, equivalence_js_1.areEquivalent)(left.threshold, right.threshold, context.sourceCode) &&
231
+ (isFloatingPointSensitive(left.expression) || isFloatingPointSensitive(left.threshold))));
232
+ }
233
+ function acceptedIndirectOperators(operator) {
234
+ // && of two <=/>= comparisons collapses to equality; || of two strict </> comparisons
235
+ // asserts inequality. Keep operator sets, this mapping, and comparisonOrientations in sync.
236
+ if (operator === '&&') {
237
+ return indirectEqualityOperators;
238
+ }
239
+ if (operator === '||') {
240
+ return indirectInequalityOperators;
241
+ }
242
+ return null;
243
+ }
244
+ function isAcceptedComparison(node, acceptedOperators) {
245
+ return node.type === 'BinaryExpression' && acceptedOperators.has(node.operator);
246
+ }
247
+ function comparisonOrientations(node) {
248
+ const { left, right } = node;
249
+ switch (node.operator) {
250
+ case '<':
251
+ case '<=':
252
+ return [
253
+ { expression: left, threshold: right, isAbove: false },
254
+ { expression: right, threshold: left, isAbove: true },
255
+ ];
256
+ case '>':
257
+ case '>=':
258
+ return [
259
+ { expression: left, threshold: right, isAbove: true },
260
+ { expression: right, threshold: left, isAbove: false },
261
+ ];
262
+ default:
263
+ return [];
264
+ }
265
+ }
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /*
3
3
  * SonarQube JavaScript Plugin
4
- * Copyright (C) 2011-2025 SonarSource Sàrl
4
+ * Copyright (C) SonarSource Sàrl
5
5
  * mailto:info AT sonarsource DOT com
6
6
  *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
7
+ * You can redistribute and/or modify this program under the terms of
8
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
9
9
  *
10
10
  * This program is distributed in the hope that it will be useful,
11
11
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -31,13 +31,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
31
31
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
34
+ exports.skipOnGeneratedSource = exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
35
35
  __exportStar(require("./meta.js"), exports);
36
36
  exports.meta = {
37
37
  type: 'suggestion',
38
38
  docs: {
39
39
  description: 'Sections of code should not be commented out',
40
- recommended: true,
40
+ recommended: false,
41
41
  url: 'https://sonarsource.github.io/rspec/#/rspec/S125/javascript',
42
42
  requiresTypeChecking: false,
43
43
  },
@@ -49,3 +49,4 @@ exports.sonarKey = 'S125';
49
49
  exports.scope = 'Main';
50
50
  exports.languages = ['js', 'ts'];
51
51
  exports.requiredDependency = [];
52
+ exports.skipOnGeneratedSource = true;
package/cjs/S125/index.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = void 0;
4
4
  /*
5
5
  * SonarQube JavaScript Plugin
6
- * Copyright (C) 2011-2025 SonarSource Sàrl
6
+ * Copyright (C) SonarSource Sàrl
7
7
  * mailto:info AT sonarsource DOT com
8
8
  *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
9
+ * You can redistribute and/or modify this program under the terms of
10
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
11
11
  *
12
12
  * This program is distributed in the hope that it will be useful,
13
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
package/cjs/S125/meta.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.eslintId = exports.implementation = void 0;
4
4
  /*
5
5
  * SonarQube JavaScript Plugin
6
- * Copyright (C) 2011-2025 SonarSource Sàrl
6
+ * Copyright (C) SonarSource Sàrl
7
7
  * mailto:info AT sonarsource DOT com
8
8
  *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
9
+ * You can redistribute and/or modify this program under the terms of
10
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
11
11
  *
12
12
  * This program is distributed in the hope that it will be useful,
13
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
package/cjs/S125/rule.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /*
3
3
  * SonarQube JavaScript Plugin
4
- * Copyright (C) 2011-2025 SonarSource Sàrl
4
+ * Copyright (C) SonarSource Sàrl
5
5
  * mailto:info AT sonarsource DOT com
6
6
  *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
7
+ * You can redistribute and/or modify this program under the terms of
8
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
9
9
  *
10
10
  * This program is distributed in the hope that it will be useful,
11
11
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -61,9 +61,13 @@ const CodeRecognizer_js_1 = require("../helpers/recognizers/CodeRecognizer.js");
61
61
  const JavaScriptFootPrint_js_1 = require("../helpers/recognizers/JavaScriptFootPrint.js");
62
62
  const node_path_1 = __importDefault(require("node:path"));
63
63
  const EXCLUDED_STATEMENTS = new Set(['BreakStatement', 'LabeledStatement', 'ContinueStatement']);
64
+ // Documentation example prefixes that indicate a comment is an intentional usage example,
65
+ // not commented-out dead code (e.g. "e.g. foo()", "example: bar()").
66
+ const DOCUMENTATION_PREFIX_PATTERN = /^(e\.g[.:]|for example\b|examples?:)/i;
64
67
  // Cheap prefilter: any meaningful JS statement must contain at least one of these characters,
65
68
  // or be an import/export with a string literal (side-effect imports have no punctuation)
66
69
  const CODE_CHAR_PATTERN = /[;{}()=<>]|\bimport\s+['"]|\bexport\s/;
70
+ const JSX_ATTRIBUTE_WRAPPER = '_S125Wrapper';
67
71
  const recognizer = new CodeRecognizer_js_1.CodeRecognizer(0.9, new JavaScriptFootPrint_js_1.JavaScriptFootPrint());
68
72
  exports.rule = {
69
73
  meta: (0, generate_meta_js_1.generateMeta)(meta, {
@@ -115,6 +119,7 @@ exports.rule = {
115
119
  for (const groupComment of groupedComments) {
116
120
  const rawTextTrimmed = groupComment.value.trim();
117
121
  if (rawTextTrimmed !== '}' &&
122
+ !isDocumentationExample(rawTextTrimmed) &&
118
123
  containsCode(injectMissingBraces(rawTextTrimmed), context)) {
119
124
  context.report({
120
125
  messageId: 'commentedCode',
@@ -166,22 +171,20 @@ function containsCode(value, context) {
166
171
  if (!CODE_CHAR_PATTERN.test(value) || !couldBeJsCode(value) || !context.languageOptions.parser) {
167
172
  return false;
168
173
  }
169
- try {
170
- const options = {
171
- ...context.languageOptions?.parserOptions,
172
- filePath: `placeholder${node_path_1.default.extname(context.filename)}`,
173
- programs: undefined,
174
- project: undefined,
175
- };
176
- //In case of Vue parser: we will use the JS/TS parser instead of the Vue parser
177
- const parser = context.languageOptions?.parserOptions?.parser ?? context.languageOptions?.parser;
178
- const result = 'parse' in parser ? parser.parse(value, options) : parser.parseForESLint(value, options).ast;
179
- const program = result;
174
+ const options = {
175
+ ...context.languageOptions?.parserOptions,
176
+ filePath: `placeholder${node_path_1.default.extname(context.filename)}`,
177
+ programs: undefined,
178
+ project: undefined,
179
+ };
180
+ //In case of Vue parser: we will use the JS/TS parser instead of the Vue parser
181
+ const parser = context.languageOptions?.parserOptions?.parser ?? context.languageOptions?.parser;
182
+ const program = parseWithRuleParser(value, parser, options);
183
+ if (program) {
180
184
  return program.body.length > 0 && !isExclusion(program.body, value, program, context);
181
185
  }
182
- catch {
183
- return false;
184
- }
186
+ const wrappedProgram = parseWithRuleParser(wrapAsJsxTag(value), parser, options);
187
+ return hasValidJsxAttributeCode(wrappedProgram);
185
188
  }
186
189
  function couldBeJsCode(input) {
187
190
  return input.split('\n').some(line => recognizer.recognition(line) >= recognizer.threshold);
@@ -189,11 +192,11 @@ function couldBeJsCode(input) {
189
192
  function injectMissingBraces(value) {
190
193
  let balance = 0;
191
194
  let minBalance = 0;
192
- for (let i = 0; i < value.length; i++) {
193
- if (value[i] === '{') {
195
+ for (const char of value) {
196
+ if (char === '{') {
194
197
  balance++;
195
198
  }
196
- else if (value[i] === '}') {
199
+ else if (char === '}') {
197
200
  balance--;
198
201
  if (balance < minBalance) {
199
202
  minBalance = balance;
@@ -229,3 +232,47 @@ function isExcludedLiteral(expression) {
229
232
  }
230
233
  return false;
231
234
  }
235
+ function isDocumentationExample(value) {
236
+ const firstLine = value.split('\n')[0];
237
+ // Strip any leading '//' markers (e.g. '// foo()' in a nested comment becomes 'foo()')
238
+ const stripped = firstLine.replace(/^(?:\/\/\s*)+/, '').trim();
239
+ return DOCUMENTATION_PREFIX_PATTERN.test(stripped);
240
+ }
241
+ function parseWithRuleParser(value, parser, options) {
242
+ try {
243
+ return ('parse' in parser ? parser.parse(value, options) : parser.parseForESLint(value, options).ast);
244
+ }
245
+ catch {
246
+ return null;
247
+ }
248
+ }
249
+ function wrapAsJsxTag(value) {
250
+ return `<${JSX_ATTRIBUTE_WRAPPER} ${value} />`;
251
+ }
252
+ function hasValidJsxAttributeCode(program) {
253
+ if (program?.body.length !== 1) {
254
+ return false;
255
+ }
256
+ const statement = program.body[0];
257
+ if (statement.type !== 'ExpressionStatement' || statement.expression.type !== 'JSXElement') {
258
+ return false;
259
+ }
260
+ const jsxElement = statement.expression;
261
+ if (jsxElement.openingElement.name.type !== 'JSXIdentifier') {
262
+ return false;
263
+ }
264
+ if (jsxElement.openingElement.name.name !== JSX_ATTRIBUTE_WRAPPER) {
265
+ return false;
266
+ }
267
+ const attributes = jsxElement.openingElement.attributes;
268
+ return attributes.length > 0 && attributes.every(isValidJsxAttribute);
269
+ }
270
+ function isValidJsxAttribute(attribute) {
271
+ if (attribute.type === 'JSXSpreadAttribute') {
272
+ return true;
273
+ }
274
+ if (attribute.name.type !== 'JSXIdentifier') {
275
+ return false;
276
+ }
277
+ return attribute.value !== null;
278
+ }
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /*
3
3
  * SonarQube JavaScript Plugin
4
- * Copyright (C) 2011-2025 SonarSource Sàrl
4
+ * Copyright (C) SonarSource Sàrl
5
5
  * mailto:info AT sonarsource DOT com
6
6
  *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
7
+ * You can redistribute and/or modify this program under the terms of
8
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
9
9
  *
10
10
  * This program is distributed in the hope that it will be useful,
11
11
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -31,7 +31,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
31
31
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
34
+ exports.skipOnGeneratedSource = exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
35
35
  __exportStar(require("./meta.js"), exports);
36
36
  exports.meta = {
37
37
  type: 'suggestion',
@@ -49,3 +49,4 @@ exports.sonarKey = 'S126';
49
49
  exports.scope = 'Main';
50
50
  exports.languages = ['js', 'ts'];
51
51
  exports.requiredDependency = [];
52
+ exports.skipOnGeneratedSource = false;
package/cjs/S126/index.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = void 0;
4
4
  /*
5
5
  * SonarQube JavaScript Plugin
6
- * Copyright (C) 2011-2025 SonarSource Sàrl
6
+ * Copyright (C) SonarSource Sàrl
7
7
  * mailto:info AT sonarsource DOT com
8
8
  *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
9
+ * You can redistribute and/or modify this program under the terms of
10
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
11
11
  *
12
12
  * This program is distributed in the hope that it will be useful,
13
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
package/cjs/S126/meta.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.eslintId = exports.implementation = void 0;
4
4
  /*
5
5
  * SonarQube JavaScript Plugin
6
- * Copyright (C) 2011-2025 SonarSource Sàrl
6
+ * Copyright (C) SonarSource Sàrl
7
7
  * mailto:info AT sonarsource DOT com
8
8
  *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
9
+ * You can redistribute and/or modify this program under the terms of
10
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
11
11
  *
12
12
  * This program is distributed in the hope that it will be useful,
13
13
  * but WITHOUT ANY WARRANTY; without even the implied warranty of