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
@@ -0,0 +1,148 @@
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/S8782/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 ast_js_1 = require("../helpers/ast.js");
55
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
56
+ const mocha_js_1 = require("../helpers/mocha.js");
57
+ const meta = __importStar(require("./generated-meta.js"));
58
+ const AFTER_HOOK_CONSTRUCTS = ['after', 'afterAll', 'afterEach'];
59
+ function getDescribeBody(node) {
60
+ const callback = node.arguments[1];
61
+ if (!callback || !ast_js_1.FUNCTION_NODES.includes(callback.type)) {
62
+ return null;
63
+ }
64
+ const body = callback.body;
65
+ return body.type === 'BlockStatement' ? body : null;
66
+ }
67
+ function findTestCaseRange(body) {
68
+ const isTestOrSuiteStatement = (statement) => statement.type === 'ExpressionStatement' &&
69
+ statement.expression.type === 'CallExpression' &&
70
+ ((0, mocha_js_1.isTestCase)(statement.expression) || (0, mocha_js_1.isDescribeCase)(statement.expression));
71
+ const first = body.body.findIndex(isTestOrSuiteStatement);
72
+ if (first === -1) {
73
+ return null;
74
+ }
75
+ let last = body.body.length - 1;
76
+ while (!isTestOrSuiteStatement(body.body[last])) {
77
+ last--;
78
+ }
79
+ return { first, last };
80
+ }
81
+ function extractLifecycleHookCall(statement) {
82
+ if (statement.type !== 'ExpressionStatement' ||
83
+ statement.expression.type !== 'CallExpression' ||
84
+ !(0, mocha_js_1.isLifecycleHook)(statement.expression)) {
85
+ return null;
86
+ }
87
+ return statement.expression;
88
+ }
89
+ function classifyHook(expr, index, range, afterHooksAtTop, afterHooksAtBottom, report) {
90
+ const isAfterHook = (0, mocha_js_1.isTestConstruct)(expr, AFTER_HOOK_CONSTRUCTS);
91
+ if (index < range.first) {
92
+ isAfterHook && afterHooksAtTop.push(expr);
93
+ return;
94
+ }
95
+ if (index > range.last) {
96
+ isAfterHook ? afterHooksAtBottom.push(expr) : report(expr, 'moveBeforeHook');
97
+ return;
98
+ }
99
+ report(expr, isAfterHook ? 'moveAfterHook' : 'moveBeforeHook');
100
+ }
101
+ exports.rule = {
102
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
103
+ messages: {
104
+ moveBeforeHook: 'Move this hook above the test cases in the same scope.',
105
+ moveAfterHook: 'Move this hook above or below the test cases in the same scope.',
106
+ groupAfterHook: 'Group this hook with the other after-hooks in the same scope.',
107
+ },
108
+ }),
109
+ create(context) {
110
+ const reportHook = (expr, messageId) => {
111
+ const callee = expr.callee;
112
+ context.report({
113
+ node: callee.type === 'MemberExpression' ? callee.object : callee,
114
+ messageId,
115
+ });
116
+ };
117
+ return {
118
+ CallExpression(node) {
119
+ if (!(0, mocha_js_1.isDescribeCase)(node)) {
120
+ return;
121
+ }
122
+ const body = getDescribeBody(node);
123
+ if (!body) {
124
+ return;
125
+ }
126
+ const range = findTestCaseRange(body);
127
+ if (!range) {
128
+ return;
129
+ }
130
+ const afterHooksAtTop = [];
131
+ const afterHooksAtBottom = [];
132
+ for (const [i, statement] of body.body.entries()) {
133
+ const expr = extractLifecycleHookCall(statement);
134
+ if (expr) {
135
+ classifyHook(expr, i, range, afterHooksAtTop, afterHooksAtBottom, reportHook);
136
+ }
137
+ }
138
+ if (afterHooksAtTop.length === 0 || afterHooksAtBottom.length === 0) {
139
+ return;
140
+ }
141
+ const minority = afterHooksAtTop.length < afterHooksAtBottom.length ? afterHooksAtTop : afterHooksAtBottom;
142
+ for (const expr of minority) {
143
+ reportHook(expr, 'groupAfterHook');
144
+ }
145
+ },
146
+ };
147
+ },
148
+ };
@@ -0,0 +1,52 @@
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/S8783/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 __exportStar = (this && this.__exportStar) || function(m, exports) {
31
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.skipOnGeneratedSource = exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
35
+ __exportStar(require("./meta.js"), exports);
36
+ exports.meta = {
37
+ type: 'suggestion',
38
+ docs: {
39
+ description: 'Forced browser interactions should not bypass actionability checks',
40
+ recommended: true,
41
+ url: 'https://sonarsource.github.io/rspec/#/rspec/S8783/javascript',
42
+ requiresTypeChecking: false,
43
+ },
44
+ fixable: undefined,
45
+ deprecated: false,
46
+ defaultOptions: [],
47
+ };
48
+ exports.sonarKey = 'S8783';
49
+ exports.scope = 'Tests';
50
+ exports.languages = ['js', 'ts'];
51
+ exports.requiredDependency = [];
52
+ exports.skipOnGeneratedSource = false;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rule = void 0;
4
+ /*
5
+ * SonarQube JavaScript Plugin
6
+ * Copyright (C) SonarSource Sàrl
7
+ * mailto:info AT sonarsource DOT com
8
+ *
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
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
+ * See the Sonar Source-Available License for more details.
16
+ *
17
+ * You should have received a copy of the Sonar Source-Available License
18
+ * along with this program; if not, see https://sonarsource.com/license/ssal/
19
+ */
20
+ var rule_js_1 = require("./rule.js");
21
+ Object.defineProperty(exports, "rule", { enumerable: true, get: function () { return rule_js_1.rule; } });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eslintId = exports.implementation = void 0;
4
+ /*
5
+ * SonarQube JavaScript Plugin
6
+ * Copyright (C) SonarSource Sàrl
7
+ * mailto:info AT sonarsource DOT com
8
+ *
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
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
+ * See the Sonar Source-Available License for more details.
16
+ *
17
+ * You should have received a copy of the Sonar Source-Available License
18
+ * along with this program; if not, see https://sonarsource.com/license/ssal/
19
+ */
20
+ exports.implementation = 'original';
21
+ exports.eslintId = 'no-forced-browser-interaction';
@@ -0,0 +1,167 @@
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/S8783/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 ast_js_1 = require("../helpers/ast.js");
55
+ const cypress_js_1 = require("../helpers/cypress.js");
56
+ const dependencies_js_1 = require("../helpers/dependency-manifests/dependencies.js");
57
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
58
+ const module_js_1 = require("../helpers/module.js");
59
+ const assertion_utils_js_1 = require("../S5906/assertion-utils.js");
60
+ const meta = __importStar(require("./generated-meta.js"));
61
+ const messages = {
62
+ removeForce: 'Remove this forced interaction and wait for the element to be actionable instead.',
63
+ };
64
+ const PLAYWRIGHT_MODULES = ['@playwright/test'];
65
+ // The options object is always the trailing argument of these commands, but it can
66
+ // follow a variable number of positional arguments (e.g. Cypress `.click(options)`,
67
+ // `.click(position, options)`, `.click(x, y, options)`). The mapped value is the
68
+ // minimum index at which the options object may appear, guarding required positional
69
+ // arguments (e.g. the event name of Cypress `.trigger()` or the value of `.type()`).
70
+ const CYPRESS_MIN_OPTIONS_INDEX = new Map([
71
+ ['click', 0],
72
+ ['check', 0],
73
+ ['clear', 0],
74
+ ['dblclick', 0],
75
+ ['rightclick', 0],
76
+ ['select', 1],
77
+ ['trigger', 1],
78
+ ['type', 1],
79
+ ['uncheck', 0],
80
+ ]);
81
+ const PLAYWRIGHT_MIN_OPTIONS_INDEX = new Map([
82
+ ['check', 0],
83
+ ['clear', 0],
84
+ ['click', 0],
85
+ ['dblclick', 0],
86
+ ['dragTo', 1],
87
+ ['fill', 1],
88
+ ['hover', 0],
89
+ ['selectOption', 1],
90
+ ['selectText', 0],
91
+ ['setChecked', 1],
92
+ ['tap', 0],
93
+ ['uncheck', 0],
94
+ ]);
95
+ exports.rule = {
96
+ meta: (0, generate_meta_js_1.generateMeta)(meta, { messages }),
97
+ create(context) {
98
+ const hasCypress = (0, dependencies_js_1.getDependenciesSanitizePaths)(context).has('cypress');
99
+ const hasPlaywright = (0, module_js_1.importsOrDependsOnModule)(context, PLAYWRIGHT_MODULES, PLAYWRIGHT_MODULES);
100
+ const playwrightLocators = new Set();
101
+ if (!hasCypress && !hasPlaywright) {
102
+ return {};
103
+ }
104
+ function reportIfForced(call, minOptionsIndex) {
105
+ if (call.arguments.length <= minOptionsIndex) {
106
+ return;
107
+ }
108
+ const optionsArgument = call.arguments.at(-1);
109
+ const forceProperty = findForceTrueProperty(context, optionsArgument);
110
+ if (!forceProperty) {
111
+ return;
112
+ }
113
+ context.report({
114
+ node: forceProperty,
115
+ messageId: 'removeForce',
116
+ });
117
+ }
118
+ return {
119
+ ...(hasPlaywright ? (0, assertion_utils_js_1.trackPlaywrightLocators)(context, playwrightLocators) : {}),
120
+ CallExpression(node) {
121
+ if (node.type !== 'CallExpression' || !(0, ast_js_1.isMethodCall)(node)) {
122
+ return;
123
+ }
124
+ if (hasCypress) {
125
+ checkCypressCall(node);
126
+ }
127
+ if (hasPlaywright) {
128
+ checkPlaywrightCall(node);
129
+ }
130
+ },
131
+ };
132
+ function checkCypressCall(call) {
133
+ if (!(0, ast_js_1.isMethodCall)(call) || !(0, cypress_js_1.chainStartsWithCy)(call.callee.object)) {
134
+ return;
135
+ }
136
+ const minOptionsIndex = CYPRESS_MIN_OPTIONS_INDEX.get(call.callee.property.name);
137
+ if (minOptionsIndex !== undefined) {
138
+ reportIfForced(call, minOptionsIndex);
139
+ }
140
+ }
141
+ function checkPlaywrightCall(call) {
142
+ if (!(0, ast_js_1.isMethodCall)(call)) {
143
+ return;
144
+ }
145
+ const minOptionsIndex = PLAYWRIGHT_MIN_OPTIONS_INDEX.get(call.callee.property.name);
146
+ if (minOptionsIndex === undefined) {
147
+ return;
148
+ }
149
+ if ((0, assertion_utils_js_1.isPlaywrightLocatorExpression)(context, call.callee.object, playwrightLocators)) {
150
+ reportIfForced(call, minOptionsIndex);
151
+ }
152
+ }
153
+ },
154
+ };
155
+ function findForceTrueProperty(context, candidate) {
156
+ if (!candidate || candidate.type === 'SpreadElement') {
157
+ return null;
158
+ }
159
+ const options = (0, ast_js_1.getValueOfExpression)(context, candidate, 'ObjectExpression', true);
160
+ const forceProperty = (0, ast_js_1.getProperty)(options, 'force', context);
161
+ if (!forceProperty) {
162
+ return null;
163
+ }
164
+ return forceProperty.value.type === 'Literal' && forceProperty.value.value === true
165
+ ? forceProperty
166
+ : null;
167
+ }
@@ -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/S4787/javascript
18
+ // https://sonarsource.github.io/rspec/#/rspec/S8786/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
- type: 'problem',
37
+ type: 'suggestion',
38
38
  docs: {
39
- description: 'Encrypting data is security-sensitive',
40
- recommended: false,
41
- url: 'https://sonarsource.github.io/rspec/#/rspec/S4787/javascript',
39
+ description: 'Regular expressions should not cause non-linear backtracking',
40
+ recommended: true,
41
+ url: 'https://sonarsource.github.io/rspec/#/rspec/S8786/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 = 'S4787';
48
+ exports.sonarKey = 'S8786';
49
49
  exports.scope = 'Main';
50
50
  exports.languages = ['js', 'ts'];
51
51
  exports.requiredDependency = [];
52
+ exports.skipOnGeneratedSource = false;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rule = void 0;
4
+ /*
5
+ * SonarQube JavaScript Plugin
6
+ * Copyright (C) SonarSource Sàrl
7
+ * mailto:info AT sonarsource DOT com
8
+ *
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
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
+ * See the Sonar Source-Available License for more details.
16
+ *
17
+ * You should have received a copy of the Sonar Source-Available License
18
+ * along with this program; if not, see https://sonarsource.com/license/ssal/
19
+ */
20
+ var rule_js_1 = require("./rule.js");
21
+ Object.defineProperty(exports, "rule", { enumerable: true, get: function () { return rule_js_1.rule; } });
@@ -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
@@ -17,5 +17,6 @@ exports.eslintId = exports.implementation = void 0;
17
17
  * You should have received a copy of the Sonar Source-Available License
18
18
  * along with this program; if not, see https://sonarsource.com/license/ssal/
19
19
  */
20
+ // https://sonarsource.github.io/rspec/#/rspec/S8786/javascript
20
21
  exports.implementation = 'original';
21
- exports.eslintId = 'regular-expr';
22
+ exports.eslintId = 'super-linear-regex';
@@ -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/S4818/javascript
18
+ // https://sonarsource.github.io/rspec/#/rspec/S8786/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);
@@ -51,25 +51,29 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
+ const scslre_1 = require("scslre");
54
55
  const generate_meta_js_1 = require("../helpers/generate-meta.js");
55
- const module_js_1 = require("../helpers/module.js");
56
56
  const meta = __importStar(require("./generated-meta.js"));
57
- exports.rule = {
58
- meta: (0, generate_meta_js_1.generateMeta)(meta, {
59
- messages: {
60
- safeSocket: 'Make sure that sockets are used safely here.',
57
+ const rule_template_js_1 = require("../helpers/regex/rule-template.js");
58
+ const message = `Simplify this regular expression to reduce its runtime, as it has super-linear performance due to backtracking.`;
59
+ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
60
+ return {
61
+ onRegExpLiteralEnter: (node) => {
62
+ let reports;
63
+ try {
64
+ ({ reports } = (0, scslre_1.analyse)(node));
65
+ }
66
+ catch {
67
+ return;
68
+ }
69
+ const hasExponential = reports.some(r => r.exponential);
70
+ const hasNonExponential = reports.some(r => !r.exponential);
71
+ if (hasNonExponential && !hasExponential) {
72
+ context.report({
73
+ message,
74
+ node: context.node,
75
+ });
76
+ }
61
77
  },
62
- }),
63
- create(context) {
64
- return {
65
- NewExpression: (node) => checkCallExpression(node, context, 'net.Socket'),
66
- CallExpression: (node) => checkCallExpression(node, context, 'net.createConnection', 'net.connect'),
67
- };
68
- },
69
- };
70
- function checkCallExpression(callExpr, context, ...sensitiveFqns) {
71
- const callFqn = (0, module_js_1.getFullyQualifiedName)(context, callExpr);
72
- if (callFqn !== null && sensitiveFqns.includes(callFqn)) {
73
- context.report({ messageId: 'safeSocket', node: callExpr.callee });
74
- }
75
- }
78
+ };
79
+ }, (0, generate_meta_js_1.generateMeta)(meta));
@@ -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 = 'S881';
49
49
  exports.scope = 'Main';
50
50
  exports.languages = ['js', 'ts'];
51
51
  exports.requiredDependency = [];
52
+ exports.skipOnGeneratedSource = false;
package/cjs/S881/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/S881/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/S881/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