eslint-plugin-sonarjs 4.0.0 → 4.0.2

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 (413) hide show
  1. package/README.md +269 -268
  2. package/cjs/S100/rule.js +7 -5
  3. package/cjs/S101/rule.js +2 -2
  4. package/cjs/S104/rule.js +2 -2
  5. package/cjs/S105/rule.js +2 -2
  6. package/cjs/S1066/rule.js +5 -4
  7. package/cjs/S1067/rule.js +8 -6
  8. package/cjs/S1110/rule.js +7 -5
  9. package/cjs/S1119/rule.js +85 -7
  10. package/cjs/S1121/rule.js +4 -3
  11. package/cjs/S1125/rule.js +9 -8
  12. package/cjs/S1126/rule.js +2 -2
  13. package/cjs/S1128/rule.js +8 -5
  14. package/cjs/S1134/rule.js +2 -2
  15. package/cjs/S1135/rule.js +2 -2
  16. package/cjs/S1154/rule.js +6 -4
  17. package/cjs/S117/rule.js +6 -5
  18. package/cjs/S1172/rule.js +2 -2
  19. package/cjs/S1192/rule.js +5 -4
  20. package/cjs/S1219/rule.js +4 -3
  21. package/cjs/S1226/rule.js +6 -4
  22. package/cjs/S124/rule.js +2 -2
  23. package/cjs/S125/rule.js +9 -7
  24. package/cjs/S126/rule.js +2 -2
  25. package/cjs/S1264/rule.js +2 -2
  26. package/cjs/S128/rule.js +4 -3
  27. package/cjs/S1291/rule.js +2 -2
  28. package/cjs/S1301/rule.js +2 -2
  29. package/cjs/S1313/rule.js +2 -2
  30. package/cjs/S134/rule.js +7 -5
  31. package/cjs/S135/rule.js +5 -4
  32. package/cjs/S138/rule.js +9 -6
  33. package/cjs/S1439/rule.js +2 -2
  34. package/cjs/S1444/rule.js +2 -2
  35. package/cjs/S1451/rule.js +2 -2
  36. package/cjs/S1472/rule.js +2 -2
  37. package/cjs/S1479/rule.js +2 -2
  38. package/cjs/S1481/rule.js +2 -2
  39. package/cjs/S1488/generated-meta.js +1 -1
  40. package/cjs/S1488/rule.js +11 -7
  41. package/cjs/S1515/rule.js +10 -8
  42. package/cjs/{helpers/aws/index.js → S1523/generated-meta.js} +34 -18
  43. package/cjs/S1523/index.js +21 -0
  44. package/cjs/S1523/meta.js +21 -0
  45. package/cjs/S1523/rule.js +143 -0
  46. package/cjs/S1526/rule.js +5 -4
  47. package/cjs/S1527/rule.js +2 -2
  48. package/cjs/S1528/rule.js +2 -2
  49. package/cjs/S1529/generated-meta.js +1 -1
  50. package/cjs/S1529/rule.js +4 -3
  51. package/cjs/S1530/rule.js +5 -3
  52. package/cjs/S1533/rule.js +2 -2
  53. package/cjs/S1535/rule.js +2 -2
  54. package/cjs/S1541/rule.js +10 -7
  55. package/cjs/S1607/rule.js +22 -20
  56. package/cjs/S1764/rule.js +10 -7
  57. package/cjs/S1821/rule.js +2 -2
  58. package/cjs/S1848/rule.js +10 -7
  59. package/cjs/S1854/rule.js +18 -14
  60. package/cjs/S1862/rule.js +10 -8
  61. package/cjs/S1871/rule.js +21 -16
  62. package/cjs/S1874/rule.js +4 -3
  63. package/cjs/S1940/rule.js +2 -2
  64. package/cjs/S1994/rule.js +10 -7
  65. package/cjs/S2004/rule.js +9 -7
  66. package/cjs/S2068/rule.js +75 -12
  67. package/cjs/S2077/generated-meta.js +1 -1
  68. package/cjs/S2077/rule.js +10 -6
  69. package/cjs/S2092/rule.js +2 -2
  70. package/cjs/S2123/rule.js +2 -2
  71. package/cjs/S2137/rule.js +2 -2
  72. package/cjs/S2138/rule.js +4 -3
  73. package/cjs/S2187/rule.js +2 -2
  74. package/cjs/S2201/rule.js +47 -5
  75. package/cjs/S2208/rule.js +2 -2
  76. package/cjs/S2234/rule.js +58 -11
  77. package/cjs/S2245/rule.js +4 -3
  78. package/cjs/S2251/rule.js +5 -4
  79. package/cjs/S2255/rule.js +6 -5
  80. package/cjs/S2259/rule.js +14 -9
  81. package/cjs/S2301/rule.js +14 -9
  82. package/cjs/S2310/rule.js +80 -9
  83. package/cjs/S2392/rule.js +7 -5
  84. package/cjs/S2424/rule.js +2 -2
  85. package/cjs/S2428/rule.js +8 -6
  86. package/cjs/S2486/rule.js +4 -3
  87. package/cjs/S2589/rule.js +12 -10
  88. package/cjs/S2598/rule.js +17 -14
  89. package/cjs/S2612/generated-meta.js +1 -1
  90. package/cjs/S2612/rule.js +8 -6
  91. package/cjs/S2639/rule.js +2 -2
  92. package/cjs/S2681/rule.js +2 -2
  93. package/cjs/S2692/rule.js +6 -4
  94. package/cjs/S2699/generated-meta.js +1 -1
  95. package/cjs/S2699/rule.js +40 -31
  96. package/cjs/S2703/rule.js +2 -2
  97. package/cjs/S2737/rule.js +6 -4
  98. package/cjs/S2755/rule.js +9 -6
  99. package/cjs/S2757/rule.js +2 -2
  100. package/cjs/S2817/rule.js +10 -7
  101. package/cjs/S2819/rule.js +16 -12
  102. package/cjs/S2870/rule.js +8 -5
  103. package/cjs/S2871/rule.js +12 -9
  104. package/cjs/S2970/rule.js +9 -8
  105. package/cjs/S2990/rule.js +2 -2
  106. package/cjs/S2999/rule.js +10 -7
  107. package/cjs/S3001/rule.js +2 -2
  108. package/cjs/S3003/rule.js +10 -7
  109. package/cjs/S3317/rule.js +4 -3
  110. package/cjs/S3330/rule.js +2 -2
  111. package/cjs/S3358/rule.js +2 -2
  112. package/cjs/S3402/rule.js +14 -10
  113. package/cjs/S3403/rule.js +10 -7
  114. package/cjs/S3415/rule.js +16 -13
  115. package/cjs/S3499/rule.js +5 -4
  116. package/cjs/S3500/rule.js +5 -4
  117. package/cjs/S3513/rule.js +5 -4
  118. package/cjs/S3514/rule.js +10 -7
  119. package/cjs/S3516/rule.js +10 -7
  120. package/cjs/S3524/rule.js +2 -2
  121. package/cjs/S3525/rule.js +6 -4
  122. package/cjs/S3531/rule.js +5 -3
  123. package/cjs/S3533/rule.js +8 -7
  124. package/cjs/S3579/rule.js +6 -4
  125. package/cjs/S3616/rule.js +6 -4
  126. package/cjs/S3626/rule.js +4 -3
  127. package/cjs/S3686/rule.js +7 -5
  128. package/cjs/S3699/rule.js +4 -3
  129. package/cjs/S3735/rule.js +8 -5
  130. package/cjs/S3757/rule.js +8 -6
  131. package/cjs/S3758/rule.js +9 -7
  132. package/cjs/S3760/rule.js +24 -21
  133. package/cjs/S3776/rule.js +26 -22
  134. package/cjs/S3782/rule.js +6 -4
  135. package/cjs/S3785/rule.js +9 -6
  136. package/cjs/S3796/rule.js +12 -8
  137. package/cjs/S3798/rule.js +4 -3
  138. package/cjs/S3800/rule.js +22 -11
  139. package/cjs/S3801/generated-meta.js +1 -1
  140. package/cjs/S3801/rule.js +15 -11
  141. package/cjs/S3827/rule.js +9 -6
  142. package/cjs/S3923/rule.js +9 -6
  143. package/cjs/S3972/rule.js +5 -4
  144. package/cjs/S3973/rule.js +7 -5
  145. package/cjs/S3981/rule.js +4 -3
  146. package/cjs/S3984/rule.js +4 -3
  147. package/cjs/S4030/rule.js +10 -7
  148. package/cjs/S4036/rule.js +7 -5
  149. package/cjs/S4043/rule.js +12 -8
  150. package/cjs/S4139/rule.js +7 -5
  151. package/cjs/S4143/rule.js +12 -9
  152. package/cjs/S4144/rule.js +12 -9
  153. package/cjs/S4158/rule.js +11 -8
  154. package/cjs/S4165/rule.js +14 -12
  155. package/cjs/S4322/rule.js +8 -5
  156. package/cjs/S4323/rule.js +4 -3
  157. package/cjs/S4324/rule.js +7 -5
  158. package/cjs/S4328/rule.js +2 -2
  159. package/cjs/S4335/rule.js +6 -4
  160. package/cjs/S4423/rule.js +4 -3
  161. package/cjs/S4423/rule.lib.js +8 -7
  162. package/cjs/S4426/rule.js +11 -10
  163. package/cjs/S4502/rule.js +16 -13
  164. package/cjs/S4507/rule.js +8 -6
  165. package/cjs/S4524/rule.js +2 -2
  166. package/cjs/S4619/rule.js +6 -4
  167. package/cjs/S4621/rule.js +5 -4
  168. package/cjs/S4622/rule.js +5 -3
  169. package/cjs/S4623/rule.js +8 -5
  170. package/cjs/S4624/rule.js +6 -4
  171. package/cjs/S4634/rule.js +4 -3
  172. package/cjs/S4721/rule.js +7 -5
  173. package/cjs/S4782/rule.js +7 -5
  174. package/cjs/S4784/rule.js +5 -4
  175. package/cjs/S4787/rule.js +9 -7
  176. package/cjs/S4790/rule.js +7 -5
  177. package/cjs/S4798/rule.js +2 -2
  178. package/cjs/S4817/rule.js +10 -8
  179. package/cjs/S4818/rule.js +4 -3
  180. package/cjs/S4822/rule.js +13 -9
  181. package/cjs/S4823/rule.js +4 -3
  182. package/cjs/S4829/rule.js +4 -3
  183. package/cjs/S4830/rule.js +11 -8
  184. package/cjs/S5042/rule.js +9 -7
  185. package/cjs/S5122/rule.js +40 -36
  186. package/cjs/S5148/rule.js +9 -8
  187. package/cjs/S5247/rule.js +22 -18
  188. package/cjs/S5256/rule.js +5 -4
  189. package/cjs/S5257/rule.js +4 -3
  190. package/cjs/S5260/rule.js +4 -3
  191. package/cjs/S5264/rule.js +4 -3
  192. package/cjs/S5332/rule.js +4 -3
  193. package/cjs/S5332/rule.lib.js +19 -17
  194. package/cjs/S5443/rule.js +2 -2
  195. package/cjs/S5527/rule.js +18 -14
  196. package/cjs/S5542/rule.js +6 -4
  197. package/cjs/S5547/rule.js +6 -4
  198. package/cjs/S5604/rule.js +15 -14
  199. package/cjs/S5659/rule.js +15 -12
  200. package/cjs/S5689/rule.js +11 -8
  201. package/cjs/S5691/rule.js +7 -5
  202. package/cjs/S5693/rule.js +14 -12
  203. package/cjs/S5725/rule.js +9 -6
  204. package/cjs/S5728/rule.js +7 -4
  205. package/cjs/S5730/rule.js +9 -6
  206. package/cjs/S5732/rule.js +8 -5
  207. package/cjs/S5734/rule.js +7 -4
  208. package/cjs/S5736/rule.js +8 -5
  209. package/cjs/S5739/rule.js +11 -8
  210. package/cjs/S5742/rule.js +7 -4
  211. package/cjs/S5743/rule.js +8 -6
  212. package/cjs/S5757/rule.js +13 -10
  213. package/cjs/S5759/rule.js +10 -7
  214. package/cjs/S5842/rule.js +2 -2
  215. package/cjs/S5843/rule.js +22 -19
  216. package/cjs/S5850/rule.js +4 -3
  217. package/cjs/S5852/rule.js +2 -2
  218. package/cjs/S5856/rule.js +10 -7
  219. package/cjs/S5860/rule.js +30 -26
  220. package/cjs/S5863/rule.js +15 -11
  221. package/cjs/S5867/rule.js +8 -7
  222. package/cjs/S5868/rule.js +7 -5
  223. package/cjs/S5869/rule.js +6 -5
  224. package/cjs/S5876/rule.js +12 -8
  225. package/cjs/S5958/rule.js +12 -9
  226. package/cjs/S5973/rule.js +10 -7
  227. package/cjs/S6019/rule.js +4 -3
  228. package/cjs/S6035/rule.js +2 -2
  229. package/cjs/S6079/rule.js +9 -6
  230. package/cjs/S6080/rule.js +13 -10
  231. package/cjs/S6092/rule.js +9 -7
  232. package/cjs/S6245/rule.js +14 -9
  233. package/cjs/S6249/rule.js +7 -5
  234. package/cjs/S6252/rule.js +12 -8
  235. package/cjs/S6265/rule.js +27 -20
  236. package/cjs/S6268/rule.js +5 -4
  237. package/cjs/S6270/rule.js +12 -9
  238. package/cjs/S6275/rule.js +2 -2
  239. package/cjs/S6281/rule.js +22 -17
  240. package/cjs/S6299/rule.js +2 -2
  241. package/cjs/S6302/rule.js +6 -5
  242. package/cjs/S6303/rule.js +12 -10
  243. package/cjs/S6304/rule.js +6 -5
  244. package/cjs/S6308/rule.js +7 -5
  245. package/cjs/S6317/rule.js +5 -4
  246. package/cjs/S6319/rule.js +2 -2
  247. package/cjs/S6321/rule.js +25 -23
  248. package/cjs/S6323/rule.js +4 -3
  249. package/cjs/S6324/rule.js +2 -2
  250. package/cjs/S6326/rule.js +2 -2
  251. package/cjs/S6327/rule.js +2 -2
  252. package/cjs/S6328/rule.js +4 -3
  253. package/cjs/S6329/rule.js +7 -5
  254. package/cjs/S6330/rule.js +2 -2
  255. package/cjs/S6332/rule.js +2 -2
  256. package/cjs/S6333/rule.js +8 -6
  257. package/cjs/S6351/rule.js +22 -19
  258. package/cjs/S6353/rule.js +2 -2
  259. package/cjs/S6397/rule.js +2 -2
  260. package/cjs/S6418/config.js +1 -1
  261. package/cjs/S6418/rule.js +9 -24
  262. package/cjs/S6426/rule.js +5 -4
  263. package/cjs/S6437/rule.js +10 -7
  264. package/cjs/S6439/rule.js +9 -7
  265. package/cjs/S6442/rule.js +11 -8
  266. package/cjs/S6443/rule.js +9 -7
  267. package/cjs/S6486/rule.js +5 -4
  268. package/cjs/S6564/rule.js +4 -3
  269. package/cjs/S6594/rule.js +12 -8
  270. package/cjs/S6627/rule.js +6 -4
  271. package/cjs/S6759/rule.js +10 -6
  272. package/cjs/S6958/rule.js +2 -2
  273. package/cjs/S6959/rule.js +9 -6
  274. package/cjs/S7059/generated-meta.js +1 -1
  275. package/cjs/S7059/rule.js +8 -5
  276. package/cjs/S7639/generated-meta.js +1 -1
  277. package/cjs/S7639/rule.js +5 -4
  278. package/cjs/S7790/generated-meta.js +1 -1
  279. package/cjs/S7790/rule.js +7 -5
  280. package/cjs/S8441/generated-meta.js +1 -1
  281. package/cjs/S8441/rule.js +13 -9
  282. package/cjs/S881/rule.js +2 -2
  283. package/cjs/S888/rule.js +4 -3
  284. package/cjs/S930/rule.js +14 -12
  285. package/cjs/helpers/ast.js +11 -8
  286. package/cjs/helpers/aws/s3.js +9 -6
  287. package/cjs/helpers/chai.js +41 -43
  288. package/cjs/helpers/configs.js +92 -0
  289. package/cjs/helpers/cookie-flag-check.js +19 -17
  290. package/cjs/helpers/{decorators/index.js → entropy.js} +16 -17
  291. package/cjs/helpers/express.js +127 -128
  292. package/cjs/helpers/find-up/all-in-parent-dirs.js +0 -16
  293. package/cjs/helpers/mocha.js +50 -54
  294. package/cjs/helpers/regex/ast.js +7 -6
  295. package/cjs/helpers/regex/extract.js +11 -11
  296. package/cjs/helpers/regex/group.js +2 -2
  297. package/cjs/helpers/regex/location.js +2 -2
  298. package/cjs/helpers/regex/range.js +5 -4
  299. package/cjs/helpers/regex/rule-template.js +4 -3
  300. package/cjs/helpers/sinon.js +33 -36
  301. package/cjs/helpers/supertest.js +34 -37
  302. package/cjs/helpers/vitest.js +29 -32
  303. package/cjs/plugin-rules.js +452 -450
  304. package/docs/assertions-in-tests.md +2 -0
  305. package/docs/bitwise-operators.md +2 -0
  306. package/docs/code-eval.md +7 -0
  307. package/docs/file-permissions.md +1 -1
  308. package/docs/no-async-constructor.md +2 -0
  309. package/docs/no-inconsistent-returns.md +2 -0
  310. package/docs/prefer-immediate-return.md +2 -0
  311. package/docs/sql-queries.md +2 -0
  312. package/package.json +39 -1
  313. package/types/S1067/rule.d.ts +1 -1
  314. package/types/S1110/rule.d.ts +1 -1
  315. package/types/S1128/rule.d.ts +1 -1
  316. package/types/S1172/rule.d.ts +1 -1
  317. package/types/S1226/rule.d.ts +1 -1
  318. package/types/S134/rule.d.ts +1 -1
  319. package/types/S1472/rule.d.ts +1 -1
  320. package/types/S1481/rule.d.ts +1 -1
  321. package/types/S1488/generated-meta.d.ts +1 -1
  322. package/types/S1515/rule.d.ts +1 -1
  323. package/types/S1523/generated-meta.d.ts +17 -0
  324. package/types/S1523/index.d.ts +1 -0
  325. package/types/S1523/meta.d.ts +2 -0
  326. package/types/S1523/rule.d.ts +2 -0
  327. package/types/S1527/rule.d.ts +1 -1
  328. package/types/S1529/generated-meta.d.ts +1 -1
  329. package/types/S1541/rule.d.ts +1 -1
  330. package/types/S1862/rule.d.ts +1 -1
  331. package/types/S2077/generated-meta.d.ts +1 -1
  332. package/types/S2123/rule.d.ts +1 -1
  333. package/types/S2259/rule.d.ts +1 -1
  334. package/types/S2428/rule.d.ts +1 -1
  335. package/types/S2589/rule.d.ts +1 -1
  336. package/types/S2598/rule.d.ts +1 -1
  337. package/types/S2699/generated-meta.d.ts +1 -1
  338. package/types/S2699/rule.d.ts +1 -1
  339. package/types/S2737/rule.d.ts +1 -1
  340. package/types/S2757/rule.d.ts +1 -1
  341. package/types/S2819/rule.d.ts +1 -1
  342. package/types/S3001/rule.d.ts +1 -1
  343. package/types/S3317/rule.d.ts +1 -1
  344. package/types/S3500/rule.d.ts +1 -1
  345. package/types/S3513/rule.d.ts +1 -1
  346. package/types/S3686/rule.d.ts +1 -1
  347. package/types/S3801/generated-meta.d.ts +1 -1
  348. package/types/S3972/rule.d.ts +1 -1
  349. package/types/S3973/rule.d.ts +1 -1
  350. package/types/S4030/rule.d.ts +1 -1
  351. package/types/S4143/rule.d.ts +1 -1
  352. package/types/S4158/rule.d.ts +1 -1
  353. package/types/S4621/rule.d.ts +1 -1
  354. package/types/S4782/rule.d.ts +1 -1
  355. package/types/S5693/rule.d.ts +1 -1
  356. package/types/S5725/rule.d.ts +1 -1
  357. package/types/S5860/rule.d.ts +1 -1
  358. package/types/S5868/rule.d.ts +1 -1
  359. package/types/S5869/rule.d.ts +1 -1
  360. package/types/S6079/rule.d.ts +1 -1
  361. package/types/S6326/rule.d.ts +1 -1
  362. package/types/S6351/rule.d.ts +1 -1
  363. package/types/S6418/config.d.ts +1 -1
  364. package/types/S6443/rule.d.ts +1 -1
  365. package/types/S7059/generated-meta.d.ts +1 -1
  366. package/types/S7639/generated-meta.d.ts +1 -1
  367. package/types/S7790/generated-meta.d.ts +1 -1
  368. package/types/S8441/generated-meta.d.ts +1 -1
  369. package/types/S930/rule.d.ts +1 -1
  370. package/types/helpers/ancestor.d.ts +3 -3
  371. package/types/helpers/ast.d.ts +1 -1
  372. package/types/helpers/aws/iam.d.ts +2 -2
  373. package/types/helpers/aws/s3.d.ts +1 -1
  374. package/types/helpers/chai.d.ts +3 -5
  375. package/types/helpers/configs.d.ts +39 -1
  376. package/types/helpers/entropy.d.ts +1 -0
  377. package/types/helpers/equivalence.d.ts +1 -1
  378. package/types/helpers/express.d.ts +38 -43
  379. package/types/helpers/find-up/all-in-parent-dirs.d.ts +1 -1
  380. package/types/helpers/find-up/closest.d.ts +1 -1
  381. package/types/helpers/find-up/find-minimatch.d.ts +1 -1
  382. package/types/helpers/generate-meta.d.ts +1 -1
  383. package/types/helpers/mocha.d.ts +19 -21
  384. package/types/helpers/module.d.ts +1 -1
  385. package/types/helpers/package-jsons/all-in-parent-dirs.d.ts +1 -1
  386. package/types/helpers/package-jsons/dependencies.d.ts +1 -1
  387. package/types/helpers/recognizers/CodeRecognizer.d.ts +1 -1
  388. package/types/helpers/recognizers/JavaScriptFootPrint.d.ts +2 -2
  389. package/types/helpers/recognizers/LanguageFootprint.d.ts +1 -1
  390. package/types/helpers/regex/alternation.d.ts +1 -1
  391. package/types/helpers/regex/ast.d.ts +1 -1
  392. package/types/helpers/regex/location.d.ts +2 -2
  393. package/types/helpers/regex/range.d.ts +2 -2
  394. package/types/helpers/regex/rule-template.d.ts +1 -1
  395. package/types/helpers/result.d.ts +1 -1
  396. package/types/helpers/sinon.d.ts +4 -6
  397. package/types/helpers/sonar-runtime.d.ts +1 -1
  398. package/types/helpers/supertest.d.ts +4 -6
  399. package/types/helpers/type.d.ts +1 -1
  400. package/types/helpers/vitest.d.ts +4 -6
  401. package/types/plugin-rules.d.ts +1 -0
  402. package/cjs/helpers/decorators/interceptor.js +0 -88
  403. package/cjs/helpers/index.js +0 -60
  404. package/cjs/helpers/recognizers/index.js +0 -37
  405. package/cjs/helpers/rule-detect-react.js +0 -29
  406. package/cjs/helpers/validate-version.js +0 -94
  407. package/types/helpers/aws/index.d.ts +0 -3
  408. package/types/helpers/decorators/index.d.ts +0 -2
  409. package/types/helpers/decorators/interceptor.d.ts +0 -16
  410. package/types/helpers/index.d.ts +0 -28
  411. package/types/helpers/recognizers/index.d.ts +0 -2
  412. package/types/helpers/rule-detect-react.d.ts +0 -2
  413. package/types/helpers/validate-version.d.ts +0 -13
