eslint-plugin-sonarjs 4.0.1 → 4.0.3

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 (1214) hide show
  1. package/README.md +23 -22
  2. package/cjs/S100/config.js +3 -3
  3. package/cjs/S100/generated-meta.js +3 -3
  4. package/cjs/S100/index.js +3 -3
  5. package/cjs/S100/meta.js +3 -3
  6. package/cjs/S100/rule.js +10 -8
  7. package/cjs/S101/config.js +4 -4
  8. package/cjs/S101/generated-meta.js +4 -4
  9. package/cjs/S101/index.js +3 -3
  10. package/cjs/S101/meta.js +3 -3
  11. package/cjs/S101/rule.js +6 -6
  12. package/cjs/S104/config.js +3 -3
  13. package/cjs/S104/generated-meta.js +3 -3
  14. package/cjs/S104/index.js +3 -3
  15. package/cjs/S104/meta.js +3 -3
  16. package/cjs/S104/rule.js +5 -5
  17. package/cjs/S105/generated-meta.js +3 -3
  18. package/cjs/S105/index.js +3 -3
  19. package/cjs/S105/meta.js +3 -3
  20. package/cjs/S105/rule.js +5 -5
  21. package/cjs/S1066/generated-meta.js +3 -3
  22. package/cjs/S1066/index.js +3 -3
  23. package/cjs/S1066/meta.js +3 -3
  24. package/cjs/S1066/rule.js +8 -7
  25. package/cjs/S1067/config.js +3 -3
  26. package/cjs/S1067/generated-meta.js +3 -3
  27. package/cjs/S1067/index.js +3 -3
  28. package/cjs/S1067/meta.js +3 -3
  29. package/cjs/S1067/rule.js +11 -9
  30. package/cjs/S1110/generated-meta.js +3 -3
  31. package/cjs/S1110/index.js +3 -3
  32. package/cjs/S1110/meta.js +3 -3
  33. package/cjs/S1110/rule.js +10 -8
  34. package/cjs/S1119/generated-meta.js +3 -3
  35. package/cjs/S1119/index.js +3 -3
  36. package/cjs/S1119/meta.js +3 -3
  37. package/cjs/S1119/rule.js +5 -5
  38. package/cjs/S1121/generated-meta.js +3 -3
  39. package/cjs/S1121/index.js +3 -3
  40. package/cjs/S1121/meta.js +3 -3
  41. package/cjs/S1121/rule.js +7 -6
  42. package/cjs/S1125/generated-meta.js +3 -3
  43. package/cjs/S1125/index.js +3 -3
  44. package/cjs/S1125/meta.js +3 -3
  45. package/cjs/S1125/rule.js +12 -11
  46. package/cjs/S1126/generated-meta.js +3 -3
  47. package/cjs/S1126/index.js +3 -3
  48. package/cjs/S1126/meta.js +3 -3
  49. package/cjs/S1126/rule.js +31 -12
  50. package/cjs/S1128/generated-meta.js +5 -4
  51. package/cjs/S1128/index.js +3 -3
  52. package/cjs/S1128/meta.js +3 -3
  53. package/cjs/S1128/rule.js +11 -8
  54. package/cjs/S1134/generated-meta.js +3 -3
  55. package/cjs/S1134/index.js +3 -3
  56. package/cjs/S1134/meta.js +3 -3
  57. package/cjs/S1134/rule.js +5 -5
  58. package/cjs/S1135/generated-meta.js +3 -3
  59. package/cjs/S1135/index.js +3 -3
  60. package/cjs/S1135/meta.js +3 -3
  61. package/cjs/S1135/rule.js +5 -5
  62. package/cjs/S1154/generated-meta.js +3 -3
  63. package/cjs/S1154/index.js +3 -3
  64. package/cjs/S1154/meta.js +3 -3
  65. package/cjs/S1154/rule.js +9 -7
  66. package/cjs/S117/config.js +3 -3
  67. package/cjs/S117/generated-meta.js +3 -3
  68. package/cjs/S117/index.js +3 -3
  69. package/cjs/S117/meta.js +3 -3
  70. package/cjs/S117/rule.js +9 -8
  71. package/cjs/S1172/generated-meta.js +3 -3
  72. package/cjs/S1172/index.js +3 -3
  73. package/cjs/S1172/meta.js +3 -3
  74. package/cjs/S1172/rule.js +5 -5
  75. package/cjs/S1192/config.js +3 -3
  76. package/cjs/S1192/generated-meta.js +3 -3
  77. package/cjs/S1192/index.js +3 -3
  78. package/cjs/S1192/meta.js +3 -3
  79. package/cjs/S1192/rule.js +10 -9
  80. package/cjs/S1219/generated-meta.js +3 -3
  81. package/cjs/S1219/index.js +3 -3
  82. package/cjs/S1219/meta.js +3 -3
  83. package/cjs/S1219/rule.js +7 -6
  84. package/cjs/S1226/generated-meta.js +3 -3
  85. package/cjs/S1226/index.js +3 -3
  86. package/cjs/S1226/meta.js +3 -3
  87. package/cjs/S1226/rule.js +9 -7
  88. package/cjs/S124/config.js +3 -3
  89. package/cjs/S124/generated-meta.js +3 -3
  90. package/cjs/S124/index.js +3 -3
  91. package/cjs/S124/meta.js +3 -3
  92. package/cjs/S124/rule.js +5 -5
  93. package/cjs/S125/generated-meta.js +3 -3
  94. package/cjs/S125/index.js +3 -3
  95. package/cjs/S125/meta.js +3 -3
  96. package/cjs/S125/rule.js +76 -27
  97. package/cjs/S126/generated-meta.js +3 -3
  98. package/cjs/S126/index.js +3 -3
  99. package/cjs/S126/meta.js +3 -3
  100. package/cjs/S126/rule.js +5 -5
  101. package/cjs/S1264/generated-meta.js +3 -3
  102. package/cjs/S1264/index.js +3 -3
  103. package/cjs/S1264/meta.js +3 -3
  104. package/cjs/S1264/rule.js +5 -5
  105. package/cjs/S128/generated-meta.js +3 -3
  106. package/cjs/S128/index.js +3 -3
  107. package/cjs/S128/meta.js +3 -3
  108. package/cjs/S128/rule.js +7 -6
  109. package/cjs/S1291/generated-meta.js +3 -3
  110. package/cjs/S1291/index.js +3 -3
  111. package/cjs/S1291/meta.js +3 -3
  112. package/cjs/S1291/rule.js +5 -5
  113. package/cjs/S1301/generated-meta.js +3 -3
  114. package/cjs/S1301/index.js +3 -3
  115. package/cjs/S1301/meta.js +3 -3
  116. package/cjs/S1301/rule.js +143 -5
  117. package/cjs/S1313/generated-meta.js +5 -5
  118. package/cjs/S1313/index.js +3 -3
  119. package/cjs/S1313/meta.js +3 -3
  120. package/cjs/S1313/rule.js +5 -5
  121. package/cjs/S134/config.js +4 -4
  122. package/cjs/S134/generated-meta.js +3 -3
  123. package/cjs/S134/index.js +3 -3
  124. package/cjs/S134/meta.js +3 -3
  125. package/cjs/S134/rule.js +10 -8
  126. package/cjs/S135/generated-meta.js +3 -3
  127. package/cjs/S135/index.js +3 -3
  128. package/cjs/S135/meta.js +3 -3
  129. package/cjs/S135/rule.js +8 -7
  130. package/cjs/S138/config.js +3 -3
  131. package/cjs/S138/generated-meta.js +3 -3
  132. package/cjs/S138/index.js +3 -3
  133. package/cjs/S138/meta.js +3 -3
  134. package/cjs/S138/rule.js +12 -9
  135. package/cjs/S1439/generated-meta.js +3 -3
  136. package/cjs/S1439/index.js +3 -3
  137. package/cjs/S1439/meta.js +3 -3
  138. package/cjs/S1439/rule.js +5 -5
  139. package/cjs/S1444/generated-meta.js +3 -3
  140. package/cjs/S1444/index.js +3 -3
  141. package/cjs/S1444/meta.js +3 -3
  142. package/cjs/S1444/rule.js +5 -5
  143. package/cjs/S1451/config.js +3 -3
  144. package/cjs/S1451/generated-meta.js +3 -3
  145. package/cjs/S1451/index.js +3 -3
  146. package/cjs/S1451/meta.js +3 -3
  147. package/cjs/S1451/rule.js +5 -5
  148. package/cjs/S1472/generated-meta.js +3 -3
  149. package/cjs/S1472/index.js +3 -3
  150. package/cjs/S1472/meta.js +3 -3
  151. package/cjs/S1472/rule.js +5 -5
  152. package/cjs/S1479/config.js +3 -3
  153. package/cjs/S1479/generated-meta.js +3 -3
  154. package/cjs/S1479/index.js +3 -3
  155. package/cjs/S1479/meta.js +3 -3
  156. package/cjs/S1479/rule.js +5 -5
  157. package/cjs/S1481/generated-meta.js +3 -3
  158. package/cjs/S1481/index.js +3 -3
  159. package/cjs/S1481/meta.js +3 -3
  160. package/cjs/S1481/rule.js +5 -5
  161. package/cjs/S1488/generated-meta.js +3 -3
  162. package/cjs/S1488/index.js +3 -3
  163. package/cjs/S1488/meta.js +3 -3
  164. package/cjs/S1488/rule.js +14 -10
  165. package/cjs/S1515/generated-meta.js +3 -3
  166. package/cjs/S1515/index.js +3 -3
  167. package/cjs/S1515/meta.js +3 -3
  168. package/cjs/S1515/rule.js +13 -11
  169. package/cjs/S1523/generated-meta.js +3 -3
  170. package/cjs/S1523/index.js +3 -3
  171. package/cjs/S1523/meta.js +3 -3
  172. package/cjs/S1523/rule.js +8 -8
  173. package/cjs/S1526/generated-meta.js +3 -3
  174. package/cjs/S1526/index.js +3 -3
  175. package/cjs/S1526/meta.js +3 -3
  176. package/cjs/S1526/rule.js +8 -7
  177. package/cjs/S1527/generated-meta.js +3 -3
  178. package/cjs/S1527/index.js +3 -3
  179. package/cjs/S1527/meta.js +3 -3
  180. package/cjs/S1527/rule.js +5 -5
  181. package/cjs/S1528/generated-meta.js +3 -3
  182. package/cjs/S1528/index.js +3 -3
  183. package/cjs/S1528/meta.js +3 -3
  184. package/cjs/S1528/rule.js +2 -2
  185. package/cjs/S1529/generated-meta.js +3 -3
  186. package/cjs/S1529/index.js +3 -3
  187. package/cjs/S1529/meta.js +3 -3
  188. package/cjs/S1529/rule.js +7 -6
  189. package/cjs/S1530/generated-meta.js +3 -3
  190. package/cjs/S1530/index.js +3 -3
  191. package/cjs/S1530/meta.js +3 -3
  192. package/cjs/S1530/rule.js +8 -6
  193. package/cjs/S1533/generated-meta.js +3 -3
  194. package/cjs/S1533/index.js +3 -3
  195. package/cjs/S1533/meta.js +3 -3
  196. package/cjs/S1533/rule.js +5 -5
  197. package/cjs/S1535/generated-meta.js +3 -3
  198. package/cjs/S1535/index.js +3 -3
  199. package/cjs/S1535/meta.js +3 -3
  200. package/cjs/S1535/rule.js +5 -5
  201. package/cjs/S1541/config.js +3 -3
  202. package/cjs/S1541/generated-meta.js +3 -3
  203. package/cjs/S1541/index.js +3 -3
  204. package/cjs/S1541/meta.js +3 -3
  205. package/cjs/S1541/rule.js +13 -10
  206. package/cjs/S1607/generated-meta.js +3 -3
  207. package/cjs/S1607/index.js +3 -3
  208. package/cjs/S1607/meta.js +3 -3
  209. package/cjs/S1607/rule.js +25 -23
  210. package/cjs/S1764/generated-meta.js +3 -3
  211. package/cjs/S1764/index.js +3 -3
  212. package/cjs/S1764/meta.js +3 -3
  213. package/cjs/S1764/rule.js +13 -10
  214. package/cjs/S1821/generated-meta.js +3 -3
  215. package/cjs/S1821/index.js +3 -3
  216. package/cjs/S1821/meta.js +3 -3
  217. package/cjs/S1821/rule.js +5 -5
  218. package/cjs/S1848/generated-meta.js +3 -3
  219. package/cjs/S1848/index.js +3 -3
  220. package/cjs/S1848/meta.js +3 -3
  221. package/cjs/S1848/rule.js +13 -10
  222. package/cjs/S1854/generated-meta.js +3 -3
  223. package/cjs/S1854/index.js +3 -3
  224. package/cjs/S1854/meta.js +3 -3
  225. package/cjs/S1854/rule.js +21 -17
  226. package/cjs/S1862/generated-meta.js +3 -3
  227. package/cjs/S1862/index.js +3 -3
  228. package/cjs/S1862/meta.js +3 -3
  229. package/cjs/S1862/rule.js +13 -11
  230. package/cjs/S1871/generated-meta.js +3 -3
  231. package/cjs/S1871/index.js +3 -3
  232. package/cjs/S1871/meta.js +3 -3
  233. package/cjs/S1871/rule.js +24 -19
  234. package/cjs/S1874/generated-meta.js +3 -3
  235. package/cjs/S1874/index.js +3 -3
  236. package/cjs/S1874/meta.js +3 -3
  237. package/cjs/S1874/rule.js +7 -6
  238. package/cjs/S1940/generated-meta.js +3 -3
  239. package/cjs/S1940/index.js +3 -3
  240. package/cjs/S1940/meta.js +3 -3
  241. package/cjs/S1940/rule.js +5 -5
  242. package/cjs/S1994/generated-meta.js +3 -3
  243. package/cjs/S1994/index.js +3 -3
  244. package/cjs/S1994/meta.js +3 -3
  245. package/cjs/S1994/rule.js +13 -10
  246. package/cjs/S2004/config.js +3 -3
  247. package/cjs/S2004/generated-meta.js +3 -3
  248. package/cjs/S2004/index.js +3 -3
  249. package/cjs/S2004/meta.js +3 -3
  250. package/cjs/S2004/rule.js +12 -10
  251. package/cjs/S2068/config.js +3 -3
  252. package/cjs/S2068/generated-meta.js +3 -3
  253. package/cjs/S2068/index.js +3 -3
  254. package/cjs/S2068/meta.js +3 -3
  255. package/cjs/S2068/rule.js +102 -15
  256. package/cjs/S2077/generated-meta.js +3 -3
  257. package/cjs/S2077/index.js +3 -3
  258. package/cjs/S2077/meta.js +3 -3
  259. package/cjs/S2077/rule.js +45 -9
  260. package/cjs/S2092/generated-meta.js +4 -4
  261. package/cjs/S2092/index.js +3 -3
  262. package/cjs/S2092/meta.js +3 -3
  263. package/cjs/S2092/rule.js +5 -5
  264. package/cjs/S2123/generated-meta.js +3 -3
  265. package/cjs/S2123/index.js +3 -3
  266. package/cjs/S2123/meta.js +3 -3
  267. package/cjs/S2123/rule.js +5 -5
  268. package/cjs/S2137/generated-meta.js +3 -3
  269. package/cjs/S2137/index.js +3 -3
  270. package/cjs/S2137/meta.js +3 -3
  271. package/cjs/S2137/rule.js +5 -5
  272. package/cjs/S2138/generated-meta.js +3 -3
  273. package/cjs/S2138/index.js +3 -3
  274. package/cjs/S2138/meta.js +3 -3
  275. package/cjs/S2138/rule.js +7 -6
  276. package/cjs/S2187/generated-meta.js +3 -3
  277. package/cjs/S2187/index.js +3 -3
  278. package/cjs/S2187/meta.js +3 -3
  279. package/cjs/S2187/rule.js +5 -5
  280. package/cjs/S2201/generated-meta.js +3 -3
  281. package/cjs/S2201/index.js +3 -3
  282. package/cjs/S2201/meta.js +3 -3
  283. package/cjs/S2201/rule.js +11 -8
  284. package/cjs/S2208/generated-meta.js +5 -4
  285. package/cjs/S2208/index.js +3 -3
  286. package/cjs/S2208/meta.js +3 -3
  287. package/cjs/S2208/rule.js +5 -5
  288. package/cjs/S2234/generated-meta.js +3 -3
  289. package/cjs/S2234/index.js +3 -3
  290. package/cjs/S2234/meta.js +3 -3
  291. package/cjs/S2234/rule.js +163 -16
  292. package/cjs/S2245/generated-meta.js +3 -3
  293. package/cjs/S2245/index.js +3 -3
  294. package/cjs/S2245/meta.js +3 -3
  295. package/cjs/S2245/rule.js +7 -6
  296. package/cjs/S2251/generated-meta.js +3 -3
  297. package/cjs/S2251/index.js +3 -3
  298. package/cjs/S2251/meta.js +3 -3
  299. package/cjs/S2251/rule.js +8 -7
  300. package/cjs/S2255/generated-meta.js +3 -3
  301. package/cjs/S2255/index.js +3 -3
  302. package/cjs/S2255/meta.js +3 -3
  303. package/cjs/S2255/rule.js +9 -8
  304. package/cjs/S2259/generated-meta.js +3 -3
  305. package/cjs/S2259/index.js +3 -3
  306. package/cjs/S2259/meta.js +3 -3
  307. package/cjs/S2259/rule.js +17 -12
  308. package/cjs/S2301/generated-meta.js +3 -3
  309. package/cjs/S2301/index.js +3 -3
  310. package/cjs/S2301/meta.js +3 -3
  311. package/cjs/S2301/rule.js +24 -13
  312. package/cjs/S2310/generated-meta.js +3 -3
  313. package/cjs/S2310/index.js +3 -3
  314. package/cjs/S2310/meta.js +3 -3
  315. package/cjs/S2310/rule.js +17 -14
  316. package/cjs/S2392/generated-meta.js +3 -3
  317. package/cjs/S2392/index.js +3 -3
  318. package/cjs/S2392/meta.js +3 -3
  319. package/cjs/S2392/rule.js +51 -8
  320. package/cjs/S2424/generated-meta.js +3 -3
  321. package/cjs/S2424/index.js +3 -3
  322. package/cjs/S2424/meta.js +3 -3
  323. package/cjs/S2424/rule.js +5 -5
  324. package/cjs/S2428/generated-meta.js +3 -3
  325. package/cjs/S2428/index.js +3 -3
  326. package/cjs/S2428/meta.js +3 -3
  327. package/cjs/S2428/rule.js +11 -9
  328. package/cjs/S2486/generated-meta.js +3 -3
  329. package/cjs/S2486/index.js +3 -3
  330. package/cjs/S2486/meta.js +3 -3
  331. package/cjs/S2486/rule.js +7 -6
  332. package/cjs/S2589/generated-meta.js +3 -3
  333. package/cjs/S2589/index.js +3 -3
  334. package/cjs/S2589/meta.js +3 -3
  335. package/cjs/S2589/rule.js +15 -13
  336. package/cjs/S2598/generated-meta.js +3 -3
  337. package/cjs/S2598/index.js +3 -3
  338. package/cjs/S2598/meta.js +3 -3
  339. package/cjs/S2598/rule.js +20 -17
  340. package/cjs/S2612/generated-meta.js +4 -4
  341. package/cjs/S2612/index.js +3 -3
  342. package/cjs/S2612/meta.js +3 -3
  343. package/cjs/S2612/rule.js +11 -9
  344. package/cjs/S2639/generated-meta.js +3 -3
  345. package/cjs/S2639/index.js +3 -3
  346. package/cjs/S2639/meta.js +3 -3
  347. package/cjs/S2639/rule.js +5 -5
  348. package/cjs/S2681/generated-meta.js +3 -3
  349. package/cjs/S2681/index.js +3 -3
  350. package/cjs/S2681/meta.js +3 -3
  351. package/cjs/S2681/rule.js +5 -5
  352. package/cjs/S2692/generated-meta.js +3 -3
  353. package/cjs/S2692/index.js +3 -3
  354. package/cjs/S2692/meta.js +3 -3
  355. package/cjs/S2692/rule.js +9 -7
  356. package/cjs/S2699/generated-meta.js +3 -3
  357. package/cjs/S2699/index.js +3 -3
  358. package/cjs/S2699/meta.js +3 -3
  359. package/cjs/S2699/rule.js +40 -31
  360. package/cjs/S2703/generated-meta.js +3 -3
  361. package/cjs/S2703/index.js +3 -3
  362. package/cjs/S2703/meta.js +3 -3
  363. package/cjs/S2703/rule.js +5 -5
  364. package/cjs/S2737/generated-meta.js +3 -3
  365. package/cjs/S2737/index.js +3 -3
  366. package/cjs/S2737/meta.js +3 -3
  367. package/cjs/S2737/rule.js +9 -7
  368. package/cjs/S2755/generated-meta.js +3 -3
  369. package/cjs/S2755/index.js +3 -3
  370. package/cjs/S2755/meta.js +3 -3
  371. package/cjs/S2755/rule.js +12 -9
  372. package/cjs/S2757/generated-meta.js +3 -3
  373. package/cjs/S2757/index.js +3 -3
  374. package/cjs/S2757/meta.js +3 -3
  375. package/cjs/S2757/rule.js +5 -5
  376. package/cjs/S2817/generated-meta.js +3 -3
  377. package/cjs/S2817/index.js +3 -3
  378. package/cjs/S2817/meta.js +3 -3
  379. package/cjs/S2817/rule.js +13 -10
  380. package/cjs/S2819/generated-meta.js +3 -3
  381. package/cjs/S2819/index.js +3 -3
  382. package/cjs/S2819/meta.js +3 -3
  383. package/cjs/S2819/rule.js +19 -15
  384. package/cjs/S2870/generated-meta.js +3 -3
  385. package/cjs/S2870/index.js +3 -3
  386. package/cjs/S2870/meta.js +3 -3
  387. package/cjs/S2870/rule.js +11 -8
  388. package/cjs/S2871/generated-meta.js +3 -3
  389. package/cjs/S2871/index.js +3 -3
  390. package/cjs/S2871/meta.js +3 -3
  391. package/cjs/S2871/rule.js +15 -12
  392. package/cjs/S2970/generated-meta.js +3 -3
  393. package/cjs/S2970/index.js +3 -3
  394. package/cjs/S2970/meta.js +3 -3
  395. package/cjs/S2970/rule.js +12 -11
  396. package/cjs/S2990/generated-meta.js +3 -3
  397. package/cjs/S2990/index.js +3 -3
  398. package/cjs/S2990/meta.js +3 -3
  399. package/cjs/S2990/rule.js +5 -5
  400. package/cjs/S2999/config.js +3 -3
  401. package/cjs/S2999/generated-meta.js +3 -3
  402. package/cjs/S2999/index.js +3 -3
  403. package/cjs/S2999/meta.js +3 -3
  404. package/cjs/S2999/rule.js +13 -10
  405. package/cjs/S3001/generated-meta.js +3 -3
  406. package/cjs/S3001/index.js +3 -3
  407. package/cjs/S3001/meta.js +3 -3
  408. package/cjs/S3001/rule.js +5 -5
  409. package/cjs/S3003/generated-meta.js +3 -3
  410. package/cjs/S3003/index.js +3 -3
  411. package/cjs/S3003/meta.js +3 -3
  412. package/cjs/S3003/rule.js +13 -10
  413. package/cjs/S3317/generated-meta.js +5 -4
  414. package/cjs/S3317/index.js +3 -3
  415. package/cjs/S3317/meta.js +3 -3
  416. package/cjs/S3317/rule.js +7 -6
  417. package/cjs/S3330/generated-meta.js +3 -3
  418. package/cjs/S3330/index.js +3 -3
  419. package/cjs/S3330/meta.js +3 -3
  420. package/cjs/S3330/rule.js +5 -5
  421. package/cjs/S3358/generated-meta.js +3 -3
  422. package/cjs/S3358/index.js +3 -3
  423. package/cjs/S3358/meta.js +3 -3
  424. package/cjs/S3358/rule.js +5 -5
  425. package/cjs/S3402/generated-meta.js +3 -3
  426. package/cjs/S3402/index.js +3 -3
  427. package/cjs/S3402/meta.js +3 -3
  428. package/cjs/S3402/rule.js +17 -13
  429. package/cjs/S3403/generated-meta.js +3 -3
  430. package/cjs/S3403/index.js +3 -3
  431. package/cjs/S3403/meta.js +3 -3
  432. package/cjs/S3403/rule.js +13 -10
  433. package/cjs/S3415/generated-meta.js +3 -3
  434. package/cjs/S3415/index.js +3 -3
  435. package/cjs/S3415/meta.js +3 -3
  436. package/cjs/S3415/rule.js +19 -16
  437. package/cjs/S3499/generated-meta.js +5 -4
  438. package/cjs/S3499/index.js +3 -3
  439. package/cjs/S3499/meta.js +3 -3
  440. package/cjs/S3499/rule.js +8 -7
  441. package/cjs/S3500/generated-meta.js +5 -4
  442. package/cjs/S3500/index.js +3 -3
  443. package/cjs/S3500/meta.js +3 -3
  444. package/cjs/S3500/rule.js +8 -7
  445. package/cjs/S3513/generated-meta.js +5 -4
  446. package/cjs/S3513/index.js +3 -3
  447. package/cjs/S3513/meta.js +3 -3
  448. package/cjs/S3513/rule.js +8 -7
  449. package/cjs/S3514/generated-meta.js +5 -4
  450. package/cjs/S3514/index.js +3 -3
  451. package/cjs/S3514/meta.js +3 -3
  452. package/cjs/S3514/rule.js +13 -10
  453. package/cjs/S3516/generated-meta.js +3 -3
  454. package/cjs/S3516/index.js +3 -3
  455. package/cjs/S3516/meta.js +3 -3
  456. package/cjs/S3516/rule.js +112 -10
  457. package/cjs/S3524/config.js +3 -3
  458. package/cjs/S3524/generated-meta.js +5 -4
  459. package/cjs/S3524/index.js +3 -3
  460. package/cjs/S3524/meta.js +3 -3
  461. package/cjs/S3524/rule.js +5 -5
  462. package/cjs/S3525/generated-meta.js +5 -4
  463. package/cjs/S3525/index.js +3 -3
  464. package/cjs/S3525/meta.js +3 -3
  465. package/cjs/S3525/rule.js +9 -7
  466. package/cjs/S3531/generated-meta.js +5 -4
  467. package/cjs/S3531/index.js +3 -3
  468. package/cjs/S3531/meta.js +3 -3
  469. package/cjs/S3531/rule.js +8 -6
  470. package/cjs/S3533/generated-meta.js +5 -4
  471. package/cjs/S3533/index.js +3 -3
  472. package/cjs/S3533/meta.js +3 -3
  473. package/cjs/S3533/rule.js +11 -10
  474. package/cjs/S3579/generated-meta.js +3 -3
  475. package/cjs/S3579/index.js +3 -3
  476. package/cjs/S3579/meta.js +3 -3
  477. package/cjs/S3579/rule.js +9 -7
  478. package/cjs/S3616/generated-meta.js +3 -3
  479. package/cjs/S3616/index.js +3 -3
  480. package/cjs/S3616/meta.js +3 -3
  481. package/cjs/S3616/rule.js +9 -7
  482. package/cjs/S3626/generated-meta.js +3 -3
  483. package/cjs/S3626/index.js +3 -3
  484. package/cjs/S3626/meta.js +3 -3
  485. package/cjs/S3626/rule.js +7 -6
  486. package/cjs/S3686/generated-meta.js +3 -3
  487. package/cjs/S3686/index.js +3 -3
  488. package/cjs/S3686/meta.js +3 -3
  489. package/cjs/S3686/rule.js +10 -8
  490. package/cjs/S3699/generated-meta.js +3 -3
  491. package/cjs/S3699/index.js +3 -3
  492. package/cjs/S3699/meta.js +3 -3
  493. package/cjs/S3699/rule.js +8 -7
  494. package/cjs/S3735/generated-meta.js +3 -3
  495. package/cjs/S3735/index.js +3 -3
  496. package/cjs/S3735/meta.js +3 -3
  497. package/cjs/S3735/rule.js +11 -8
  498. package/cjs/S3757/generated-meta.js +3 -3
  499. package/cjs/S3757/index.js +3 -3
  500. package/cjs/S3757/meta.js +3 -3
  501. package/cjs/S3757/rule.js +11 -9
  502. package/cjs/S3758/generated-meta.js +3 -3
  503. package/cjs/S3758/index.js +3 -3
  504. package/cjs/S3758/meta.js +3 -3
  505. package/cjs/S3758/rule.js +12 -10
  506. package/cjs/S3760/generated-meta.js +3 -3
  507. package/cjs/S3760/index.js +3 -3
  508. package/cjs/S3760/meta.js +3 -3
  509. package/cjs/S3760/rule.js +27 -24
  510. package/cjs/S3776/config.js +3 -3
  511. package/cjs/S3776/generated-meta.js +3 -3
  512. package/cjs/S3776/index.js +3 -3
  513. package/cjs/S3776/meta.js +12 -4
  514. package/cjs/S3776/rule.js +39 -38
  515. package/cjs/S3782/generated-meta.js +3 -3
  516. package/cjs/S3782/index.js +3 -3
  517. package/cjs/S3782/meta.js +3 -3
  518. package/cjs/S3782/rule.js +10 -8
  519. package/cjs/S3785/generated-meta.js +3 -3
  520. package/cjs/S3785/index.js +3 -3
  521. package/cjs/S3785/meta.js +3 -3
  522. package/cjs/S3785/rule.js +12 -9
  523. package/cjs/S3796/generated-meta.js +3 -3
  524. package/cjs/S3796/index.js +3 -3
  525. package/cjs/S3796/meta.js +3 -3
  526. package/cjs/S3796/rule.js +15 -11
  527. package/cjs/S3798/generated-meta.js +3 -3
  528. package/cjs/S3798/index.js +3 -3
  529. package/cjs/S3798/meta.js +3 -3
  530. package/cjs/S3798/rule.js +4 -3
  531. package/cjs/S3800/generated-meta.js +3 -3
  532. package/cjs/S3800/index.js +3 -3
  533. package/cjs/S3800/meta.js +3 -3
  534. package/cjs/S3800/rule.js +19 -14
  535. package/cjs/S3801/generated-meta.js +3 -3
  536. package/cjs/S3801/index.js +3 -3
  537. package/cjs/S3801/meta.js +3 -3
  538. package/cjs/S3801/rule.js +18 -14
  539. package/cjs/S3827/generated-meta.js +3 -3
  540. package/cjs/S3827/index.js +3 -3
  541. package/cjs/S3827/meta.js +3 -3
  542. package/cjs/S3827/rule.js +9 -6
  543. package/cjs/S3923/generated-meta.js +3 -3
  544. package/cjs/S3923/index.js +3 -3
  545. package/cjs/S3923/meta.js +3 -3
  546. package/cjs/S3923/rule.js +12 -9
  547. package/cjs/S3972/generated-meta.js +3 -3
  548. package/cjs/S3972/index.js +3 -3
  549. package/cjs/S3972/meta.js +3 -3
  550. package/cjs/S3972/rule.js +8 -7
  551. package/cjs/S3973/generated-meta.js +3 -3
  552. package/cjs/S3973/index.js +3 -3
  553. package/cjs/S3973/meta.js +3 -3
  554. package/cjs/S3973/rule.js +10 -8
  555. package/cjs/S3981/generated-meta.js +3 -3
  556. package/cjs/S3981/index.js +3 -3
  557. package/cjs/S3981/meta.js +3 -3
  558. package/cjs/S3981/rule.js +7 -6
  559. package/cjs/S3984/generated-meta.js +3 -3
  560. package/cjs/S3984/index.js +3 -3
  561. package/cjs/S3984/meta.js +3 -3
  562. package/cjs/S3984/rule.js +7 -6
  563. package/cjs/S4030/generated-meta.js +3 -3
  564. package/cjs/S4030/index.js +3 -3
  565. package/cjs/S4030/meta.js +3 -3
  566. package/cjs/S4030/rule.js +15 -12
  567. package/cjs/S4036/generated-meta.js +3 -3
  568. package/cjs/S4036/index.js +3 -3
  569. package/cjs/S4036/meta.js +3 -3
  570. package/cjs/S4036/rule.js +11 -9
  571. package/cjs/S4043/generated-meta.js +3 -3
  572. package/cjs/S4043/index.js +3 -3
  573. package/cjs/S4043/meta.js +3 -3
  574. package/cjs/S4043/rule.js +15 -11
  575. package/cjs/S4139/generated-meta.js +3 -3
  576. package/cjs/S4139/index.js +3 -3
  577. package/cjs/S4139/meta.js +3 -3
  578. package/cjs/S4139/rule.js +10 -8
  579. package/cjs/S4143/generated-meta.js +3 -3
  580. package/cjs/S4143/index.js +3 -3
  581. package/cjs/S4143/meta.js +3 -3
  582. package/cjs/S4143/rule.js +15 -12
  583. package/cjs/S4144/config.js +3 -3
  584. package/cjs/S4144/generated-meta.js +3 -3
  585. package/cjs/S4144/index.js +3 -3
  586. package/cjs/S4144/meta.js +3 -3
  587. package/cjs/S4144/rule.js +15 -12
  588. package/cjs/S4158/generated-meta.js +3 -3
  589. package/cjs/S4158/index.js +3 -3
  590. package/cjs/S4158/meta.js +3 -3
  591. package/cjs/S4158/rule.js +15 -12
  592. package/cjs/S4165/generated-meta.js +3 -3
  593. package/cjs/S4165/index.js +3 -3
  594. package/cjs/S4165/meta.js +3 -3
  595. package/cjs/S4165/rule.js +17 -15
  596. package/cjs/S4322/generated-meta.js +3 -3
  597. package/cjs/S4322/index.js +3 -3
  598. package/cjs/S4322/meta.js +3 -3
  599. package/cjs/S4322/rule.js +11 -8
  600. package/cjs/S4323/generated-meta.js +3 -3
  601. package/cjs/S4323/index.js +3 -3
  602. package/cjs/S4323/meta.js +3 -3
  603. package/cjs/S4323/rule.js +7 -6
  604. package/cjs/S4324/generated-meta.js +3 -3
  605. package/cjs/S4324/index.js +3 -3
  606. package/cjs/S4324/meta.js +3 -3
  607. package/cjs/S4324/rule.js +10 -8
  608. package/cjs/S4328/config.js +3 -3
  609. package/cjs/S4328/generated-meta.js +3 -3
  610. package/cjs/S4328/index.js +3 -3
  611. package/cjs/S4328/meta.js +3 -3
  612. package/cjs/S4328/rule.js +5 -5
  613. package/cjs/S4335/generated-meta.js +3 -3
  614. package/cjs/S4335/index.js +3 -3
  615. package/cjs/S4335/meta.js +3 -3
  616. package/cjs/S4335/rule.js +9 -7
  617. package/cjs/S4423/generated-meta.js +3 -3
  618. package/cjs/S4423/index.js +3 -3
  619. package/cjs/S4423/meta.js +3 -3
  620. package/cjs/S4423/rule.aws.js +3 -3
  621. package/cjs/S4423/rule.js +7 -6
  622. package/cjs/S4423/rule.lib.js +11 -10
  623. package/cjs/S4426/generated-meta.js +3 -3
  624. package/cjs/S4426/index.js +3 -3
  625. package/cjs/S4426/meta.js +3 -3
  626. package/cjs/S4426/rule.js +14 -13
  627. package/cjs/S4502/generated-meta.js +3 -3
  628. package/cjs/S4502/index.js +3 -3
  629. package/cjs/S4502/meta.js +3 -3
  630. package/cjs/S4502/rule.js +19 -16
  631. package/cjs/S4507/generated-meta.js +3 -3
  632. package/cjs/S4507/index.js +3 -3
  633. package/cjs/S4507/meta.js +3 -3
  634. package/cjs/S4507/rule.js +11 -9
  635. package/cjs/S4524/generated-meta.js +3 -3
  636. package/cjs/S4524/index.js +3 -3
  637. package/cjs/S4524/meta.js +3 -3
  638. package/cjs/S4524/rule.js +5 -5
  639. package/cjs/S4619/generated-meta.js +3 -3
  640. package/cjs/S4619/index.js +3 -3
  641. package/cjs/S4619/meta.js +3 -3
  642. package/cjs/S4619/rule.js +9 -7
  643. package/cjs/S4621/generated-meta.js +3 -3
  644. package/cjs/S4621/index.js +3 -3
  645. package/cjs/S4621/meta.js +3 -3
  646. package/cjs/S4621/rule.js +8 -7
  647. package/cjs/S4622/config.js +3 -3
  648. package/cjs/S4622/generated-meta.js +3 -3
  649. package/cjs/S4622/index.js +3 -3
  650. package/cjs/S4622/meta.js +3 -3
  651. package/cjs/S4622/rule.js +8 -6
  652. package/cjs/S4623/generated-meta.js +3 -3
  653. package/cjs/S4623/index.js +3 -3
  654. package/cjs/S4623/meta.js +3 -3
  655. package/cjs/S4623/rule.js +11 -8
  656. package/cjs/S4624/generated-meta.js +5 -4
  657. package/cjs/S4624/index.js +3 -3
  658. package/cjs/S4624/meta.js +3 -3
  659. package/cjs/S4624/rule.js +9 -7
  660. package/cjs/S4634/generated-meta.js +5 -4
  661. package/cjs/S4634/index.js +3 -3
  662. package/cjs/S4634/meta.js +3 -3
  663. package/cjs/S4634/rule.js +7 -6
  664. package/cjs/S4721/generated-meta.js +3 -3
  665. package/cjs/S4721/index.js +3 -3
  666. package/cjs/S4721/meta.js +3 -3
  667. package/cjs/S4721/rule.js +10 -8
  668. package/cjs/S4782/generated-meta.js +3 -3
  669. package/cjs/S4782/index.js +3 -3
  670. package/cjs/S4782/meta.js +3 -3
  671. package/cjs/S4782/rule.js +10 -8
  672. package/cjs/S4784/generated-meta.js +3 -3
  673. package/cjs/S4784/index.js +3 -3
  674. package/cjs/S4784/meta.js +3 -3
  675. package/cjs/S4784/rule.js +8 -7
  676. package/cjs/S4787/generated-meta.js +3 -3
  677. package/cjs/S4787/index.js +3 -3
  678. package/cjs/S4787/meta.js +3 -3
  679. package/cjs/S4787/rule.js +12 -10
  680. package/cjs/S4790/generated-meta.js +3 -3
  681. package/cjs/S4790/index.js +3 -3
  682. package/cjs/S4790/meta.js +3 -3
  683. package/cjs/S4790/rule.js +10 -8
  684. package/cjs/S4798/generated-meta.js +3 -3
  685. package/cjs/S4798/index.js +3 -3
  686. package/cjs/S4798/meta.js +3 -3
  687. package/cjs/S4798/rule.js +5 -5
  688. package/cjs/S4817/generated-meta.js +3 -3
  689. package/cjs/S4817/index.js +3 -3
  690. package/cjs/S4817/meta.js +3 -3
  691. package/cjs/S4817/rule.js +13 -11
  692. package/cjs/S4818/generated-meta.js +3 -3
  693. package/cjs/S4818/index.js +3 -3
  694. package/cjs/S4818/meta.js +3 -3
  695. package/cjs/S4818/rule.js +7 -6
  696. package/cjs/S4822/generated-meta.js +5 -4
  697. package/cjs/S4822/index.js +3 -3
  698. package/cjs/S4822/meta.js +3 -3
  699. package/cjs/S4822/rule.js +16 -12
  700. package/cjs/S4823/generated-meta.js +3 -3
  701. package/cjs/S4823/index.js +3 -3
  702. package/cjs/S4823/meta.js +3 -3
  703. package/cjs/S4823/rule.js +7 -6
  704. package/cjs/S4829/generated-meta.js +3 -3
  705. package/cjs/S4829/index.js +3 -3
  706. package/cjs/S4829/meta.js +3 -3
  707. package/cjs/S4829/rule.js +7 -6
  708. package/cjs/S4830/generated-meta.js +3 -3
  709. package/cjs/S4830/index.js +3 -3
  710. package/cjs/S4830/meta.js +3 -3
  711. package/cjs/S4830/rule.js +14 -11
  712. package/cjs/S5042/generated-meta.js +7 -7
  713. package/cjs/S5042/index.js +3 -3
  714. package/cjs/S5042/meta.js +3 -3
  715. package/cjs/S5042/rule.js +12 -10
  716. package/cjs/S5122/generated-meta.js +4 -4
  717. package/cjs/S5122/index.js +3 -3
  718. package/cjs/S5122/meta.js +3 -3
  719. package/cjs/S5122/rule.js +43 -39
  720. package/cjs/S5148/generated-meta.js +4 -4
  721. package/cjs/S5148/index.js +3 -3
  722. package/cjs/S5148/meta.js +3 -3
  723. package/cjs/S5148/rule.js +12 -11
  724. package/cjs/S5247/generated-meta.js +3 -3
  725. package/cjs/S5247/index.js +3 -3
  726. package/cjs/S5247/meta.js +3 -3
  727. package/cjs/S5247/rule.js +25 -21
  728. package/cjs/S5256/generated-meta.js +3 -3
  729. package/cjs/S5256/index.js +3 -3
  730. package/cjs/S5256/meta.js +3 -3
  731. package/cjs/S5256/rule.js +8 -7
  732. package/cjs/S5257/generated-meta.js +3 -3
  733. package/cjs/S5257/index.js +3 -3
  734. package/cjs/S5257/meta.js +3 -3
  735. package/cjs/S5257/rule.js +7 -6
  736. package/cjs/S5260/generated-meta.js +3 -3
  737. package/cjs/S5260/index.js +3 -3
  738. package/cjs/S5260/meta.js +3 -3
  739. package/cjs/S5260/rule.js +7 -6
  740. package/cjs/S5264/generated-meta.js +3 -3
  741. package/cjs/S5264/index.js +3 -3
  742. package/cjs/S5264/meta.js +3 -3
  743. package/cjs/S5264/rule.js +7 -6
  744. package/cjs/S5332/generated-meta.js +3 -3
  745. package/cjs/S5332/index.js +3 -3
  746. package/cjs/S5332/meta.js +3 -3
  747. package/cjs/S5332/rule.aws.js +3 -3
  748. package/cjs/S5332/rule.js +7 -6
  749. package/cjs/S5332/rule.lib.js +22 -20
  750. package/cjs/S5443/generated-meta.js +4 -4
  751. package/cjs/S5443/index.js +3 -3
  752. package/cjs/S5443/meta.js +3 -3
  753. package/cjs/S5443/rule.js +5 -5
  754. package/cjs/S5527/generated-meta.js +3 -3
  755. package/cjs/S5527/index.js +3 -3
  756. package/cjs/S5527/meta.js +3 -3
  757. package/cjs/S5527/rule.js +21 -17
  758. package/cjs/S5542/generated-meta.js +3 -3
  759. package/cjs/S5542/index.js +3 -3
  760. package/cjs/S5542/meta.js +3 -3
  761. package/cjs/S5542/rule.js +9 -7
  762. package/cjs/S5547/generated-meta.js +3 -3
  763. package/cjs/S5547/index.js +3 -3
  764. package/cjs/S5547/meta.js +3 -3
  765. package/cjs/S5547/rule.js +9 -7
  766. package/cjs/S5604/config.js +3 -3
  767. package/cjs/S5604/generated-meta.js +3 -3
  768. package/cjs/S5604/index.js +3 -3
  769. package/cjs/S5604/meta.js +3 -3
  770. package/cjs/S5604/rule.js +18 -17
  771. package/cjs/S5659/generated-meta.js +3 -3
  772. package/cjs/S5659/index.js +3 -3
  773. package/cjs/S5659/meta.js +3 -3
  774. package/cjs/S5659/rule.js +18 -15
  775. package/cjs/S5689/generated-meta.js +4 -4
  776. package/cjs/S5689/index.js +3 -3
  777. package/cjs/S5689/meta.js +3 -3
  778. package/cjs/S5689/rule.js +14 -11
  779. package/cjs/S5691/generated-meta.js +3 -3
  780. package/cjs/S5691/index.js +3 -3
  781. package/cjs/S5691/meta.js +3 -3
  782. package/cjs/S5691/rule.js +10 -8
  783. package/cjs/S5693/config.js +3 -3
  784. package/cjs/S5693/generated-meta.js +4 -4
  785. package/cjs/S5693/index.js +3 -3
  786. package/cjs/S5693/meta.js +3 -3
  787. package/cjs/S5693/rule.js +17 -15
  788. package/cjs/S5725/generated-meta.js +3 -3
  789. package/cjs/S5725/index.js +3 -3
  790. package/cjs/S5725/meta.js +3 -3
  791. package/cjs/S5725/rule.js +12 -9
  792. package/cjs/S5728/generated-meta.js +3 -3
  793. package/cjs/S5728/index.js +3 -3
  794. package/cjs/S5728/meta.js +3 -3
  795. package/cjs/S5728/rule.js +10 -7
  796. package/cjs/S5730/generated-meta.js +3 -3
  797. package/cjs/S5730/index.js +3 -3
  798. package/cjs/S5730/meta.js +3 -3
  799. package/cjs/S5730/rule.js +12 -9
  800. package/cjs/S5732/generated-meta.js +3 -3
  801. package/cjs/S5732/index.js +3 -3
  802. package/cjs/S5732/meta.js +3 -3
  803. package/cjs/S5732/rule.js +11 -8
  804. package/cjs/S5734/generated-meta.js +3 -3
  805. package/cjs/S5734/index.js +3 -3
  806. package/cjs/S5734/meta.js +3 -3
  807. package/cjs/S5734/rule.js +10 -7
  808. package/cjs/S5736/generated-meta.js +3 -3
  809. package/cjs/S5736/index.js +3 -3
  810. package/cjs/S5736/meta.js +3 -3
  811. package/cjs/S5736/rule.js +11 -8
  812. package/cjs/S5739/generated-meta.js +3 -3
  813. package/cjs/S5739/index.js +3 -3
  814. package/cjs/S5739/meta.js +3 -3
  815. package/cjs/S5739/rule.js +14 -11
  816. package/cjs/S5742/generated-meta.js +3 -3
  817. package/cjs/S5742/index.js +3 -3
  818. package/cjs/S5742/meta.js +3 -3
  819. package/cjs/S5742/rule.js +10 -7
  820. package/cjs/S5743/generated-meta.js +3 -3
  821. package/cjs/S5743/index.js +3 -3
  822. package/cjs/S5743/meta.js +3 -3
  823. package/cjs/S5743/rule.js +11 -9
  824. package/cjs/S5757/generated-meta.js +3 -3
  825. package/cjs/S5757/index.js +3 -3
  826. package/cjs/S5757/meta.js +3 -3
  827. package/cjs/S5757/rule.js +16 -13
  828. package/cjs/S5759/generated-meta.js +3 -3
  829. package/cjs/S5759/index.js +3 -3
  830. package/cjs/S5759/meta.js +3 -3
  831. package/cjs/S5759/rule.js +13 -10
  832. package/cjs/S5842/generated-meta.js +3 -3
  833. package/cjs/S5842/index.js +3 -3
  834. package/cjs/S5842/meta.js +3 -3
  835. package/cjs/S5842/rule.js +5 -5
  836. package/cjs/S5843/config.js +3 -3
  837. package/cjs/S5843/generated-meta.js +3 -3
  838. package/cjs/S5843/index.js +3 -3
  839. package/cjs/S5843/meta.js +3 -3
  840. package/cjs/S5843/rule.js +25 -22
  841. package/cjs/S5850/generated-meta.js +3 -3
  842. package/cjs/S5850/index.js +3 -3
  843. package/cjs/S5850/meta.js +3 -3
  844. package/cjs/S5850/rule.js +7 -6
  845. package/cjs/S5852/generated-meta.js +3 -3
  846. package/cjs/S5852/index.js +3 -3
  847. package/cjs/S5852/meta.js +3 -3
  848. package/cjs/S5852/rule.js +5 -5
  849. package/cjs/S5856/generated-meta.js +3 -3
  850. package/cjs/S5856/index.js +3 -3
  851. package/cjs/S5856/meta.js +3 -3
  852. package/cjs/S5856/rule.js +13 -10
  853. package/cjs/S5860/generated-meta.js +3 -3
  854. package/cjs/S5860/index.js +3 -3
  855. package/cjs/S5860/meta.js +3 -3
  856. package/cjs/S5860/rule.js +33 -29
  857. package/cjs/S5863/generated-meta.js +3 -3
  858. package/cjs/S5863/index.js +3 -3
  859. package/cjs/S5863/meta.js +3 -3
  860. package/cjs/S5863/rule.js +18 -14
  861. package/cjs/S5867/generated-meta.js +3 -3
  862. package/cjs/S5867/index.js +3 -3
  863. package/cjs/S5867/meta.js +3 -3
  864. package/cjs/S5867/rule.js +11 -10
  865. package/cjs/S5868/generated-meta.js +3 -3
  866. package/cjs/S5868/index.js +3 -3
  867. package/cjs/S5868/meta.js +3 -3
  868. package/cjs/S5868/rule.js +10 -8
  869. package/cjs/S5869/generated-meta.js +3 -3
  870. package/cjs/S5869/index.js +3 -3
  871. package/cjs/S5869/meta.js +3 -3
  872. package/cjs/S5869/rule.js +9 -8
  873. package/cjs/S5876/generated-meta.js +3 -3
  874. package/cjs/S5876/index.js +3 -3
  875. package/cjs/S5876/meta.js +3 -3
  876. package/cjs/S5876/rule.js +15 -11
  877. package/cjs/S5958/generated-meta.js +3 -3
  878. package/cjs/S5958/index.js +3 -3
  879. package/cjs/S5958/meta.js +3 -3
  880. package/cjs/S5958/rule.js +15 -12
  881. package/cjs/S5973/generated-meta.js +3 -3
  882. package/cjs/S5973/index.js +3 -3
  883. package/cjs/S5973/meta.js +3 -3
  884. package/cjs/S5973/rule.js +13 -10
  885. package/cjs/S6019/generated-meta.js +3 -3
  886. package/cjs/S6019/index.js +3 -3
  887. package/cjs/S6019/meta.js +3 -3
  888. package/cjs/S6019/rule.js +7 -6
  889. package/cjs/S6035/generated-meta.js +3 -3
  890. package/cjs/S6035/index.js +3 -3
  891. package/cjs/S6035/meta.js +3 -3
  892. package/cjs/S6035/rule.js +5 -5
  893. package/cjs/S6079/generated-meta.js +3 -3
  894. package/cjs/S6079/index.js +3 -3
  895. package/cjs/S6079/meta.js +3 -3
  896. package/cjs/S6079/rule.js +12 -9
  897. package/cjs/S6080/generated-meta.js +3 -3
  898. package/cjs/S6080/index.js +3 -3
  899. package/cjs/S6080/meta.js +3 -3
  900. package/cjs/S6080/rule.js +16 -13
  901. package/cjs/S6092/generated-meta.js +3 -3
  902. package/cjs/S6092/index.js +3 -3
  903. package/cjs/S6092/meta.js +3 -3
  904. package/cjs/S6092/rule.js +12 -10
  905. package/cjs/S6245/generated-meta.js +3 -3
  906. package/cjs/S6245/index.js +3 -3
  907. package/cjs/S6245/meta.js +3 -3
  908. package/cjs/S6245/rule.js +17 -12
  909. package/cjs/S6249/generated-meta.js +3 -3
  910. package/cjs/S6249/index.js +3 -3
  911. package/cjs/S6249/meta.js +3 -3
  912. package/cjs/S6249/rule.js +10 -8
  913. package/cjs/S6252/generated-meta.js +3 -3
  914. package/cjs/S6252/index.js +3 -3
  915. package/cjs/S6252/meta.js +3 -3
  916. package/cjs/S6252/rule.js +15 -11
  917. package/cjs/S6265/generated-meta.js +4 -4
  918. package/cjs/S6265/index.js +3 -3
  919. package/cjs/S6265/meta.js +3 -3
  920. package/cjs/S6265/rule.js +30 -23
  921. package/cjs/S6268/generated-meta.js +3 -3
  922. package/cjs/S6268/index.js +3 -3
  923. package/cjs/S6268/meta.js +3 -3
  924. package/cjs/S6268/rule.js +8 -7
  925. package/cjs/S6270/generated-meta.js +4 -4
  926. package/cjs/S6270/index.js +3 -3
  927. package/cjs/S6270/meta.js +3 -3
  928. package/cjs/S6270/rule.js +15 -12
  929. package/cjs/S6275/generated-meta.js +4 -4
  930. package/cjs/S6275/index.js +3 -3
  931. package/cjs/S6275/meta.js +3 -3
  932. package/cjs/S6275/rule.js +5 -5
  933. package/cjs/S6281/generated-meta.js +3 -3
  934. package/cjs/S6281/index.js +3 -3
  935. package/cjs/S6281/meta.js +3 -3
  936. package/cjs/S6281/rule.js +25 -20
  937. package/cjs/S6299/generated-meta.js +3 -3
  938. package/cjs/S6299/index.js +3 -3
  939. package/cjs/S6299/meta.js +3 -3
  940. package/cjs/S6299/rule.js +5 -5
  941. package/cjs/S6302/generated-meta.js +4 -4
  942. package/cjs/S6302/index.js +3 -3
  943. package/cjs/S6302/meta.js +3 -3
  944. package/cjs/S6302/rule.js +9 -8
  945. package/cjs/S6303/generated-meta.js +4 -4
  946. package/cjs/S6303/index.js +3 -3
  947. package/cjs/S6303/meta.js +3 -3
  948. package/cjs/S6303/rule.js +15 -13
  949. package/cjs/S6304/generated-meta.js +3 -3
  950. package/cjs/S6304/index.js +3 -3
  951. package/cjs/S6304/meta.js +3 -3
  952. package/cjs/S6304/rule.js +9 -8
  953. package/cjs/S6308/generated-meta.js +4 -4
  954. package/cjs/S6308/index.js +3 -3
  955. package/cjs/S6308/meta.js +3 -3
  956. package/cjs/S6308/rule.js +10 -8
  957. package/cjs/S6317/generated-meta.js +3 -3
  958. package/cjs/S6317/index.js +3 -3
  959. package/cjs/S6317/meta.js +3 -3
  960. package/cjs/S6317/rule.js +8 -7
  961. package/cjs/S6319/generated-meta.js +3 -3
  962. package/cjs/S6319/index.js +3 -3
  963. package/cjs/S6319/meta.js +3 -3
  964. package/cjs/S6319/rule.js +5 -5
  965. package/cjs/S6321/generated-meta.js +3 -3
  966. package/cjs/S6321/index.js +3 -3
  967. package/cjs/S6321/meta.js +3 -3
  968. package/cjs/S6321/rule.js +28 -26
  969. package/cjs/S6323/generated-meta.js +3 -3
  970. package/cjs/S6323/index.js +3 -3
  971. package/cjs/S6323/meta.js +3 -3
  972. package/cjs/S6323/rule.js +7 -6
  973. package/cjs/S6324/generated-meta.js +3 -3
  974. package/cjs/S6324/index.js +3 -3
  975. package/cjs/S6324/meta.js +3 -3
  976. package/cjs/S6324/rule.js +5 -5
  977. package/cjs/S6326/generated-meta.js +3 -3
  978. package/cjs/S6326/index.js +3 -3
  979. package/cjs/S6326/meta.js +3 -3
  980. package/cjs/S6326/rule.js +5 -5
  981. package/cjs/S6327/generated-meta.js +3 -3
  982. package/cjs/S6327/index.js +3 -3
  983. package/cjs/S6327/meta.js +3 -3
  984. package/cjs/S6327/rule.js +5 -5
  985. package/cjs/S6328/generated-meta.js +3 -3
  986. package/cjs/S6328/index.js +3 -3
  987. package/cjs/S6328/meta.js +3 -3
  988. package/cjs/S6328/rule.js +7 -6
  989. package/cjs/S6329/generated-meta.js +3 -3
  990. package/cjs/S6329/index.js +3 -3
  991. package/cjs/S6329/meta.js +3 -3
  992. package/cjs/S6329/rule.js +10 -8
  993. package/cjs/S6330/generated-meta.js +4 -4
  994. package/cjs/S6330/index.js +3 -3
  995. package/cjs/S6330/meta.js +3 -3
  996. package/cjs/S6330/rule.js +5 -5
  997. package/cjs/S6331/generated-meta.js +3 -3
  998. package/cjs/S6331/index.js +3 -3
  999. package/cjs/S6331/meta.js +3 -3
  1000. package/cjs/S6331/rule.js +3 -3
  1001. package/cjs/S6332/generated-meta.js +3 -3
  1002. package/cjs/S6332/index.js +3 -3
  1003. package/cjs/S6332/meta.js +3 -3
  1004. package/cjs/S6332/rule.js +5 -5
  1005. package/cjs/S6333/generated-meta.js +3 -3
  1006. package/cjs/S6333/index.js +3 -3
  1007. package/cjs/S6333/meta.js +3 -3
  1008. package/cjs/S6333/rule.js +11 -9
  1009. package/cjs/S6351/generated-meta.js +3 -3
  1010. package/cjs/S6351/index.js +3 -3
  1011. package/cjs/S6351/meta.js +3 -3
  1012. package/cjs/S6351/rule.js +25 -22
  1013. package/cjs/S6353/generated-meta.js +3 -3
  1014. package/cjs/S6353/index.js +3 -3
  1015. package/cjs/S6353/meta.js +3 -3
  1016. package/cjs/S6353/rule.js +5 -5
  1017. package/cjs/S6397/generated-meta.js +3 -3
  1018. package/cjs/S6397/index.js +3 -3
  1019. package/cjs/S6397/meta.js +3 -3
  1020. package/cjs/S6397/rule.js +5 -5
  1021. package/cjs/S6418/config.js +3 -3
  1022. package/cjs/S6418/generated-meta.js +3 -3
  1023. package/cjs/S6418/index.js +3 -3
  1024. package/cjs/S6418/meta.js +3 -3
  1025. package/cjs/S6418/rule.js +12 -27
  1026. package/cjs/S6426/generated-meta.js +3 -3
  1027. package/cjs/S6426/index.js +3 -3
  1028. package/cjs/S6426/meta.js +3 -3
  1029. package/cjs/S6426/rule.js +8 -7
  1030. package/cjs/S6437/generated-meta.js +3 -3
  1031. package/cjs/S6437/index.js +3 -3
  1032. package/cjs/S6437/meta.js +3 -3
  1033. package/cjs/S6437/rule.js +18 -10
  1034. package/cjs/S6439/generated-meta.js +4 -4
  1035. package/cjs/S6439/index.js +3 -3
  1036. package/cjs/S6439/meta.js +3 -3
  1037. package/cjs/S6439/rule.js +12 -10
  1038. package/cjs/S6442/generated-meta.js +4 -4
  1039. package/cjs/S6442/index.js +3 -3
  1040. package/cjs/S6442/meta.js +3 -3
  1041. package/cjs/S6442/rule.js +14 -11
  1042. package/cjs/S6443/generated-meta.js +4 -4
  1043. package/cjs/S6443/index.js +3 -3
  1044. package/cjs/S6443/meta.js +3 -3
  1045. package/cjs/S6443/rule.js +12 -10
  1046. package/cjs/S6486/generated-meta.js +3 -3
  1047. package/cjs/S6486/index.js +3 -3
  1048. package/cjs/S6486/meta.js +3 -3
  1049. package/cjs/S6486/rule.js +9 -8
  1050. package/cjs/S6564/generated-meta.js +3 -3
  1051. package/cjs/S6564/index.js +3 -3
  1052. package/cjs/S6564/meta.js +3 -3
  1053. package/cjs/S6564/rule.js +7 -6
  1054. package/cjs/S6594/generated-meta.js +3 -3
  1055. package/cjs/S6594/index.js +3 -3
  1056. package/cjs/S6594/meta.js +3 -3
  1057. package/cjs/S6594/rule.js +15 -11
  1058. package/cjs/S6627/generated-meta.js +3 -3
  1059. package/cjs/S6627/index.js +3 -3
  1060. package/cjs/S6627/meta.js +3 -3
  1061. package/cjs/S6627/rule.js +9 -7
  1062. package/cjs/S6759/generated-meta.js +3 -3
  1063. package/cjs/S6759/index.js +3 -3
  1064. package/cjs/S6759/meta.js +3 -3
  1065. package/cjs/S6759/rule.js +13 -9
  1066. package/cjs/S6958/generated-meta.js +3 -3
  1067. package/cjs/S6958/index.js +3 -3
  1068. package/cjs/S6958/meta.js +3 -3
  1069. package/cjs/S6958/rule.js +2 -2
  1070. package/cjs/S6959/generated-meta.js +3 -3
  1071. package/cjs/S6959/index.js +3 -3
  1072. package/cjs/S6959/meta.js +3 -3
  1073. package/cjs/S6959/rule.js +12 -9
  1074. package/cjs/S7059/generated-meta.js +5 -4
  1075. package/cjs/S7059/index.js +3 -3
  1076. package/cjs/S7059/meta.js +3 -3
  1077. package/cjs/S7059/rule.js +11 -8
  1078. package/cjs/S7639/generated-meta.js +3 -3
  1079. package/cjs/S7639/index.js +3 -3
  1080. package/cjs/S7639/meta.js +3 -3
  1081. package/cjs/S7639/rule.js +8 -7
  1082. package/cjs/S7790/generated-meta.js +3 -3
  1083. package/cjs/S7790/index.js +3 -3
  1084. package/cjs/S7790/meta.js +3 -3
  1085. package/cjs/S7790/rule.js +10 -8
  1086. package/cjs/S8441/generated-meta.js +3 -3
  1087. package/cjs/S8441/index.js +3 -3
  1088. package/cjs/S8441/meta.js +3 -3
  1089. package/cjs/S8441/rule.js +16 -12
  1090. package/cjs/{helpers/aws/index.js → S8479/generated-meta.js} +35 -19
  1091. package/cjs/S8479/index.js +21 -0
  1092. package/cjs/S8479/meta.js +22 -0
  1093. package/cjs/S8479/rule.js +239 -0
  1094. package/cjs/S881/generated-meta.js +3 -3
  1095. package/cjs/S881/index.js +3 -3
  1096. package/cjs/S881/meta.js +3 -3
  1097. package/cjs/S881/rule.js +5 -5
  1098. package/cjs/S888/generated-meta.js +3 -3
  1099. package/cjs/S888/index.js +3 -3
  1100. package/cjs/S888/meta.js +3 -3
  1101. package/cjs/S888/rule.js +7 -6
  1102. package/cjs/S930/generated-meta.js +3 -3
  1103. package/cjs/S930/index.js +3 -3
  1104. package/cjs/S930/meta.js +3 -3
  1105. package/cjs/S930/rule.js +17 -15
  1106. package/cjs/helpers/accessibility.js +3 -3
  1107. package/cjs/helpers/ast.js +12 -9
  1108. package/cjs/helpers/aws/s3.js +9 -6
  1109. package/cjs/helpers/cache.js +3 -3
  1110. package/cjs/helpers/chai.js +41 -43
  1111. package/cjs/helpers/collection.js +3 -3
  1112. package/cjs/helpers/configs.js +2 -2
  1113. package/cjs/helpers/cookie-flag-check.js +19 -17
  1114. package/cjs/helpers/entropy.js +33 -0
  1115. package/cjs/helpers/express.js +127 -128
  1116. package/cjs/helpers/files.js +4 -4
  1117. package/cjs/helpers/find-up/closest.js +3 -3
  1118. package/cjs/helpers/internal-metrics.js +27 -0
  1119. package/cjs/helpers/mocha.js +50 -54
  1120. package/cjs/helpers/module-ts.js +8 -3
  1121. package/cjs/helpers/package-jsons/closest.js +3 -3
  1122. package/cjs/helpers/package-jsons/dependencies.js +135 -1
  1123. package/cjs/helpers/package-jsons/index.js +1 -0
  1124. package/cjs/helpers/package-jsons/parse.js +3 -3
  1125. package/cjs/helpers/recognizers/Detector.js +3 -3
  1126. package/cjs/helpers/recognizers/detectors/CamelCaseDetector.js +3 -3
  1127. package/cjs/helpers/recognizers/detectors/ContainsDetector.js +3 -3
  1128. package/cjs/helpers/recognizers/detectors/EndWithDetector.js +3 -3
  1129. package/cjs/helpers/recognizers/detectors/KeywordsDetector.js +3 -3
  1130. package/cjs/helpers/regex/ast.js +7 -6
  1131. package/cjs/helpers/regex/extract.js +11 -11
  1132. package/cjs/helpers/regex/group.js +2 -2
  1133. package/cjs/helpers/regex/location.js +2 -2
  1134. package/cjs/helpers/regex/range.js +5 -4
  1135. package/cjs/helpers/regex/rule-template.js +4 -3
  1136. package/cjs/helpers/sinon.js +33 -36
  1137. package/cjs/helpers/supertest.js +34 -37
  1138. package/cjs/helpers/vitest.js +29 -32
  1139. package/cjs/plugin-rules.js +5 -3
  1140. package/docs/aws-ec2-unencrypted-ebs-volume.md +1 -1
  1141. package/docs/aws-iam-all-privileges.md +1 -1
  1142. package/docs/aws-iam-public-access.md +1 -1
  1143. package/docs/aws-opensearchservice-domain.md +1 -1
  1144. package/docs/aws-rds-unencrypted-databases.md +1 -1
  1145. package/docs/aws-s3-bucket-granted-access.md +1 -1
  1146. package/docs/aws-sqs-unencrypted-queue.md +1 -1
  1147. package/docs/class-name.md +3 -3
  1148. package/docs/content-length.md +1 -1
  1149. package/docs/cors.md +1 -1
  1150. package/docs/dompurify-unsafe-config.md +7 -0
  1151. package/docs/file-permissions.md +1 -1
  1152. package/docs/insecure-cookie.md +1 -1
  1153. package/docs/link-with-target-blank.md +1 -1
  1154. package/docs/no-hardcoded-ip.md +1 -1
  1155. package/docs/no-unsafe-unzip.md +4 -2
  1156. package/docs/publicly-writable-directories.md +1 -1
  1157. package/docs/x-powered-by.md +1 -1
  1158. package/package.json +39 -1
  1159. package/types/S101/config.d.ts +1 -1
  1160. package/types/S1128/generated-meta.d.ts +1 -0
  1161. package/types/S1313/generated-meta.d.ts +1 -1
  1162. package/types/S134/config.d.ts +1 -1
  1163. package/types/S2208/generated-meta.d.ts +1 -0
  1164. package/types/S3317/generated-meta.d.ts +1 -0
  1165. package/types/S3499/generated-meta.d.ts +1 -0
  1166. package/types/S3500/generated-meta.d.ts +1 -0
  1167. package/types/S3513/generated-meta.d.ts +1 -0
  1168. package/types/S3514/generated-meta.d.ts +1 -0
  1169. package/types/S3524/generated-meta.d.ts +1 -0
  1170. package/types/S3525/generated-meta.d.ts +1 -0
  1171. package/types/S3531/generated-meta.d.ts +1 -0
  1172. package/types/S3533/generated-meta.d.ts +1 -0
  1173. package/types/S3776/meta.d.ts +2 -0
  1174. package/types/S4624/generated-meta.d.ts +1 -0
  1175. package/types/S4634/generated-meta.d.ts +1 -0
  1176. package/types/S4822/generated-meta.d.ts +1 -0
  1177. package/types/S5042/generated-meta.d.ts +2 -2
  1178. package/types/S6439/generated-meta.d.ts +1 -1
  1179. package/types/S6442/generated-meta.d.ts +1 -1
  1180. package/types/S6443/generated-meta.d.ts +1 -1
  1181. package/types/S7059/generated-meta.d.ts +1 -0
  1182. package/types/S8479/generated-meta.d.ts +17 -0
  1183. package/types/S8479/index.d.ts +1 -0
  1184. package/types/S8479/meta.d.ts +2 -0
  1185. package/types/S8479/rule.d.ts +2 -0
  1186. package/types/helpers/ancestor.d.ts +1 -1
  1187. package/types/helpers/aws/s3.d.ts +1 -1
  1188. package/types/helpers/chai.d.ts +3 -5
  1189. package/types/helpers/entropy.d.ts +1 -0
  1190. package/types/helpers/express.d.ts +38 -43
  1191. package/types/helpers/files.d.ts +6 -21
  1192. package/types/helpers/internal-metrics.d.ts +5 -0
  1193. package/types/helpers/mocha.d.ts +19 -21
  1194. package/types/helpers/package-jsons/dependencies.d.ts +36 -0
  1195. package/types/helpers/regex/ast.d.ts +1 -1
  1196. package/types/helpers/regex/rule-template.d.ts +1 -1
  1197. package/types/helpers/sinon.d.ts +3 -5
  1198. package/types/helpers/supertest.d.ts +3 -5
  1199. package/types/helpers/type.d.ts +1 -1
  1200. package/types/helpers/vitest.d.ts +3 -5
  1201. package/types/plugin-rules.d.ts +1 -0
  1202. package/cjs/helpers/decorators/index.js +0 -34
  1203. package/cjs/helpers/decorators/interceptor.js +0 -88
  1204. package/cjs/helpers/index.js +0 -60
  1205. package/cjs/helpers/recognizers/index.js +0 -37
  1206. package/cjs/helpers/rule-detect-react.js +0 -29
  1207. package/cjs/helpers/validate-version.js +0 -94
  1208. package/types/helpers/aws/index.d.ts +0 -3
  1209. package/types/helpers/decorators/index.d.ts +0 -2
  1210. package/types/helpers/decorators/interceptor.d.ts +0 -16
  1211. package/types/helpers/index.d.ts +0 -28
  1212. package/types/helpers/recognizers/index.d.ts +0 -2
  1213. package/types/helpers/rule-detect-react.d.ts +0 -2
  1214. package/types/helpers/validate-version.d.ts +0 -13
