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
@@ -0,0 +1,239 @@
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/S8479/javascript
19
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
26
+ }) : (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ o[k2] = m[k];
29
+ }));
30
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32
+ }) : function(o, v) {
33
+ o["default"] = v;
34
+ });
35
+ var __importStar = (this && this.__importStar) || (function () {
36
+ var ownKeys = function(o) {
37
+ ownKeys = Object.getOwnPropertyNames || function (o) {
38
+ var ar = [];
39
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
+ return ar;
41
+ };
42
+ return ownKeys(o);
43
+ };
44
+ return function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ })();
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.rule = void 0;
54
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
55
+ const module_js_1 = require("../helpers/module.js");
56
+ const module_ts_js_1 = require("../helpers/module-ts.js");
57
+ const parser_services_js_1 = require("../helpers/parser-services.js");
58
+ const meta = __importStar(require("./generated-meta.js"));
59
+ const DANGEROUS_TAGS = new Set([
60
+ 'script',
61
+ 'iframe',
62
+ 'object',
63
+ 'embed',
64
+ 'form',
65
+ 'input',
66
+ 'textarea',
67
+ 'select',
68
+ 'meta',
69
+ 'link',
70
+ 'style',
71
+ 'base',
72
+ 'svg',
73
+ 'math',
74
+ ]);
75
+ const EVENT_HANDLER_PATTERN = /^on[a-z]/i;
76
+ /**
77
+ * URI-carrying attributes that must never be added to ADD_URI_SAFE_ATTR.
78
+ * Marking them as "URI-safe" skips DOMPurify's javascript: URI check,
79
+ * enabling 1-click XSS via crafted href/src/action values.
80
+ */
81
+ const DANGEROUS_URI_ATTRS = new Set(['href', 'src', 'action', 'formaction', 'xlink:href', 'data']);
82
+ /**
83
+ * Boolean options that are dangerous when set to the specified value.
84
+ */
85
+ const DANGEROUS_BOOLEAN_OPTIONS = {
86
+ ALLOW_UNKNOWN_PROTOCOLS: true,
87
+ WHOLE_DOCUMENT: true,
88
+ SAFE_FOR_XML: false,
89
+ SANITIZE_DOM: false,
90
+ RETURN_TRUSTED_TYPE: false,
91
+ };
92
+ const MAX_ACTIONS_IN_MESSAGE = 2;
93
+ const SANITIZE_FQNS = new Set(['dompurify.sanitize', 'isomorphic-dompurify.sanitize']);
94
+ exports.rule = {
95
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
96
+ messages: {
97
+ unsafeConfig: 'unsafeConfig',
98
+ },
99
+ }),
100
+ create(context) {
101
+ const services = context.sourceCode.parserServices;
102
+ const hasTypeInformation = (0, parser_services_js_1.isRequiredParserServices)(services);
103
+ return {
104
+ CallExpression(node) {
105
+ let fqn = null;
106
+ if (hasTypeInformation) {
107
+ const tsNode = services.esTreeNodeToTSNodeMap.get(node);
108
+ fqn = (0, module_ts_js_1.getFullyQualifiedNameTS)(services, tsNode);
109
+ }
110
+ else {
111
+ fqn = (0, module_js_1.getFullyQualifiedName)(context, node);
112
+ }
113
+ if (!fqn || !SANITIZE_FQNS.has(fqn)) {
114
+ return;
115
+ }
116
+ const configArg = node.arguments[1];
117
+ if (configArg?.type !== 'ObjectExpression') {
118
+ return;
119
+ }
120
+ const actions = collectActions(configArg);
121
+ if (actions.length > 0) {
122
+ context.report({
123
+ message: buildMessage(actions),
124
+ node: configArg,
125
+ });
126
+ }
127
+ },
128
+ };
129
+ },
130
+ };
131
+ function collectActions(config) {
132
+ const actions = [];
133
+ for (const prop of config.properties) {
134
+ if (prop.type !== 'Property') {
135
+ continue;
136
+ }
137
+ const action = getActionForProperty(prop);
138
+ if (action) {
139
+ actions.push(action);
140
+ }
141
+ }
142
+ return actions;
143
+ }
144
+ function getActionForProperty(prop) {
145
+ const key = getPropertyName(prop);
146
+ if (!key) {
147
+ return undefined;
148
+ }
149
+ switch (key) {
150
+ case 'ADD_TAGS':
151
+ case 'ALLOWED_TAGS': {
152
+ const dangerous = getDangerousArrayElements(prop.value, DANGEROUS_TAGS);
153
+ return dangerous.length > 0 ? `remove ${formatList(dangerous)} from '${key}'` : undefined;
154
+ }
155
+ case 'ADD_ATTR':
156
+ case 'ALLOWED_ATTR': {
157
+ const dangerous = getDangerousAttributes(prop.value);
158
+ return dangerous.length > 0 ? `remove ${formatList(dangerous)} from '${key}'` : undefined;
159
+ }
160
+ case 'ADD_URI_SAFE_ATTR': {
161
+ const dangerous = getDangerousArrayElements(prop.value, DANGEROUS_URI_ATTRS);
162
+ return dangerous.length > 0 ? `remove ${formatList(dangerous)} from '${key}'` : undefined;
163
+ }
164
+ case 'ALLOWED_URI_REGEXP':
165
+ return isUnanchoredRegex(prop.value)
166
+ ? `anchor the 'ALLOWED_URI_REGEXP' pattern with '^' to prevent partial URI matches`
167
+ : undefined;
168
+ default:
169
+ if (key in DANGEROUS_BOOLEAN_OPTIONS) {
170
+ const dangerousValue = DANGEROUS_BOOLEAN_OPTIONS[key];
171
+ return isBooleanLiteral(prop.value, dangerousValue)
172
+ ? `set '${key}' to '${!dangerousValue}'`
173
+ : undefined;
174
+ }
175
+ return undefined;
176
+ }
177
+ }
178
+ function buildMessage(actions) {
179
+ const shown = actions.slice(0, MAX_ACTIONS_IN_MESSAGE);
180
+ const remaining = actions.length - shown.length;
181
+ let message = `To prevent DOM-based attacks, ${joinActions(shown)}.`;
182
+ if (remaining > 0) {
183
+ message += ` Plus ${remaining} more ${remaining === 1 ? 'issue' : 'issues'}. Read 'How to fix it' for all details.`;
184
+ }
185
+ return message;
186
+ }
187
+ function joinActions(actions) {
188
+ if (actions.length === 1) {
189
+ return actions[0];
190
+ }
191
+ return `${actions.slice(0, -1).join(', ')}, and ${actions.at(-1)}`;
192
+ }
193
+ function getPropertyName(prop) {
194
+ if (prop.key.type === 'Identifier') {
195
+ return prop.key.name;
196
+ }
197
+ if (prop.key.type === 'Literal' && typeof prop.key.value === 'string') {
198
+ return prop.key.value;
199
+ }
200
+ return undefined;
201
+ }
202
+ function getDangerousArrayElements(node, dangerousSet) {
203
+ if (node.type !== 'ArrayExpression') {
204
+ return [];
205
+ }
206
+ return node.elements
207
+ .filter((el) => el !== null &&
208
+ el.type === 'Literal' &&
209
+ typeof el.value === 'string' &&
210
+ dangerousSet.has(el.value.toLowerCase()))
211
+ .map(el => el.value);
212
+ }
213
+ function getDangerousAttributes(node) {
214
+ if (node.type !== 'ArrayExpression') {
215
+ return [];
216
+ }
217
+ return node.elements
218
+ .filter((el) => el !== null &&
219
+ el.type === 'Literal' &&
220
+ typeof el.value === 'string' &&
221
+ EVENT_HANDLER_PATTERN.test(el.value))
222
+ .map(el => el.value);
223
+ }
224
+ function formatList(items) {
225
+ const quoted = items.map(item => `'${item}'`);
226
+ if (quoted.length === 1) {
227
+ return quoted[0];
228
+ }
229
+ return `${quoted.slice(0, -1).join(', ')} and ${quoted.at(-1)}`;
230
+ }
231
+ function isBooleanLiteral(node, value) {
232
+ return node.type === 'Literal' && node.value === value;
233
+ }
234
+ function isUnanchoredRegex(node) {
235
+ if (node.type === 'Literal' && 'regex' in node && node.regex) {
236
+ return !node.regex.pattern.startsWith('^');
237
+ }
238
+ return false;
239
+ }
@@ -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
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
@@ -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
  extractOperation: 'Extract this {{incrementType}} operation into a dedicated statement.',
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
package/cjs/S888/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/S888/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/S888/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,14 @@ 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 ast_js_1 = require("../helpers/ast.js");
55
56
  const meta = __importStar(require("./generated-meta.js"));
