@flint.fyi/ts 0.19.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/lib/plugin.d.ts +371 -346
  2. package/lib/plugin.js +4 -2
  3. package/lib/rules/accessorPairGroups.d.ts +0 -1
  4. package/lib/rules/accessorPairGroups.js +0 -2
  5. package/lib/rules/accessorPairTypes.d.ts +0 -1
  6. package/lib/rules/accessorPairTypes.js +0 -2
  7. package/lib/rules/accessorThisRecursion.d.ts +0 -1
  8. package/lib/rules/accessorThisRecursion.js +0 -2
  9. package/lib/rules/anyArguments.d.ts +0 -1
  10. package/lib/rules/anyArguments.js +0 -2
  11. package/lib/rules/anyAssignments.d.ts +0 -1
  12. package/lib/rules/anyAssignments.js +0 -2
  13. package/lib/rules/anyCalls.d.ts +0 -1
  14. package/lib/rules/anyCalls.js +0 -2
  15. package/lib/rules/anyMemberAccess.d.ts +0 -1
  16. package/lib/rules/anyMemberAccess.js +0 -2
  17. package/lib/rules/anyReturns.d.ts +0 -1
  18. package/lib/rules/anyReturns.js +0 -2
  19. package/lib/rules/arguments.d.ts +0 -1
  20. package/lib/rules/arguments.js +0 -2
  21. package/lib/rules/arrayCallbackReturns.d.ts +0 -1
  22. package/lib/rules/arrayCallbackReturns.js +1 -3
  23. package/lib/rules/arrayConstructors.d.ts +0 -1
  24. package/lib/rules/arrayConstructors.js +2 -4
  25. package/lib/rules/arrayDeleteUnnecessaryCounts.d.ts +0 -1
  26. package/lib/rules/arrayDeleteUnnecessaryCounts.js +0 -2
  27. package/lib/rules/arrayElementDeletions.d.ts +0 -1
  28. package/lib/rules/arrayElementDeletions.js +0 -2
  29. package/lib/rules/arrayEmptyCallbackSlots.d.ts +0 -1
  30. package/lib/rules/arrayEmptyCallbackSlots.js +4 -11
  31. package/lib/rules/arrayExistenceChecksConsistency.d.ts +0 -1
  32. package/lib/rules/arrayExistenceChecksConsistency.js +1 -3
  33. package/lib/rules/arrayFilteredFinds.d.ts +0 -1
  34. package/lib/rules/arrayFilteredFinds.js +4 -12
  35. package/lib/rules/arrayFinds.d.ts +0 -1
  36. package/lib/rules/arrayFinds.js +0 -2
  37. package/lib/rules/arrayFlatMapMethods.d.ts +0 -1
  38. package/lib/rules/arrayFlatMapMethods.js +2 -4
  39. package/lib/rules/arrayFlatMethods.d.ts +0 -1
  40. package/lib/rules/arrayFlatMethods.js +0 -2
  41. package/lib/rules/arrayFlatUnnecessaryDepths.d.ts +0 -1
  42. package/lib/rules/arrayFlatUnnecessaryDepths.js +2 -4
  43. package/lib/rules/arrayIncludes.d.ts +0 -1
  44. package/lib/rules/arrayIncludes.js +3 -11
  45. package/lib/rules/arrayIncludesMethods.d.ts +0 -1
  46. package/lib/rules/arrayIncludesMethods.js +0 -2
  47. package/lib/rules/arrayIndexOfMethods.d.ts +0 -1
  48. package/lib/rules/arrayIndexOfMethods.js +0 -2
  49. package/lib/rules/arrayLoops.d.ts +0 -1
  50. package/lib/rules/arrayLoops.js +0 -2
  51. package/lib/rules/arrayMapIdentities.d.ts +0 -1
  52. package/lib/rules/arrayMapIdentities.js +0 -2
  53. package/lib/rules/arrayMutableReverses.d.ts +0 -1
  54. package/lib/rules/arrayMutableReverses.js +0 -2
  55. package/lib/rules/arrayMutableSorts.d.ts +0 -1
  56. package/lib/rules/arrayMutableSorts.js +2 -4
  57. package/lib/rules/arrayReduceTypeArguments.d.ts +0 -1
  58. package/lib/rules/arrayReduceTypeArguments.js +0 -2
  59. package/lib/rules/arraySliceUnnecessaryEnd.d.ts +0 -1
  60. package/lib/rules/arraySliceUnnecessaryEnd.js +0 -2
  61. package/lib/rules/arraySomeMethods.d.ts +0 -1
  62. package/lib/rules/arraySomeMethods.js +0 -2
  63. package/lib/rules/arrayTernarySpreadingConsistency.d.ts +0 -1
  64. package/lib/rules/arrayTernarySpreadingConsistency.js +0 -2
  65. package/lib/rules/arrayTypes.d.ts +0 -1
  66. package/lib/rules/arrayTypes.js +4 -6
  67. package/lib/rules/arrayUnnecessaryLengthChecks.d.ts +0 -1
  68. package/lib/rules/arrayUnnecessaryLengthChecks.js +0 -2
  69. package/lib/rules/asConstAssertions.d.ts +0 -1
  70. package/lib/rules/asConstAssertions.js +0 -2
  71. package/lib/rules/assignmentOperatorShorthands.d.ts +0 -1
  72. package/lib/rules/assignmentOperatorShorthands.js +0 -2
  73. package/lib/rules/asyncFunctionAwaits.d.ts +9 -0
  74. package/lib/rules/asyncFunctionAwaits.js +53 -0
  75. package/lib/rules/asyncPromiseExecutors.d.ts +0 -1
  76. package/lib/rules/asyncPromiseExecutors.js +2 -4
  77. package/lib/rules/asyncUnnecessaryPromiseWrappers.d.ts +0 -1
  78. package/lib/rules/asyncUnnecessaryPromiseWrappers.js +0 -2
  79. package/lib/rules/atAccesses.d.ts +0 -1
  80. package/lib/rules/atAccesses.js +0 -2
  81. package/lib/rules/builtinCoercions.d.ts +0 -1
  82. package/lib/rules/builtinCoercions.js +2 -4
  83. package/lib/rules/builtinConstructorNews.d.ts +0 -1
  84. package/lib/rules/builtinConstructorNews.js +4 -6
  85. package/lib/rules/caseDeclarations.d.ts +0 -1
  86. package/lib/rules/caseDeclarations.js +0 -2
  87. package/lib/rules/caseDuplicates.d.ts +0 -1
  88. package/lib/rules/caseDuplicates.js +0 -2
  89. package/lib/rules/caseFallthroughs.d.ts +0 -1
  90. package/lib/rules/caseFallthroughs.js +0 -2
  91. package/lib/rules/catchCallbackTypes.d.ts +0 -1
  92. package/lib/rules/catchCallbackTypes.js +10 -12
  93. package/lib/rules/caughtVariableNames.d.ts +0 -1
  94. package/lib/rules/caughtVariableNames.js +0 -2
  95. package/lib/rules/chainedAssignments.d.ts +0 -1
  96. package/lib/rules/chainedAssignments.js +0 -2
  97. package/lib/rules/charAtComparisons.d.ts +0 -1
  98. package/lib/rules/charAtComparisons.js +5 -10
  99. package/lib/rules/classAssignments.d.ts +0 -1
  100. package/lib/rules/classAssignments.js +4 -9
  101. package/lib/rules/classFieldDeclarations.d.ts +0 -1
  102. package/lib/rules/classFieldDeclarations.js +0 -2
  103. package/lib/rules/classLiteralProperties.d.ts +0 -1
  104. package/lib/rules/classLiteralProperties.js +0 -2
  105. package/lib/rules/classMemberDuplicates.d.ts +0 -1
  106. package/lib/rules/classMemberDuplicates.js +0 -2
  107. package/lib/rules/classMethodsThis.d.ts +0 -1
  108. package/lib/rules/classMethodsThis.js +3 -5
  109. package/lib/rules/combinedPushes.d.ts +0 -1
  110. package/lib/rules/combinedPushes.js +0 -2
  111. package/lib/rules/consecutiveNonNullAssertions.d.ts +0 -1
  112. package/lib/rules/consecutiveNonNullAssertions.js +0 -2
  113. package/lib/rules/consoleCalls.d.ts +0 -1
  114. package/lib/rules/consoleCalls.js +2 -4
  115. package/lib/rules/constantAssignments.d.ts +0 -1
  116. package/lib/rules/constantAssignments.js +4 -9
  117. package/lib/rules/constructorGenericCalls.d.ts +0 -1
  118. package/lib/rules/constructorGenericCalls.js +3 -5
  119. package/lib/rules/constructorReturns.d.ts +0 -1
  120. package/lib/rules/constructorReturns.js +0 -2
  121. package/lib/rules/constructorSupers.d.ts +0 -1
  122. package/lib/rules/constructorSupers.js +0 -2
  123. package/lib/rules/dateConstructorClones.d.ts +0 -1
  124. package/lib/rules/dateConstructorClones.js +2 -4
  125. package/lib/rules/dateNowTimestamps.d.ts +0 -1
  126. package/lib/rules/dateNowTimestamps.js +7 -9
  127. package/lib/rules/debuggerStatements.d.ts +0 -1
  128. package/lib/rules/debuggerStatements.js +0 -2
  129. package/lib/rules/defaultCaseLast.d.ts +0 -1
  130. package/lib/rules/defaultCaseLast.js +0 -2
  131. package/lib/rules/defaultParameterLast.d.ts +0 -1
  132. package/lib/rules/defaultParameterLast.js +0 -2
  133. package/lib/rules/deprecated.d.ts +0 -1
  134. package/lib/rules/deprecated.js +0 -2
  135. package/lib/rules/destructuringConsistency.d.ts +0 -1
  136. package/lib/rules/destructuringConsistency.js +27 -35
  137. package/lib/rules/duplicateArguments.d.ts +0 -1
  138. package/lib/rules/duplicateArguments.js +0 -2
  139. package/lib/rules/dynamicDeletes.d.ts +0 -1
  140. package/lib/rules/dynamicDeletes.js +0 -2
  141. package/lib/rules/elseIfDuplicates.d.ts +0 -1
  142. package/lib/rules/elseIfDuplicates.js +0 -2
  143. package/lib/rules/elseReturns.d.ts +0 -1
  144. package/lib/rules/elseReturns.js +0 -2
  145. package/lib/rules/emptyBlocks.d.ts +0 -1
  146. package/lib/rules/emptyBlocks.js +1 -3
  147. package/lib/rules/emptyDestructures.d.ts +0 -1
  148. package/lib/rules/emptyDestructures.js +0 -2
  149. package/lib/rules/emptyEnums.d.ts +0 -1
  150. package/lib/rules/emptyEnums.js +0 -2
  151. package/lib/rules/emptyExports.d.ts +0 -1
  152. package/lib/rules/emptyExports.js +1 -3
  153. package/lib/rules/emptyFiles.d.ts +0 -1
  154. package/lib/rules/emptyFiles.js +0 -2
  155. package/lib/rules/emptyFunctions.d.ts +0 -1
  156. package/lib/rules/emptyFunctions.js +0 -2
  157. package/lib/rules/emptyModuleAttributes.d.ts +0 -1
  158. package/lib/rules/emptyModuleAttributes.js +0 -2
  159. package/lib/rules/emptyObjectTypes.d.ts +0 -1
  160. package/lib/rules/emptyObjectTypes.js +0 -2
  161. package/lib/rules/emptyStaticBlocks.d.ts +0 -1
  162. package/lib/rules/emptyStaticBlocks.js +0 -2
  163. package/lib/rules/emptyTypeParameterLists.d.ts +0 -1
  164. package/lib/rules/emptyTypeParameterLists.js +0 -2
  165. package/lib/rules/enumInitializers.d.ts +0 -1
  166. package/lib/rules/enumInitializers.js +0 -2
  167. package/lib/rules/enumMemberLiterals.d.ts +0 -1
  168. package/lib/rules/enumMemberLiterals.js +2 -4
  169. package/lib/rules/enumValueConsistency.d.ts +0 -1
  170. package/lib/rules/enumValueConsistency.js +0 -2
  171. package/lib/rules/enumValueDuplicates.d.ts +0 -1
  172. package/lib/rules/enumValueDuplicates.js +3 -20
  173. package/lib/rules/equalityOperatorNegations.d.ts +0 -1
  174. package/lib/rules/equalityOperatorNegations.js +3 -5
  175. package/lib/rules/equalityOperators.d.ts +0 -1
  176. package/lib/rules/equalityOperators.js +0 -2
  177. package/lib/rules/errorMessages.d.ts +0 -1
  178. package/lib/rules/errorMessages.js +6 -12
  179. package/lib/rules/errorSubclassProperties.d.ts +0 -1
  180. package/lib/rules/errorSubclassProperties.js +2 -4
  181. package/lib/rules/errorUnnecessaryCaptureStackTraces.d.ts +0 -1
  182. package/lib/rules/errorUnnecessaryCaptureStackTraces.js +2 -4
  183. package/lib/rules/escapeSequenceCasing.d.ts +0 -1
  184. package/lib/rules/escapeSequenceCasing.js +0 -2
  185. package/lib/rules/evals.d.ts +0 -1
  186. package/lib/rules/evals.js +2 -4
  187. package/lib/rules/evolvingVariableTypes.d.ts +0 -1
  188. package/lib/rules/evolvingVariableTypes.js +0 -2
  189. package/lib/rules/exceptionAssignments.d.ts +0 -1
  190. package/lib/rules/exceptionAssignments.js +4 -9
  191. package/lib/rules/explicitAnys.d.ts +0 -1
  192. package/lib/rules/explicitAnys.js +0 -2
  193. package/lib/rules/exponentiationOperators.d.ts +0 -1
  194. package/lib/rules/exponentiationOperators.js +2 -4
  195. package/lib/rules/exportFromImports.d.ts +0 -1
  196. package/lib/rules/exportFromImports.js +2 -4
  197. package/lib/rules/exportMutables.d.ts +0 -1
  198. package/lib/rules/exportMutables.js +0 -2
  199. package/lib/rules/exportUniqueNames.d.ts +0 -1
  200. package/lib/rules/exportUniqueNames.js +0 -2
  201. package/lib/rules/extraneousClasses.d.ts +0 -1
  202. package/lib/rules/extraneousClasses.js +5 -7
  203. package/lib/rules/fetchMethodBodies.d.ts +0 -1
  204. package/lib/rules/fetchMethodBodies.js +0 -2
  205. package/lib/rules/finallyStatementSafety.d.ts +0 -1
  206. package/lib/rules/finallyStatementSafety.js +0 -2
  207. package/lib/rules/forDirections.d.ts +0 -1
  208. package/lib/rules/forDirections.js +0 -2
  209. package/lib/rules/forInArrays.d.ts +0 -1
  210. package/lib/rules/forInArrays.js +0 -2
  211. package/lib/rules/forInGuards.d.ts +0 -1
  212. package/lib/rules/forInGuards.js +0 -2
  213. package/lib/rules/functionApplySpreads.d.ts +0 -1
  214. package/lib/rules/functionApplySpreads.js +0 -2
  215. package/lib/rules/functionAssignments.d.ts +0 -1
  216. package/lib/rules/functionAssignments.js +4 -9
  217. package/lib/rules/functionCurryingRedundancy.d.ts +0 -1
  218. package/lib/rules/functionCurryingRedundancy.js +0 -2
  219. package/lib/rules/functionDeclarationStyles.d.ts +0 -1
  220. package/lib/rules/functionDeclarationStyles.js +3 -5
  221. package/lib/rules/functionNameMatches.d.ts +0 -1
  222. package/lib/rules/functionNameMatches.js +0 -2
  223. package/lib/rules/functionNewCalls.d.ts +0 -1
  224. package/lib/rules/functionNewCalls.js +5 -7
  225. package/lib/rules/generatorFunctionYields.d.ts +0 -1
  226. package/lib/rules/generatorFunctionYields.js +0 -2
  227. package/lib/rules/getterReturns.d.ts +0 -1
  228. package/lib/rules/getterReturns.js +0 -2
  229. package/lib/rules/globalAssignments.d.ts +0 -1
  230. package/lib/rules/globalAssignments.js +6 -8
  231. package/lib/rules/globalObjectCalls.d.ts +0 -1
  232. package/lib/rules/globalObjectCalls.js +1 -3
  233. package/lib/rules/globalThisAliases.d.ts +0 -1
  234. package/lib/rules/globalThisAliases.js +8 -10
  235. package/lib/rules/impliedEvals.d.ts +0 -1
  236. package/lib/rules/impliedEvals.js +26 -28
  237. package/lib/rules/importEmptyBlocks.d.ts +0 -1
  238. package/lib/rules/importEmptyBlocks.js +0 -2
  239. package/lib/rules/importTypeSideEffects.d.ts +0 -1
  240. package/lib/rules/importTypeSideEffects.js +0 -2
  241. package/lib/rules/indexedObjectTypes.d.ts +0 -1
  242. package/lib/rules/indexedObjectTypes.js +4 -6
  243. package/lib/rules/instanceOfArrays.d.ts +0 -1
  244. package/lib/rules/instanceOfArrays.js +2 -4
  245. package/lib/rules/irregularWhitespaces.d.ts +0 -1
  246. package/lib/rules/irregularWhitespaces.js +5 -7
  247. package/lib/rules/isNaNComparisons.d.ts +0 -1
  248. package/lib/rules/isNaNComparisons.js +5 -7
  249. package/lib/rules/literalConstructorWrappers.d.ts +0 -1
  250. package/lib/rules/literalConstructorWrappers.js +10 -12
  251. package/lib/rules/mathMethods.d.ts +0 -1
  252. package/lib/rules/mathMethods.js +14 -16
  253. package/lib/rules/meaninglessVoidOperators.d.ts +0 -1
  254. package/lib/rules/meaninglessVoidOperators.js +0 -2
  255. package/lib/rules/misleadingVoidExpressions.d.ts +0 -1
  256. package/lib/rules/misleadingVoidExpressions.js +0 -2
  257. package/lib/rules/moduleSpecifierLists.d.ts +0 -1
  258. package/lib/rules/moduleSpecifierLists.js +0 -2
  259. package/lib/rules/multilineAmbiguities.d.ts +0 -1
  260. package/lib/rules/multilineAmbiguities.js +0 -2
  261. package/lib/rules/namedDefaultExports.d.ts +0 -1
  262. package/lib/rules/namedDefaultExports.js +0 -2
  263. package/lib/rules/namespaceDeclarations.d.ts +0 -1
  264. package/lib/rules/namespaceDeclarations.js +3 -5
  265. package/lib/rules/namespaceImplicitAmbientImports.d.ts +0 -1
  266. package/lib/rules/namespaceImplicitAmbientImports.js +0 -2
  267. package/lib/rules/namespaceKeywords.d.ts +0 -1
  268. package/lib/rules/namespaceKeywords.js +0 -2
  269. package/lib/rules/nativeObjectExtensions.d.ts +0 -1
  270. package/lib/rules/nativeObjectExtensions.js +4 -6
  271. package/lib/rules/negativeIndexLengthMethods.d.ts +0 -1
  272. package/lib/rules/negativeIndexLengthMethods.js +7 -9
  273. package/lib/rules/negativeZeroComparisons.d.ts +0 -1
  274. package/lib/rules/negativeZeroComparisons.js +0 -2
  275. package/lib/rules/nestedStandaloneIfs.d.ts +0 -1
  276. package/lib/rules/nestedStandaloneIfs.js +1 -3
  277. package/lib/rules/newDefinitions.d.ts +0 -1
  278. package/lib/rules/newDefinitions.js +0 -2
  279. package/lib/rules/newExpressions.d.ts +0 -1
  280. package/lib/rules/newExpressions.js +0 -2
  281. package/lib/rules/newNativeNonConstructors.d.ts +0 -1
  282. package/lib/rules/newNativeNonConstructors.js +2 -4
  283. package/lib/rules/nonNullAssertedNullishCoalesces.d.ts +0 -1
  284. package/lib/rules/nonNullAssertedNullishCoalesces.js +0 -2
  285. package/lib/rules/nonNullAssertedOptionalChains.d.ts +0 -1
  286. package/lib/rules/nonNullAssertedOptionalChains.js +0 -2
  287. package/lib/rules/nonNullAssertionPlacement.d.ts +0 -1
  288. package/lib/rules/nonNullAssertionPlacement.js +1 -3
  289. package/lib/rules/nonNullableTypeAssertions.d.ts +0 -1
  290. package/lib/rules/nonNullableTypeAssertions.js +0 -2
  291. package/lib/rules/nonOctalDecimalEscapes.d.ts +0 -1
  292. package/lib/rules/nonOctalDecimalEscapes.js +0 -2
  293. package/lib/rules/nullishCheckStyle.d.ts +0 -1
  294. package/lib/rules/nullishCheckStyle.js +3 -5
  295. package/lib/rules/nullishCoalescingOperators.d.ts +0 -1
  296. package/lib/rules/nullishCoalescingOperators.js +29 -19
  297. package/lib/rules/numberMethodRanges.d.ts +0 -1
  298. package/lib/rules/numberMethodRanges.js +1 -3
  299. package/lib/rules/numberStaticMethods.d.ts +0 -1
  300. package/lib/rules/numberStaticMethods.js +3 -5
  301. package/lib/rules/numericErasingOperations.d.ts +0 -1
  302. package/lib/rules/numericErasingOperations.js +2 -4
  303. package/lib/rules/numericLiteralParsing.d.ts +0 -1
  304. package/lib/rules/numericLiteralParsing.js +11 -22
  305. package/lib/rules/numericPrecision.d.ts +0 -1
  306. package/lib/rules/numericPrecision.js +0 -2
  307. package/lib/rules/numericSeparatorGroups.d.ts +0 -1
  308. package/lib/rules/numericSeparatorGroups.js +0 -2
  309. package/lib/rules/objectAssignSpreads.d.ts +0 -1
  310. package/lib/rules/objectAssignSpreads.js +4 -6
  311. package/lib/rules/objectCalls.d.ts +0 -1
  312. package/lib/rules/objectCalls.js +2 -4
  313. package/lib/rules/objectEntriesMethods.d.ts +0 -1
  314. package/lib/rules/objectEntriesMethods.js +13 -15
  315. package/lib/rules/objectHasOwns.d.ts +0 -1
  316. package/lib/rules/objectHasOwns.js +7 -9
  317. package/lib/rules/objectKeyDuplicates.d.ts +0 -1
  318. package/lib/rules/objectKeyDuplicates.js +0 -2
  319. package/lib/rules/objectProto.d.ts +0 -1
  320. package/lib/rules/objectProto.js +0 -2
  321. package/lib/rules/objectPrototypeBuiltIns.d.ts +0 -1
  322. package/lib/rules/objectPrototypeBuiltIns.js +1 -3
  323. package/lib/rules/objectShorthand.d.ts +0 -1
  324. package/lib/rules/objectShorthand.js +0 -2
  325. package/lib/rules/objectSpreadUnnecessaryFallbacks.d.ts +0 -1
  326. package/lib/rules/objectSpreadUnnecessaryFallbacks.js +0 -2
  327. package/lib/rules/objectTypeDefinitions.d.ts +0 -1
  328. package/lib/rules/objectTypeDefinitions.js +0 -2
  329. package/lib/rules/octalEscapes.d.ts +0 -1
  330. package/lib/rules/octalEscapes.js +0 -2
  331. package/lib/rules/octalNumbers.d.ts +0 -1
  332. package/lib/rules/octalNumbers.js +0 -2
  333. package/lib/rules/operatorAssignmentShorthand.d.ts +0 -1
  334. package/lib/rules/operatorAssignmentShorthand.js +3 -5
  335. package/lib/rules/overloadSignaturesAdjacent.d.ts +0 -1
  336. package/lib/rules/overloadSignaturesAdjacent.js +0 -2
  337. package/lib/rules/parameterReassignments.d.ts +0 -1
  338. package/lib/rules/parameterReassignments.js +18 -51
  339. package/lib/rules/parseIntRadixes.d.ts +0 -1
  340. package/lib/rules/parseIntRadixes.js +10 -15
  341. package/lib/rules/propertyAccessNotation.d.ts +0 -1
  342. package/lib/rules/propertyAccessNotation.js +3 -5
  343. package/lib/rules/recursionOnlyArguments.d.ts +0 -1
  344. package/lib/rules/recursionOnlyArguments.js +8 -17
  345. package/lib/rules/redundantTypeConstituents.d.ts +0 -1
  346. package/lib/rules/redundantTypeConstituents.js +0 -2
  347. package/lib/rules/regexAllGlobalFlags.d.ts +0 -1
  348. package/lib/rules/regexAllGlobalFlags.js +0 -2
  349. package/lib/rules/regexAmbiguousInvalidity.d.ts +0 -1
  350. package/lib/rules/regexAmbiguousInvalidity.js +2 -4
  351. package/lib/rules/regexCharacterClassRanges.d.ts +0 -1
  352. package/lib/rules/regexCharacterClassRanges.js +0 -2
  353. package/lib/rules/regexCharacterClassSetOperations.d.ts +0 -1
  354. package/lib/rules/regexCharacterClassSetOperations.js +0 -2
  355. package/lib/rules/regexCharacterClasses.d.ts +0 -1
  356. package/lib/rules/regexCharacterClasses.js +1 -3
  357. package/lib/rules/regexConciseCharacterClassNegations.d.ts +0 -1
  358. package/lib/rules/regexConciseCharacterClassNegations.js +0 -2
  359. package/lib/rules/regexContradictoryAssertions.d.ts +0 -1
  360. package/lib/rules/regexContradictoryAssertions.js +0 -2
  361. package/lib/rules/regexControlCharacterEscapes.d.ts +0 -1
  362. package/lib/rules/regexControlCharacterEscapes.js +0 -2
  363. package/lib/rules/regexControlCharacters.d.ts +0 -1
  364. package/lib/rules/regexControlCharacters.js +0 -2
  365. package/lib/rules/regexDigitMatchers.d.ts +0 -1
  366. package/lib/rules/regexDigitMatchers.js +0 -2
  367. package/lib/rules/regexDollarEscapes.d.ts +0 -1
  368. package/lib/rules/regexDollarEscapes.js +0 -2
  369. package/lib/rules/regexDuplicateCharacterClassCharacters.d.ts +0 -1
  370. package/lib/rules/regexDuplicateCharacterClassCharacters.js +0 -2
  371. package/lib/rules/regexEmptyAlternatives.d.ts +0 -1
  372. package/lib/rules/regexEmptyAlternatives.js +0 -2
  373. package/lib/rules/regexEmptyCapturingGroups.d.ts +0 -1
  374. package/lib/rules/regexEmptyCapturingGroups.js +0 -2
  375. package/lib/rules/regexEmptyCharacterClasses.d.ts +0 -1
  376. package/lib/rules/regexEmptyCharacterClasses.js +0 -2
  377. package/lib/rules/regexEmptyGroups.d.ts +0 -1
  378. package/lib/rules/regexEmptyGroups.js +0 -2
  379. package/lib/rules/regexEmptyLazyQuantifiers.d.ts +0 -1
  380. package/lib/rules/regexEmptyLazyQuantifiers.js +0 -2
  381. package/lib/rules/regexEmptyLookaroundsAssertions.d.ts +0 -1
  382. package/lib/rules/regexEmptyLookaroundsAssertions.js +0 -2
  383. package/lib/rules/regexEmptyStringLiterals.d.ts +0 -1
  384. package/lib/rules/regexEmptyStringLiterals.js +0 -2
  385. package/lib/rules/regexEscapeBackspaces.d.ts +0 -1
  386. package/lib/rules/regexEscapeBackspaces.js +0 -2
  387. package/lib/rules/regexExecutors.d.ts +0 -1
  388. package/lib/rules/regexExecutors.js +2 -4
  389. package/lib/rules/regexGraphemeStringLiterals.d.ts +0 -1
  390. package/lib/rules/regexGraphemeStringLiterals.js +0 -2
  391. package/lib/rules/regexHexadecimalEscapes.d.ts +0 -1
  392. package/lib/rules/regexHexadecimalEscapes.js +0 -2
  393. package/lib/rules/regexIgnoreCaseFlags.d.ts +0 -1
  394. package/lib/rules/regexIgnoreCaseFlags.js +0 -2
  395. package/lib/rules/regexInvisibleCharacters.d.ts +0 -1
  396. package/lib/rules/regexInvisibleCharacters.js +0 -2
  397. package/lib/rules/regexLetterCasing.d.ts +0 -1
  398. package/lib/rules/regexLetterCasing.js +0 -2
  399. package/lib/rules/regexLiterals.d.ts +0 -1
  400. package/lib/rules/regexLiterals.js +4 -9
  401. package/lib/rules/regexLookaroundAssertions.d.ts +0 -1
  402. package/lib/rules/regexLookaroundAssertions.js +0 -2
  403. package/lib/rules/regexLookaroundQuantifierOptimizations.d.ts +0 -1
  404. package/lib/rules/regexLookaroundQuantifierOptimizations.js +0 -2
  405. package/lib/rules/regexMatchNotation.d.ts +0 -1
  406. package/lib/rules/regexMatchNotation.js +0 -2
  407. package/lib/rules/regexMisleadingCapturingGroups.d.ts +0 -1
  408. package/lib/rules/regexMisleadingCapturingGroups.js +0 -2
  409. package/lib/rules/regexMisleadingQuantifiers.d.ts +0 -1
  410. package/lib/rules/regexMisleadingQuantifiers.js +0 -2
  411. package/lib/rules/regexMisleadingUnicodeCharacters.d.ts +0 -1
  412. package/lib/rules/regexMisleadingUnicodeCharacters.js +0 -2
  413. package/lib/rules/regexNamedBackreferences.d.ts +0 -1
  414. package/lib/rules/regexNamedBackreferences.js +0 -2
  415. package/lib/rules/regexNamedCaptureGroups.d.ts +0 -1
  416. package/lib/rules/regexNamedCaptureGroups.js +0 -2
  417. package/lib/rules/regexNamedReplacements.d.ts +0 -1
  418. package/lib/rules/regexNamedReplacements.js +0 -2
  419. package/lib/rules/regexNonStandardFlags.d.ts +0 -1
  420. package/lib/rules/regexNonStandardFlags.js +1 -3
  421. package/lib/rules/regexObscureRanges.d.ts +0 -1
  422. package/lib/rules/regexObscureRanges.js +0 -2
  423. package/lib/rules/regexOctalEscapes.d.ts +0 -1
  424. package/lib/rules/regexOctalEscapes.js +0 -2
  425. package/lib/rules/regexPlusQuantifiers.d.ts +0 -1
  426. package/lib/rules/regexPlusQuantifiers.js +0 -2
  427. package/lib/rules/regexPredefinedAssertions.d.ts +0 -1
  428. package/lib/rules/regexPredefinedAssertions.js +0 -2
  429. package/lib/rules/regexQuestionQuantifiers.d.ts +0 -1
  430. package/lib/rules/regexQuestionQuantifiers.js +0 -2
  431. package/lib/rules/regexRepeatQuantifiers.d.ts +0 -1
  432. package/lib/rules/regexRepeatQuantifiers.js +0 -2
  433. package/lib/rules/regexResultArrayGroups.d.ts +0 -1
  434. package/lib/rules/regexResultArrayGroups.js +0 -2
  435. package/lib/rules/regexSetOperationOptimizations.d.ts +0 -1
  436. package/lib/rules/regexSetOperationOptimizations.js +0 -2
  437. package/lib/rules/regexStandaloneBackslashes.d.ts +0 -1
  438. package/lib/rules/regexStandaloneBackslashes.js +0 -2
  439. package/lib/rules/regexStarQuantifiers.d.ts +0 -1
  440. package/lib/rules/regexStarQuantifiers.js +0 -2
  441. package/lib/rules/regexSuperLinearBacktracking.d.ts +0 -1
  442. package/lib/rules/regexSuperLinearBacktracking.js +0 -2
  443. package/lib/rules/regexSuperLinearMoves.d.ts +0 -1
  444. package/lib/rules/regexSuperLinearMoves.js +0 -2
  445. package/lib/rules/regexTestMethods.d.ts +0 -1
  446. package/lib/rules/regexTestMethods.js +0 -2
  447. package/lib/rules/regexUnicodeCodepointEscapes.d.ts +0 -1
  448. package/lib/rules/regexUnicodeCodepointEscapes.js +0 -2
  449. package/lib/rules/regexUnicodeEscapes.d.ts +0 -1
  450. package/lib/rules/regexUnicodeEscapes.js +0 -2
  451. package/lib/rules/regexUnicodeFlag.d.ts +0 -1
  452. package/lib/rules/regexUnicodeFlag.js +0 -2
  453. package/lib/rules/regexUnicodeProperties.d.ts +0 -1
  454. package/lib/rules/regexUnicodeProperties.js +0 -2
  455. package/lib/rules/regexUnnecessaryAssertions.d.ts +0 -1
  456. package/lib/rules/regexUnnecessaryAssertions.js +0 -2
  457. package/lib/rules/regexUnnecessaryBackreferences.d.ts +0 -1
  458. package/lib/rules/regexUnnecessaryBackreferences.js +0 -2
  459. package/lib/rules/regexUnnecessaryCharacterClasses.d.ts +0 -1
  460. package/lib/rules/regexUnnecessaryCharacterClasses.js +0 -2
  461. package/lib/rules/regexUnnecessaryCharacterRanges.d.ts +0 -1
  462. package/lib/rules/regexUnnecessaryCharacterRanges.js +0 -2
  463. package/lib/rules/regexUnnecessaryDisjunctions.d.ts +0 -1
  464. package/lib/rules/regexUnnecessaryDisjunctions.js +0 -2
  465. package/lib/rules/regexUnnecessaryDollarReplacements.d.ts +0 -1
  466. package/lib/rules/regexUnnecessaryDollarReplacements.js +0 -2
  467. package/lib/rules/regexUnnecessaryEscapes.d.ts +0 -1
  468. package/lib/rules/regexUnnecessaryEscapes.js +2 -4
  469. package/lib/rules/regexUnnecessaryLookaroundAssertions.d.ts +0 -1
  470. package/lib/rules/regexUnnecessaryLookaroundAssertions.js +0 -2
  471. package/lib/rules/regexUnnecessaryNestedAssertions.d.ts +0 -1
  472. package/lib/rules/regexUnnecessaryNestedAssertions.js +0 -2
  473. package/lib/rules/regexUnnecessaryNestedQuantifiers.d.ts +0 -1
  474. package/lib/rules/regexUnnecessaryNestedQuantifiers.js +0 -2
  475. package/lib/rules/regexUnnecessaryNonCapturingGroups.d.ts +0 -1
  476. package/lib/rules/regexUnnecessaryNonCapturingGroups.js +0 -2
  477. package/lib/rules/regexUnnecessaryNumericQuantifiers.d.ts +0 -1
  478. package/lib/rules/regexUnnecessaryNumericQuantifiers.js +0 -2
  479. package/lib/rules/regexUnnecessaryOptionalAssertions.d.ts +0 -1
  480. package/lib/rules/regexUnnecessaryOptionalAssertions.js +0 -2
  481. package/lib/rules/regexUnnecessaryReferentialBackreferences.d.ts +0 -1
  482. package/lib/rules/regexUnnecessaryReferentialBackreferences.js +0 -2
  483. package/lib/rules/regexUnnecessarySetOperands.d.ts +0 -1
  484. package/lib/rules/regexUnnecessarySetOperands.js +0 -2
  485. package/lib/rules/regexUnusedCapturingGroups.d.ts +0 -1
  486. package/lib/rules/regexUnusedCapturingGroups.js +0 -2
  487. package/lib/rules/regexUnusedFlags.d.ts +0 -1
  488. package/lib/rules/regexUnusedFlags.js +0 -2
  489. package/lib/rules/regexUnusedLazyQuantifiers.d.ts +0 -1
  490. package/lib/rules/regexUnusedLazyQuantifiers.js +0 -2
  491. package/lib/rules/regexUnusedQuantifiers.d.ts +0 -1
  492. package/lib/rules/regexUnusedQuantifiers.js +0 -2
  493. package/lib/rules/regexValidity.d.ts +0 -1
  494. package/lib/rules/regexValidity.js +1 -3
  495. package/lib/rules/regexWordMatchers.d.ts +0 -1
  496. package/lib/rules/regexWordMatchers.js +0 -2
  497. package/lib/rules/regexZeroQuantifiers.d.ts +0 -1
  498. package/lib/rules/regexZeroQuantifiers.js +0 -2
  499. package/lib/rules/requireImports.d.ts +0 -1
  500. package/lib/rules/requireImports.js +0 -2
  501. package/lib/rules/responseJsonMethods.d.ts +0 -1
  502. package/lib/rules/responseJsonMethods.js +0 -2
  503. package/lib/rules/restrictedIdentifiers.d.ts +0 -1
  504. package/lib/rules/restrictedIdentifiers.js +2 -4
  505. package/lib/rules/restrictedImports.d.ts +26 -0
  506. package/lib/rules/restrictedImports.js +164 -0
  507. package/lib/rules/returnAssignments.d.ts +0 -1
  508. package/lib/rules/returnAssignments.js +0 -2
  509. package/lib/rules/returnThisTypes.d.ts +0 -1
  510. package/lib/rules/returnThisTypes.js +0 -2
  511. package/lib/rules/ruleCreator.d.ts +0 -1
  512. package/lib/rules/ruleCreator.js +0 -2
  513. package/lib/rules/selfAssignments.d.ts +0 -1
  514. package/lib/rules/selfAssignments.js +0 -2
  515. package/lib/rules/sequences.d.ts +0 -1
  516. package/lib/rules/sequences.js +0 -2
  517. package/lib/rules/setSizeLengthChecks.d.ts +0 -1
  518. package/lib/rules/setSizeLengthChecks.js +13 -15
  519. package/lib/rules/setterReturns.d.ts +0 -1
  520. package/lib/rules/setterReturns.js +0 -2
  521. package/lib/rules/shadowedRestrictedNames.d.ts +0 -1
  522. package/lib/rules/shadowedRestrictedNames.js +1 -3
  523. package/lib/rules/singleVariableDeclarations.d.ts +0 -1
  524. package/lib/rules/singleVariableDeclarations.js +0 -2
  525. package/lib/rules/sizeComparisonOperators.d.ts +0 -1
  526. package/lib/rules/sizeComparisonOperators.js +5 -7
  527. package/lib/rules/sparseArrays.d.ts +0 -1
  528. package/lib/rules/sparseArrays.js +0 -2
  529. package/lib/rules/staticMemberOnlyClasses.d.ts +0 -1
  530. package/lib/rules/staticMemberOnlyClasses.js +0 -2
  531. package/lib/rules/stringCaseMismatches.d.ts +0 -1
  532. package/lib/rules/stringCaseMismatches.js +3 -8
  533. package/lib/rules/stringCodePoints.d.ts +0 -1
  534. package/lib/rules/stringCodePoints.js +2 -4
  535. package/lib/rules/stringSliceMethods.d.ts +0 -1
  536. package/lib/rules/stringSliceMethods.js +0 -2
  537. package/lib/rules/stringStartsEndsWith.d.ts +0 -1
  538. package/lib/rules/stringStartsEndsWith.js +0 -2
  539. package/lib/rules/structuredCloneMethods.d.ts +0 -1
  540. package/lib/rules/structuredCloneMethods.js +7 -9
  541. package/lib/rules/symbolDescriptions.d.ts +0 -1
  542. package/lib/rules/symbolDescriptions.js +0 -2
  543. package/lib/rules/thisAliases.d.ts +0 -1
  544. package/lib/rules/thisAliases.js +0 -2
  545. package/lib/rules/thisBeforeSuper.d.ts +0 -1
  546. package/lib/rules/thisBeforeSuper.js +0 -2
  547. package/lib/rules/throwErrors.d.ts +0 -1
  548. package/lib/rules/throwErrors.js +11 -13
  549. package/lib/rules/topLevelAwaits.d.ts +0 -1
  550. package/lib/rules/topLevelAwaits.js +0 -2
  551. package/lib/rules/tripleSlashReferenceValidity.d.ts +0 -1
  552. package/lib/rules/tripleSlashReferenceValidity.js +1 -3
  553. package/lib/rules/tripleSlashReferences.d.ts +0 -1
  554. package/lib/rules/tripleSlashReferences.js +0 -2
  555. package/lib/rules/tsComments.d.ts +0 -1
  556. package/lib/rules/tsComments.js +8 -10
  557. package/lib/rules/tslintComments.d.ts +0 -1
  558. package/lib/rules/tslintComments.js +0 -2
  559. package/lib/rules/typeAssertionStyles.d.ts +0 -1
  560. package/lib/rules/typeAssertionStyles.js +0 -2
  561. package/lib/rules/typeImports.d.ts +0 -1
  562. package/lib/rules/typeImports.js +4 -7
  563. package/lib/rules/typeofComparisons.d.ts +0 -1
  564. package/lib/rules/typeofComparisons.js +4 -9
  565. package/lib/rules/unassignedVariables.d.ts +0 -1
  566. package/lib/rules/unassignedVariables.js +2 -7
  567. package/lib/rules/undefinedTypeofChecks.d.ts +0 -1
  568. package/lib/rules/undefinedTypeofChecks.js +0 -2
  569. package/lib/rules/undefinedVariables.d.ts +0 -1
  570. package/lib/rules/undefinedVariables.js +0 -2
  571. package/lib/rules/unicodeBOMs.d.ts +0 -1
  572. package/lib/rules/unicodeBOMs.js +0 -2
  573. package/lib/rules/unnecessaryBinds.d.ts +0 -1
  574. package/lib/rules/unnecessaryBinds.js +0 -2
  575. package/lib/rules/unnecessaryBlocks.d.ts +0 -1
  576. package/lib/rules/unnecessaryBlocks.js +0 -2
  577. package/lib/rules/unnecessaryBooleanCasts.d.ts +0 -1
  578. package/lib/rules/unnecessaryBooleanCasts.js +0 -2
  579. package/lib/rules/unnecessaryCatches.d.ts +0 -1
  580. package/lib/rules/unnecessaryCatches.js +0 -2
  581. package/lib/rules/unnecessaryComparisons.d.ts +0 -1
  582. package/lib/rules/unnecessaryComparisons.js +3 -12
  583. package/lib/rules/unnecessaryConcatenation.d.ts +0 -1
  584. package/lib/rules/unnecessaryConcatenation.js +0 -2
  585. package/lib/rules/unnecessaryEscapes.d.ts +0 -1
  586. package/lib/rules/unnecessaryEscapes.js +1 -3
  587. package/lib/rules/unnecessaryMathClamps.d.ts +0 -1
  588. package/lib/rules/unnecessaryMathClamps.js +13 -21
  589. package/lib/rules/unnecessaryNumericFractions.d.ts +0 -1
  590. package/lib/rules/unnecessaryNumericFractions.js +0 -2
  591. package/lib/rules/unnecessaryRenames.d.ts +0 -1
  592. package/lib/rules/unnecessaryRenames.js +0 -2
  593. package/lib/rules/unnecessaryTernaries.d.ts +0 -1
  594. package/lib/rules/unnecessaryTernaries.js +0 -2
  595. package/lib/rules/unnecessaryUseStricts.d.ts +0 -1
  596. package/lib/rules/unnecessaryUseStricts.js +0 -2
  597. package/lib/rules/unsafeNegations.d.ts +0 -1
  598. package/lib/rules/unsafeNegations.js +1 -3
  599. package/lib/rules/utils/collectAccessorPairs.d.ts +1 -2
  600. package/lib/rules/utils/collectAccessorPairs.js +0 -2
  601. package/lib/rules/utils/countCommentsInRange.d.ts +0 -1
  602. package/lib/rules/utils/countCommentsInRange.js +0 -2
  603. package/lib/rules/utils/discriminateAnyType.d.ts +1 -2
  604. package/lib/rules/utils/discriminateAnyType.js +0 -2
  605. package/lib/rules/utils/equalityOperators.d.ts +1 -2
  606. package/lib/rules/utils/equalityOperators.js +0 -2
  607. package/lib/rules/utils/forEachReturnStatement.d.ts +0 -1
  608. package/lib/rules/utils/forEachReturnStatement.js +0 -2
  609. package/lib/rules/utils/formatReportedType.d.ts +1 -2
  610. package/lib/rules/utils/formatReportedType.js +0 -2
  611. package/lib/rules/utils/getConstrainedType.d.ts +0 -1
  612. package/lib/rules/utils/getConstrainedType.js +0 -2
  613. package/lib/rules/utils/getFunctionName.d.ts +0 -1
  614. package/lib/rules/utils/getFunctionName.js +0 -2
  615. package/lib/rules/utils/getRegExpConstruction.d.ts +2 -4
  616. package/lib/rules/utils/getRegExpConstruction.js +7 -8
  617. package/lib/rules/utils/getRegExpLiteralDetails.d.ts +0 -1
  618. package/lib/rules/utils/getRegExpLiteralDetails.js +0 -2
  619. package/lib/rules/utils/getThisExpression.d.ts +0 -1
  620. package/lib/rules/utils/getThisExpression.js +0 -2
  621. package/lib/rules/utils/isArrayOrTupleTypeAtLocation.d.ts +0 -1
  622. package/lib/rules/utils/isArrayOrTupleTypeAtLocation.js +0 -2
  623. package/lib/rules/utils/isBuiltinSymbolLike.d.ts +0 -1
  624. package/lib/rules/utils/isBuiltinSymbolLike.js +1 -3
  625. package/lib/rules/utils/isDirectEqualityCheck.d.ts +1 -2
  626. package/lib/rules/utils/isDirectEqualityCheck.js +0 -2
  627. package/lib/rules/utils/isErrorSubclass.d.ts +2 -2
  628. package/lib/rules/utils/isErrorSubclass.js +5 -7
  629. package/lib/rules/utils/isInBooleanContext.d.ts +0 -1
  630. package/lib/rules/utils/isInBooleanContext.js +0 -2
  631. package/lib/rules/utils/isTypeRecursive.d.ts +0 -1
  632. package/lib/rules/utils/isTypeRecursive.js +0 -2
  633. package/lib/rules/utils/isUnsafeAssignment.d.ts +1 -2
  634. package/lib/rules/utils/isUnsafeAssignment.js +1 -3
  635. package/lib/rules/utils/operators.d.ts +0 -1
  636. package/lib/rules/utils/operators.js +0 -2
  637. package/lib/rules/utils/parseRegexpAst.d.ts +0 -1
  638. package/lib/rules/utils/parseRegexpAst.js +0 -2
  639. package/lib/rules/utils/parseRegexpAstFull.d.ts +0 -1
  640. package/lib/rules/utils/parseRegexpAstFull.js +0 -2
  641. package/lib/rules/utils/skipParentheses.d.ts +0 -1
  642. package/lib/rules/utils/skipParentheses.js +0 -2
  643. package/lib/rules/variableDeletions.d.ts +0 -1
  644. package/lib/rules/variableDeletions.js +0 -2
  645. package/lib/rules/voidOperator.d.ts +0 -1
  646. package/lib/rules/voidOperator.js +0 -2
  647. package/lib/rules/withStatements.d.ts +0 -1
  648. package/lib/rules/withStatements.js +0 -2
  649. package/lib/rules/wrapperObjects.d.ts +0 -1
  650. package/lib/rules/wrapperObjects.js +3 -5
  651. package/lib/type-utils/getSpecifierNames.d.ts +2 -0
  652. package/lib/type-utils/getSpecifierNames.js +7 -0
  653. package/lib/type-utils/isDeclaredInModuleBlock.d.ts +2 -0
  654. package/lib/type-utils/isDeclaredInModuleBlock.js +12 -0
  655. package/lib/type-utils/isFromFile.d.ts +2 -0
  656. package/lib/type-utils/isFromFile.js +11 -0
  657. package/lib/type-utils/isFromPackage.d.ts +2 -0
  658. package/lib/type-utils/isFromPackage.js +13 -0
  659. package/lib/type-utils/matchesSpecifier.d.ts +3 -0
  660. package/lib/type-utils/matchesSpecifier.js +18 -0
  661. package/lib/type-utils/schemas.d.ts +14 -0
  662. package/lib/type-utils/schemas.js +23 -0
  663. package/package.json +9 -10
  664. package/lib/rules/utils/forEachChild.d.ts +0 -4
  665. package/lib/rules/utils/forEachChild.js +0 -7
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "missingYield", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=generatorFunctionYields.d.ts.map
@@ -46,5 +46,3 @@ function blockContainsYield(block) {
46
46
  }