package/cjs/S2201/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
@@ -55,7 +55,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
55
55
  Object.defineProperty(exports, "__esModule", { value: true });
56
56
  exports.rule = void 0;
57
57
  const typescript_1 = __importDefault(require("typescript"));
58
- const index_js_1 = require("../helpers/index.js");
58
+ const ancestor_js_1 = require("../helpers/ancestor.js");
59
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
60
+ const type_js_1 = require("../helpers/type.js");
61
+ const parser_services_js_1 = require("../helpers/parser-services.js");
59
62
  const meta = __importStar(require("./generated-meta.js"));
60
63
  const METHODS_WITHOUT_SIDE_EFFECTS = {
61
64
  array: new Set([
@@ -205,7 +208,7 @@ const METHODS_WITHOUT_SIDE_EFFECTS = {
205
208
  ]),
206
209
  };
207
210
  exports.rule = {
208
- meta: (0, index_js_1.generateMeta)(meta, {
211
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
209
212
  messages: {
210
213
  useForEach: `Consider using "forEach" instead of "map" as its return value is not being used here.`,
211
214
  returnValueMustBeUsed: 'The return value of "{{methodName}}" must be used.',
@@ -213,7 +216,7 @@ exports.rule = {
213
216
  }),
214
217
  create(context) {
215
218
  const services = context.sourceCode.parserServices;
216
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
219
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
217
220
  return {};
218
221
  }
219
222
  return {
@@ -244,7 +247,7 @@ const isFunctionTypeNode = (candidate) => {
244
247
  };
245
248
  function isReplaceWithCallback(methodName, callArguments, services) {
246
249
  if (methodName === 'replace' && callArguments.length > 1) {
247
- const type = (0, index_js_1.getTypeFromTreeNode)(callArguments[1], services);
250
+ const type = (0, type_js_1.getTypeFromTreeNode)(callArguments[1], services);
248
251
  const typeNode = services.program.getTypeChecker().typeToTypeNode(type, undefined, undefined);
249
252
  return typeNode && isFunctionTypeNode(typeNode);
250
253
  }
@@ -284,7 +287,7 @@ function containsAssignment(node, visitorKeys) {
284
287
  if (FUNCTION_BOUNDARIES.has(node.type)) {
285
288
  return false;
286
289
  }
287
- return (0, index_js_1.childrenOf)(node, visitorKeys).some(child => containsAssignment(child, visitorKeys));
290
+ return (0, ancestor_js_1.childrenOf)(node, visitorKeys).some(child => containsAssignment(child, visitorKeys));
288
291
  }
289
292
  function reportDescriptor(methodName, node) {
290
293
  if (methodName === 'map') {
@@ -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.requiredEcmaVersion = 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 = 'S2208';
49
49
  exports.scope = 'Main';
50
50
  exports.languages = ['js', 'ts'];
51
51
  exports.requiredDependency = [];
52
+ exports.requiredEcmaVersion = 2015;
@@ -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/S2208/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/S2208/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
@@ -51,10 +51,10 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
- const index_js_1 = require("../helpers/index.js");
54
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
55
55
  const meta = __importStar(require("./generated-meta.js"));
56
56
  exports.rule = {
57
- meta: (0, index_js_1.generateMeta)(meta, {
57
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
58
58
  messages: {
59
59
  wildcardImport: 'Explicitly {{xPort}} the specific member needed.',
60
60
  },
@@ -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
@@ -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/S2234/meta.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hasSecondaries = 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/S2234/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
@@ -51,13 +51,18 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
- const index_js_1 = require("../helpers/index.js");
54
+ const ast_js_1 = require("../helpers/ast.js");
55
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
56
+ const type_js_1 = require("../helpers/type.js");
57
+ const parser_services_js_1 = require("../helpers/parser-services.js");
58
+ const location_js_1 = require("../helpers/location.js");
55
59
  const meta = __importStar(require("./generated-meta.js"));
56
60
  exports.rule = {
57
- meta: (0, index_js_1.generateMeta)(meta),
61
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
58
62
  create(context) {
59
63
  const services = context.sourceCode.parserServices;
60
- const canResolveType = (0, index_js_1.isRequiredParserServices)(services);
64
+ const canResolveType = (0, parser_services_js_1.isRequiredParserServices)(services);
65
+ const COMPARISON_OPERATORS = ['==', '!=', '===', '!==', '<', '<=', '>', '>='];
61
66
  function checkArguments(functionCall) {
62
67
  // Extract argument names first (cheap operation)
63
68
  const argumentNames = functionCall.arguments.map(arg => {
@@ -85,7 +90,10 @@ exports.rule = {
85
90
  if (argumentName) {
86
91
  const swappedArgumentName = getSwappedArgumentName(argumentNames, functionParameters, argumentName, argumentIndex, functionCall);
87
92
  if (swappedArgumentName &&
88
- !areComparedArguments([argumentName, swappedArgumentName], functionCall)) {
93
+ !areComparedArguments([argumentName, swappedArgumentName], functionCall) &&
94
+ !isIntentionalComparatorReversal(functionCall, argumentName, swappedArgumentName) &&
95
+ !isInDirectionalContext(functionCall) &&
96
+ !isIntentionalTernarySwap(functionCall, argumentName, swappedArgumentName)) {
89
97
  raiseIssue(argumentName, swappedArgumentName, functionDeclaration, functionCall);
90
98
  return;
91
99
  }
@@ -118,7 +126,7 @@ exports.rule = {
118
126
  switch (test.type) {
119
127
  case 'BinaryExpression': {
120
128
  const binExpr = test;
121
- if (['==', '!=', '===', '!==', '<', '<=', '>', '>='].includes(binExpr.operator)) {
129
+ if (COMPARISON_OPERATORS.includes(binExpr.operator)) {
122
130
  const { left: lhs, right: rhs } = binExpr;
123
131
  return checkComparedArguments(lhs, rhs);
124
132
  }
@@ -136,16 +144,154 @@ exports.rule = {
136
144
  }
137
145
  return false;
138
146
  }
147
+ /**
148
+ * Returns true when the detected argument swap is an intentional reversal wrapper.
149
+ *
150
+ * A reversal wrapper is an ArrowFunctionExpression or FunctionExpression with exactly
151
+ * 2 single-character identifier parameters (e.g. `a`, `b`, `x`, `y`) whose sole body
152
+ * is a single call that passes those same 2 parameters in swapped order,
153
+ * e.g. `(a, b) => compare(b, a)`.
154
+ *
155
+ * Requiring single-character parameter names ensures that only placeholder-style names
156
+ * are treated as intentional reversals. Meaningful names like `year` or `month` indicate
157
+ * that the swap is likely a bug rather than a deliberate comparator reversal.
158
+ */
159
+ function isIntentionalComparatorReversal(functionCall, arg1Name, arg2Name) {
160
+ const enclosingFunc = context.sourceCode
161
+ .getAncestors(functionCall)
162
+ .reverse()
163
+ .find(ancestor => ancestor.type === 'ArrowFunctionExpression' || ancestor.type === 'FunctionExpression');
164
+ if (enclosingFunc?.params.length !== 2) {
165
+ return false;
166
+ }
167
+ const [param0, param1] = enclosingFunc.params;
168
+ if (param0.type !== 'Identifier' || param1.type !== 'Identifier') {
169
+ return false;
170
+ }
171
+ // Only suppress when parameter names are single-character placeholders like 'a', 'b', 'x', 'y'.
172
+ // Meaningful names (e.g. 'year', 'month') suggest the swap is a real bug, not an intentional reversal.
173
+ if (param0.name.length > 1 || param1.name.length > 1) {
174
+ return false;
175
+ }
176
+ const paramNames = new Set([param0.name, param1.name]);
177
+ if (!paramNames.has(arg1Name) || !paramNames.has(arg2Name)) {
178
+ return false;
179
+ }
180
+ const body = enclosingFunc.body;
181
+ if (body === functionCall) {
182
+ return true;
183
+ }
184
+ if (body.type === 'BlockStatement' &&
185
+ body.body.length === 1 &&
186
+ body.body[0].type === 'ReturnStatement' &&
187
+ body.body[0].argument === functionCall) {
188
+ return true;
189
+ }
190
+ return false;
191
+ }
192
+ // Returns true if the node is nested inside an object property whose key is a
193
+ // directional keyword (e.g. 'rtl', 'ltr', 'reverse'). In such cases, parameter
194
+ // swapping is intentional — it represents the opposite ordering for bidirectional
195
+ // text handling or conditional reversal logic.
196
+ function isInDirectionalContext(node) {
197
+ const ancestors = context.sourceCode.getAncestors(node);
198
+ for (const ancestor of ancestors) {
199
+ if (ancestor.type === 'Property') {
200
+ const { key } = ancestor;
201
+ if (key.type === 'Identifier' && DIRECTIONAL_KEYWORD_PATTERN.test(key.name)) {
202
+ return true;
203
+ }
204
+ if (key.type === 'Literal' &&
205
+ typeof key.value === 'string' &&
206
+ DIRECTIONAL_KEYWORD_PATTERN.test(key.value)) {
207
+ return true;
208
+ }
209
+ }
210
+ }
211
+ return false;
212
+ }
213
+ /**
214
+ * Returns true when the detected argument swap is in one branch of a ConditionalExpression,
215
+ * the other branch calls the same function with those arguments in the opposite (normal) order,
216
+ * AND the ternary condition itself is a comparison that involves both of those same arguments.
217
+ *
218
+ * This ensures the condition is actually selecting the correct ordering rather than being an
219
+ * unrelated boolean. For example:
220
+ * `start < stop ? fn(start, stop) : fn(stop, start)` — suppressed (condition compares the pair)
221
+ * `legacy ? fn(stop, start) : fn(start, stop)` — reported (condition unrelated to arg order)
222
+ */
223
+ function isIntentionalTernarySwap(functionCall, arg1Name, arg2Name) {
224
+ const ancestors = context.sourceCode.getAncestors(functionCall);
225
+ const parent = ancestors.at(-1);
226
+ if (parent?.type !== 'ConditionalExpression') {
227
+ return false;
228
+ }
229
+ const conditional = parent;
230
+ // Determine the "other" branch of the ternary
231
+ let otherBranch = null;
232
+ if (conditional.consequent === functionCall) {
233
+ otherBranch = conditional.alternate;
234
+ }
235
+ else if (conditional.alternate === functionCall) {
236
+ otherBranch = conditional.consequent;
237
+ }
238
+ if (otherBranch?.type !== 'CallExpression') {
239
+ return false;
240
+ }
241
+ const otherCall = otherBranch;
242
+ // Both calls must target the same callee (by source text)
243
+ if (context.sourceCode.getText(functionCall.callee) !==
244
+ context.sourceCode.getText(otherCall.callee)) {
245
+ return false;
246
+ }
247
+ if (otherCall.arguments.length !== functionCall.arguments.length) {
248
+ return false;
249
+ }
250
+ // Find positions of arg1 and arg2 in the flagged call
251
+ const args = functionCall.arguments;
252
+ const idx1 = args.findIndex(a => a.type === 'Identifier' && a.name === arg1Name);
253
+ const idx2 = args.findIndex(a => a.type === 'Identifier' && a.name === arg2Name);
254
+ if (idx1 < 0 || idx2 < 0) {
255
+ return false;
256
+ }
257
+ // In the other branch, those same positions must carry arg2 and arg1 (reversed)
258
+ const otherArgs = otherCall.arguments;
259
+ const otherAtIdx1 = otherArgs[idx1];
260
+ const otherAtIdx2 = otherArgs[idx2];
261
+ if (!(otherAtIdx1?.type === 'Identifier' &&
262
+ otherAtIdx1.name === arg2Name &&
263
+ otherAtIdx2?.type === 'Identifier' &&
264
+ otherAtIdx2.name === arg1Name)) {
265
+ return false;
266
+ }
267
+ // The ternary condition must itself compare the same argument pair. This ties the
268
+ // suppression to condition-controlled ordering (e.g. `a < b ? fn(a, b) : fn(b, a)`)
269
+ // rather than an arbitrary boolean selector (e.g. `flag ? fn(b, a) : fn(a, b)`).
270
+ const test = conditional.test;
271
+ if (test.type !== 'BinaryExpression') {
272
+ return false;
273
+ }
274
+ if (!COMPARISON_OPERATORS.includes(test.operator)) {
275
+ return false;
276
+ }
277
+ const leftName = test.left.type === 'Identifier' ? test.left.name : undefined;
278
+ const rightName = test.right.type === 'Identifier' ? test.right.name : undefined;
279
+ if (!leftName || !rightName) {
280
+ return false;
281
+ }
282
+ const conditionNames = new Set([leftName, rightName]);
283
+ return conditionNames.has(arg1Name) && conditionNames.has(arg2Name);
284
+ }
139
285
  function resolveFunctionDeclaration(node) {
140
286
  if (canResolveType) {
141
287
  return resolveFromTSSignature(node);
142
288
  }
143
289
  let functionDeclaration = null;
144
- if ((0, index_js_1.isFunctionNode)(node.callee)) {
290
+ if ((0, ast_js_1.isFunctionNode)(node.callee)) {
145
291
  functionDeclaration = node.callee;
146
292
  }
147
293
  else if (node.callee.type === 'Identifier') {
148
- functionDeclaration = (0, index_js_1.resolveFromFunctionReference)(context, node.callee);
294
+ functionDeclaration = (0, ast_js_1.resolveFromFunctionReference)(context, node.callee);
149
295
  }
150
296
  if (!functionDeclaration) {
151
297
  return null;
@@ -156,7 +302,7 @@ exports.rule = {
156
302
  };
157
303
  }
158
304
  function resolveFromTSSignature(node) {
159
- const signature = (0, index_js_1.getSignatureFromCallee)(node, services);
305
+ const signature = (0, type_js_1.getSignatureFromCallee)(node, services);
160
306
  if (signature?.declaration) {
161
307
  return {
162
308
  params: signature.parameters.map(param => param.name),
@@ -179,14 +325,14 @@ exports.rule = {
179
325
  }
180
326
  function haveCompatibleTypes(arg1, arg2) {
181
327
  if (canResolveType) {
182
- const type1 = normalizeType((0, index_js_1.getTypeAsString)(arg1, services));
183
- const type2 = normalizeType((0, index_js_1.getTypeAsString)(arg2, services));
328
+ const type1 = normalizeType((0, type_js_1.getTypeAsString)(arg1, services));
329
+ const type2 = normalizeType((0, type_js_1.getTypeAsString)(arg2, services));
184
330
  return type1 === type2;
185
331
  }
186
332
  return true;
187
333
  }
188
334
  function raiseIssue(arg1, arg2, functionDeclaration, node) {
189
- (0, index_js_1.report)(context, {
335
+ (0, location_js_1.report)(context, {
190
336
  message: `Arguments '${arg1}' and '${arg2}' have the same names but not the same order as the function parameters.`,
191
337
  loc: getParametersClauseLocation(node.arguments),
192
338
  }, getSecondaryLocations(functionDeclaration));
@@ -201,6 +347,7 @@ exports.rule = {
201
347
  };
202
348
  },
203
349
  };
350
+ const DIRECTIONAL_KEYWORD_PATTERN = /\b(rtl|ltr|reverse|flip|swap|forward|backward)\b/i;
204
351
  const CRYPTO_FUNCTION_PATTERN = /^(md[45]_?)?(ff|gg|hh|ii)$/i;
205
352
  const CRYPTO_STATE_PARAM_COUNT = 4;
206
353
  function isCryptoCyclicRotation(functionCall, functionParameters) {
@@ -243,7 +390,7 @@ function isCryptoCyclicRotation(functionCall, functionParameters) {
243
390
  }
244
391
  function extractFunctionParameters(functionDeclaration) {
245
392
  return functionDeclaration.params.map(param => {
246
- const identifiers = (0, index_js_1.resolveIdentifiers)(param);
393
+ const identifiers = (0, ast_js_1.resolveIdentifiers)(param);
247
394
  if (identifiers.length === 1 && identifiers[0]) {
248
395
  return identifiers[0].name;
249
396
  }
@@ -253,7 +400,7 @@ function extractFunctionParameters(functionDeclaration) {
253
400
  function getSecondaryLocations(functionDeclaration) {
254
401
  if (functionDeclaration?.params && functionDeclaration.params.length > 0) {
255
402
  const { start, end } = getParametersClauseLocation(functionDeclaration.params);
256
- return [(0, index_js_1.toSecondaryLocation)({ loc: { start, end } }, 'Formal parameters')];
403
+ return [(0, location_js_1.toSecondaryLocation)({ loc: { start, end } }, 'Formal parameters')];
257
404
  }
258
405
  return [];
259
406
  }
@@ -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
@@ -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/S2245/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/S2245/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
@@ -51,10 +51,11 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
- const index_js_1 = require("../helpers/index.js");
54
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
55
+ const module_js_1 = require("../helpers/module.js");
55
56
  const meta = __importStar(require("./generated-meta.js"));
56
57
  exports.rule = {
57
- meta: (0, index_js_1.generateMeta)(meta, {
58
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
58
59
  messages: {
59
60
  safeGenerator: 'Make sure that using this pseudorandom number generator is safe here.',
60
61
  },
@@ -62,7 +63,7 @@ exports.rule = {
62
63
  create(context) {
63
64
  return {
64
65
  CallExpression(node) {
65
- const fqn = (0, index_js_1.getFullyQualifiedName)(context, node);
66
+ const fqn = (0, module_js_1.getFullyQualifiedName)(context, node);
66
67
  if (fqn === 'Math.random') {
67
68
  context.report({
68
69
  messageId: 'safeGenerator',
@@ -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
@@ -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/S2251/meta.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hasSecondaries = 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/S2251/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
@@ -51,10 +51,11 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
- const index_js_1 = require("../helpers/index.js");
54
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
55
+ const location_js_1 = require("../helpers/location.js");
55
56
  const meta = __importStar(require("./generated-meta.js"));
56
57
  exports.rule = {
57
- meta: (0, index_js_1.generateMeta)(meta),
58
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
58
59
  create(context) {
59
60
  return {
60
61
  ForStatement: (node) => {
@@ -67,10 +68,10 @@ exports.rule = {
67
68
  const wrongDirection = getWrongDirection(test, loopIncrement);
68
69
  if (wrongDirection !== 0 && wrongDirection === loopIncrement.direction) {
69
70
  const movement = wrongDirection > 0 ? 'incremented' : 'decremented';
70
- (0, index_js_1.report)(context, {
71
+ (0, location_js_1.report)(context, {
71
72
  message: `"${loopIncrement.identifier.name}" is ${movement} and will never reach its stop condition.`,
72
73
  node: forStatement.update,
73
- }, [(0, index_js_1.toSecondaryLocation)(test)]);
74
+ }, [(0, location_js_1.toSecondaryLocation)(test)]);
74
75
  }
75
76
  },
76
77
  };