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
@@ -1,58 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mocha = void 0;
4
- const index_js_1 = require("./index.js");
5
- var Mocha;
6
- (function (Mocha) {
7
- const TEST_CONSTRUCTS = [
8
- 'describe',
9
- 'context',
10
- 'it',
11
- 'specify',
12
- 'before',
13
- 'after',
14
- 'beforeEach',
15
- 'afterEach',
16
- ];
17
- function isTestConstruct(node, constructs = TEST_CONSTRUCTS) {
18
- return constructs.some(construct => {
19
- return (node.type === 'CallExpression' &&
20
- ((0, index_js_1.isIdentifier)(node.callee, construct) ||
21
- (node.callee.type === 'MemberExpression' &&
22
- (0, index_js_1.isIdentifier)(node.callee.object, construct) &&
23
- (0, index_js_1.isIdentifier)(node.callee.property, 'only', 'skip'))));
24
- });
25
- }
26
- Mocha.isTestConstruct = isTestConstruct;
27
- function extractTestCase(node) {
28
- if (isTestCase(node)) {
29
- const callExpr = node;
30
- const [, callback] = callExpr.arguments;
31
- if (callback && index_js_1.FUNCTION_NODES.includes(callback.type)) {
32
- return { node: callExpr.callee, callback: callback };
33
- }
3
+ exports.isTestConstruct = isTestConstruct;
4
+ exports.extractTestCase = extractTestCase;
5
+ exports.isTestCase = isTestCase;
6
+ exports.isDescribeCase = isDescribeCase;
7
+ const ast_js_1 = require("./ast.js");
8
+ const TEST_CONSTRUCTS = [
9
+ 'describe',
10
+ 'context',
11
+ 'it',
12
+ 'specify',
13
+ 'before',
14
+ 'after',
15
+ 'beforeEach',
16
+ 'afterEach',
17
+ ];
18
+ function isTestConstruct(node, constructs = TEST_CONSTRUCTS) {
19
+ return constructs.some(construct => {
20
+ return (node.type === 'CallExpression' &&
21
+ ((0, ast_js_1.isIdentifier)(node.callee, construct) ||
22
+ (node.callee.type === 'MemberExpression' &&
23
+ (0, ast_js_1.isIdentifier)(node.callee.object, construct) &&
24
+ (0, ast_js_1.isIdentifier)(node.callee.property, 'only', 'skip'))));
25
+ });
26
+ }
27
+ function extractTestCase(node) {
28
+ if (isTestCase(node)) {
29
+ const callExpr = node;
30
+ const [, callback] = callExpr.arguments;
31
+ if (callback && ast_js_1.FUNCTION_NODES.includes(callback.type)) {
32
+ return { node: callExpr.callee, callback: callback };
34
33
  }
35
- return null;
36
- }
37
- Mocha.extractTestCase = extractTestCase;
38
- /**
39
- * returns true if the node is a test case
40
- *
41
- * @param node
42
- * @returns
43
- */
44
- function isTestCase(node) {
45
- return isTestConstruct(node, ['it', 'specify']);
46
- }
47
- Mocha.isTestCase = isTestCase;
48
- /**
49
- * returns true if the node is a describe block
50
- *
51
- * @param node
52
- * @returns
53
- */
54
- function isDescribeCase(node) {
55
- return isTestConstruct(node, ['describe']);
56
34
  }
57
- Mocha.isDescribeCase = isDescribeCase;
58
- })(Mocha || (exports.Mocha = Mocha = {}));
35
+ return null;
36
+ }
37
+ /**
38
+ * returns true if the node is a test case
39
+ *
40
+ * @param node
41
+ * @returns
42
+ */
43
+ function isTestCase(node) {
44
+ return isTestConstruct(node, ['it', 'specify']);
45
+ }
46
+ /**
47
+ * returns true if the node is a describe block
48
+ *
49
+ * @param node
50
+ * @returns
51
+ */
52
+ function isDescribeCase(node) {
53
+ return isTestConstruct(node, ['describe']);
54
+ }
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isRegExpConstructor = isRegExpConstructor;
4
4
  exports.isStringReplaceCall = isStringReplaceCall;
5
5
  exports.isStringRegexMethodCall = isStringRegexMethodCall;
6
- const index_js_1 = require("../index.js");
6
+ const ast_js_1 = require("../ast.js");
7
+ const type_js_1 = require("../type.js");
7
8
  function isRegExpConstructor(node) {
8
9
  return (((node.type === 'CallExpression' || node.type === 'NewExpression') &&
9
10
  node.callee.type === 'Identifier' &&
@@ -17,7 +18,7 @@ function isStringReplaceCall(call, services) {
17
18
  !call.callee.computed &&
18
19
  ['replace', 'replaceAll'].includes(call.callee.property.name) &&
19
20
  call.arguments.length > 1 &&
20
- (0, index_js_1.isString)(call.callee.object, services));
21
+ (0, type_js_1.isString)(call.callee.object, services));
21
22
  }
22
23
  function isStringRegexMethodCall(call, services) {
23
24
  return (call.callee.type === 'MemberExpression' &&
@@ -25,13 +26,13 @@ function isStringRegexMethodCall(call, services) {
25
26
  !call.callee.computed &&
26
27
  ['match', 'matchAll', 'search'].includes(call.callee.property.name) &&
27
28
  call.arguments.length > 0 &&
28
- (0, index_js_1.isString)(call.callee.object, services) &&
29
- (0, index_js_1.isString)(call.arguments[0], services));
29
+ (0, type_js_1.isString)(call.callee.object, services) &&
30
+ (0, type_js_1.isString)(call.arguments[0], services));
30
31
  }
31
32
  function isRegExpWithGlobalThis(node) {
32
33
  return (node.type === 'NewExpression' &&
33
34
  node.callee.type === 'MemberExpression' &&
34
- (0, index_js_1.isIdentifier)(node.callee.object, 'globalThis') &&
35
- (0, index_js_1.isIdentifier)(node.callee.property, 'RegExp') &&
35
+ (0, ast_js_1.isIdentifier)(node.callee.object, 'globalThis') &&
36
+ (0, ast_js_1.isIdentifier)(node.callee.property, 'RegExp') &&
36
37
  node.arguments.length > 0);
37
38
  }
@@ -36,8 +36,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.getParsedRegex = getParsedRegex;
37
37
  exports.getPatternFromNode = getPatternFromNode;
38
38
  const regexpp = __importStar(require("@eslint-community/regexpp"));
39
- const index_js_1 = require("../index.js");
40
- const ast_js_1 = require("./ast.js");
39
+ const ast_js_1 = require("../ast.js");
40
+ const ast_js_2 = require("./ast.js");
41
41
  const flags_js_1 = require("./flags.js");
42
42
  function getParsedRegex(node, context) {
43
43
  const patternAndFlags = getPatternFromNode(node, context);
@@ -52,7 +52,7 @@ function getParsedRegex(node, context) {
52
52
  return null;
53
53
  }
54
54
  function getPatternFromNode(node, context) {
55
- if ((0, ast_js_1.isRegExpConstructor)(node)) {
55
+ if ((0, ast_js_2.isRegExpConstructor)(node)) {
56
56
  const patternOnly = getPatternFromNode(node.arguments[0], context);
57
57
  const flags = (0, flags_js_1.getFlags)(node, context);
58
58
  if (patternOnly && flags !== null) {
@@ -61,26 +61,26 @@ function getPatternFromNode(node, context) {
61
61
  return { pattern: patternOnly.pattern, flags };
62
62
  }
63
63
  }
64
- else if ((0, index_js_1.isRegexLiteral)(node)) {
64
+ else if ((0, ast_js_1.isRegexLiteral)(node)) {
65
65
  return node.regex;
66
66
  }
67
- else if ((0, index_js_1.isStringLiteral)(node)) {
67
+ else if ((0, ast_js_1.isStringLiteral)(node)) {
68
68
  return { pattern: node.value, flags: '' };
69
69
  }
70
- else if ((0, index_js_1.isStaticTemplateLiteral)(node)) {
70
+ else if ((0, ast_js_1.isStaticTemplateLiteral)(node)) {
71
71
  return { pattern: node.quasis[0].value.raw, flags: '' };
72
72
  }
73
- else if ((0, index_js_1.isSimpleRawString)(node)) {
74
- return { pattern: (0, index_js_1.getSimpleRawStringValue)(node), flags: '' };
73
+ else if ((0, ast_js_1.isSimpleRawString)(node)) {
74
+ return { pattern: (0, ast_js_1.getSimpleRawStringValue)(node), flags: '' };
75
75
  }
76
- else if ((0, index_js_1.isIdentifier)(node)) {
77
- const assignedExpression = (0, index_js_1.getUniqueWriteUsage)(context, node.name, node);
76
+ else if ((0, ast_js_1.isIdentifier)(node)) {
77
+ const assignedExpression = (0, ast_js_1.getUniqueWriteUsage)(context, node.name, node);
78
78
  if (assignedExpression &&
79
79
  assignedExpression.parent?.type === 'VariableDeclarator') {
80
80
  return getPatternFromNode(assignedExpression, context);
81
81
  }
82
82
  }
83
- else if ((0, index_js_1.isBinaryPlus)(node)) {
83
+ else if ((0, ast_js_1.isBinaryPlus)(node)) {
84
84
  const left = getPatternFromNode(node.left, context);
85
85
  const right = getPatternFromNode(node.right, context);
86
86
  if (left && right) {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractReferences = extractReferences;
4
- const index_js_1 = require("../index.js");
4
+ const ast_js_1 = require("../ast.js");
5
5
  function extractReferences(node) {
6
6
  const references = [];
7
- if ((0, index_js_1.isStringLiteral)(node)) {
7
+ if ((0, ast_js_1.isStringLiteral)(node)) {
8
8
  const str = node.value;
9
9
  const reg = /\$(\d+)|\$<([a-zA-Z]\w*)>/g;
10
10
  let match;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRegexpLocation = getRegexpLocation;
4
- const index_js_1 = require("../index.js");
4
+ const ast_js_1 = require("../ast.js");
5
5
  const range_js_1 = require("./range.js");
6
6
  /**
7
7
  * Gets the regexp node location in the ESLint referential
@@ -13,7 +13,7 @@ const range_js_1 = require("./range.js");
13
13
  */
14
14
  function getRegexpLocation(node, regexpNode, context, offset = [0, 0]) {
15
15
  let loc;
16
- if ((0, index_js_1.isRegexLiteral)(node) || (0, index_js_1.isStringLiteral)(node)) {
16
+ if ((0, ast_js_1.isRegexLiteral)(node) || (0, ast_js_1.isStringLiteral)(node)) {
17
17
  const source = context.sourceCode;
18
18
  const [start] = node.range;
19
19
  const [reStart, reEnd] = (0, range_js_1.getRegexpRange)(node, regexpNode);
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRegexpRange = getRegexpRange;
4
- const index_js_1 = require("../index.js");
4
+ const collection_js_1 = require("../collection.js");
5
+ const ast_js_1 = require("../ast.js");
5
6
  const tokenizer_js_1 = require("./tokenizer.js");
6
7
  /**
7
8
  * Returns the location of regexpNode relative to the node, which is regexp string or literal. If the computation
8
9
  * of location fails, it returns the range of the whole node.
9
10
  */
10
11
  function getRegexpRange(node, regexpNode) {
11
- if ((0, index_js_1.isRegexLiteral)(node)) {
12
+ if ((0, ast_js_1.isRegexLiteral)(node)) {
12
13
  return [regexpNode.start, regexpNode.end];
13
14
  }
14
- if ((0, index_js_1.isStringLiteral)(node)) {
15
+ if ((0, ast_js_1.isStringLiteral)(node)) {
15
16
  if (node.value === '') {
16
17
  return [0, 2];
17
18
  }
@@ -30,7 +31,7 @@ function getRegexpRange(node, regexpNode) {
30
31
  else {
31
32
  // '|' second empty alternative regex node will have start = 2, end = 2
32
33
  // +1 is to account for string quote
33
- return [(0, index_js_1.last)(tokens).range[1] + 1, (0, index_js_1.last)(tokens).range[1] + 1];
34
+ return [(0, collection_js_1.last)(tokens).range[1] + 1, (0, collection_js_1.last)(tokens).range[1] + 1];
34
35
  }
35
36
  }
36
37
  // regexpNode positions are 1 - based, we need to -1 to report as 0 - based
@@ -38,7 +38,8 @@ const regexpp = __importStar(require("@eslint-community/regexpp"));
38
38
  const ast_js_1 = require("./ast.js");
39
39
  const extract_js_1 = require("./extract.js");
40
40
  const location_js_1 = require("./location.js");
41
- const index_js_1 = require("../index.js");
41
+ const location_js_2 = require("../location.js");
42
+ const parser_services_js_1 = require("../parser-services.js");
42
43
  /**
43
44
  * Rule template to create regex rules.
44
45
  * @param handlers - the regexpp node handlers
@@ -49,7 +50,7 @@ function createRegExpRule(handlers, meta = {}) {
49
50
  return {
50
51
  meta,
51
52
  create(context) {
52
- const services = (0, index_js_1.isRequiredParserServices)(context.sourceCode.parserServices)
53
+ const services = (0, parser_services_js_1.isRequiredParserServices)(context.sourceCode.parserServices)
53
54
  ? context.sourceCode.parserServices
54
55
  : null;
55
56
  function checkRegex(node, regExpAST) {
@@ -66,7 +67,7 @@ function createRegExpRule(handlers, meta = {}) {
66
67
  const loc = (0, location_js_1.getRegexpLocation)(node, regexpNode, context, offset);
67
68
  if (loc) {
68
69
  if (secondaryLocations?.length) {
69
- (0, index_js_1.report)(context, { ...rest, loc }, secondaryLocations);
70
+ (0, location_js_2.report)(context, { ...rest, loc }, secondaryLocations);
70
71
  }
71
72
  else {
72
73
  context.report({ ...rest, loc });
@@ -3,43 +3,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Sinon = void 0;
7
- const index_js_1 = require("./index.js");
6
+ exports.isImported = isImported;
7
+ exports.isAssertion = isAssertion;
8
+ exports.isTSAssertion = isTSAssertion;
9
+ const module_js_1 = require("./module.js");
10
+ const module_ts_js_1 = require("./module-ts.js");
8
11
  const typescript_1 = __importDefault(require("typescript"));
9
- var Sinon;
10
- (function (Sinon) {
11
- function isImported(context) {
12
- return ((0, index_js_1.getRequireCalls)(context).some(r => r.arguments[0].type === 'Literal' && r.arguments[0].value === 'sinon') || (0, index_js_1.getImportDeclarations)(context).some(i => i.source.value === 'sinon'));
12
+ function isImported(context) {
13
+ return ((0, module_js_1.getRequireCalls)(context).some(r => r.arguments[0].type === 'Literal' && r.arguments[0].value === 'sinon') || (0, module_js_1.getImportDeclarations)(context).some(i => i.source.value === 'sinon'));
14
+ }
15
+ function isAssertion(context, node) {
16
+ return isAssertUsage(context, node);
17
+ }
18
+ function isTSAssertion(services, node) {
19
+ if (node.kind !== typescript_1.default.SyntaxKind.CallExpression) {
20
+ return false;
13
21
  }
14
- Sinon.isImported = isImported;
15
- function isAssertion(context, node) {
16
- return isAssertUsage(context, node);
22
+ const fqn = (0, module_ts_js_1.getFullyQualifiedNameTS)(services, node);
23
+ return isFQNAssertion(fqn);
24
+ }
25
+ function isAssertUsage(context, node) {
26
+ // assert.<expr>(), sinon.assert.<expr>()
27
+ const fqn = extractFQNforCallExpression(context, node);
28
+ return isFQNAssertion(fqn);
29
+ }
30
+ function isFQNAssertion(fqn) {
31
+ if (!fqn) {
32
+ return false;
17
33
  }
18
- Sinon.isAssertion = isAssertion;
19
- function isTSAssertion(services, node) {
20
- if (node.kind !== typescript_1.default.SyntaxKind.CallExpression) {
21
- return false;
22
- }
23
- const fqn = (0, index_js_1.getFullyQualifiedNameTS)(services, node);
24
- return isFQNAssertion(fqn);
34
+ const names = fqn.split('.');
35
+ return names.length === 3 && names[0] === 'sinon' && names[1] === 'assert';
36
+ }
37
+ function extractFQNforCallExpression(context, node) {
38
+ if (node.type !== 'CallExpression') {
39
+ return undefined;
25
40
  }
26
- Sinon.isTSAssertion = isTSAssertion;
27
- function isAssertUsage(context, node) {
28
- // assert.<expr>(), sinon.assert.<expr>()
29
- const fqn = extractFQNforCallExpression(context, node);
30
- return isFQNAssertion(fqn);
31
- }
32
- function isFQNAssertion(fqn) {
33
- if (!fqn) {
34
- return false;
35
- }
36
- const names = fqn.split('.');
37
- return names.length === 3 && names[0] === 'sinon' && names[1] === 'assert';
38
- }
39
- function extractFQNforCallExpression(context, node) {
40
- if (node.type !== 'CallExpression') {
41
- return undefined;
42
- }
43
- return (0, index_js_1.getFullyQualifiedName)(context, node);
44
- }
45
- })(Sinon || (exports.Sinon = Sinon = {}));
41
+ return (0, module_js_1.getFullyQualifiedName)(context, node);
42
+ }
@@ -3,44 +3,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Supertest = void 0;
7
- const index_js_1 = require("./index.js");
6
+ exports.isImported = isImported;
7
+ exports.isAssertion = isAssertion;
8
+ exports.isTSAssertion = isTSAssertion;
9
+ const module_js_1 = require("./module.js");
10
+ const module_ts_js_1 = require("./module-ts.js");
8
11
  const typescript_1 = __importDefault(require("typescript"));
9
- var Supertest;
10
- (function (Supertest) {
11
- function isImported(context) {
12
- return ((0, index_js_1.getRequireCalls)(context).some(r => r.arguments[0].type === 'Literal' && r.arguments[0].value === 'supertest') || (0, index_js_1.getImportDeclarations)(context).some(i => i.source.value === 'supertest'));
12
+ function isImported(context) {
13
+ return ((0, module_js_1.getRequireCalls)(context).some(r => r.arguments[0].type === 'Literal' && r.arguments[0].value === 'supertest') || (0, module_js_1.getImportDeclarations)(context).some(i => i.source.value === 'supertest'));
14
+ }
15
+ function isAssertion(context, node) {
16
+ const fqn = extractFQNForCallExpression(context, node);
17
+ return isFQNAssertion(fqn);
18
+ }
19
+ function isTSAssertion(services, node) {
20
+ if (node.kind !== typescript_1.default.SyntaxKind.CallExpression) {
21
+ return false;
13
22
  }
14
- Supertest.isImported = isImported;
15
- function isAssertion(context, node) {
16
- const fqn = extractFQNForCallExpression(context, node);
17
- return isFQNAssertion(fqn);
23
+ const fqn = (0, module_ts_js_1.getFullyQualifiedNameTS)(services, node);
24
+ return isFQNAssertion(fqn);
25
+ }
26
+ function isFQNAssertion(fqn) {
27
+ if (!fqn) {
28
+ return false;
18
29
  }
19
- Supertest.isAssertion = isAssertion;
20
- function isTSAssertion(services, node) {
21
- if (node.kind !== typescript_1.default.SyntaxKind.CallExpression) {
22
- return false;
23
- }
24
- const fqn = (0, index_js_1.getFullyQualifiedNameTS)(services, node);
25
- return isFQNAssertion(fqn);
30
+ const names = fqn.split('.');
31
+ /**
32
+ * supertest assertions look like `[supertest instance](...).[HTTP verb](...).expect(...)`, typically:
33
+ * `supertest(application).get('/foo').expect(200)`
34
+ * hence only the first and third values matter, the second one being an HTTP verb irrelevant for assertion detection
35
+ */
36
+ return names.length >= 3 && names[0] === 'supertest' && names[2] === 'expect';
37
+ }
38
+ function extractFQNForCallExpression(context, node) {
39
+ if (node.type !== 'CallExpression') {
40
+ return undefined;
26
41
  }
27
- Supertest.isTSAssertion = isTSAssertion;
28
- function isFQNAssertion(fqn) {
29
- if (!fqn) {
30
- return false;
31
- }
32
- const names = fqn.split('.');
33
- /**
34
- * supertest assertions look like `[supertest instance](...).[HTTP verb](...).expect(...)`, typically:
35
- * `supertest(application).get('/foo').expect(200)`
36
- * hence only the first and third values matter, the second one being an HTTP verb irrelevant for assertion detection
37
- */
38
- return names.length >= 3 && names[0] === 'supertest' && names[2] === 'expect';
39
- }
40
- function extractFQNForCallExpression(context, node) {
41
- if (node.type !== 'CallExpression') {
42
- return undefined;
43
- }
44
- return (0, index_js_1.getFullyQualifiedName)(context, node);
45
- }
46
- })(Supertest || (exports.Supertest = Supertest = {}));
42
+ return (0, module_js_1.getFullyQualifiedName)(context, node);
43
+ }
@@ -3,39 +3,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Vitest = void 0;
7
- const index_js_1 = require("./index.js");
6
+ exports.isImported = isImported;
7
+ exports.isAssertion = isAssertion;
8
+ exports.isTSAssertion = isTSAssertion;
9
+ const module_js_1 = require("./module.js");
10
+ const module_ts_js_1 = require("./module-ts.js");
8
11
  const typescript_1 = __importDefault(require("typescript"));
9
- var Vitest;
10
- (function (Vitest) {
11
- function isImported(context) {
12
- return ((0, index_js_1.getRequireCalls)(context).some(r => r.arguments[0].type === 'Literal' && r.arguments[0].value === 'vitest') || (0, index_js_1.getImportDeclarations)(context).some(i => i.source.value === 'vitest'));
12
+ function isImported(context) {
13
+ return ((0, module_js_1.getRequireCalls)(context).some(r => r.arguments[0].type === 'Literal' && r.arguments[0].value === 'vitest') || (0, module_js_1.getImportDeclarations)(context).some(i => i.source.value === 'vitest'));
14
+ }
15
+ function isAssertion(context, node) {
16
+ const fullyQualifiedName = extractFQNforCallExpression(context, node);
17
+ return isFQNAssertion(fullyQualifiedName);
18
+ }
19
+ function isTSAssertion(services, node) {
20
+ if (node.kind !== typescript_1.default.SyntaxKind.CallExpression) {
21
+ return false;
13
22
  }
14
- Vitest.isImported = isImported;
15
- function isAssertion(context, node) {
16
- const fullyQualifiedName = extractFQNforCallExpression(context, node);
17
- return isFQNAssertion(fullyQualifiedName);
23
+ const fqn = (0, module_ts_js_1.getFullyQualifiedNameTS)(services, node);
24
+ return isFQNAssertion(fqn);
25
+ }
26
+ function isFQNAssertion(fqn) {
27
+ if (!fqn) {
28
+ return false;
18
29
  }
19
- Vitest.isAssertion = isAssertion;
20
- function isTSAssertion(services, node) {
21
- if (node.kind !== typescript_1.default.SyntaxKind.CallExpression) {
22
- return false;
23
- }
24
- const fqn = (0, index_js_1.getFullyQualifiedNameTS)(services, node);
25
- return isFQNAssertion(fqn);
30
+ const validAssertionCalls = ['vitest.expect', 'vitest.expectTypeOf', 'vitest.assertType'];
31
+ return validAssertionCalls.some(callPrefix => fqn.startsWith(callPrefix));
32
+ }
33
+ function extractFQNforCallExpression(context, node) {
34
+ if (node.type !== 'CallExpression') {
35
+ return undefined;
26
36
  }
27
- Vitest.isTSAssertion = isTSAssertion;
28
- function isFQNAssertion(fqn) {
29
- if (!fqn) {
30
- return false;
31
- }
32
- const validAssertionCalls = ['vitest.expect', 'vitest.expectTypeOf', 'vitest.assertType'];
33
- return validAssertionCalls.some(callPrefix => fqn.startsWith(callPrefix));
34
- }
35
- function extractFQNforCallExpression(context, node) {
36
- if (node.type !== 'CallExpression') {
37
- return undefined;
38
- }
39
- return (0, index_js_1.getFullyQualifiedName)(context, node);
40
- }
41
- })(Vitest || (exports.Vitest = Vitest = {}));
37
+ return (0, module_js_1.getFullyQualifiedName)(context, node);
38
+ }