47
47
  //#endregion
48
48
  export { generatorFunctionYields_default as default };
49
-
50
- //# sourceMappingURL=generatorFunctionYields.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "missingReturn", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=getterReturns.d.ts.map
@@ -61,5 +61,3 @@ function tryStatementReturnsValue(statement) {
61
61
  }
62
62
  //#endregion
63
63
  export { getterReturns_default as default };
64
-
65
- //# sourceMappingURL=getterReturns.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noGlobalAssign", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=globalAssignments.d.ts.map
@@ -20,20 +20,20 @@ var globalAssignments_default = ruleCreator.createRule(typescriptLanguage, {
20
20
  } },
21
21
  setup(context) {
22
22
  return { visitors: {
23
- BinaryExpression: (node, { sourceFile, typeChecker }) => {
24
- if (tsutils.isAssignmentKind(node.operatorToken.kind) && isGlobalVariable(node.left, typeChecker)) context.report({
23
+ BinaryExpression: (node, { program, sourceFile, typeChecker }) => {
24
+ if (tsutils.isAssignmentKind(node.operatorToken.kind) && isGlobalVariable(node.left, typeChecker, program)) context.report({
25
25
  message: "noGlobalAssign",
26
26
  range: getTSNodeRange(node.left, sourceFile)
27
27
  });
28
28
  },
29
- PostfixUnaryExpression: (node, { sourceFile, typeChecker }) => {
30
- if (isGlobalVariable(node.operand, typeChecker)) context.report({
29
+ PostfixUnaryExpression: (node, { program, sourceFile, typeChecker }) => {
30
+ if (isGlobalVariable(node.operand, typeChecker, program)) context.report({
31
31
  message: "noGlobalAssign",
32
32
  range: getTSNodeRange(node.operand, sourceFile)
33
33
  });
34
34
  },
35
- PrefixUnaryExpression: (node, { sourceFile, typeChecker }) => {
36
- if ((node.operator === SyntaxKind.PlusPlusToken || node.operator === SyntaxKind.MinusMinusToken) && isGlobalVariable(node.operand, typeChecker)) context.report({
35
+ PrefixUnaryExpression: (node, { program, sourceFile, typeChecker }) => {
36
+ if ((node.operator === SyntaxKind.PlusPlusToken || node.operator === SyntaxKind.MinusMinusToken) && isGlobalVariable(node.operand, typeChecker, program)) context.report({
37
37
  message: "noGlobalAssign",
38
38
  range: getTSNodeRange(node.operand, sourceFile)
39
39
  });
@@ -43,5 +43,3 @@ var globalAssignments_default = ruleCreator.createRule(typescriptLanguage, {
43
43
  });
44
44
  //#endregion
45
45
  export { globalAssignments_default as default };
46
-
47
- //# sourceMappingURL=globalAssignments.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noGlobalObjectCall", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=globalObjectCalls.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import { SyntaxKind } from "typescript";
4
4
  //#region src/rules/globalObjectCalls.ts
5
- const globalObjects = new Set([
5
+ const globalObjects = /* @__PURE__ */ new Set([
6
6
  "Atomics",
7
7
  "JSON",
8
8
  "Math",
@@ -38,5 +38,3 @@ var globalObjectCalls_default = ruleCreator.createRule(typescriptLanguage, {
38
38
  });
39
39
  //#endregion
40
40
  export { globalObjectCalls_default as default };
41
-
42
- //# sourceMappingURL=globalObjectCalls.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferGlobalThis", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=globalThisAliases.d.ts.map
@@ -1,24 +1,24 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { declarationIncludesGlobal, getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import ts from "typescript";
3
+ import { isPropertyAccessExpression, isShorthandPropertyAssignment } from "typescript";
4
4
  //#region src/rules/globalThisAliases.ts
5
- const globalAliases = new Set([
5
+ const globalAliases = /* @__PURE__ */ new Set([
6
6
  "global",
7
7
  "self",
8
8
  "window"
9
9
  ]);
10
- function isOnlyGlobalDeclaration(node, typeChecker) {
10
+ function isOnlyGlobalDeclaration(node, typeChecker, program) {
11
11
  const symbol = typeChecker.getSymbolAtLocation(node);
12
12
  if (!symbol) return false;
13
13
  const declarations = symbol.getDeclarations();
14
14
  if (!declarations?.length) return false;
15
- return declarations.every(declarationIncludesGlobal);
15
+ return declarations.every((declaration) => declarationIncludesGlobal(declaration, program));
16
16
  }
17
17
  function isPropertyAccess(node) {
18
- return ts.isPropertyAccessExpression(node.parent) && node.parent.name === node;
18
+ return isPropertyAccessExpression(node.parent) && node.parent.name === node;
19
19
  }
20
20
  function isPropertyShorthand(node) {
21
- return ts.isShorthandPropertyAssignment(node.parent) && node.parent.name === node;
21
+ return isShorthandPropertyAssignment(node.parent) && node.parent.name === node;
22
22
  }
23
23
  var globalThisAliases_default = ruleCreator.createRule(typescriptLanguage, {
24
24
  about: {
@@ -32,8 +32,8 @@ var globalThisAliases_default = ruleCreator.createRule(typescriptLanguage, {
32
32
  suggestions: ["Replace `{{ name }}` with `globalThis`."]
33
33
  } },
34
34
  setup(context) {
35
- return { visitors: { Identifier: (node, { sourceFile, typeChecker }) => {
36
- if (globalAliases.has(node.text) && !isPropertyAccess(node) && !isPropertyShorthand(node) && isOnlyGlobalDeclaration(node, typeChecker)) context.report({
35
+ return { visitors: { Identifier: (node, { program, sourceFile, typeChecker }) => {
36
+ if (globalAliases.has(node.text) && !isPropertyAccess(node) && !isPropertyShorthand(node) && isOnlyGlobalDeclaration(node, typeChecker, program)) context.report({
37
37
  data: { name: node.text },
38
38
  message: "preferGlobalThis",
39
39
  range: getTSNodeRange(node, sourceFile)
@@ -43,5 +43,3 @@ var globalThisAliases_default = ruleCreator.createRule(typescriptLanguage, {
43
43
  });
44
44
  //#endregion
45
45
  export { globalThisAliases_default as default };
46
-
47
- //# sourceMappingURL=globalThisAliases.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "functionConstructor" | "impliedEval", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=impliedEvals.d.ts.map
@@ -1,15 +1,15 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { isBuiltinSymbolLike } from "./utils/isBuiltinSymbolLike.js";
3
3
  import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
4
- import * as ts$1 from "typescript";
4
+ import { SignatureKind, SymbolFlags, SyntaxKind, TypeFlags, isElementAccessExpression, isIdentifier, isPropertyAccessExpression, isStringLiteral } from "typescript";
5
5
  import * as tsutils from "ts-api-utils";
6
6
  //#region src/rules/impliedEvals.ts
7
- const globalCandidates = new Set([
7
+ const globalCandidates = /* @__PURE__ */ new Set([
8
8
  "global",
9
9
  "globalThis",
10
10
  "window"
11
11
  ]);
12
- const evalLikeFunctions = new Set([
12
+ const evalLikeFunctions = /* @__PURE__ */ new Set([
13
13
  "execScript",
14
14
  "setImmediate",
15
15
  "setInterval",
@@ -17,55 +17,55 @@ const evalLikeFunctions = new Set([
17
17
  ]);
18
18
  function getCalleeName(node) {
19
19
  switch (node.kind) {
20
- case ts$1.SyntaxKind.ElementAccessExpression:
21
- if (ts$1.isIdentifier(node.expression) && globalCandidates.has(node.expression.text) && ts$1.isStringLiteral(node.argumentExpression)) return node.argumentExpression.text;
20
+ case SyntaxKind.ElementAccessExpression:
21
+ if (isIdentifier(node.expression) && globalCandidates.has(node.expression.text) && isStringLiteral(node.argumentExpression)) return node.argumentExpression.text;
22
22
  break;
23
- case ts$1.SyntaxKind.Identifier: return node.text;
24
- case ts$1.SyntaxKind.PropertyAccessExpression:
25
- if (ts$1.isIdentifier(node.expression) && globalCandidates.has(node.expression.text)) return node.name.text;
23
+ case SyntaxKind.Identifier: return node.text;
24
+ case SyntaxKind.PropertyAccessExpression:
25
+ if (isIdentifier(node.expression) && globalCandidates.has(node.expression.text)) return node.name.text;
26
26
  break;
27
27
  }
28
28
  }
29
29
  function isBind(node) {
30
30
  switch (node.kind) {
31
- case ts$1.SyntaxKind.Identifier: return node.text === "bind";
32
- case ts$1.SyntaxKind.PropertyAccessExpression: return isBind(node.name);
31
+ case SyntaxKind.Identifier: return node.text === "bind";
32
+ case SyntaxKind.PropertyAccessExpression: return isBind(node.name);
33
33
  default: return false;
34
34
  }
35
35
  }
36
36
  function isDefinitelyString(type) {
37
- if (tsutils.isTypeFlagSet(type, ts$1.TypeFlags.Any | ts$1.TypeFlags.Unknown | ts$1.TypeFlags.Never)) return false;
37
+ if (tsutils.isTypeFlagSet(type, TypeFlags.Any | TypeFlags.Unknown | TypeFlags.Never)) return false;
38
38
  if (type.isUnion()) return type.types.every(isDefinitelyString);
39
- return tsutils.isTypeFlagSet(type, ts$1.TypeFlags.StringLike);
39
+ return tsutils.isTypeFlagSet(type, TypeFlags.StringLike);
40
40
  }
41
41
  function isFunction$1(node, typeChecker, program) {
42
42
  switch (node.kind) {
43
- case ts$1.SyntaxKind.ArrowFunction:
44
- case ts$1.SyntaxKind.FunctionDeclaration:
45
- case ts$1.SyntaxKind.FunctionExpression: return true;
46
- case ts$1.SyntaxKind.CallExpression:
43
+ case SyntaxKind.ArrowFunction:
44
+ case SyntaxKind.FunctionDeclaration:
45
+ case SyntaxKind.FunctionExpression: return true;
46
+ case SyntaxKind.CallExpression:
47
47
  if (isBind(node.expression)) return true;
48
48
  return !isDefinitelyString(typeChecker.getTypeAtLocation(node)) && isFunctionType(node, typeChecker, program);
49
- case ts$1.SyntaxKind.NoSubstitutionTemplateLiteral:
50
- case ts$1.SyntaxKind.StringLiteral:
51
- case ts$1.SyntaxKind.TemplateExpression: return false;
49
+ case SyntaxKind.NoSubstitutionTemplateLiteral:
50
+ case SyntaxKind.StringLiteral:
51
+ case SyntaxKind.TemplateExpression: return false;
52
52
  default: return !isDefinitelyString(typeChecker.getTypeAtLocation(node)) && isFunctionType(node, typeChecker, program);
53
53
  }
54
54
  }
55
55
  function isFunctionType(node, typeChecker, program) {
56
56
  const type = typeChecker.getTypeAtLocation(node);
57
- if (tsutils.isTypeFlagSet(type, ts$1.TypeFlags.Any | ts$1.TypeFlags.Unknown) || isBuiltinSymbolLike(program, type, "Function")) return true;
57
+ if (tsutils.isTypeFlagSet(type, TypeFlags.Any | TypeFlags.Unknown) || isBuiltinSymbolLike(program, type, "Function")) return true;
58
58
  const symbol = type.getSymbol();
59
- if (symbol && tsutils.isSymbolFlagSet(symbol, ts$1.SymbolFlags.Function | ts$1.SymbolFlags.Method)) return true;
60
- return !!typeChecker.getSignaturesOfType(type, ts$1.SignatureKind.Call).length;
59
+ if (symbol && tsutils.isSymbolFlagSet(symbol, SymbolFlags.Function | SymbolFlags.Method)) return true;
60
+ return !!typeChecker.getSignaturesOfType(type, SignatureKind.Call).length;
61
61
  }
62
- function isReferenceToGlobalFunction(node, typeChecker) {
63
- if (ts$1.isPropertyAccessExpression(node.expression) || ts$1.isElementAccessExpression(node.expression)) return true;
62
+ function isReferenceToGlobalFunction(node, typeChecker, program) {
63
+ if (isPropertyAccessExpression(node.expression) || isElementAccessExpression(node.expression)) return true;
64
64
  const symbol = typeChecker.getSymbolAtLocation(node.expression);
65
65
  if (!symbol) return true;
66
66
  return !!symbol.getDeclarations()?.some((declaration) => {
67
67
  const sourceFile = declaration.getSourceFile();
68
- return sourceFile.hasNoDefaultLib || sourceFile.fileName.includes("node_modules/@types/node/") || /\/lib\.[^/]*\.d\.ts$/.test(sourceFile.fileName);
68
+ return program.isSourceFileDefaultLibrary(sourceFile) || sourceFile.fileName.includes("node_modules/@types/node/") || /\/lib\.[^/]*\.d\.ts$/.test(sourceFile.fileName);
69
69
  });
70
70
  }
71
71
  var impliedEvals_default = ruleCreator.createRule(typescriptLanguage, {
@@ -99,7 +99,7 @@ var impliedEvals_default = ruleCreator.createRule(typescriptLanguage, {
99
99
  const args = node.arguments;
100
100
  if (!args?.length) return;
101
101
  const handler = args[0];
102
- if (!evalLikeFunctions.has(calleeName) || isFunction$1(handler, typeChecker, program) || !isReferenceToGlobalFunction(node, typeChecker)) return;
102
+ if (!evalLikeFunctions.has(calleeName) || isFunction$1(handler, typeChecker, program) || !isReferenceToGlobalFunction(node, typeChecker, program)) return;
103
103
  context.report({
104
104
  data: { name: calleeName },
105
105
  message: "impliedEval",
@@ -126,5 +126,3 @@ var impliedEvals_default = ruleCreator.createRule(typescriptLanguage, {
126
126
  });
127
127
  //#endregion
128
128
  export { impliedEvals_default as default };
129
-
130
- //# sourceMappingURL=impliedEvals.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noEmptyNamedBlocksOnly" | "noEmptyNamedBlocksWithOther", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=importEmptyBlocks.d.ts.map
@@ -49,5 +49,3 @@ var importEmptyBlocks_default = ruleCreator.createRule(typescriptLanguage, {
49
49
  });
50
50
  //#endregion
51
51
  export { importEmptyBlocks_default as default };
52
-
53
- //# sourceMappingURL=importEmptyBlocks.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "useTopLevelQualifier", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=importTypeSideEffects.d.ts.map
@@ -27,5 +27,3 @@ var importTypeSideEffects_default = ruleCreator.createRule(typescriptLanguage, {
27
27
  });
28
28
  //#endregion
29
29
  export { importTypeSideEffects_default as default };
30
-
31
- //# sourceMappingURL=importTypeSideEffects.js.map
@@ -13,4 +13,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
13
13
  }>>;
14
14
  }>;
15
15
  export default _default;
16
- //# sourceMappingURL=indexedObjectTypes.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getTSNodeRange, isGlobalDeclaration, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import * as ts$1 from "typescript";
4
- import { z } from "zod/v4";
4
+ import { z as z$1 } from "zod/v4";
5
5
  //#region src/rules/indexedObjectTypes.ts
6
6
  function getSingleIndexSignature(members) {
7
7
  if (members.length !== 1) return;
@@ -49,7 +49,7 @@ var indexedObjectTypes_default = ruleCreator.createRule(typescriptLanguage, {
49
49
  suggestions: ["Replace the index signature with `Record<K, V>`."]
50
50
  }
51
51
  },
52
- options: { style: z.enum(["index-signature", "record"]).default("record").describe("Which indexed object type syntax to enforce: 'record' for `Record<K, V>`, or 'index-signature' for `{ [key: K]: V }`.") },
52
+ options: { style: z$1.enum(["index-signature", "record"]).default("record").describe("Which indexed object type syntax to enforce: 'record' for `Record<K, V>`, or 'index-signature' for `{ [key: K]: V }`.") },
53
53
  setup(context) {
54
54
  function checkForRecord(node, members, sourceFile) {
55
55
  const member = getSingleIndexSignature(members);
@@ -68,8 +68,8 @@ var indexedObjectTypes_default = ruleCreator.createRule(typescriptLanguage, {
68
68
  TypeLiteral: (node, { options, sourceFile }) => {
69
69
  if (options.style === "record") checkForRecord(node, node.members, sourceFile);
70
70
  },
71
- TypeReference: (node, { options, sourceFile, typeChecker }) => {
72
- if (options.style === "index-signature" && node.typeName.kind === ts$1.SyntaxKind.Identifier && node.typeName.text === "Record" && isGlobalDeclaration(node.typeName, typeChecker) && node.typeArguments?.length === 2) context.report({
71
+ TypeReference: (node, { options, program, sourceFile, typeChecker }) => {
72
+ if (options.style === "index-signature" && node.typeName.kind === ts$1.SyntaxKind.Identifier && node.typeName.text === "Record" && isGlobalDeclaration(node.typeName, typeChecker, program) && node.typeArguments?.length === 2) context.report({
73
73
  message: "preferIndexSignature",
74
74
  range: getTSNodeRange(node, sourceFile)
75
75
  });
@@ -79,5 +79,3 @@ var indexedObjectTypes_default = ruleCreator.createRule(typescriptLanguage, {
79
79
  });
80
80
  //#endregion
81
81
  export { indexedObjectTypes_default as default };
82
-
83
- //# sourceMappingURL=indexedObjectTypes.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "useArrayIsArray", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=instanceOfArrays.d.ts.map
@@ -14,10 +14,10 @@ var instanceOfArrays_default = ruleCreator.createRule(typescriptLanguage, {
14
14
  suggestions: ["Use `Array.isArray(value)` for reliable array detection."]
15
15
  } },
16
16
  setup(context) {
17
- return { visitors: { BinaryExpression: (node, { sourceFile, typeChecker }) => {
17
+ return { visitors: { BinaryExpression: (node, { program, sourceFile, typeChecker }) => {
18
18
  if (node.operatorToken.kind !== SyntaxKind.InstanceOfKeyword) return;
19
19
  const right = unwrapParenthesizedNode(node.right);
20
- if (right.kind !== SyntaxKind.Identifier || right.text !== "Array" || !isGlobalDeclarationOfName(right, "Array", typeChecker)) return;
20
+ if (right.kind !== SyntaxKind.Identifier || right.text !== "Array" || !isGlobalDeclarationOfName(right, "Array", typeChecker, program)) return;
21
21
  context.report({
22
22
  message: "useArrayIsArray",
23
23
  range: getTSNodeRange(node, sourceFile)
@@ -27,5 +27,3 @@ var instanceOfArrays_default = ruleCreator.createRule(typescriptLanguage, {
27
27
  });
28
28
  //#endregion
29
29
  export { instanceOfArrays_default as default };
30
-
31
- //# sourceMappingURL=instanceOfArrays.js.map
@@ -13,4 +13,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
13
13
  skipTemplates: z.ZodDefault<z.ZodBoolean>;
14
14
  }>;
15
15
  export default _default;
16
- //# sourceMappingURL=irregularWhitespaces.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import * as ts$1 from "typescript";
4
- import { z } from "zod/v4";
4
+ import { z as z$1 } from "zod/v4";
5
5
  //#region src/rules/irregularWhitespaces.ts
6
6
  function findIrregularWhitespaces(text) {
7
7
  const irregularWhitespacePattern = /[\f\v\x85\ufeff\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000\u2028\u2029]/gu;
@@ -32,10 +32,10 @@ var irregularWhitespaces_default = ruleCreator.createRule(typescriptLanguage, {
32
32
  suggestions: ["Replace irregular whitespace with regular spaces or tabs.", "Remove the whitespace if it is unnecessary."]
33
33
  } },
34
34
  options: {
35
- skipComments: z.boolean().default(false).describe("Whether to allow irregular whitespace in comments."),
36
- skipJSXText: z.boolean().default(false).describe("Whether to allow irregular whitespace in JSX text content."),
37
- skipRegularExpressions: z.boolean().default(false).describe("Whether to allow irregular whitespace in regular expression literals."),
38
- skipTemplates: z.boolean().default(false).describe("Whether to allow irregular whitespace in template literals.")
35
+ skipComments: z$1.boolean().default(false).describe("Whether to allow irregular whitespace in comments."),
36
+ skipJSXText: z$1.boolean().default(false).describe("Whether to allow irregular whitespace in JSX text content."),
37
+ skipRegularExpressions: z$1.boolean().default(false).describe("Whether to allow irregular whitespace in regular expression literals."),
38
+ skipTemplates: z$1.boolean().default(false).describe("Whether to allow irregular whitespace in template literals.")
39
39
  },
40
40
  setup(context) {
41
41
  return { visitors: { SourceFile: (node, { options, sourceFile }) => {
@@ -93,5 +93,3 @@ var irregularWhitespaces_default = ruleCreator.createRule(typescriptLanguage, {
93
93
  });
94
94
  //#endregion
95
95
  export { irregularWhitespaces_default as default };
96
-
97
- //# sourceMappingURL=irregularWhitespaces.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "useIsNaN", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=isNaNComparisons.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getTSNodeRange, isGlobalDeclarationOfName, typescriptLanguage, unwrapParenthesizedNode } from "@flint.fyi/typescript-language";
3
3
  import { SyntaxKind } from "typescript";
4
4
  //#region src/rules/isNaNComparisons.ts
5
- const comparisonOperators = new Set([
5
+ const comparisonOperators = /* @__PURE__ */ new Set([
6
6
  SyntaxKind.EqualsEqualsEqualsToken,
7
7
  SyntaxKind.EqualsEqualsToken,
8
8
  SyntaxKind.ExclamationEqualsEqualsToken,
@@ -24,20 +24,18 @@ var isNaNComparisons_default = ruleCreator.createRule(typescriptLanguage, {
24
24
  suggestions: ["Use `Number.isNaN(value)` for reliable NaN detection."]
25
25
  } },
26
26
  setup(context) {
27
- return { visitors: { BinaryExpression: (node, { sourceFile, typeChecker }) => {
27
+ return { visitors: { BinaryExpression: (node, { program, sourceFile, typeChecker }) => {
28
28
  if (!comparisonOperators.has(node.operatorToken.kind)) return;
29
- if (isNaNIdentifier(node.left, typeChecker) || isNaNIdentifier(node.right, typeChecker)) context.report({
29
+ if (isNaNIdentifier(node.left, typeChecker, program) || isNaNIdentifier(node.right, typeChecker, program)) context.report({
30
30
  message: "useIsNaN",
31
31
  range: getTSNodeRange(node, sourceFile)
32
32
  });
33
33
  } } };
34
- function isNaNIdentifier(node, typeChecker) {
34
+ function isNaNIdentifier(node, typeChecker, program) {
35
35
  const unwrapped = unwrapParenthesizedNode(node);
36
- return unwrapped.kind === SyntaxKind.Identifier && unwrapped.text === "NaN" && isGlobalDeclarationOfName(unwrapped, "NaN", typeChecker);
36
+ return unwrapped.kind === SyntaxKind.Identifier && unwrapped.text === "NaN" && isGlobalDeclarationOfName(unwrapped, "NaN", typeChecker, program);
37
37
  }
38
38
  }
39
39
  });
40
40
  //#endregion
41
41
  export { isNaNComparisons_default as default };
42
-
43
- //# sourceMappingURL=isNaNComparisons.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferLiteral", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=literalConstructorWrappers.d.ts.map
@@ -1,27 +1,27 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { isGlobalDeclarationOfName, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import * as ts$1 from "typescript";
3
+ import { SyntaxKind, isBigIntLiteral, isIdentifier, isLiteralExpression, isNumericLiteral, isStringLiteral } from "typescript";
4
4
  //#region src/rules/literalConstructorWrappers.ts
5
- const literalConstructors = new Set([
5
+ const literalConstructors = /* @__PURE__ */ new Set([
6
6
  "BigInt",
7
7
  "Boolean",
8
8
  "Number",
9
9
  "String"
10
10
  ]);
11
11
  function isBooleanLiteral(node) {
12
- return node.kind === ts$1.SyntaxKind.TrueKeyword || node.kind === ts$1.SyntaxKind.FalseKeyword;
12
+ return node.kind === SyntaxKind.TrueKeyword || node.kind === SyntaxKind.FalseKeyword;
13
13
  }
14
14
  function isLiteralArgument(node, constructorName) {
15
15
  switch (constructorName) {
16
16
  case "BigInt": return isNumericLiteralForBigInt(node);
17
- case "Boolean": return ts$1.isLiteralExpression(node) || isBooleanLiteral(node);
18
- case "Number": return ts$1.isStringLiteral(node) && isValidNumericString(node.text);
19
- case "String": return ts$1.isNumericLiteral(node) || isBooleanLiteral(node) || ts$1.isBigIntLiteral(node);
17
+ case "Boolean": return isLiteralExpression(node) || isBooleanLiteral(node);
18
+ case "Number": return isStringLiteral(node) && isValidNumericString(node.text);
19
+ case "String": return isNumericLiteral(node) || isBooleanLiteral(node) || isBigIntLiteral(node);
20
20
  default: return false;
21
21
  }
22
22
  }
23
23
  function isNumericLiteralForBigInt(node) {
24
- return node.kind === ts$1.SyntaxKind.NumericLiteral && /^-?\d+$/.test(node.text);
24
+ return node.kind === SyntaxKind.NumericLiteral && /^-?\d+$/.test(node.text);
25
25
  }
26
26
  function isValidNumericString(value) {
27
27
  const trimmed = value.trim();
@@ -41,10 +41,10 @@ var literalConstructorWrappers_default = ruleCreator.createRule(typescriptLangua
41
41
  suggestions: ["Use literal syntax instead of `{{ name }}()`."]
42
42
  } },
43
43
  setup(context) {
44
- return { visitors: { CallExpression: (node, { sourceFile, typeChecker }) => {
45
- if (!ts$1.isIdentifier(node.expression)) return;
44
+ return { visitors: { CallExpression: (node, { program, sourceFile, typeChecker }) => {
45
+ if (!isIdentifier(node.expression)) return;
46
46
  const name = node.expression.text;
47
- if (!literalConstructors.has(name) || node.arguments.length !== 1 || !isGlobalDeclarationOfName(node.expression, name, typeChecker)) return;
47
+ if (!literalConstructors.has(name) || node.arguments.length !== 1 || !isGlobalDeclarationOfName(node.expression, name, typeChecker, program)) return;
48
48
  const argument = node.arguments[0];
49
49
  if (!isLiteralArgument(argument, name)) return;
50
50
  context.report({
@@ -60,5 +60,3 @@ var literalConstructorWrappers_default = ruleCreator.createRule(typescriptLangua
60
60
  });
61
61
  //#endregion
62
62
  export { literalConstructorWrappers_default as default };
63
-
64
- //# sourceMappingURL=literalConstructorWrappers.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferModernMath", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=mathMethods.d.ts.map
@@ -3,24 +3,24 @@ import { skipParentheses } from "./utils/skipParentheses.js";
3
3
  import { getTSNodeRange, hasSameTokens, isGlobalDeclarationOfName, typescriptLanguage } from "@flint.fyi/typescript-language";
4
4
  import { SyntaxKind } from "typescript";
5
5
  //#region src/rules/mathMethods.ts
6
- function checkLogDivideConstant(node, typeChecker, constantName, replacementMethod) {
6
+ function checkLogDivideConstant(node, typeChecker, program, constantName, replacementMethod) {
7
7
  if (node.operatorToken.kind !== SyntaxKind.SlashToken) return;
8
8
  const left = skipParentheses(node.left);
9
9
  const right = skipParentheses(node.right);
10
- if (getMathMethodArgument(left, "log", typeChecker) && isMathProperty(right, constantName, typeChecker)) return {
10
+ if (getMathMethodArgument(left, "log", typeChecker, program) && isMathProperty(right, constantName, typeChecker, program)) return {
11
11
  description: `Math.log(…) / Math.${constantName}`,
12
12
  replacement: `Math.${replacementMethod}(…)`
13
13
  };
14
14
  }
15
- function checkLogTimesConstant(node, typeChecker, constantName, replacementMethod) {
15
+ function checkLogTimesConstant(node, typeChecker, program, constantName, replacementMethod) {
16
16
  if (node.operatorToken.kind !== SyntaxKind.AsteriskToken) return;
17
17
  const left = skipParentheses(node.left);
18
18
  const right = skipParentheses(node.right);
19
- if (getMathMethodArgument(left, "log", typeChecker) && isMathProperty(right, constantName, typeChecker)) return {
19
+ if (getMathMethodArgument(left, "log", typeChecker, program) && isMathProperty(right, constantName, typeChecker, program)) return {
20
20
  description: `Math.log(…) * Math.${constantName}`,
21
21
  replacement: `Math.${replacementMethod}(…)`
22
22
  };
23
- if (isMathProperty(left, constantName, typeChecker) && getMathMethodArgument(right, "log", typeChecker)) return {
23
+ if (isMathProperty(left, constantName, typeChecker, program) && getMathMethodArgument(right, "log", typeChecker, program)) return {
24
24
  description: `Math.${constantName} * Math.log(…)`,
25
25
  replacement: `Math.${replacementMethod}(…)`
26
26
  };
@@ -30,14 +30,14 @@ function flattenPlusExpression(node) {
30
30
  if (unwrapped.kind === SyntaxKind.BinaryExpression && unwrapped.operatorToken.kind === SyntaxKind.PlusToken) return [...flattenPlusExpression(unwrapped.left), ...flattenPlusExpression(unwrapped.right)];
31
31
  return [unwrapped];
32
32
  }
33
- function getMathMethodArgument(node, methodName, typeChecker) {
33
+ function getMathMethodArgument(node, methodName, typeChecker, program) {
34
34
  if (node.kind !== SyntaxKind.CallExpression || node.questionDotToken || node.arguments.length !== 1) return false;
35
35
  const argument = node.arguments[0];
36
- if (argument.kind === SyntaxKind.SpreadElement || !isMathProperty(node.expression, methodName, typeChecker)) return;
36
+ if (argument.kind === SyntaxKind.SpreadElement || !isMathProperty(node.expression, methodName, typeChecker, program)) return;
37
37
  return argument;
38
38
  }
39
- function isMathProperty(node, propertyName, typeChecker) {
40
- return node.kind === SyntaxKind.PropertyAccessExpression && !node.questionDotToken && node.name.kind === SyntaxKind.Identifier && node.name.text === propertyName && node.expression.kind === SyntaxKind.Identifier && isGlobalDeclarationOfName(node.expression, "Math", typeChecker);
39
+ function isMathProperty(node, propertyName, typeChecker, program) {
40
+ return node.kind === SyntaxKind.PropertyAccessExpression && !node.questionDotToken && node.name.kind === SyntaxKind.Identifier && node.name.text === propertyName && node.expression.kind === SyntaxKind.Identifier && isGlobalDeclarationOfName(node.expression, "Math", typeChecker, program);
41
41
  }
42
42
  function isPowerTwoExpression(node, sourceFile) {
43
43
  const unwrapped = skipParentheses(node);
@@ -62,7 +62,7 @@ var mathMethods_default = ruleCreator.createRule(typescriptLanguage, {
62
62
  } },
63
63
  setup(context) {
64
64
  return { visitors: {
65
- BinaryExpression: (node, { sourceFile, typeChecker }) => {
65
+ BinaryExpression: (node, { program, sourceFile, typeChecker }) => {
66
66
  for (const { constantName, replacementMethod } of [{
67
67
  constantName: "LOG10E",
68
68
  replacementMethod: "log10"
@@ -70,7 +70,7 @@ var mathMethods_default = ruleCreator.createRule(typescriptLanguage, {
70
70
  constantName: "LOG2E",
71
71
  replacementMethod: "log2"
72
72
  }]) {
73
- const match = checkLogTimesConstant(node, typeChecker, constantName, replacementMethod);
73
+ const match = checkLogTimesConstant(node, typeChecker, program, constantName, replacementMethod);
74
74
  if (match) {
75
75
  context.report({
76
76
  data: {
@@ -90,7 +90,7 @@ var mathMethods_default = ruleCreator.createRule(typescriptLanguage, {
90
90
  constantName: "LN2",
91
91
  replacementMethod: "log2"
92
92
  }]) {
93
- const match = checkLogDivideConstant(node, typeChecker, constantName, replacementMethod);
93
+ const match = checkLogDivideConstant(node, typeChecker, program, constantName, replacementMethod);
94
94
  if (match) {
95
95
  context.report({
96
96
  data: {
@@ -104,8 +104,8 @@ var mathMethods_default = ruleCreator.createRule(typescriptLanguage, {
104
104
  }
105
105
  }
106
106
  },
107
- CallExpression: (node, { sourceFile, typeChecker }) => {
108
- const argument = getMathMethodArgument(node, "sqrt", typeChecker);
107
+ CallExpression: (node, { program, sourceFile, typeChecker }) => {
108
+ const argument = getMathMethodArgument(node, "sqrt", typeChecker, program);
109
109
  if (!argument) return;
110
110
  const expressions = flattenPlusExpression(argument);
111
111
  if (!expressions.every((expr) => isPowerTwoExpression(expr, sourceFile))) return;
@@ -124,5 +124,3 @@ var mathMethods_default = ruleCreator.createRule(typescriptLanguage, {
124
124
  });
125
125
  //#endregion
126
126
  export { mathMethods_default as default };
127
-
128
- //# sourceMappingURL=mathMethods.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "meaninglessVoid", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=meaninglessVoidOperators.d.ts.map
@@ -35,5 +35,3 @@ var meaninglessVoidOperators_default = ruleCreator.createRule(typescriptLanguage
35
35
  });
36
36
  //#endregion
37
37
  export { meaninglessVoidOperators_default as default };
38
-
39
- //# sourceMappingURL=meaninglessVoidOperators.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "voidExpressionArrow" | "voidExpressionReturn" | "voidExpressionValue", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=misleadingVoidExpressions.d.ts.map
@@ -124,5 +124,3 @@ var misleadingVoidExpressions_default = ruleCreator.createRule(typescriptLanguag
124
124
  });
125
125
  //#endregion
126
126
  export { misleadingVoidExpressions_default as default };
127
-
128
- //# sourceMappingURL=misleadingVoidExpressions.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "emptyExportSpecifiers" | "emptyImportSpecifiers", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=moduleSpecifierLists.d.ts.map
@@ -88,5 +88,3 @@ var moduleSpecifierLists_default = ruleCreator.createRule(typescriptLanguage, {
88
88
  });
89
89
  //#endregion
90
90
  export { moduleSpecifierLists_default as default };
91
-
92
- //# sourceMappingURL=moduleSpecifierLists.js.map