@flint.fyi/ts 0.21.0 → 0.22.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 (666) hide show
  1. package/{lib/plugin.d.ts → dist/index.d.mts} +1 -1
  2. package/dist/index.mjs +22467 -0
  3. package/package.json +8 -7
  4. package/lib/index.d.ts +0 -2
  5. package/lib/index.js +0 -2
  6. package/lib/plugin.js +0 -619
  7. package/lib/rules/accessorPairGroups.d.ts +0 -9
  8. package/lib/rules/accessorPairGroups.js +0 -46
  9. package/lib/rules/accessorPairTypes.d.ts +0 -9
  10. package/lib/rules/accessorPairTypes.js +0 -70
  11. package/lib/rules/accessorThisRecursion.d.ts +0 -9
  12. package/lib/rules/accessorThisRecursion.js +0 -63
  13. package/lib/rules/anyArguments.d.ts +0 -9
  14. package/lib/rules/anyArguments.js +0 -232
  15. package/lib/rules/anyAssignments.d.ts +0 -9
  16. package/lib/rules/anyAssignments.js +0 -263
  17. package/lib/rules/anyCalls.d.ts +0 -9
  18. package/lib/rules/anyCalls.js +0 -66
  19. package/lib/rules/anyMemberAccess.d.ts +0 -9
  20. package/lib/rules/anyMemberAccess.js +0 -83
  21. package/lib/rules/anyReturns.d.ts +0 -9
  22. package/lib/rules/anyReturns.js +0 -100
  23. package/lib/rules/arguments.d.ts +0 -9
  24. package/lib/rules/arguments.js +0 -36
  25. package/lib/rules/arrayCallbackReturns.d.ts +0 -9
  26. package/lib/rules/arrayCallbackReturns.js +0 -71
  27. package/lib/rules/arrayConstructors.d.ts +0 -9
  28. package/lib/rules/arrayConstructors.js +0 -45
  29. package/lib/rules/arrayDeleteUnnecessaryCounts.d.ts +0 -9
  30. package/lib/rules/arrayDeleteUnnecessaryCounts.js +0 -52
  31. package/lib/rules/arrayElementDeletions.d.ts +0 -9
  32. package/lib/rules/arrayElementDeletions.js +0 -41
  33. package/lib/rules/arrayEmptyCallbackSlots.d.ts +0 -9
  34. package/lib/rules/arrayEmptyCallbackSlots.js +0 -38
  35. package/lib/rules/arrayExistenceChecksConsistency.d.ts +0 -9
  36. package/lib/rules/arrayExistenceChecksConsistency.js +0 -84
  37. package/lib/rules/arrayFilteredFinds.d.ts +0 -9
  38. package/lib/rules/arrayFilteredFinds.js +0 -72
  39. package/lib/rules/arrayFinds.d.ts +0 -9
  40. package/lib/rules/arrayFinds.js +0 -39
  41. package/lib/rules/arrayFlatMapMethods.d.ts +0 -9
  42. package/lib/rules/arrayFlatMapMethods.js +0 -45
  43. package/lib/rules/arrayFlatMethods.d.ts +0 -9
  44. package/lib/rules/arrayFlatMethods.js +0 -81
  45. package/lib/rules/arrayFlatUnnecessaryDepths.d.ts +0 -9
  46. package/lib/rules/arrayFlatUnnecessaryDepths.js +0 -31
  47. package/lib/rules/arrayIncludes.d.ts +0 -9
  48. package/lib/rules/arrayIncludes.js +0 -51
  49. package/lib/rules/arrayIncludesMethods.d.ts +0 -9
  50. package/lib/rules/arrayIncludesMethods.js +0 -35
  51. package/lib/rules/arrayIndexOfMethods.d.ts +0 -9
  52. package/lib/rules/arrayIndexOfMethods.js +0 -49
  53. package/lib/rules/arrayLoops.d.ts +0 -9
  54. package/lib/rules/arrayLoops.js +0 -34
  55. package/lib/rules/arrayMapIdentities.d.ts +0 -9
  56. package/lib/rules/arrayMapIdentities.js +0 -72
  57. package/lib/rules/arrayMutableReverses.d.ts +0 -9
  58. package/lib/rules/arrayMutableReverses.js +0 -37
  59. package/lib/rules/arrayMutableSorts.d.ts +0 -9
  60. package/lib/rules/arrayMutableSorts.js +0 -70
  61. package/lib/rules/arrayReduceTypeArguments.d.ts +0 -9
  62. package/lib/rules/arrayReduceTypeArguments.js +0 -62
  63. package/lib/rules/arraySliceUnnecessaryEnd.d.ts +0 -9
  64. package/lib/rules/arraySliceUnnecessaryEnd.js +0 -49
  65. package/lib/rules/arraySomeMethods.d.ts +0 -9
  66. package/lib/rules/arraySomeMethods.js +0 -75
  67. package/lib/rules/arrayTernarySpreadingConsistency.d.ts +0 -9
  68. package/lib/rules/arrayTernarySpreadingConsistency.js +0 -72
  69. package/lib/rules/arrayTypes.d.ts +0 -16
  70. package/lib/rules/arrayTypes.js +0 -109
  71. package/lib/rules/arrayUnnecessaryLengthChecks.d.ts +0 -9
  72. package/lib/rules/arrayUnnecessaryLengthChecks.js +0 -95
  73. package/lib/rules/asConstAssertions.d.ts +0 -9
  74. package/lib/rules/asConstAssertions.js +0 -55
  75. package/lib/rules/assignmentOperatorShorthands.d.ts +0 -9
  76. package/lib/rules/assignmentOperatorShorthands.js +0 -45
  77. package/lib/rules/asyncFunctionAwaits.d.ts +0 -9
  78. package/lib/rules/asyncFunctionAwaits.js +0 -53
  79. package/lib/rules/asyncPromiseExecutors.d.ts +0 -9
  80. package/lib/rules/asyncPromiseExecutors.js +0 -39
  81. package/lib/rules/asyncUnnecessaryPromiseWrappers.d.ts +0 -9
  82. package/lib/rules/asyncUnnecessaryPromiseWrappers.js +0 -50
  83. package/lib/rules/atAccesses.d.ts +0 -9
  84. package/lib/rules/atAccesses.js +0 -50
  85. package/lib/rules/builtinCoercions.d.ts +0 -9
  86. package/lib/rules/builtinCoercions.js +0 -115
  87. package/lib/rules/builtinConstructorNews.d.ts +0 -9
  88. package/lib/rules/builtinConstructorNews.js +0 -87
  89. package/lib/rules/caseDeclarations.d.ts +0 -9
  90. package/lib/rules/caseDeclarations.js +0 -38
  91. package/lib/rules/caseDuplicates.d.ts +0 -9
  92. package/lib/rules/caseDuplicates.js +0 -34
  93. package/lib/rules/caseFallthroughs.d.ts +0 -9
  94. package/lib/rules/caseFallthroughs.js +0 -74
  95. package/lib/rules/catchCallbackTypes.d.ts +0 -9
  96. package/lib/rules/catchCallbackTypes.js +0 -65
  97. package/lib/rules/caughtVariableNames.d.ts +0 -9
  98. package/lib/rules/caughtVariableNames.js +0 -38
  99. package/lib/rules/chainedAssignments.d.ts +0 -9
  100. package/lib/rules/chainedAssignments.js +0 -31
  101. package/lib/rules/charAtComparisons.d.ts +0 -9
  102. package/lib/rules/charAtComparisons.js +0 -53
  103. package/lib/rules/classAssignments.d.ts +0 -9
  104. package/lib/rules/classAssignments.js +0 -27
  105. package/lib/rules/classFieldDeclarations.d.ts +0 -9
  106. package/lib/rules/classFieldDeclarations.js +0 -38
  107. package/lib/rules/classLiteralProperties.d.ts +0 -9
  108. package/lib/rules/classLiteralProperties.js +0 -43
  109. package/lib/rules/classMemberDuplicates.d.ts +0 -9
  110. package/lib/rules/classMemberDuplicates.js +0 -69
  111. package/lib/rules/classMethodsThis.d.ts +0 -13
  112. package/lib/rules/classMethodsThis.js +0 -122
  113. package/lib/rules/combinedPushes.d.ts +0 -9
  114. package/lib/rules/combinedPushes.js +0 -54
  115. package/lib/rules/consecutiveNonNullAssertions.d.ts +0 -9
  116. package/lib/rules/consecutiveNonNullAssertions.js +0 -37
  117. package/lib/rules/consoleCalls.d.ts +0 -8
  118. package/lib/rules/consoleCalls.js +0 -26
  119. package/lib/rules/constantAssignments.d.ts +0 -9
  120. package/lib/rules/constantAssignments.js +0 -39
  121. package/lib/rules/constructorGenericCalls.d.ts +0 -15
  122. package/lib/rules/constructorGenericCalls.js +0 -136
  123. package/lib/rules/constructorReturns.d.ts +0 -9
  124. package/lib/rules/constructorReturns.js +0 -39
  125. package/lib/rules/constructorSupers.d.ts +0 -9
  126. package/lib/rules/constructorSupers.js +0 -75
  127. package/lib/rules/dateConstructorClones.d.ts +0 -9
  128. package/lib/rules/dateConstructorClones.js +0 -35
  129. package/lib/rules/dateNowTimestamps.d.ts +0 -9
  130. package/lib/rules/dateNowTimestamps.js +0 -55
  131. package/lib/rules/debuggerStatements.d.ts +0 -9
  132. package/lib/rules/debuggerStatements.js +0 -31
  133. package/lib/rules/defaultCaseLast.d.ts +0 -9
  134. package/lib/rules/defaultCaseLast.js +0 -34
  135. package/lib/rules/defaultParameterLast.d.ts +0 -9
  136. package/lib/rules/defaultParameterLast.js +0 -40
  137. package/lib/rules/deprecated.d.ts +0 -9
  138. package/lib/rules/deprecated.js +0 -241
  139. package/lib/rules/destructuringConsistency.d.ts +0 -9
  140. package/lib/rules/destructuringConsistency.js +0 -104
  141. package/lib/rules/duplicateArguments.d.ts +0 -9
  142. package/lib/rules/duplicateArguments.js +0 -43
  143. package/lib/rules/dynamicDeletes.d.ts +0 -9
  144. package/lib/rules/dynamicDeletes.js +0 -35
  145. package/lib/rules/elseIfDuplicates.d.ts +0 -9
  146. package/lib/rules/elseIfDuplicates.js +0 -36
  147. package/lib/rules/elseReturns.d.ts +0 -9
  148. package/lib/rules/elseReturns.js +0 -65
  149. package/lib/rules/emptyBlocks.d.ts +0 -9
  150. package/lib/rules/emptyBlocks.js +0 -54
  151. package/lib/rules/emptyDestructures.d.ts +0 -9
  152. package/lib/rules/emptyDestructures.js +0 -32
  153. package/lib/rules/emptyEnums.d.ts +0 -9
  154. package/lib/rules/emptyEnums.js +0 -28
  155. package/lib/rules/emptyExports.d.ts +0 -9
  156. package/lib/rules/emptyExports.js +0 -58
  157. package/lib/rules/emptyFiles.d.ts +0 -9
  158. package/lib/rules/emptyFiles.js +0 -42
  159. package/lib/rules/emptyFunctions.d.ts +0 -9
  160. package/lib/rules/emptyFunctions.js +0 -59
  161. package/lib/rules/emptyModuleAttributes.d.ts +0 -9
  162. package/lib/rules/emptyModuleAttributes.js +0 -33
  163. package/lib/rules/emptyObjectTypes.d.ts +0 -9
  164. package/lib/rules/emptyObjectTypes.js +0 -45
  165. package/lib/rules/emptyStaticBlocks.d.ts +0 -9
  166. package/lib/rules/emptyStaticBlocks.js +0 -40
  167. package/lib/rules/emptyTypeParameterLists.d.ts +0 -9
  168. package/lib/rules/emptyTypeParameterLists.js +0 -29
  169. package/lib/rules/enumInitializers.d.ts +0 -9
  170. package/lib/rules/enumInitializers.js +0 -52
  171. package/lib/rules/enumMemberLiterals.d.ts +0 -9
  172. package/lib/rules/enumMemberLiterals.js +0 -37
  173. package/lib/rules/enumValueConsistency.d.ts +0 -9
  174. package/lib/rules/enumValueConsistency.js +0 -54
  175. package/lib/rules/enumValueDuplicates.d.ts +0 -9
  176. package/lib/rules/enumValueDuplicates.js +0 -43
  177. package/lib/rules/equalityOperatorNegations.d.ts +0 -8
  178. package/lib/rules/equalityOperatorNegations.js +0 -58
  179. package/lib/rules/equalityOperators.d.ts +0 -9
  180. package/lib/rules/equalityOperators.js +0 -42
  181. package/lib/rules/errorMessages.d.ts +0 -9
  182. package/lib/rules/errorMessages.js +0 -54
  183. package/lib/rules/errorSubclassProperties.d.ts +0 -9
  184. package/lib/rules/errorSubclassProperties.js +0 -142
  185. package/lib/rules/errorUnnecessaryCaptureStackTraces.d.ts +0 -9
  186. package/lib/rules/errorUnnecessaryCaptureStackTraces.js +0 -53
  187. package/lib/rules/escapeSequenceCasing.d.ts +0 -9
  188. package/lib/rules/escapeSequenceCasing.js +0 -73
  189. package/lib/rules/evals.d.ts +0 -9
  190. package/lib/rules/evals.js +0 -29
  191. package/lib/rules/evolvingVariableTypes.d.ts +0 -9
  192. package/lib/rules/evolvingVariableTypes.js +0 -31
  193. package/lib/rules/exceptionAssignments.d.ts +0 -9
  194. package/lib/rules/exceptionAssignments.js +0 -37
  195. package/lib/rules/explicitAnys.d.ts +0 -9
  196. package/lib/rules/explicitAnys.js +0 -53
  197. package/lib/rules/exponentiationOperators.d.ts +0 -9
  198. package/lib/rules/exponentiationOperators.js +0 -32
  199. package/lib/rules/exportFromImports.d.ts +0 -9
  200. package/lib/rules/exportFromImports.js +0 -117
  201. package/lib/rules/exportMutables.d.ts +0 -9
  202. package/lib/rules/exportMutables.js +0 -31
  203. package/lib/rules/exportUniqueNames.d.ts +0 -9
  204. package/lib/rules/exportUniqueNames.js +0 -63
  205. package/lib/rules/extraneousClasses.d.ts +0 -15
  206. package/lib/rules/extraneousClasses.js +0 -109
  207. package/lib/rules/fetchMethodBodies.d.ts +0 -9
  208. package/lib/rules/fetchMethodBodies.js +0 -70
  209. package/lib/rules/finallyStatementSafety.d.ts +0 -9
  210. package/lib/rules/finallyStatementSafety.js +0 -45
  211. package/lib/rules/forDirections.d.ts +0 -9
  212. package/lib/rules/forDirections.js +0 -73
  213. package/lib/rules/forInArrays.d.ts +0 -9
  214. package/lib/rules/forInArrays.js +0 -44
  215. package/lib/rules/forInGuards.d.ts +0 -8
  216. package/lib/rules/forInGuards.js +0 -42
  217. package/lib/rules/functionApplySpreads.d.ts +0 -9
  218. package/lib/rules/functionApplySpreads.js +0 -61
  219. package/lib/rules/functionAssignments.d.ts +0 -9
  220. package/lib/rules/functionAssignments.js +0 -27
  221. package/lib/rules/functionCurryingRedundancy.d.ts +0 -9
  222. package/lib/rules/functionCurryingRedundancy.js +0 -51
  223. package/lib/rules/functionDeclarationStyles.d.ts +0 -15
  224. package/lib/rules/functionDeclarationStyles.js +0 -65
  225. package/lib/rules/functionNameMatches.d.ts +0 -9
  226. package/lib/rules/functionNameMatches.js +0 -72
  227. package/lib/rules/functionNewCalls.d.ts +0 -9
  228. package/lib/rules/functionNewCalls.js +0 -40
  229. package/lib/rules/generatorFunctionYields.d.ts +0 -9
  230. package/lib/rules/generatorFunctionYields.js +0 -48
  231. package/lib/rules/getterReturns.d.ts +0 -9
  232. package/lib/rules/getterReturns.js +0 -63
  233. package/lib/rules/globalAssignments.d.ts +0 -9
  234. package/lib/rules/globalAssignments.js +0 -45
  235. package/lib/rules/globalObjectCalls.d.ts +0 -9
  236. package/lib/rules/globalObjectCalls.js +0 -40
  237. package/lib/rules/globalThisAliases.d.ts +0 -9
  238. package/lib/rules/globalThisAliases.js +0 -45
  239. package/lib/rules/impliedEvals.d.ts +0 -9
  240. package/lib/rules/impliedEvals.js +0 -128
  241. package/lib/rules/importEmptyBlocks.d.ts +0 -9
  242. package/lib/rules/importEmptyBlocks.js +0 -51
  243. package/lib/rules/importTypeSideEffects.d.ts +0 -9
  244. package/lib/rules/importTypeSideEffects.js +0 -29
  245. package/lib/rules/indexedObjectTypes.d.ts +0 -15
  246. package/lib/rules/indexedObjectTypes.js +0 -81
  247. package/lib/rules/instanceOfArrays.d.ts +0 -9
  248. package/lib/rules/instanceOfArrays.js +0 -29
  249. package/lib/rules/irregularWhitespaces.d.ts +0 -15
  250. package/lib/rules/irregularWhitespaces.js +0 -95
  251. package/lib/rules/isNaNComparisons.d.ts +0 -9
  252. package/lib/rules/isNaNComparisons.js +0 -41
  253. package/lib/rules/literalConstructorWrappers.d.ts +0 -9
  254. package/lib/rules/literalConstructorWrappers.js +0 -62
  255. package/lib/rules/mathMethods.d.ts +0 -9
  256. package/lib/rules/mathMethods.js +0 -126
  257. package/lib/rules/meaninglessVoidOperators.d.ts +0 -9
  258. package/lib/rules/meaninglessVoidOperators.js +0 -37
  259. package/lib/rules/misleadingVoidExpressions.d.ts +0 -9
  260. package/lib/rules/misleadingVoidExpressions.js +0 -126
  261. package/lib/rules/moduleSpecifierLists.d.ts +0 -9
  262. package/lib/rules/moduleSpecifierLists.js +0 -90
  263. package/lib/rules/multilineAmbiguities.d.ts +0 -9
  264. package/lib/rules/multilineAmbiguities.js +0 -62
  265. package/lib/rules/namedDefaultExports.d.ts +0 -9
  266. package/lib/rules/namedDefaultExports.js +0 -58
  267. package/lib/rules/namespaceDeclarations.d.ts +0 -13
  268. package/lib/rules/namespaceDeclarations.js +0 -35
  269. package/lib/rules/namespaceImplicitAmbientImports.d.ts +0 -9
  270. package/lib/rules/namespaceImplicitAmbientImports.js +0 -38
  271. package/lib/rules/namespaceKeywords.d.ts +0 -9
  272. package/lib/rules/namespaceKeywords.js +0 -38
  273. package/lib/rules/nativeObjectExtensions.d.ts +0 -9
  274. package/lib/rules/nativeObjectExtensions.js +0 -112
  275. package/lib/rules/negativeIndexLengthMethods.d.ts +0 -9
  276. package/lib/rules/negativeIndexLengthMethods.js +0 -178
  277. package/lib/rules/negativeZeroComparisons.d.ts +0 -9
  278. package/lib/rules/negativeZeroComparisons.js +0 -46
  279. package/lib/rules/nestedStandaloneIfs.d.ts +0 -9
  280. package/lib/rules/nestedStandaloneIfs.js +0 -103
  281. package/lib/rules/newDefinitions.d.ts +0 -9
  282. package/lib/rules/newDefinitions.js +0 -82
  283. package/lib/rules/newExpressions.d.ts +0 -9
  284. package/lib/rules/newExpressions.js +0 -36
  285. package/lib/rules/newNativeNonConstructors.d.ts +0 -9
  286. package/lib/rules/newNativeNonConstructors.js +0 -37
  287. package/lib/rules/nonNullAssertedNullishCoalesces.d.ts +0 -9
  288. package/lib/rules/nonNullAssertedNullishCoalesces.js +0 -61
  289. package/lib/rules/nonNullAssertedOptionalChains.d.ts +0 -9
  290. package/lib/rules/nonNullAssertedOptionalChains.js +0 -67
  291. package/lib/rules/nonNullAssertionPlacement.d.ts +0 -9
  292. package/lib/rules/nonNullAssertionPlacement.js +0 -92
  293. package/lib/rules/nonNullableTypeAssertions.d.ts +0 -9
  294. package/lib/rules/nonNullableTypeAssertions.js +0 -76
  295. package/lib/rules/nonOctalDecimalEscapes.d.ts +0 -9
  296. package/lib/rules/nonOctalDecimalEscapes.js +0 -46
  297. package/lib/rules/nullishCheckStyle.d.ts +0 -20
  298. package/lib/rules/nullishCheckStyle.js +0 -142
  299. package/lib/rules/nullishCoalescingOperators.d.ts +0 -21
  300. package/lib/rules/nullishCoalescingOperators.js +0 -321
  301. package/lib/rules/numberMethodRanges.d.ts +0 -9
  302. package/lib/rules/numberMethodRanges.js +0 -72
  303. package/lib/rules/numberStaticMethods.d.ts +0 -9
  304. package/lib/rules/numberStaticMethods.js +0 -51
  305. package/lib/rules/numericErasingOperations.d.ts +0 -9
  306. package/lib/rules/numericErasingOperations.js +0 -44
  307. package/lib/rules/numericLiteralParsing.d.ts +0 -9
  308. package/lib/rules/numericLiteralParsing.js +0 -55
  309. package/lib/rules/numericPrecision.d.ts +0 -9
  310. package/lib/rules/numericPrecision.js +0 -100
  311. package/lib/rules/numericSeparatorGroups.d.ts +0 -9
  312. package/lib/rules/numericSeparatorGroups.js +0 -99
  313. package/lib/rules/objectAssignSpreads.d.ts +0 -9
  314. package/lib/rules/objectAssignSpreads.js +0 -51
  315. package/lib/rules/objectCalls.d.ts +0 -9
  316. package/lib/rules/objectCalls.js +0 -36
  317. package/lib/rules/objectEntriesMethods.d.ts +0 -9
  318. package/lib/rules/objectEntriesMethods.js +0 -80
  319. package/lib/rules/objectHasOwns.d.ts +0 -9
  320. package/lib/rules/objectHasOwns.js +0 -48
  321. package/lib/rules/objectKeyDuplicates.d.ts +0 -9
  322. package/lib/rules/objectKeyDuplicates.js +0 -61
  323. package/lib/rules/objectProto.d.ts +0 -9
  324. package/lib/rules/objectProto.js +0 -48
  325. package/lib/rules/objectPrototypeBuiltIns.d.ts +0 -9
  326. package/lib/rules/objectPrototypeBuiltIns.js +0 -52
  327. package/lib/rules/objectShorthand.d.ts +0 -9
  328. package/lib/rules/objectShorthand.js +0 -82
  329. package/lib/rules/objectSpreadUnnecessaryFallbacks.d.ts +0 -9
  330. package/lib/rules/objectSpreadUnnecessaryFallbacks.js +0 -41
  331. package/lib/rules/objectTypeDefinitions.d.ts +0 -9
  332. package/lib/rules/objectTypeDefinitions.js +0 -32
  333. package/lib/rules/octalEscapes.d.ts +0 -9
  334. package/lib/rules/octalEscapes.js +0 -56
  335. package/lib/rules/octalNumbers.d.ts +0 -9
  336. package/lib/rules/octalNumbers.js +0 -53
  337. package/lib/rules/operatorAssignmentShorthand.d.ts +0 -9
  338. package/lib/rules/operatorAssignmentShorthand.js +0 -75
  339. package/lib/rules/overloadSignaturesAdjacent.d.ts +0 -9
  340. package/lib/rules/overloadSignaturesAdjacent.js +0 -138
  341. package/lib/rules/parameterReassignments.d.ts +0 -9
  342. package/lib/rules/parameterReassignments.js +0 -43
  343. package/lib/rules/parseIntRadixes.d.ts +0 -9
  344. package/lib/rules/parseIntRadixes.js +0 -57
  345. package/lib/rules/propertyAccessNotation.d.ts +0 -12
  346. package/lib/rules/propertyAccessNotation.js +0 -117
  347. package/lib/rules/recursionOnlyArguments.d.ts +0 -9
  348. package/lib/rules/recursionOnlyArguments.js +0 -62
  349. package/lib/rules/redundantTypeConstituents.d.ts +0 -9
  350. package/lib/rules/redundantTypeConstituents.js +0 -275
  351. package/lib/rules/regexAllGlobalFlags.d.ts +0 -9
  352. package/lib/rules/regexAllGlobalFlags.js +0 -54
  353. package/lib/rules/regexAmbiguousInvalidity.d.ts +0 -9
  354. package/lib/rules/regexAmbiguousInvalidity.js +0 -295
  355. package/lib/rules/regexCharacterClassRanges.d.ts +0 -9
  356. package/lib/rules/regexCharacterClassRanges.js +0 -135
  357. package/lib/rules/regexCharacterClassSetOperations.d.ts +0 -9
  358. package/lib/rules/regexCharacterClassSetOperations.js +0 -79
  359. package/lib/rules/regexCharacterClasses.d.ts +0 -9
  360. package/lib/rules/regexCharacterClasses.js +0 -232
  361. package/lib/rules/regexConciseCharacterClassNegations.d.ts +0 -9
  362. package/lib/rules/regexConciseCharacterClassNegations.js +0 -50
  363. package/lib/rules/regexContradictoryAssertions.d.ts +0 -9
  364. package/lib/rules/regexContradictoryAssertions.js +0 -208
  365. package/lib/rules/regexControlCharacterEscapes.d.ts +0 -9
  366. package/lib/rules/regexControlCharacterEscapes.js +0 -128
  367. package/lib/rules/regexControlCharacters.d.ts +0 -9
  368. package/lib/rules/regexControlCharacters.js +0 -93
  369. package/lib/rules/regexDigitMatchers.d.ts +0 -9
  370. package/lib/rules/regexDigitMatchers.js +0 -178
  371. package/lib/rules/regexDollarEscapes.d.ts +0 -9
  372. package/lib/rules/regexDollarEscapes.js +0 -89
  373. package/lib/rules/regexDuplicateCharacterClassCharacters.d.ts +0 -9
  374. package/lib/rules/regexDuplicateCharacterClassCharacters.js +0 -126
  375. package/lib/rules/regexEmptyAlternatives.d.ts +0 -9
  376. package/lib/rules/regexEmptyAlternatives.js +0 -138
  377. package/lib/rules/regexEmptyCapturingGroups.d.ts +0 -9
  378. package/lib/rules/regexEmptyCapturingGroups.js +0 -65
  379. package/lib/rules/regexEmptyCharacterClasses.d.ts +0 -9
  380. package/lib/rules/regexEmptyCharacterClasses.js +0 -66
  381. package/lib/rules/regexEmptyGroups.d.ts +0 -9
  382. package/lib/rules/regexEmptyGroups.js +0 -64
  383. package/lib/rules/regexEmptyLazyQuantifiers.d.ts +0 -9
  384. package/lib/rules/regexEmptyLazyQuantifiers.js +0 -90
  385. package/lib/rules/regexEmptyLookaroundsAssertions.d.ts +0 -9
  386. package/lib/rules/regexEmptyLookaroundsAssertions.js +0 -66
  387. package/lib/rules/regexEmptyStringLiterals.d.ts +0 -9
  388. package/lib/rules/regexEmptyStringLiterals.js +0 -64
  389. package/lib/rules/regexEscapeBackspaces.d.ts +0 -9
  390. package/lib/rules/regexEscapeBackspaces.js +0 -67
  391. package/lib/rules/regexExecutors.d.ts +0 -9
  392. package/lib/rules/regexExecutors.js +0 -56
  393. package/lib/rules/regexGraphemeStringLiterals.d.ts +0 -9
  394. package/lib/rules/regexGraphemeStringLiterals.js +0 -49
  395. package/lib/rules/regexHexadecimalEscapes.d.ts +0 -9
  396. package/lib/rules/regexHexadecimalEscapes.js +0 -69
  397. package/lib/rules/regexIgnoreCaseFlags.d.ts +0 -9
  398. package/lib/rules/regexIgnoreCaseFlags.js +0 -143
  399. package/lib/rules/regexInvisibleCharacters.d.ts +0 -9
  400. package/lib/rules/regexInvisibleCharacters.js +0 -88
  401. package/lib/rules/regexLetterCasing.d.ts +0 -9
  402. package/lib/rules/regexLetterCasing.js +0 -184
  403. package/lib/rules/regexLiterals.d.ts +0 -9
  404. package/lib/rules/regexLiterals.js +0 -87
  405. package/lib/rules/regexLookaroundAssertions.d.ts +0 -9
  406. package/lib/rules/regexLookaroundAssertions.js +0 -161
  407. package/lib/rules/regexLookaroundQuantifierOptimizations.d.ts +0 -9
  408. package/lib/rules/regexLookaroundQuantifierOptimizations.js +0 -92
  409. package/lib/rules/regexMatchNotation.d.ts +0 -9
  410. package/lib/rules/regexMatchNotation.js +0 -137
  411. package/lib/rules/regexMisleadingCapturingGroups.d.ts +0 -9
  412. package/lib/rules/regexMisleadingCapturingGroups.js +0 -227
  413. package/lib/rules/regexMisleadingQuantifiers.d.ts +0 -9
  414. package/lib/rules/regexMisleadingQuantifiers.js +0 -76
  415. package/lib/rules/regexMisleadingUnicodeCharacters.d.ts +0 -9
  416. package/lib/rules/regexMisleadingUnicodeCharacters.js +0 -201
  417. package/lib/rules/regexNamedBackreferences.d.ts +0 -9
  418. package/lib/rules/regexNamedBackreferences.js +0 -46
  419. package/lib/rules/regexNamedCaptureGroups.d.ts +0 -8
  420. package/lib/rules/regexNamedCaptureGroups.js +0 -65
  421. package/lib/rules/regexNamedReplacements.d.ts +0 -9
  422. package/lib/rules/regexNamedReplacements.js +0 -91
  423. package/lib/rules/regexNonStandardFlags.d.ts +0 -9
  424. package/lib/rules/regexNonStandardFlags.js +0 -64
  425. package/lib/rules/regexObscureRanges.d.ts +0 -9
  426. package/lib/rules/regexObscureRanges.js +0 -91
  427. package/lib/rules/regexOctalEscapes.d.ts +0 -9
  428. package/lib/rules/regexOctalEscapes.js +0 -68
  429. package/lib/rules/regexPlusQuantifiers.d.ts +0 -9
  430. package/lib/rules/regexPlusQuantifiers.js +0 -66
  431. package/lib/rules/regexPredefinedAssertions.d.ts +0 -9
  432. package/lib/rules/regexPredefinedAssertions.js +0 -125
  433. package/lib/rules/regexQuestionQuantifiers.d.ts +0 -9
  434. package/lib/rules/regexQuestionQuantifiers.js +0 -102
  435. package/lib/rules/regexRepeatQuantifiers.d.ts +0 -9
  436. package/lib/rules/regexRepeatQuantifiers.js +0 -94
  437. package/lib/rules/regexResultArrayGroups.d.ts +0 -9
  438. package/lib/rules/regexResultArrayGroups.js +0 -185
  439. package/lib/rules/regexSetOperationOptimizations.d.ts +0 -9
  440. package/lib/rules/regexSetOperationOptimizations.js +0 -175
  441. package/lib/rules/regexStandaloneBackslashes.d.ts +0 -9
  442. package/lib/rules/regexStandaloneBackslashes.js +0 -57
  443. package/lib/rules/regexStarQuantifiers.d.ts +0 -9
  444. package/lib/rules/regexStarQuantifiers.js +0 -66
  445. package/lib/rules/regexSuperLinearBacktracking.d.ts +0 -9
  446. package/lib/rules/regexSuperLinearBacktracking.js +0 -96
  447. package/lib/rules/regexSuperLinearMoves.d.ts +0 -9
  448. package/lib/rules/regexSuperLinearMoves.js +0 -140
  449. package/lib/rules/regexTestMethods.d.ts +0 -9
  450. package/lib/rules/regexTestMethods.js +0 -81
  451. package/lib/rules/regexUnicodeCodepointEscapes.d.ts +0 -9
  452. package/lib/rules/regexUnicodeCodepointEscapes.js +0 -105
  453. package/lib/rules/regexUnicodeEscapes.d.ts +0 -8
  454. package/lib/rules/regexUnicodeEscapes.js +0 -95
  455. package/lib/rules/regexUnicodeFlag.d.ts +0 -8
  456. package/lib/rules/regexUnicodeFlag.js +0 -95
  457. package/lib/rules/regexUnicodeProperties.d.ts +0 -9
  458. package/lib/rules/regexUnicodeProperties.js +0 -131
  459. package/lib/rules/regexUnnecessaryAssertions.d.ts +0 -9
  460. package/lib/rules/regexUnnecessaryAssertions.js +0 -221
  461. package/lib/rules/regexUnnecessaryBackreferences.d.ts +0 -9
  462. package/lib/rules/regexUnnecessaryBackreferences.js +0 -123
  463. package/lib/rules/regexUnnecessaryCharacterClasses.d.ts +0 -9
  464. package/lib/rules/regexUnnecessaryCharacterClasses.js +0 -72
  465. package/lib/rules/regexUnnecessaryCharacterRanges.d.ts +0 -9
  466. package/lib/rules/regexUnnecessaryCharacterRanges.js +0 -106
  467. package/lib/rules/regexUnnecessaryDisjunctions.d.ts +0 -9
  468. package/lib/rules/regexUnnecessaryDisjunctions.js +0 -116
  469. package/lib/rules/regexUnnecessaryDollarReplacements.d.ts +0 -9
  470. package/lib/rules/regexUnnecessaryDollarReplacements.js +0 -142
  471. package/lib/rules/regexUnnecessaryEscapes.d.ts +0 -9
  472. package/lib/rules/regexUnnecessaryEscapes.js +0 -134
  473. package/lib/rules/regexUnnecessaryLookaroundAssertions.d.ts +0 -9
  474. package/lib/rules/regexUnnecessaryLookaroundAssertions.js +0 -78
  475. package/lib/rules/regexUnnecessaryNestedAssertions.d.ts +0 -9
  476. package/lib/rules/regexUnnecessaryNestedAssertions.js +0 -196
  477. package/lib/rules/regexUnnecessaryNestedQuantifiers.d.ts +0 -9
  478. package/lib/rules/regexUnnecessaryNestedQuantifiers.js +0 -91
  479. package/lib/rules/regexUnnecessaryNonCapturingGroups.d.ts +0 -9
  480. package/lib/rules/regexUnnecessaryNonCapturingGroups.js +0 -102
  481. package/lib/rules/regexUnnecessaryNumericQuantifiers.d.ts +0 -9
  482. package/lib/rules/regexUnnecessaryNumericQuantifiers.js +0 -67
  483. package/lib/rules/regexUnnecessaryOptionalAssertions.d.ts +0 -9
  484. package/lib/rules/regexUnnecessaryOptionalAssertions.js +0 -135
  485. package/lib/rules/regexUnnecessaryReferentialBackreferences.d.ts +0 -9
  486. package/lib/rules/regexUnnecessaryReferentialBackreferences.js +0 -121
  487. package/lib/rules/regexUnnecessarySetOperands.d.ts +0 -9
  488. package/lib/rules/regexUnnecessarySetOperands.js +0 -134
  489. package/lib/rules/regexUnusedCapturingGroups.d.ts +0 -9
  490. package/lib/rules/regexUnusedCapturingGroups.js +0 -67
  491. package/lib/rules/regexUnusedFlags.d.ts +0 -9
  492. package/lib/rules/regexUnusedFlags.js +0 -114
  493. package/lib/rules/regexUnusedLazyQuantifiers.d.ts +0 -9
  494. package/lib/rules/regexUnusedLazyQuantifiers.js +0 -61
  495. package/lib/rules/regexUnusedQuantifiers.d.ts +0 -9
  496. package/lib/rules/regexUnusedQuantifiers.js +0 -61
  497. package/lib/rules/regexValidity.d.ts +0 -9
  498. package/lib/rules/regexValidity.js +0 -144
  499. package/lib/rules/regexWordMatchers.d.ts +0 -9
  500. package/lib/rules/regexWordMatchers.js +0 -144
  501. package/lib/rules/regexZeroQuantifiers.d.ts +0 -9
  502. package/lib/rules/regexZeroQuantifiers.js +0 -58
  503. package/lib/rules/requireImports.d.ts +0 -9
  504. package/lib/rules/requireImports.js +0 -46
  505. package/lib/rules/responseJsonMethods.d.ts +0 -9
  506. package/lib/rules/responseJsonMethods.js +0 -49
  507. package/lib/rules/restrictedIdentifiers.d.ts +0 -12
  508. package/lib/rules/restrictedIdentifiers.js +0 -39
  509. package/lib/rules/restrictedImports.d.ts +0 -26
  510. package/lib/rules/restrictedImports.js +0 -164
  511. package/lib/rules/returnAssignments.d.ts +0 -9
  512. package/lib/rules/returnAssignments.js +0 -36
  513. package/lib/rules/returnThisTypes.d.ts +0 -9
  514. package/lib/rules/returnThisTypes.js +0 -92
  515. package/lib/rules/ruleCreator.d.ts +0 -2
  516. package/lib/rules/ruleCreator.js +0 -15
  517. package/lib/rules/selfAssignments.d.ts +0 -9
  518. package/lib/rules/selfAssignments.js +0 -27
  519. package/lib/rules/sequences.d.ts +0 -9
  520. package/lib/rules/sequences.js +0 -26
  521. package/lib/rules/setSizeLengthChecks.d.ts +0 -9
  522. package/lib/rules/setSizeLengthChecks.js +0 -46
  523. package/lib/rules/setterReturns.d.ts +0 -9
  524. package/lib/rules/setterReturns.js +0 -39
  525. package/lib/rules/shadowedRestrictedNames.d.ts +0 -9
  526. package/lib/rules/shadowedRestrictedNames.js +0 -66
  527. package/lib/rules/singleVariableDeclarations.d.ts +0 -9
  528. package/lib/rules/singleVariableDeclarations.js +0 -34
  529. package/lib/rules/sizeComparisonOperators.d.ts +0 -15
  530. package/lib/rules/sizeComparisonOperators.js +0 -146
  531. package/lib/rules/sparseArrays.d.ts +0 -9
  532. package/lib/rules/sparseArrays.js +0 -41
  533. package/lib/rules/staticMemberOnlyClasses.d.ts +0 -9
  534. package/lib/rules/staticMemberOnlyClasses.js +0 -75
  535. package/lib/rules/stringCaseMismatches.d.ts +0 -9
  536. package/lib/rules/stringCaseMismatches.js +0 -53
  537. package/lib/rules/stringCodePoints.d.ts +0 -9
  538. package/lib/rules/stringCodePoints.js +0 -48
  539. package/lib/rules/stringSliceMethods.d.ts +0 -9
  540. package/lib/rules/stringSliceMethods.js +0 -45
  541. package/lib/rules/stringStartsEndsWith.d.ts +0 -9
  542. package/lib/rules/stringStartsEndsWith.js +0 -77
  543. package/lib/rules/structuredCloneMethods.d.ts +0 -9
  544. package/lib/rules/structuredCloneMethods.js +0 -37
  545. package/lib/rules/symbolDescriptions.d.ts +0 -9
  546. package/lib/rules/symbolDescriptions.js +0 -30
  547. package/lib/rules/thisAliases.d.ts +0 -9
  548. package/lib/rules/thisAliases.js +0 -42
  549. package/lib/rules/thisBeforeSuper.d.ts +0 -9
  550. package/lib/rules/thisBeforeSuper.js +0 -84
  551. package/lib/rules/throwErrors.d.ts +0 -9
  552. package/lib/rules/throwErrors.js +0 -59
  553. package/lib/rules/topLevelAwaits.d.ts +0 -9
  554. package/lib/rules/topLevelAwaits.js +0 -47
  555. package/lib/rules/tripleSlashReferenceValidity.d.ts +0 -9
  556. package/lib/rules/tripleSlashReferenceValidity.js +0 -52
  557. package/lib/rules/tripleSlashReferences.d.ts +0 -9
  558. package/lib/rules/tripleSlashReferences.js +0 -32
  559. package/lib/rules/tsComments.d.ts +0 -21
  560. package/lib/rules/tsComments.js +0 -128
  561. package/lib/rules/tslintComments.d.ts +0 -9
  562. package/lib/rules/tslintComments.js +0 -34
  563. package/lib/rules/typeAssertionStyles.d.ts +0 -9
  564. package/lib/rules/typeAssertionStyles.js +0 -30
  565. package/lib/rules/typeImports.d.ts +0 -19
  566. package/lib/rules/typeImports.js +0 -281
  567. package/lib/rules/typeofComparisons.d.ts +0 -9
  568. package/lib/rules/typeofComparisons.js +0 -53
  569. package/lib/rules/unassignedVariables.d.ts +0 -9
  570. package/lib/rules/unassignedVariables.js +0 -32
  571. package/lib/rules/undefinedTypeofChecks.d.ts +0 -9
  572. package/lib/rules/undefinedTypeofChecks.js +0 -39
  573. package/lib/rules/undefinedVariables.d.ts +0 -9
  574. package/lib/rules/undefinedVariables.js +0 -37
  575. package/lib/rules/unicodeBOMs.d.ts +0 -9
  576. package/lib/rules/unicodeBOMs.js +0 -37
  577. package/lib/rules/unnecessaryBinds.d.ts +0 -9
  578. package/lib/rules/unnecessaryBinds.js +0 -76
  579. package/lib/rules/unnecessaryBlocks.d.ts +0 -9
  580. package/lib/rules/unnecessaryBlocks.js +0 -58
  581. package/lib/rules/unnecessaryBooleanCasts.d.ts +0 -9
  582. package/lib/rules/unnecessaryBooleanCasts.js +0 -56
  583. package/lib/rules/unnecessaryCatches.d.ts +0 -9
  584. package/lib/rules/unnecessaryCatches.js +0 -46
  585. package/lib/rules/unnecessaryComparisons.d.ts +0 -9
  586. package/lib/rules/unnecessaryComparisons.js +0 -291
  587. package/lib/rules/unnecessaryConcatenation.d.ts +0 -9
  588. package/lib/rules/unnecessaryConcatenation.js +0 -26
  589. package/lib/rules/unnecessaryEscapes.d.ts +0 -9
  590. package/lib/rules/unnecessaryEscapes.js +0 -132
  591. package/lib/rules/unnecessaryMathClamps.d.ts +0 -9
  592. package/lib/rules/unnecessaryMathClamps.js +0 -106
  593. package/lib/rules/unnecessaryNumericFractions.d.ts +0 -9
  594. package/lib/rules/unnecessaryNumericFractions.js +0 -48
  595. package/lib/rules/unnecessaryRenames.d.ts +0 -9
  596. package/lib/rules/unnecessaryRenames.js +0 -90
  597. package/lib/rules/unnecessaryTernaries.d.ts +0 -9
  598. package/lib/rules/unnecessaryTernaries.js +0 -86
  599. package/lib/rules/unnecessaryUseStricts.d.ts +0 -9
  600. package/lib/rules/unnecessaryUseStricts.js +0 -38
  601. package/lib/rules/unsafeNegations.d.ts +0 -9
  602. package/lib/rules/unsafeNegations.js +0 -36
  603. package/lib/rules/utils/collectAccessorPairs.d.ts +0 -11
  604. package/lib/rules/utils/collectAccessorPairs.js +0 -27
  605. package/lib/rules/utils/countCommentsInRange.d.ts +0 -2
  606. package/lib/rules/utils/countCommentsInRange.js +0 -10
  607. package/lib/rules/utils/discriminateAnyType.d.ts +0 -15
  608. package/lib/rules/utils/discriminateAnyType.js +0 -36
  609. package/lib/rules/utils/equalityOperators.d.ts +0 -8
  610. package/lib/rules/utils/equalityOperators.js +0 -34
  611. package/lib/rules/utils/forEachReturnStatement.d.ts +0 -2
  612. package/lib/rules/utils/forEachReturnStatement.js +0 -27
  613. package/lib/rules/utils/formatReportedType.d.ts +0 -3
  614. package/lib/rules/utils/formatReportedType.js +0 -7
  615. package/lib/rules/utils/getConstrainedType.d.ts +0 -2
  616. package/lib/rules/utils/getConstrainedType.js +0 -7
  617. package/lib/rules/utils/getFunctionName.d.ts +0 -2
  618. package/lib/rules/utils/getFunctionName.js +0 -14
  619. package/lib/rules/utils/getRegExpConstruction.d.ts +0 -8
  620. package/lib/rules/utils/getRegExpConstruction.js +0 -25
  621. package/lib/rules/utils/getRegExpLiteralDetails.d.ts +0 -6
  622. package/lib/rules/utils/getRegExpLiteralDetails.js +0 -11
  623. package/lib/rules/utils/getThisExpression.d.ts +0 -2
  624. package/lib/rules/utils/getThisExpression.js +0 -14
  625. package/lib/rules/utils/isArrayOrTupleTypeAtLocation.d.ts +0 -2
  626. package/lib/rules/utils/isArrayOrTupleTypeAtLocation.js +0 -11
  627. package/lib/rules/utils/isBuiltinSymbolLike.d.ts +0 -2
  628. package/lib/rules/utils/isBuiltinSymbolLike.js +0 -31
  629. package/lib/rules/utils/isDirectEqualityCheck.d.ts +0 -3
  630. package/lib/rules/utils/isDirectEqualityCheck.js +0 -27
  631. package/lib/rules/utils/isErrorSubclass.d.ts +0 -3
  632. package/lib/rules/utils/isErrorSubclass.js +0 -25
  633. package/lib/rules/utils/isInBooleanContext.d.ts +0 -2
  634. package/lib/rules/utils/isInBooleanContext.js +0 -20
  635. package/lib/rules/utils/isTypeRecursive.d.ts +0 -2
  636. package/lib/rules/utils/isTypeRecursive.js +0 -6
  637. package/lib/rules/utils/isUnsafeAssignment.d.ts +0 -14
  638. package/lib/rules/utils/isUnsafeAssignment.js +0 -43
  639. package/lib/rules/utils/operators.d.ts +0 -4
  640. package/lib/rules/utils/operators.js +0 -33
  641. package/lib/rules/utils/parseRegexpAst.d.ts +0 -1
  642. package/lib/rules/utils/parseRegexpAst.js +0 -15
  643. package/lib/rules/utils/parseRegexpAstFull.d.ts +0 -2
  644. package/lib/rules/utils/parseRegexpAstFull.js +0 -16
  645. package/lib/rules/utils/skipParentheses.d.ts +0 -2
  646. package/lib/rules/utils/skipParentheses.js +0 -8
  647. package/lib/rules/variableDeletions.d.ts +0 -9
  648. package/lib/rules/variableDeletions.js +0 -33
  649. package/lib/rules/voidOperator.d.ts +0 -9
  650. package/lib/rules/voidOperator.js +0 -32
  651. package/lib/rules/withStatements.d.ts +0 -9
  652. package/lib/rules/withStatements.js +0 -28
  653. package/lib/rules/wrapperObjects.d.ts +0 -9
  654. package/lib/rules/wrapperObjects.js +0 -34
  655. package/lib/type-utils/getSpecifierNames.d.ts +0 -2
  656. package/lib/type-utils/getSpecifierNames.js +0 -7
  657. package/lib/type-utils/isDeclaredInModuleBlock.d.ts +0 -2
  658. package/lib/type-utils/isDeclaredInModuleBlock.js +0 -12
  659. package/lib/type-utils/isFromFile.d.ts +0 -2
  660. package/lib/type-utils/isFromFile.js +0 -11
  661. package/lib/type-utils/isFromPackage.d.ts +0 -2
  662. package/lib/type-utils/isFromPackage.js +0 -13
  663. package/lib/type-utils/matchesSpecifier.d.ts +0 -3
  664. package/lib/type-utils/matchesSpecifier.js +0 -18
  665. package/lib/type-utils/schemas.d.ts +0 -14
  666. package/lib/type-utils/schemas.js +0 -23
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Reports attempting to reassign variables declared with const.";
3
- readonly id: "constantAssignments";
4
- readonly presets: readonly ["javascript"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "noConstAssign", undefined>;
9
- export default _default;
@@ -1,39 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { getModifyingReferences, getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import ts, { SyntaxKind } from "typescript";
4
- //#region src/rules/constantAssignments.ts
5
- var constantAssignments_default = ruleCreator.createRule(typescriptLanguage, {
6
- about: {
7
- description: "Reports attempting to reassign variables declared with const.",
8
- id: "constantAssignments",
9
- presets: ["javascript"]
10
- },
11
- messages: { noConstAssign: {
12
- primary: "Variables declared with const cannot be reassigned; use let or var instead if reassignment is needed.",
13
- secondary: ["The const keyword creates a read-only reference to a value, preventing reassignment.", "While properties of const objects and elements of const arrays can be mutated, the binding itself cannot be reassigned."],
14
- suggestions: ["Use let instead of const if you need to reassign the variable."]
15
- } },
16
- setup(context) {
17
- function collectBindingElements(name) {
18
- if (name.kind === SyntaxKind.Identifier) return [name];
19
- const identifiers = [];
20
- for (const element of name.elements) if (element.kind === SyntaxKind.BindingElement) identifiers.push(...collectBindingElements(element.name));
21
- return identifiers;
22
- }
23
- return { visitors: { VariableDeclarationList: (node, { sourceFile }) => {
24
- if (!(node.flags & ts.NodeFlags.Const) || !node.declarations.length) return;
25
- for (const declaration of node.declarations) {
26
- const identifiers = collectBindingElements(declaration.name);
27
- for (const identifier of identifiers) {
28
- const modifyingReferences = getModifyingReferences(identifier, sourceFile);
29
- for (const reference of modifyingReferences) context.report({
30
- message: "noConstAssign",
31
- range: getTSNodeRange(reference, sourceFile)
32
- });
33
- }
34
- }
35
- } } };
36
- }
37
- });
38
- //#endregion
39
- export { constantAssignments_default as default };
@@ -1,15 +0,0 @@
1
- import { z } from "zod/v4";
2
- declare const _default: import("@flint.fyi/core").Rule<{
3
- readonly description: "Reports inconsistent placement of type arguments in constructor calls.";
4
- readonly id: "constructorGenericCalls";
5
- readonly presets: readonly ["stylistic", "stylisticStrict"];
6
- } & {
7
- readonly pluginId: string;
8
- readonly url: string;
9
- }, "preferConstructor" | "preferTypeAnnotation", {
10
- style: z.ZodDefault<z.ZodEnum<{
11
- constructor: "constructor";
12
- "type-annotation": "type-annotation";
13
- }>>;
14
- }>;
15
- export default _default;
@@ -1,136 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import ts from "typescript";
4
- import { z as z$1 } from "zod/v4";
5
- //#region src/rules/constructorGenericCalls.ts
6
- const builtInTypedArrays = /* @__PURE__ */ new Set([
7
- "Float32Array",
8
- "Float64Array",
9
- "Int8Array",
10
- "Int16Array",
11
- "Int32Array",
12
- "Uint8Array",
13
- "Uint8ClampedArray",
14
- "Uint16Array",
15
- "Uint32Array"
16
- ]);
17
- function getTypeArgumentsRange(parent, typeArguments, sourceFile) {
18
- const children = parent.getChildren(sourceFile);
19
- let begin = typeArguments.pos;
20
- let end = typeArguments.end;
21
- for (const child of children) if (child.kind === ts.SyntaxKind.LessThanToken) begin = child.getStart(sourceFile);
22
- else if (child.kind === ts.SyntaxKind.GreaterThanToken) end = child.getEnd();
23
- return {
24
- begin,
25
- end
26
- };
27
- }
28
- function getTypeArgumentsText(parent, typeArguments, sourceFile) {
29
- const range = getTypeArgumentsRange(parent, typeArguments, sourceFile);
30
- return sourceFile.text.slice(range.begin, range.end);
31
- }
32
- function isBuiltInTypedArray(name) {
33
- return builtInTypedArrays.has(name);
34
- }
35
- const options = { style: z$1.enum(["constructor", "type-annotation"]).default("constructor").describe("Where to prefer type arguments: 'constructor' for the constructor call, 'type-annotation' for the type annotation.") };
36
- var constructorGenericCalls_default = ruleCreator.createRule(typescriptLanguage, {
37
- about: {
38
- description: "Reports inconsistent placement of type arguments in constructor calls.",
39
- id: "constructorGenericCalls",
40
- presets: ["stylistic", "stylisticStrict"]
41
- },
42
- messages: {
43
- preferConstructor: {
44
- primary: "Prefer specifying the type argument on the constructor call instead of the type annotation.",
45
- secondary: ["When type arguments are needed, specifying them on the constructor is more explicit.", "This makes the code more readable by keeping the type information with the value."],
46
- suggestions: ["Move the type argument from the type annotation to the constructor call."]
47
- },
48
- preferTypeAnnotation: {
49
- primary: "Prefer specifying the type argument on the type annotation instead of the constructor call.",
50
- secondary: ["Specifying type arguments on the type annotation keeps the variable's type explicit.", "This approach can make refactoring easier when changing the right-hand side."],
51
- suggestions: ["Move the type argument from the constructor call to the type annotation."]
52
- }
53
- },
54
- options,
55
- setup(context) {
56
- function checkNode(node, { options, sourceFile }) {
57
- const identifier = node.name;
58
- const typeAnnotation = node.type;
59
- const initializer = node.initializer;
60
- const style = options.style;
61
- if (!initializer || !ts.isNewExpression(initializer) || !ts.isIdentifier(initializer.expression)) return;
62
- const constructorName = initializer.expression.text;
63
- if (!typeAnnotation) {
64
- if (style === "type-annotation" && initializer.typeArguments) {
65
- const typeArgsText = getTypeArgumentsText(initializer, initializer.typeArguments, sourceFile);
66
- const identifierEnd = identifier.getEnd();
67
- const typeAnnotationText = `${constructorName}${typeArgsText}`;
68
- const typeArgumentsRange = getTypeArgumentsRange(initializer, initializer.typeArguments, sourceFile);
69
- context.report({
70
- fix: [{
71
- range: typeArgumentsRange,
72
- text: ""
73
- }, {
74
- range: {
75
- begin: identifierEnd,
76
- end: identifierEnd
77
- },
78
- text: `: ${typeAnnotationText}`
79
- }],
80
- message: "preferTypeAnnotation",
81
- range: typeArgumentsRange
82
- });
83
- }
84
- return;
85
- }
86
- if (!ts.isTypeReferenceNode(typeAnnotation) || !ts.isIdentifier(typeAnnotation.typeName) || typeAnnotation.typeName.text !== constructorName || isBuiltInTypedArray(typeAnnotation.typeName.text) || !!typeAnnotation.typeArguments !== !initializer.typeArguments) return;
87
- if (style === "constructor" && typeAnnotation.typeArguments && !initializer.typeArguments) {
88
- const typeArgsText = getTypeArgumentsText(typeAnnotation, typeAnnotation.typeArguments, sourceFile);
89
- const typeArgsRange = getTypeArgumentsRange(typeAnnotation, typeAnnotation.typeArguments, sourceFile);
90
- const constructorEnd = initializer.expression.getEnd();
91
- const hasParens = initializer.arguments !== void 0;
92
- context.report({
93
- fix: [{
94
- range: {
95
- begin: typeAnnotation.getStart(sourceFile),
96
- end: typeAnnotation.getEnd()
97
- },
98
- text: constructorName
99
- }, {
100
- range: {
101
- begin: constructorEnd,
102
- end: constructorEnd
103
- },
104
- text: typeArgsText + (hasParens ? "" : "()")
105
- }],
106
- message: "preferConstructor",
107
- range: typeArgsRange
108
- });
109
- } else if (style === "type-annotation" && !typeAnnotation.typeArguments && initializer.typeArguments) {
110
- const typeArgumentsText = getTypeArgumentsText(initializer, initializer.typeArguments, sourceFile);
111
- const typeArgumentsRange = getTypeArgumentsRange(initializer, initializer.typeArguments, sourceFile);
112
- const newTypeAnnotation = `${typeAnnotation.typeName.text}${typeArgumentsText}`;
113
- context.report({
114
- fix: [{
115
- range: {
116
- begin: typeAnnotation.getStart(sourceFile),
117
- end: typeAnnotation.getEnd()
118
- },
119
- text: newTypeAnnotation
120
- }, {
121
- range: typeArgumentsRange,
122
- text: ""
123
- }],
124
- message: "preferTypeAnnotation",
125
- range: typeArgumentsRange
126
- });
127
- }
128
- }
129
- return { visitors: {
130
- PropertyDeclaration: checkNode,
131
- VariableDeclaration: checkNode
132
- } };
133
- }
134
- });
135
- //#endregion
136
- export { constructorGenericCalls_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Reports returning values from constructor functions.";
3
- readonly id: "constructorReturns";
4
- readonly presets: readonly ["javascript"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "noConstructorReturn", undefined>;
9
- export default _default;
@@ -1,39 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import ts from "typescript";
4
- import * as tsutils from "ts-api-utils";
5
- //#region src/rules/constructorReturns.ts
6
- var constructorReturns_default = ruleCreator.createRule(typescriptLanguage, {
7
- about: {
8
- description: "Reports returning values from constructor functions.",
9
- id: "constructorReturns",
10
- presets: ["javascript"]
11
- },
12
- messages: { noConstructorReturn: {
13
- primary: "Returning a value from a constructor function overrides the newly created instance.",
14
- secondary: ["This behavior is often unintentional and can lead to unexpected results.", "If you need to return a different object, consider using a factory function instead."],
15
- suggestions: ["Remove the return statement, or return without a value to exit early."]
16
- } },
17
- setup(context) {
18
- return { visitors: { Constructor: (node, { sourceFile }) => {
19
- if (!node.body) return;
20
- function checkForReturnStatements(node) {
21
- if (ts.isReturnStatement(node)) {
22
- if (node.expression) context.report({
23
- message: "noConstructorReturn",
24
- range: {
25
- begin: node.getStart(sourceFile),
26
- end: node.getEnd()
27
- }
28
- });
29
- return;
30
- }
31
- if (tsutils.isFunctionScopeBoundary(node)) return;
32
- ts.forEachChild(node, checkForReturnStatements);
33
- }
34
- ts.forEachChild(node.body, checkForReturnStatements);
35
- } } };
36
- }
37
- });
38
- //#endregion
39
- export { constructorReturns_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Reports constructors of derived classes that do not call `super()`, and constructors of non-derived classes that call `super()`.";
3
- readonly id: "constructorSupers";
4
- readonly presets: readonly ["javascript"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "missingSuperCall" | "unexpectedSuperCall", undefined>;
9
- export default _default;
@@ -1,75 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import ts from "typescript";
4
- import * as tsutils from "ts-api-utils";
5
- //#region src/rules/constructorSupers.ts
6
- function classHasExtendsClause(node) {
7
- return node.heritageClauses?.some((clause) => clause.token === ts.SyntaxKind.ExtendsKeyword);
8
- }
9
- function containsSuperCall(node) {
10
- if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.SuperKeyword) return true;
11
- if (tsutils.isFunctionScopeBoundary(node)) return false;
12
- return ts.forEachChild(node, containsSuperCall) ?? false;
13
- }
14
- var constructorSupers_default = ruleCreator.createRule(typescriptLanguage, {
15
- about: {
16
- description: "Reports constructors of derived classes that do not call `super()`, and constructors of non-derived classes that call `super()`.",
17
- id: "constructorSupers",
18
- presets: ["javascript"]
19
- },
20
- messages: {
21
- missingSuperCall: {
22
- primary: "Constructors of derived classes must call `super()` before using `this` or returning.",
23
- secondary: ["The derived class constructor must initialize the parent class by calling `super()` before accessing `this`.", "Failing to call `super()` in a derived class constructor causes a runtime error."],
24
- suggestions: ["Add a `super()` call at the beginning of the constructor.", "Pass required arguments to `super()` if the parent constructor expects them."]
25
- },
26
- unexpectedSuperCall: {
27
- primary: "Constructors of non-derived classes must not call `super()`.",
28
- secondary: ["This class does not extend another class, so there is no parent constructor to call.", "Calling `super()` in a non-derived class causes a syntax error."],
29
- suggestions: ["Remove the `super()` call.", "If this class should inherit from another class, add an `extends` clause."]
30
- }
31
- },
32
- setup(context) {
33
- function checkConstructor(classNode, constructor, sourceFile) {
34
- if (!constructor.body) return;
35
- const isDerivedClass = classHasExtendsClause(classNode) ?? false;
36
- const hasSuperCall = containsSuperCall(constructor.body);
37
- if (isDerivedClass && !hasSuperCall) {
38
- const constructorKeyword = constructor.getChildren(sourceFile).find((child) => child.kind === ts.SyntaxKind.Constructor);
39
- context.report({
40
- message: "missingSuperCall",
41
- range: {
42
- begin: constructorKeyword?.getStart(sourceFile) ?? constructor.getStart(sourceFile),
43
- end: constructorKeyword?.getEnd() ?? constructor.getStart(sourceFile) + 11
44
- }
45
- });
46
- }
47
- if (!isDerivedClass && hasSuperCall) findAndReportSuperCalls(constructor.body, sourceFile);
48
- }
49
- function findAndReportSuperCalls(node, sourceFile) {
50
- if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.SuperKeyword) {
51
- context.report({
52
- message: "unexpectedSuperCall",
53
- range: {
54
- begin: node.getStart(sourceFile),
55
- end: node.getEnd()
56
- }
57
- });
58
- return;
59
- }
60
- if (tsutils.isFunctionScopeBoundary(node)) return;
61
- ts.forEachChild(node, (child) => {
62
- findAndReportSuperCalls(child, sourceFile);
63
- });
64
- }
65
- function checkClass(node, { sourceFile }) {
66
- for (const member of node.members) if (member.kind === ts.SyntaxKind.Constructor) checkConstructor(node, member, sourceFile);
67
- }
68
- return { visitors: {
69
- ClassDeclaration: checkClass,
70
- ClassExpression: checkClass
71
- } };
72
- }
73
- });
74
- //#endregion
75
- export { constructorSupers_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Prefer passing a `Date` directly to the `Date` constructor when cloning, rather than calling `getTime()`.";
3
- readonly id: "dateConstructorClones";
4
- readonly presets: readonly ["logical"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "unnecessaryGetTime", undefined>;
9
- export default _default;
@@ -1,35 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { isGlobalDeclarationOfName, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import { SyntaxKind } from "typescript";
4
- //#region src/rules/dateConstructorClones.ts
5
- function isDateType(node, typeChecker) {
6
- return typeChecker.getTypeAtLocation(node).getSymbol()?.getName() === "Date";
7
- }
8
- var dateConstructorClones_default = ruleCreator.createRule(typescriptLanguage, {
9
- about: {
10
- description: "Prefer passing a `Date` directly to the `Date` constructor when cloning, rather than calling `getTime()`.",
11
- id: "dateConstructorClones",
12
- presets: ["logical"]
13
- },
14
- messages: { unnecessaryGetTime: {
15
- primary: "Prefer passing the Date directly instead of calling getTime().",
16
- secondary: ["The Date constructor can clone a Date object directly when passed as an argument.", "Calling getTime() first is unnecessary since ES2015."],
17
- suggestions: ["Remove the `.getTime()` call and pass the Date directly."]
18
- } },
19
- setup(context) {
20
- return { visitors: { NewExpression: (node, { program, sourceFile, typeChecker }) => {
21
- if (node.expression.kind !== SyntaxKind.Identifier || node.expression.text !== "Date" || node.arguments?.length !== 1 || !isGlobalDeclarationOfName(node.expression, "Date", typeChecker, program)) return;
22
- const argument = node.arguments[0];
23
- if (argument.kind !== SyntaxKind.CallExpression || argument.expression.kind !== SyntaxKind.PropertyAccessExpression || argument.expression.name.kind !== SyntaxKind.Identifier || argument.expression.name.text !== "getTime" || !!argument.arguments.length || !isDateType(argument.expression.expression, typeChecker)) return;
24
- context.report({
25
- message: "unnecessaryGetTime",
26
- range: {
27
- begin: argument.expression.name.getStart(sourceFile),
28
- end: argument.getEnd()
29
- }
30
- });
31
- } } };
32
- }
33
- });
34
- //#endregion
35
- export { dateConstructorClones_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Prefer the shorter `Date.now()` to get the number of milliseconds since the Unix Epoch.";
3
- readonly id: "dateNowTimestamps";
4
- readonly presets: readonly ["logical", "logicalStrict"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "preferDateNow", undefined>;
9
- export default _default;
@@ -1,55 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { getTSNodeRange, isGlobalDeclarationOfName, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import { SyntaxKind } from "typescript";
4
- //#region src/rules/dateNowTimestamps.ts
5
- var dateNowTimestamps_default = ruleCreator.createRule(typescriptLanguage, {
6
- about: {
7
- description: "Prefer the shorter `Date.now()` to get the number of milliseconds since the Unix Epoch.",
8
- id: "dateNowTimestamps",
9
- presets: ["logical", "logicalStrict"]
10
- },
11
- messages: { preferDateNow: {
12
- primary: "Prefer the shorter `Date.now()` to get the current timestamp.",
13
- secondary: ["`Date.now()` is shorter and avoids unnecessary instantiation of `Date` objects.", "It's more efficient and clearer than alternatives like `new Date().getTime()`."],
14
- suggestions: ["Replace with `Date.now()`."]
15
- } },
16
- setup(context) {
17
- function isNewDateWithNoArguments(node, typeChecker, program) {
18
- return node.expression.kind === SyntaxKind.Identifier && node.expression.text === "Date" && !node.arguments?.length && isGlobalDeclarationOfName(node.expression, "Date", typeChecker, program);
19
- }
20
- return { visitors: {
21
- CallExpression: (node, { program, sourceFile, typeChecker }) => {
22
- if (node.expression.kind !== SyntaxKind.PropertyAccessExpression || node.expression.name.kind !== SyntaxKind.Identifier || !!node.arguments.length) return;
23
- const methodName = node.expression.name.text;
24
- if (methodName !== "getTime" && methodName !== "valueOf") return;
25
- if (node.expression.expression.kind !== SyntaxKind.NewExpression || !isNewDateWithNoArguments(node.expression.expression, typeChecker, program)) return;
26
- context.report({
27
- message: "preferDateNow",
28
- range: {
29
- begin: node.expression.expression.getStart(sourceFile),
30
- end: node.getEnd()
31
- }
32
- });
33
- },
34
- NewExpression: (node, { program, sourceFile, typeChecker }) => {
35
- if (!isNewDateWithNoArguments(node, typeChecker, program)) return;
36
- switch (node.parent.kind) {
37
- case SyntaxKind.CallExpression:
38
- if (node.parent.expression.kind === SyntaxKind.Identifier && (node.parent.expression.text === "BigInt" || node.parent.expression.text === "Number") && node.parent.arguments.length === 1 && isGlobalDeclarationOfName(node.parent.expression, node.parent.expression.text, typeChecker, program)) context.report({
39
- message: "preferDateNow",
40
- range: getTSNodeRange(node.parent, sourceFile)
41
- });
42
- break;
43
- case SyntaxKind.PrefixUnaryExpression:
44
- if (node.parent.operator === SyntaxKind.MinusToken || node.parent.operator === SyntaxKind.PlusToken) context.report({
45
- message: "preferDateNow",
46
- range: getTSNodeRange(node, sourceFile)
47
- });
48
- break;
49
- }
50
- }
51
- } };
52
- }
53
- });
54
- //#endregion
55
- export { dateNowTimestamps_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Reports using debugger statements.";
3
- readonly id: "debuggerStatements";
4
- readonly presets: readonly ["logical", "logicalStrict"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "noDebugger", undefined>;
9
- export default _default;
@@ -1,31 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- //#region src/rules/debuggerStatements.ts
4
- var debuggerStatements_default = ruleCreator.createRule(typescriptLanguage, {
5
- about: {
6
- description: "Reports using debugger statements.",
7
- id: "debuggerStatements",
8
- presets: ["logical", "logicalStrict"]
9
- },
10
- messages: { noDebugger: {
11
- primary: "Debugger statements should not be used in production code.",
12
- secondary: ["The `debugger` statement causes the JavaScript runtime to pause execution and start a debugger if one is available, such as when browser developer tools are open.", "This can be useful during development, but should not be left in production code."],
13
- suggestions: ["Remove the `debugger` statement before shipping this code to users."]
14
- } },
15
- setup(context) {
16
- return { visitors: { DebuggerStatement: (node, { sourceFile }) => {
17
- const range = getTSNodeRange(node, sourceFile);
18
- context.report({
19
- message: "noDebugger",
20
- range,
21
- suggestions: [{
22
- id: "removeDebugger",
23
- range,
24
- text: ""
25
- }]
26
- });
27
- } } };
28
- }
29
- });
30
- //#endregion
31
- export { debuggerStatements_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Reports switch statements where the default clause is not last.";
3
- readonly id: "defaultCaseLast";
4
- readonly presets: readonly ["logical", "logicalStrict"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "defaultCaseShouldBeLast", undefined>;
9
- export default _default;
@@ -1,34 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import { SyntaxKind } from "typescript";
4
- import { nullThrows } from "@flint.fyi/utils";
5
- //#region src/rules/defaultCaseLast.ts
6
- var defaultCaseLast_default = ruleCreator.createRule(typescriptLanguage, {
7
- about: {
8
- description: "Reports switch statements where the default clause is not last.",
9
- id: "defaultCaseLast",
10
- presets: ["logical", "logicalStrict"]
11
- },
12
- messages: { defaultCaseShouldBeLast: {
13
- primary: "Default clauses in switch statements should be last.",
14
- secondary: ["Placing the default clause in a position other than last can lead to confusion and unexpected behavior.", "While the default clause is executed when no case matches, having it in the middle of other cases makes the control flow harder to follow."],
15
- suggestions: ["Move the default clause to the end of the switch statement to improve code clarity."]
16
- } },
17
- setup(context) {
18
- return { visitors: { SwitchStatement: (node, { sourceFile }) => {
19
- const clauses = node.caseBlock.clauses;
20
- const defaultClauseIndex = clauses.findIndex((clause) => clause.kind === SyntaxKind.DefaultClause);
21
- if (defaultClauseIndex === -1 || defaultClauseIndex === clauses.length - 1) return;
22
- const defaultClause = nullThrows(clauses[defaultClauseIndex], "Default clause is expected to be present by prior length check");
23
- context.report({
24
- message: "defaultCaseShouldBeLast",
25
- range: {
26
- begin: defaultClause.getStart(sourceFile),
27
- end: defaultClause.getStart(sourceFile) + 7
28
- }
29
- });
30
- } } };
31
- }
32
- });
33
- //#endregion
34
- export { defaultCaseLast_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Enforce default parameters to be last.";
3
- readonly id: "defaultParameterLast";
4
- readonly presets: readonly ["javascript"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "defaultParameterLast", undefined>;
9
- export default _default;
@@ -1,40 +0,0 @@
1
- import { ruleCreator } from "./ruleCreator.js";
2
- import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- //#region src/rules/defaultParameterLast.ts
4
- var defaultParameterLast_default = ruleCreator.createRule(typescriptLanguage, {
5
- about: {
6
- description: "Enforce default parameters to be last.",
7
- id: "defaultParameterLast",
8
- presets: ["javascript"]
9
- },
10
- messages: { defaultParameterLast: {
11
- primary: "Default parameters should be last to allow omitting optional tail arguments.",
12
- secondary: ["Putting default parameters last allows function calls to omit optional tail arguments.", "Non-default parameters after default ones must always be explicitly provided."],
13
- suggestions: ["Move the default parameter to the end of the parameter list."]
14
- } },
15
- setup(context) {
16
- function checkNode(node, { sourceFile }) {
17
- let hasSeenDefaultParameter = false;
18
- for (const parameter of node.parameters) {
19
- if (parameter.dotDotDotToken) continue;
20
- if (parameter.questionToken || parameter.initializer) {
21
- hasSeenDefaultParameter = true;
22
- continue;
23
- }
24
- if (hasSeenDefaultParameter) context.report({
25
- message: "defaultParameterLast",
26
- range: getTSNodeRange(parameter, sourceFile)
27
- });
28
- }
29
- }
30
- return { visitors: {
31
- ArrowFunction: checkNode,
32
- Constructor: checkNode,
33
- FunctionDeclaration: checkNode,
34
- FunctionExpression: checkNode,
35
- MethodDeclaration: checkNode
36
- } };
37
- }
38
- });
39
- //#endregion
40
- export { defaultParameterLast_default as default };
@@ -1,9 +0,0 @@
1
- declare const _default: import("@flint.fyi/core").Rule<{
2
- readonly description: "Disallow using code marked as @deprecated.";
3
- readonly id: "deprecated";
4
- readonly presets: readonly ["logical", "logicalStrict"];
5
- } & {
6
- readonly pluginId: string;
7
- readonly url: string;
8
- }, "deprecated", undefined>;
9
- export default _default;