56
57
  const allEqualityOperators = new Set(['!=', '==', '!==', '===']);
57
58
  const notEqualOperators = new Set(['!==', '!=']);
58
59
  const plusMinusOperators = new Set(['+=', '-=']);
59
60
  exports.rule = {
60
- meta: (0, index_js_1.generateMeta)(meta, {
61
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
61
62
  messages: {
62
63
  replaceOperator: "Replace '{{operator}}' operator with one of '<=', '>=', '<', or '>' comparison operators.",
63
64
  },
@@ -164,7 +165,7 @@ function isUpdateByOne(update, loopBody, context) {
164
165
  }
165
166
  function isUsedInsideBody(id, loopBody, context) {
166
167
  if (id.type === 'Identifier') {
167
- const variable = (0, index_js_1.getVariableFromName)(context, id.name, id);
168
+ const variable = (0, ast_js_1.getVariableFromName)(context, id.name, id);
168
169
  const bodyRange = loopBody.range;
169
170
  if (variable && bodyRange) {
170
171
  return variable.references.some(ref => isInBody(ref.identifier, bodyRange));
@@ -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
package/cjs/S930/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/S930/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/S930/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,11 +51,13 @@ 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 location_js_1 = require("../helpers/location.js");
55
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
56
+ const ast_js_1 = require("../helpers/ast.js");
55
57
  const meta = __importStar(require("./generated-meta.js"));
56
58
  const message = 'This function expects {{expectedArguments}}, but {{providedArguments}} provided.';
57
59
  exports.rule = {
58
- meta: (0, index_js_1.generateMeta)(meta, {
60
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
59
61
  messages: {
60
62
  tooManyArguments: message,
61
63
  },
@@ -66,7 +68,7 @@ exports.rule = {
66
68
  const emptyFunctions = new Set();
67
69
  return {
68
70
  CallExpression(callExpr) {
69
- if ((0, index_js_1.isIdentifier)(callExpr.callee)) {
71
+ if ((0, ast_js_1.isIdentifier)(callExpr.callee)) {
70
72
  const reference = context.sourceCode
71
73
  .getScope(callExpr)
72
74
  .references.find(ref => ref.identifier === callExpr.callee);
@@ -77,14 +79,14 @@ exports.rule = {
77
79
  }
78
80
  else if (definition.type === 'Variable') {
79
81
  const { init } = definition.node;
80
- if (init && ((0, index_js_1.isFunctionExpression)(init) || (0, index_js_1.isArrowFunctionExpression)(init))) {
82
+ if (init && ((0, ast_js_1.isFunctionExpression)(init) || (0, ast_js_1.isArrowFunctionExpression)(init))) {
81
83
  checkFunction(callExpr, init);
82
84
  }
83
85
  }
84
86
  }
85
87
  }
86
- else if ((0, index_js_1.isArrowFunctionExpression)(callExpr.callee) ||
87
- (0, index_js_1.isFunctionExpression)(callExpr.callee)) {
88
+ else if ((0, ast_js_1.isArrowFunctionExpression)(callExpr.callee) ||
89
+ (0, ast_js_1.isFunctionExpression)(callExpr.callee)) {
88
90
  // IIFE
89
91
  checkFunction(callExpr, callExpr.callee);
90
92
  }
@@ -120,8 +122,8 @@ exports.rule = {
120
122
  // special `arguments` variable has no definition
121
123
  if (!definition) {
122
124
  const ancestors = context.sourceCode.getAncestors(identifier).reverse();
123
- const fn = ancestors.find(node => (0, index_js_1.isFunctionDeclaration)(node) ||
124
- (0, index_js_1.isFunctionExpression)(node));
125
+ const fn = ancestors.find(node => (0, ast_js_1.isFunctionDeclaration)(node) ||
126
+ (0, ast_js_1.isFunctionExpression)(node));
125
127
  if (fn) {
126
128
  usingArguments.add(fn);
127
129
  }
@@ -145,7 +147,7 @@ exports.rule = {
145
147
  const providedArguments = argsLength === 0 ? "none was" :
146
148
  argsLength === 1 ? "1 was" :
147
149
  `${argsLength} were`;
148
- (0, index_js_1.report)(context, {
150
+ (0, location_js_1.report)(context, {
149
151
  message,
150
152
  messageId: 'tooManyArguments',
151
153
  data: {
@@ -159,13 +161,13 @@ exports.rule = {
159
161
  const paramLength = functionNode.params.length;
160
162
  const secondaryLocations = [];
161
163
  if (paramLength > 0) {
162
- secondaryLocations.push((0, index_js_1.toSecondaryLocation)(functionNode.params[0], functionNode.params[paramLength - 1], 'Formal parameters'));
164
+ secondaryLocations.push((0, location_js_1.toSecondaryLocation)(functionNode.params[0], functionNode.params[paramLength - 1], 'Formal parameters'));
163
165
  }
164
166
  else {
165
167
  // as we're not providing parent node, `getMainFunctionTokenLocation` may return `undefined`
166
- const fnToken = (0, index_js_1.getMainFunctionTokenLocation)(functionNode, undefined, context);
168
+ const fnToken = (0, location_js_1.getMainFunctionTokenLocation)(functionNode, undefined, context);
167
169
  if (fnToken) {
168
- secondaryLocations.push((0, index_js_1.toSecondaryLocation)({ loc: fnToken }, 'Formal parameters'));
170
+ secondaryLocations.push((0, location_js_1.toSecondaryLocation)({ loc: fnToken }, 'Formal parameters'));
169
171
  }
170
172
  }
171
173
  // find actual extra arguments to highlight
@@ -7,11 +7,11 @@ exports.getElementType = void 0;
7
7
  exports.isPresentationTable = isPresentationTable;
8
8
  /*
9
9
  * SonarQube JavaScript Plugin
10
- * Copyright (C) 2011-2025 SonarSource Sàrl
10
+ * Copyright (C) SonarSource Sàrl
11
11
  * mailto:info AT sonarsource DOT com
12
12
  *
13
- * This program is free software; you can redistribute it and/or
14
- * modify it under the terms of the Sonar Source-Available License Version 1, as published by SonarSource SA.
13
+ * You can redistribute and/or modify this program under the terms of
14
+ * the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
15
15
  *
16
16
  * This program is distributed in the hope that it will be useful,
17
17
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -56,7 +56,10 @@ exports.isProperty = isProperty;
56
56
  exports.isUnresolved = isUnresolved;
57
57
  exports.hasParent = hasParent;
58
58
  exports.hasTypePredicateReturn = hasTypePredicateReturn;
59
- const index_js_1 = require("./index.js");
59
+ const ancestor_js_1 = require("./ancestor.js");
60
+ const collection_js_1 = require("./collection.js");
61
+ const module_js_1 = require("./module.js");
62
+ const location_js_1 = require("./location.js");
60
63
  const MODULE_DECLARATION_NODES = new Set([
61
64
  'ImportDeclaration',
62
65
  'ExportNamedDeclaration',
@@ -185,7 +188,7 @@ function isUndefined(node) {
185
188
  * myObj.prop1 += 3;
186
189
  */
187
190
  function isElementWrite(statement, ref, recursive = true) {
188
- if (statement.expression.type === 'AssignmentExpression') {
191
+ if (statement.expression?.type === 'AssignmentExpression') {
189
192
  const assignmentExpression = statement.expression;
190
193
  const lhs = assignmentExpression.left;
191
194
  return isMemberExpressionReference(lhs, ref, recursive);
@@ -256,7 +259,7 @@ function isNodeType(node, type) {
256
259
  */
257
260
  function getLhsVariable(context, node) {
258
261
  const ancestors = context.sourceCode.getAncestors(node);
259
- const parent = (0, index_js_1.last)(ancestors);
262
+ const parent = (0, collection_js_1.last)(ancestors);
260
263
  let formIdentifier;
261
264
  if (parent.type === 'VariableDeclarator' && parent.id.type === 'Identifier') {
262
265
  formIdentifier = parent.id;
@@ -304,13 +307,13 @@ function flattenArgs(context, args) {
304
307
  function recHelper(nodePossiblyIdentifier) {
305
308
  const n = getUniqueWriteUsageOrNode(context, nodePossiblyIdentifier);
306
309
  if (n.type === 'ArrayExpression') {
307
- return (0, index_js_1.flatMap)(n.elements, recHelper);
310
+ return (0, collection_js_1.flatMap)(n.elements, recHelper);
308
311
  }
309
312
  else {
310
313
  return [n];
311
314
  }
312
315
  }
313
- return (0, index_js_1.flatMap)(args, recHelper);
316
+ return (0, collection_js_1.flatMap)(args, recHelper);
314
317
  }
315
318
  function resolveIdentifiers(node, acceptShorthand = false) {
316
319
  const identifiers = [];
@@ -363,7 +366,7 @@ function getPropertyWithValue(context, objectExpression, propertyName, propertyV
363
366
  }
364
367
  function getPropertyFromSpreadElement(spreadElement, key, ctx) {
365
368
  const props = getValueOfExpression(ctx, spreadElement.argument, 'ObjectExpression');
366
- const recursiveDefinition = (0, index_js_1.findFirstMatchingAncestor)(spreadElement.argument, node => node === props);
369
+ const recursiveDefinition = (0, ancestor_js_1.findFirstMatchingAncestor)(spreadElement.argument, node => node === props);
367
370
  if (recursiveDefinition || props === undefined) {
368
371
  return undefined;
369
372
  }
@@ -436,10 +439,10 @@ function checkSensitiveCall(context, callExpression, sensitiveArgumentIndex, sen
436
439
  }
437
440
  const unsafeProperty = getPropertyWithValue(context, options, sensitiveProperty, sensitivePropertyValue);
438
441
  if (unsafeProperty) {
439
- (0, index_js_1.report)(context, {
442
+ (0, location_js_1.report)(context, {
440
443
  node: callExpression.callee,
441
444
  message,
442
- }, [(0, index_js_1.toSecondaryLocation)(unsafeProperty)]);
445
+ }, [(0, location_js_1.toSecondaryLocation)(unsafeProperty)]);
443
446
  }
444
447
  }
445
448
  function isStringLiteral(node) {
@@ -509,7 +512,7 @@ function isProperty(node) {
509
512
  * @param ctx Rule context
510
513
  */
511
514
  function isUnresolved(node, ctx) {
512
- if (!node || (0, index_js_1.getFullyQualifiedName)(ctx, node) || isUndefined(node)) {
515
+ if (!node || (0, module_js_1.getFullyQualifiedName)(ctx, node) || isUndefined(node)) {
513
516
  return false;
514
517
  }
515
518
  let nodeToCheck = node;