package/cjs/S2737/rule.js CHANGED
@@ -51,10 +51,12 @@ 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 equivalence_js_1 = require("../helpers/equivalence.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
  exports.rule = {
57
- meta: (0, index_js_1.generateMeta)(meta, {
59
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
58
60
  messages: {
59
61
  uselessCatch: 'Add logic to this catch clause or eliminate it and rethrow the exception automatically.',
60
62
  },
@@ -78,8 +80,8 @@ function visitCatchClause(catchClause, context) {
78
80
  }
79
81
  }
80
82
  function onlyRethrows(statement, catchParam, sourceCode) {
81
- return ((0, index_js_1.isThrowStatement)(statement) &&
83
+ return ((0, ast_js_1.isThrowStatement)(statement) &&
82
84
  catchParam !== null &&
83
85
  statement.argument !== null &&
84
- (0, index_js_1.areEquivalent)(catchParam, statement.argument, sourceCode));
86
+ (0, equivalence_js_1.areEquivalent)(catchParam, statement.argument, sourceCode));
85
87
  }
package/cjs/S2755/rule.js CHANGED
@@ -51,7 +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
+ const module_js_1 = require("../helpers/module.js");
56
+ const ast_js_1 = require("../helpers/ast.js");
57
+ const location_js_1 = require("../helpers/location.js");
55
58
  const meta = __importStar(require("./generated-meta.js"));
56
59
  const TARGET_XML_FQNS = new Set([
57
60
  'libxmljs.parseXml',
@@ -60,22 +63,22 @@ const TARGET_XML_FQNS = new Set([
60
63
  'libxmljs2.parseXmlString',
61
64
  ]);
62
65
  exports.rule = {
63
- meta: (0, index_js_1.generateMeta)(meta),
66
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
64
67
  create(context) {
65
68
  function isXmlParserCall(call) {
66
- const fqn = (0, index_js_1.getFullyQualifiedName)(context, call) || '';
69
+ const fqn = (0, module_js_1.getFullyQualifiedName)(context, call) || '';
67
70
  return TARGET_XML_FQNS.has(fqn);
68
71
  }
69
72
  return {
70
73
  CallExpression: (node) => {
71
74
  const call = node;
72
75
  if (isXmlParserCall(call)) {
73
- const noent = (0, index_js_1.getProperty)(call.arguments[1], 'noent', context);
76
+ const noent = (0, ast_js_1.getProperty)(call.arguments[1], 'noent', context);
74
77
  if (noent && isNoEntSet(noent)) {
75
- (0, index_js_1.report)(context, {
78
+ (0, location_js_1.report)(context, {
76
79
  message: 'Disable access to external entities in XML parsing.',
77
80
  node: noent,
78
- }, [(0, index_js_1.toSecondaryLocation)(call.callee)]);
81
+ }, [(0, location_js_1.toSecondaryLocation)(call.callee)]);
79
82
  }
80
83
  }
81
84
  },
package/cjs/S2757/rule.js CHANGED
@@ -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
  useExistingOperator: 'Was "{{operator}}=" meant instead?',
60
60
  suggestExistingOperator: 'Replace with "{{operator}}" operator',
package/cjs/S2817/rule.js CHANGED
@@ -51,35 +51,38 @@ 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 type_js_1 = require("../helpers/type.js");
56
+ const ast_js_1 = require("../helpers/ast.js");
57
+ const parser_services_js_1 = require("../helpers/parser-services.js");
55
58
  const meta = __importStar(require("./generated-meta.js"));
56
59
  const OPEN_DATABASE = 'openDatabase';
57
60
  exports.rule = {
58
- meta: (0, index_js_1.generateMeta)(meta, {
61
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
59
62
  messages: {
60
63
  convertWebSQLUse: 'Convert this use of a Web SQL database to another technology.',
61
64
  },
62
65
  }),
63
66
  create(context) {
64
67
  const services = context.sourceCode.parserServices;
65
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
68
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
66
69
  return {};
67
70
  }
68
71
  return {
69
72
  CallExpression: (node) => {
70
73
  const callExpression = node;
71
74
  const { callee } = callExpression;
72
- const symbol = (0, index_js_1.getSymbolAtLocation)(callee, services);
75
+ const symbol = (0, type_js_1.getSymbolAtLocation)(callee, services);
73
76
  if (!!symbol) {
74
77
  return;
75
78
  }
76
- if ((0, index_js_1.isIdentifier)(callee, OPEN_DATABASE)) {
79
+ if ((0, ast_js_1.isIdentifier)(callee, OPEN_DATABASE)) {
77
80
  context.report({ node: callee, messageId: 'convertWebSQLUse' });
78
81
  }
79
- if (callee.type !== 'MemberExpression' || !(0, index_js_1.isIdentifier)(callee.property, OPEN_DATABASE)) {
82
+ if (callee.type !== 'MemberExpression' || !(0, ast_js_1.isIdentifier)(callee.property, OPEN_DATABASE)) {
80
83
  return;
81
84
  }
82
- const typeName = (0, index_js_1.getTypeAsString)(callee.object, services);
85
+ const typeName = (0, type_js_1.getTypeAsString)(callee.object, services);
83
86
  if (/window/i.test(typeName) || /globalThis/i.test(typeName)) {
84
87
  context.report({ node: callee, messageId: 'convertWebSQLUse' });
85
88
  }
package/cjs/S2819/rule.js CHANGED
@@ -51,12 +51,16 @@ 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 ancestor_js_1 = require("../helpers/ancestor.js");
55
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
56
+ const type_js_1 = require("../helpers/type.js");
57
+ const ast_js_1 = require("../helpers/ast.js");
58
+ const parser_services_js_1 = require("../helpers/parser-services.js");
55
59
  const meta = __importStar(require("./generated-meta.js"));
56
60
  const POST_MESSAGE = 'postMessage';
57
61
  const ADD_EVENT_LISTENER = 'addEventListener';
58
62
  exports.rule = {
59
- meta: (0, index_js_1.generateMeta)(meta, {
63
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
60
64
  messages: {
61
65
  specifyTarget: `Specify a target origin for this message.`,
62
66
  verifyOrigin: `Verify the origin of the received message.`,
@@ -64,7 +68,7 @@ exports.rule = {
64
68
  }),
65
69
  create(context) {
66
70
  const services = context.sourceCode.parserServices;
67
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
71
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
68
72
  return {};
69
73
  }
70
74
  return {
@@ -78,7 +82,7 @@ exports.rule = {
78
82
  },
79
83
  };
80
84
  function isWindowObject(node, context) {
81
- const type = (0, index_js_1.getTypeAsString)(node, context.sourceCode.parserServices);
85
+ const type = (0, type_js_1.getTypeAsString)(node, context.sourceCode.parserServices);
82
86
  const hasWindowName = WindowNameVisitor.containsWindowName(node, context);
83
87
  return type.match(/window/i) || type.match(/globalThis/i) || hasWindowName;
84
88
  }
@@ -86,7 +90,7 @@ function checkPostMessageCall(callExpr, context) {
86
90
  const { callee } = callExpr;
87
91
  // Window.postMessage() can take 2 or 3 arguments
88
92
  if (![2, 3].includes(callExpr.arguments.length) ||
89
- (0, index_js_1.getValueOfExpression)(context, callExpr.arguments[1], 'Literal')?.value !== '*') {
93
+ (0, ast_js_1.getValueOfExpression)(context, callExpr.arguments[1], 'Literal')?.value !== '*') {
90
94
  return;
91
95
  }
92
96
  if (callee.type === 'Identifier') {
@@ -112,9 +116,9 @@ function checkAddEventListenerCall(callExpr, context) {
112
116
  !isMessageTypeEvent(args[0], context)) {
113
117
  return;
114
118
  }
115
- let listener = (0, index_js_1.resolveFunction)(context, args[1]);
119
+ let listener = (0, ast_js_1.resolveFunction)(context, args[1]);
116
120
  if (listener?.body.type === 'CallExpression') {
117
- listener = (0, index_js_1.resolveFunction)(context, listener.body);
121
+ listener = (0, ast_js_1.resolveFunction)(context, listener.body);
118
122
  }
119
123
  if (!listener || listener.params.length === 0) {
120
124
  return;
@@ -295,7 +299,7 @@ function findEventOrigin(event) {
295
299
  * Checks if node has a property 'origin'
296
300
  */
297
301
  function isPropertyOrigin(node) {
298
- return (0, index_js_1.isIdentifier)(node.property, 'origin');
302
+ return (0, ast_js_1.isIdentifier)(node.property, 'origin');
299
303
  }
300
304
  /**
301
305
  * Returns event.originalEvent MemberExpression, if exists
@@ -307,7 +311,7 @@ function findEventOriginalEvent(event) {
307
311
  }
308
312
  const { object: eventCandidate, property: originalEventIdentifierCandidate } = memberExpr;
309
313
  if (eventCandidate === event &&
310
- (0, index_js_1.isIdentifier)(originalEventIdentifierCandidate, 'originalEvent')) {
314
+ (0, ast_js_1.isIdentifier)(originalEventIdentifierCandidate, 'originalEvent')) {
311
315
  return memberExpr;
312
316
  }
313
317
  return null;
@@ -320,10 +324,10 @@ function isInIfStatement(node) {
320
324
  if (node == null) {
321
325
  return false;
322
326
  }
323
- return (0, index_js_1.findFirstMatchingLocalAncestor)(node, index_js_1.isIfStatement) != null;
327
+ return (0, ancestor_js_1.findFirstMatchingLocalAncestor)(node, ast_js_1.isIfStatement) != null;
324
328
  }
325
329
  function isMessageTypeEvent(eventNode, context) {
326
- const eventValue = (0, index_js_1.getValueOfExpression)(context, eventNode, 'Literal');
330
+ const eventValue = (0, ast_js_1.getValueOfExpression)(context, eventNode, 'Literal');
327
331
  return typeof eventValue?.value === 'string' && eventValue.value.toLowerCase() === 'message';
328
332
  }
329
333
  class WindowNameVisitor {
@@ -340,7 +344,7 @@ class WindowNameVisitor {
340
344
  if (node.type === 'Identifier' && /window/i.test(node.name)) {
341
345
  this.hasWindowName = true;
342
346
  }
343
- for (const childNode of (0, index_js_1.childrenOf)(node, context.sourceCode.visitorKeys)) {
347
+ for (const childNode of (0, ancestor_js_1.childrenOf)(node, context.sourceCode.visitorKeys)) {
344
348
  visitNode(childNode);
345
349
  }
346
350
  };
package/cjs/S2870/rule.js CHANGED
@@ -51,23 +51,26 @@ 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 ancestor_js_1 = require("../helpers/ancestor.js");
56
+ const type_js_1 = require("../helpers/type.js");
57
+ const parser_services_js_1 = require("../helpers/parser-services.js");
55
58
  const meta = __importStar(require("./generated-meta.js"));
56
59
  const ArrayDeleteExpression = "UnaryExpression[operator='delete'] > MemberExpression[computed=true]";
57
60
  exports.rule = {
58
- meta: (0, index_js_1.generateMeta)(meta, {
61
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
59
62
  messages: {
60
63
  removeDelete: 'Remove this use of "delete".',
61
64
  },
62
65
  }),
63
66
  create(context) {
64
67
  const services = context.sourceCode.parserServices;
65
- if ((0, index_js_1.isRequiredParserServices)(services)) {
68
+ if ((0, parser_services_js_1.isRequiredParserServices)(services)) {
66
69
  return {
67
70
  [ArrayDeleteExpression]: (node) => {
68
71
  const member = node;
69
72
  const object = member.object;
70
- if ((0, index_js_1.isArray)(object, services)) {
73
+ if ((0, type_js_1.isArray)(object, services)) {
71
74
  raiseIssue(context, node);
72
75
  }
73
76
  },
@@ -77,7 +80,7 @@ exports.rule = {
77
80
  },
78
81
  };
79
82
  function raiseIssue(context, node) {
80
- const deleteKeyword = context.sourceCode.getFirstToken((0, index_js_1.getParent)(context, node));
83
+ const deleteKeyword = context.sourceCode.getFirstToken((0, ancestor_js_1.getParent)(context, node));
81
84
  context.report({
82
85
  messageId: 'removeDelete',
83
86
  loc: deleteKeyword.loc,
package/cjs/S2871/rule.js CHANGED
@@ -51,7 +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 collection_js_1 = require("../helpers/collection.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");
55
58
  const meta = __importStar(require("./generated-meta.js"));
56
59
  const compareNumberFunctionPlaceholder = '(a, b) => (a - b)';
57
60
  const compareBigIntFunctionPlaceholder = [
@@ -67,7 +70,7 @@ const compareBigIntFunctionPlaceholder = [
67
70
  ];
68
71
  const languageSensitiveOrderPlaceholder = '(a, b) => a.localeCompare(b)';
69
72
  exports.rule = {
70
- meta: (0, index_js_1.generateMeta)(meta, {
73
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
71
74
  hasSuggestions: true,
72
75
  messages: {
73
76
  provideCompareFunction: 'Provide a compare function to avoid sorting elements alphabetically.',
@@ -79,15 +82,15 @@ exports.rule = {
79
82
  create(context) {
80
83
  const sourceCode = context.sourceCode;
81
84
  const services = context.sourceCode.parserServices;
82
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
85
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
83
86
  return {};
84
87
  }
85
88
  return {
86
89
  'CallExpression[arguments.length=0][callee.type="MemberExpression"]': (call) => {
87
90
  const { object, property: node } = call.callee;
88
91
  const text = sourceCode.getText(node);
89
- const type = (0, index_js_1.getTypeFromTreeNode)(object, services);
90
- if ([...index_js_1.sortLike, ...index_js_1.copyingSortLike].includes(text) && (0, index_js_1.isArrayLikeType)(type, services)) {
92
+ const type = (0, type_js_1.getTypeFromTreeNode)(object, services);
93
+ if ([...collection_js_1.sortLike, ...collection_js_1.copyingSortLike].includes(text) && (0, type_js_1.isArrayLikeType)(type, services)) {
91
94
  const suggest = getSuggestions(call, type);
92
95
  const messageId = getMessageId(type);
93
96
  context.report({ node, suggest, messageId });
@@ -96,19 +99,19 @@ exports.rule = {
96
99
  };
97
100
  function getSuggestions(call, type) {
98
101
  const suggestions = [];
99
- if ((0, index_js_1.isNumberArray)(type, services)) {
102
+ if ((0, type_js_1.isNumberArray)(type, services)) {
100
103
  suggestions.push({
101
104
  messageId: 'suggestNumericOrder',
102
105
  fix: fixer(call, compareNumberFunctionPlaceholder),
103
106
  });
104
107
  }
105
- else if ((0, index_js_1.isBigIntArray)(type, services)) {
108
+ else if ((0, type_js_1.isBigIntArray)(type, services)) {
106
109
  suggestions.push({
107
110
  messageId: 'suggestNumericOrder',
108
111
  fix: fixer(call, ...compareBigIntFunctionPlaceholder),
109
112
  });
110
113
  }
111
- else if ((0, index_js_1.isStringArray)(type, services)) {
114
+ else if ((0, type_js_1.isStringArray)(type, services)) {
112
115
  suggestions.push({
113
116
  messageId: 'suggestLanguageSensitiveOrder',
114
117
  fix: fixer(call, languageSensitiveOrderPlaceholder),
@@ -117,7 +120,7 @@ exports.rule = {
117
120
  return suggestions;
118
121
  }
119
122
  function getMessageId(type) {
120
- if ((0, index_js_1.isStringArray)(type, services)) {
123
+ if ((0, type_js_1.isStringArray)(type, services)) {
121
124
  return 'provideCompareFunctionForArrayOfStrings';
122
125
  }
123
126
  return 'provideCompareFunction';
package/cjs/S2970/rule.js CHANGED
@@ -51,7 +51,8 @@ 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 assertionFunctions = [
57
58
  'a',
@@ -137,7 +138,7 @@ const gettersOrModifiers = [
137
138
  'should',
138
139
  ];
139
140
  exports.rule = {
140
- meta: (0, index_js_1.generateMeta)(meta),
141
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
141
142
  create(context) {
142
143
  return {
143
144
  ExpressionStatement(node) {
@@ -145,13 +146,13 @@ exports.rule = {
145
146
  if (exprStatement.expression.type === 'MemberExpression') {
146
147
  const { property } = exprStatement.expression;
147
148
  if (isTestAssertion(exprStatement.expression)) {
148
- if ((0, index_js_1.isIdentifier)(property, ...assertionFunctions)) {
149
+ if ((0, ast_js_1.isIdentifier)(property, ...assertionFunctions)) {
149
150
  context.report({
150
151
  node: property,
151
152
  message: `Call this '${property.name}' assertion.`,
152
153
  });
153
154
  }
154
- if ((0, index_js_1.isIdentifier)(property, ...gettersOrModifiers)) {
155
+ if ((0, ast_js_1.isIdentifier)(property, ...gettersOrModifiers)) {
155
156
  context.report({
156
157
  node: property,
157
158
  message: `Complete this assertion; '${property.name}' doesn't assert anything by itself.`,
@@ -173,10 +174,10 @@ exports.rule = {
173
174
  function isTestAssertion(node) {
174
175
  const { object, property } = node;
175
176
  // Chai's BDD style where 'should' extends Object.prototype https://www.chaijs.com/guide/styles/
176
- if ((0, index_js_1.isIdentifier)(object) && (0, index_js_1.isIdentifier)(property, 'should')) {
177
+ if ((0, ast_js_1.isIdentifier)(object) && (0, ast_js_1.isIdentifier)(property, 'should')) {
177
178
  return true;
178
179
  }
179
- if (isExpectCall(object) || (0, index_js_1.isIdentifier)(object, 'assert', 'expect', 'should')) {
180
+ if (isExpectCall(object) || (0, ast_js_1.isIdentifier)(object, 'assert', 'expect', 'should')) {
180
181
  return true;
181
182
  }
182
183
  else if (object.type === 'MemberExpression') {
@@ -189,6 +190,6 @@ function isTestAssertion(node) {
189
190
  }
190
191
  function isExpectCall(node) {
191
192
  return (node.type === 'CallExpression' &&
192
- (0, index_js_1.isIdentifier)(node.callee, 'expect') &&
193
- !(0, index_js_1.isNumberLiteral)(node.arguments[0]));
193
+ (0, ast_js_1.isIdentifier)(node.callee, 'expect') &&
194
+ !(0, ast_js_1.isNumberLiteral)(node.arguments[0]));
194
195
  }
package/cjs/S2990/rule.js CHANGED
@@ -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
  hasSuggestions: true,
59
59
  messages: {
60
60
  removeThis: `Remove the use of "this".`,
package/cjs/S2999/rule.js CHANGED
@@ -55,30 +55,33 @@ 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 generate_meta_js_1 = require("../helpers/generate-meta.js");
59
+ const type_js_1 = require("../helpers/type.js");
60
+ const parser_services_js_1 = require("../helpers/parser-services.js");
61
+ const location_js_1 = require("../helpers/location.js");
59
62
  const meta = __importStar(require("./generated-meta.js"));
60
63
  exports.rule = {
61
- meta: (0, index_js_1.generateMeta)(meta),
64
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
62
65
  create(context) {
63
66
  const considerJSDoc = !!context.options[0]?.considerJSDoc;
64
67
  const services = context.sourceCode.parserServices;
65
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
68
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
66
69
  return {};
67
70
  }
68
71
  return {
69
72
  'NewExpression[callee.type!="ThisExpression"]': (node) => {
70
73
  const { callee } = node;
71
- const type = (0, index_js_1.getTypeFromTreeNode)(callee, services);
72
- const signature = (0, index_js_1.getSignatureFromCallee)(node, services);
74
+ const type = (0, type_js_1.getTypeFromTreeNode)(callee, services);
75
+ const signature = (0, type_js_1.getSignatureFromCallee)(node, services);
73
76
  if (!isInstantiable(type, signature, considerJSDoc) && !isAny(type)) {
74
77
  const functionToken = context.sourceCode.getFirstToken(node, token => token.type === 'Keyword' && token.value === 'function');
75
78
  const newToken = context.sourceCode.getFirstToken(node, token => token.type === 'Keyword' && token.value === 'new');
76
79
  const text = isFunction(type) ? 'this function' : context.sourceCode.getText(callee);
77
80
  const loc = callee.type === 'FunctionExpression' ? functionToken.loc : callee.loc;
78
- (0, index_js_1.report)(context, {
81
+ (0, location_js_1.report)(context, {
79
82
  message: `Replace ${text} with a constructor function.`,
80
83
  loc,
81
- }, [(0, index_js_1.toSecondaryLocation)(newToken)]);
84
+ }, [(0, location_js_1.toSecondaryLocation)(newToken)]);
82
85
  }
83
86
  },
84
87
  };
package/cjs/S3001/rule.js CHANGED
@@ -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
  removeDelete: 'Remove this "delete" operator or pass an object property to it.',
60
60
  },
package/cjs/S3003/rule.js CHANGED
@@ -51,30 +51,33 @@ 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 parser_services_js_1 = require("../helpers/parser-services.js");
56
+ const type_js_1 = require("../helpers/type.js");
57
+ const location_js_1 = require("../helpers/location.js");
55
58
  const meta = __importStar(require("./generated-meta.js"));
56
59
  exports.rule = {
57
- meta: (0, index_js_1.generateMeta)(meta),
60
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
58
61
  create(context) {
59
62
  const services = context.sourceCode.parserServices;
60
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
63
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
61
64
  return {};
62
65
  }
63
66
  return {
64
67
  BinaryExpression: (node) => {
65
68
  const { operator, left, right } = node;
66
69
  if (['<', '<=', '>', '>='].includes(operator) &&
67
- (0, index_js_1.isString)(left, services) &&
68
- (0, index_js_1.isString)(right, services) &&
70
+ (0, type_js_1.isString)(left, services) &&
71
+ (0, type_js_1.isString)(right, services) &&
69
72
  !isLiteralException(left) &&
70
73
  !isLiteralException(right) &&
71
74
  !isWithinSortCallback(context, node)) {
72
- (0, index_js_1.report)(context, {
75
+ (0, location_js_1.report)(context, {
73
76
  message: `Convert operands of this use of "${operator}" to number type.`,
74
77
  loc: context.sourceCode
75
78
  .getTokensBetween(left, right)
76
79
  .find(token => token.type === 'Punctuator' && token.value === operator).loc,
77
- }, [left, right].map(node => (0, index_js_1.toSecondaryLocation)(node)));
80
+ }, [left, right].map(node => (0, location_js_1.toSecondaryLocation)(node)));
78
81
  }
79
82
  },
80
83
  };
package/cjs/S3317/rule.js CHANGED
@@ -55,10 +55,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
55
55
  Object.defineProperty(exports, "__esModule", { value: true });
56
56
  exports.rule = void 0;
57
57
  const node_path_1 = __importDefault(require("node:path"));
58
- const index_js_1 = require("../helpers/index.js");
58
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
59
+ const ast_js_1 = require("../helpers/ast.js");
59
60
  const meta = __importStar(require("./generated-meta.js"));
60
61
  exports.rule = {
61
- meta: (0, index_js_1.generateMeta)(meta, {
62
+ meta: (0, generate_meta_js_1.generateMeta)(meta, {
62
63
  messages: {
63
64
  renameFile: 'Rename this file to "{{exported}}"',
64
65
  },
@@ -70,7 +71,7 @@ exports.rule = {
70
71
  ExportDefaultDeclaration: (node) => {
71
72
  const declaration = node.declaration;
72
73
  if (declaration.type === 'Identifier') {
73
- const variable = (0, index_js_1.getVariableFromName)(context, declaration.name, node);
74
+ const variable = (0, ast_js_1.getVariableFromName)(context, declaration.name, node);
74
75
  if (variable?.defs.length === 1) {
75
76
  const def = variable.defs[0];
76
77
  if (def.type === 'ClassName' || def.type === 'FunctionName' || isConst(def)) {
package/cjs/S3330/rule.js CHANGED
@@ -52,10 +52,10 @@ var __importStar = (this && this.__importStar) || (function () {
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
54
  const cookie_flag_check_js_1 = require("../helpers/cookie-flag-check.js");
55
- const index_js_1 = require("../helpers/index.js");
55
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
56
56
  const meta = __importStar(require("./generated-meta.js"));
57
57
  exports.rule = {
58
- meta: (0, index_js_1.generateMeta)(meta),
58
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
59
59
  create(context) {
60
60
  return {
61
61
  CallExpression: (node) => new cookie_flag_check_js_1.CookieFlagCheck(context, 'httpOnly').checkCookiesFromCallExpression(node),
package/cjs/S3358/rule.js CHANGED
@@ -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
  extractTernary: 'Extract this nested ternary operation into an independent statement.',
60
60
  },
package/cjs/S3402/rule.js CHANGED
@@ -55,15 +55,19 @@ 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 parser_services_js_1 = require("../helpers/parser-services.js");
59
+ const generate_meta_js_1 = require("../helpers/generate-meta.js");
60
+ const type_js_1 = require("../helpers/type.js");
61
+ const ast_js_1 = require("../helpers/ast.js");
62
+ const location_js_1 = require("../helpers/location.js");
59
63
  const meta = __importStar(require("./generated-meta.js"));
60
64
  const message = `Review this expression to be sure that the concatenation was intended.`;
61
65
  const objectLikeTypes = new Set(['object', 'Object']);
62
66
  exports.rule = {
63
- meta: (0, index_js_1.generateMeta)(meta),
67
+ meta: (0, generate_meta_js_1.generateMeta)(meta),
64
68
  create(context) {
65
69
  const services = context.sourceCode.parserServices;
66
- if (!(0, index_js_1.isRequiredParserServices)(services)) {
70
+ if (!(0, parser_services_js_1.isRequiredParserServices)(services)) {
67
71
  return {};
68
72
  }
69
73
  const checker = services.program.getTypeChecker();
@@ -81,22 +85,22 @@ exports.rule = {
81
85
  .find(token => token.value === '+' || token.value === '+=').loc;
82
86
  }
83
87
  function checkConcatenation(left, right) {
84
- if ((0, index_js_1.isStringLiteral)(left) ||
85
- (0, index_js_1.isStringLiteral)(right) ||
88
+ if ((0, ast_js_1.isStringLiteral)(left) ||
89
+ (0, ast_js_1.isStringLiteral)(right) ||
86
90
  isConcatenation(left) ||
87
91
  isConcatenation(right)) {
88
92
  return;
89
93
  }
90
- const leftType = (0, index_js_1.getTypeFromTreeNode)(left, services);
91
- const rightType = (0, index_js_1.getTypeFromTreeNode)(right, services);
94
+ const leftType = (0, type_js_1.getTypeFromTreeNode)(left, services);
95
+ const rightType = (0, type_js_1.getTypeFromTreeNode)(right, services);
92
96
  if (isStringPlusNonString(leftType, rightType) ||
93
97
  isStringPlusNonString(rightType, leftType)) {
94
- (0, index_js_1.report)(context, {
98
+ (0, location_js_1.report)(context, {
95
99
  message,
96
100
  loc: getOperatorLocation(left, right),
97
101
  }, [
98
- (0, index_js_1.toSecondaryLocation)(left, `left operand has type ${checker.typeToString(leftType)}.`),
99
- (0, index_js_1.toSecondaryLocation)(right, `right operand has type ${checker.typeToString(rightType)}.`),
102
+ (0, location_js_1.toSecondaryLocation)(left, `left operand has type ${checker.typeToString(leftType)}.`),
103
+ (0, location_js_1.toSecondaryLocation)(right, `right operand has type ${checker.typeToString(rightType)}.`),
100
104
  ]);
101
105
  }
102
106
  }