@flint.fyi/ts 0.14.5 → 0.15.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 (433) hide show
  1. package/lib/collectReferencedFilePaths.d.ts +1 -0
  2. package/lib/collectReferencedFilePaths.js +3 -2
  3. package/lib/convertTypeScriptDiagnosticToLanguageFileDiagnostic.d.ts +14 -0
  4. package/lib/{formatDiagnostic.js → convertTypeScriptDiagnosticToLanguageFileDiagnostic.js} +23 -15
  5. package/lib/createTypeScriptFileFromProgram.d.ts +4 -1
  6. package/lib/createTypeScriptFileFromProgram.js +25 -30
  7. package/lib/createTypeScriptFileFromProjectService.d.ts +3 -6
  8. package/lib/createTypeScriptFileFromProjectService.js +5 -11
  9. package/lib/directives/parseDirectivesFromTypeScriptFile.d.ts +8 -0
  10. package/lib/directives/parseDirectivesFromTypeScriptFile.js +12 -4
  11. package/lib/directives/parseDirectivesFromTypeScriptFile.test.d.ts +1 -0
  12. package/lib/directives/parseDirectivesFromTypeScriptFile.test.js +1 -0
  13. package/lib/getFirstEnumValues.d.ts +1 -0
  14. package/lib/getFirstEnumValues.js +1 -0
  15. package/lib/getFirstEnumValues.test.d.ts +1 -0
  16. package/lib/getFirstEnumValues.test.js +1 -0
  17. package/lib/getTSNodeRange.d.ts +1 -0
  18. package/lib/getTSNodeRange.js +1 -0
  19. package/lib/index.d.ts +6 -0
  20. package/lib/index.js +5 -0
  21. package/lib/language.d.ts +3 -2
  22. package/lib/language.js +7 -52
  23. package/lib/nodes.d.ts +1 -0
  24. package/lib/nodes.js +1 -0
  25. package/lib/normalizeRange.d.ts +1 -0
  26. package/lib/normalizeRange.js +4 -6
  27. package/lib/plugin.d.ts +79 -50
  28. package/lib/plugin.js +16 -1
  29. package/lib/prepareTypeScriptBasedLanguage.d.ts +11 -0
  30. package/lib/prepareTypeScriptBasedLanguage.js +59 -0
  31. package/lib/prepareTypeScriptFile.d.ts +9 -4
  32. package/lib/prepareTypeScriptFile.js +8 -2
  33. package/lib/rules/anyReturns.d.ts +2 -1
  34. package/lib/rules/anyReturns.js +22 -22
  35. package/lib/rules/anyReturns.test.d.ts +1 -0
  36. package/lib/rules/anyReturns.test.js +1 -0
  37. package/lib/rules/asyncPromiseExecutors.d.ts +2 -1
  38. package/lib/rules/asyncPromiseExecutors.js +4 -3
  39. package/lib/rules/asyncPromiseExecutors.test.d.ts +1 -0
  40. package/lib/rules/asyncPromiseExecutors.test.js +1 -0
  41. package/lib/rules/caseDeclarations.d.ts +3 -1
  42. package/lib/rules/caseDeclarations.js +7 -6
  43. package/lib/rules/caseDeclarations.test.d.ts +1 -0
  44. package/lib/rules/caseDeclarations.test.js +1 -0
  45. package/lib/rules/caseDuplicates.d.ts +2 -1
  46. package/lib/rules/caseDuplicates.js +4 -3
  47. package/lib/rules/caseDuplicates.test.d.ts +1 -0
  48. package/lib/rules/caseDuplicates.test.js +1 -0
  49. package/lib/rules/chainedAssignments.d.ts +2 -1
  50. package/lib/rules/chainedAssignments.js +3 -2
  51. package/lib/rules/chainedAssignments.test.d.ts +1 -0
  52. package/lib/rules/chainedAssignments.test.js +1 -0
  53. package/lib/rules/classAssignments.d.ts +2 -1
  54. package/lib/rules/classAssignments.js +4 -3
  55. package/lib/rules/classAssignments.test.d.ts +1 -0
  56. package/lib/rules/classAssignments.test.js +1 -0
  57. package/lib/rules/consecutiveNonNullAssertions.d.ts +2 -1
  58. package/lib/rules/consecutiveNonNullAssertions.js +1 -0
  59. package/lib/rules/consecutiveNonNullAssertions.test.d.ts +1 -0
  60. package/lib/rules/consecutiveNonNullAssertions.test.js +1 -0
  61. package/lib/rules/constantAssignments.d.ts +2 -1
  62. package/lib/rules/constantAssignments.js +4 -3
  63. package/lib/rules/constantAssignments.test.d.ts +1 -0
  64. package/lib/rules/constantAssignments.test.js +1 -0
  65. package/lib/rules/constructorReturns.d.ts +2 -1
  66. package/lib/rules/constructorReturns.js +3 -2
  67. package/lib/rules/constructorReturns.test.d.ts +1 -0
  68. package/lib/rules/constructorReturns.test.js +1 -0
  69. package/lib/rules/debuggerStatements.d.ts +2 -1
  70. package/lib/rules/debuggerStatements.js +1 -0
  71. package/lib/rules/debuggerStatements.test.d.ts +1 -0
  72. package/lib/rules/debuggerStatements.test.js +1 -0
  73. package/lib/rules/defaultCaseLast.d.ts +2 -1
  74. package/lib/rules/defaultCaseLast.js +4 -3
  75. package/lib/rules/defaultCaseLast.test.d.ts +1 -0
  76. package/lib/rules/defaultCaseLast.test.js +1 -0
  77. package/lib/rules/duplicateArguments.d.ts +3 -1
  78. package/lib/rules/duplicateArguments.js +3 -2
  79. package/lib/rules/duplicateArguments.test.d.ts +1 -0
  80. package/lib/rules/duplicateArguments.test.js +1 -0
  81. package/lib/rules/elseIfDuplicates.d.ts +2 -1
  82. package/lib/rules/elseIfDuplicates.js +6 -5
  83. package/lib/rules/elseIfDuplicates.test.d.ts +1 -0
  84. package/lib/rules/elseIfDuplicates.test.js +1 -0
  85. package/lib/rules/emptyBlocks.d.ts +2 -1
  86. package/lib/rules/emptyBlocks.js +12 -10
  87. package/lib/rules/emptyBlocks.test.d.ts +1 -0
  88. package/lib/rules/emptyBlocks.test.js +1 -0
  89. package/lib/rules/emptyDestructures.d.ts +3 -1
  90. package/lib/rules/emptyDestructures.js +3 -2
  91. package/lib/rules/emptyDestructures.test.d.ts +1 -0
  92. package/lib/rules/emptyDestructures.test.js +1 -0
  93. package/lib/rules/emptyStaticBlocks.d.ts +2 -1
  94. package/lib/rules/emptyStaticBlocks.js +5 -4
  95. package/lib/rules/emptyStaticBlocks.test.d.ts +1 -0
  96. package/lib/rules/emptyStaticBlocks.test.js +1 -0
  97. package/lib/rules/exceptionAssignments.d.ts +2 -1
  98. package/lib/rules/exceptionAssignments.js +4 -3
  99. package/lib/rules/exceptionAssignments.test.d.ts +1 -0
  100. package/lib/rules/exceptionAssignments.test.js +1 -0
  101. package/lib/rules/finallyStatementSafety.d.ts +7 -0
  102. package/lib/rules/finallyStatementSafety.js +71 -0
  103. package/lib/rules/finallyStatementSafety.test.d.ts +2 -0
  104. package/lib/rules/finallyStatementSafety.test.js +307 -0
  105. package/lib/rules/forDirections.d.ts +2 -1
  106. package/lib/rules/forDirections.js +18 -10
  107. package/lib/rules/forDirections.test.d.ts +1 -0
  108. package/lib/rules/forDirections.test.js +26 -0
  109. package/lib/rules/forInArrays.d.ts +2 -1
  110. package/lib/rules/forInArrays.js +8 -7
  111. package/lib/rules/forInArrays.test.d.ts +1 -0
  112. package/lib/rules/forInArrays.test.js +1 -0
  113. package/lib/rules/functionAssignments.d.ts +2 -1
  114. package/lib/rules/functionAssignments.js +4 -3
  115. package/lib/rules/functionAssignments.test.d.ts +1 -0
  116. package/lib/rules/functionAssignments.test.js +1 -0
  117. package/lib/rules/functionCurryingRedundancy.d.ts +7 -0
  118. package/lib/rules/functionCurryingRedundancy.js +77 -0
  119. package/lib/rules/functionCurryingRedundancy.test.d.ts +2 -0
  120. package/lib/rules/functionCurryingRedundancy.test.js +172 -0
  121. package/lib/rules/functionNewCalls.d.ts +3 -1
  122. package/lib/rules/functionNewCalls.js +7 -6
  123. package/lib/rules/functionNewCalls.test.d.ts +1 -0
  124. package/lib/rules/functionNewCalls.test.js +1 -0
  125. package/lib/rules/generatorFunctionYields.d.ts +3 -1
  126. package/lib/rules/generatorFunctionYields.js +3 -2
  127. package/lib/rules/generatorFunctionYields.test.d.ts +1 -0
  128. package/lib/rules/generatorFunctionYields.test.js +1 -0
  129. package/lib/rules/globalAssignments.d.ts +2 -1
  130. package/lib/rules/globalAssignments.js +10 -9
  131. package/lib/rules/globalAssignments.test.d.ts +1 -0
  132. package/lib/rules/globalAssignments.test.js +1 -0
  133. package/lib/rules/globalObjectCalls.d.ts +3 -1
  134. package/lib/rules/globalObjectCalls.js +5 -4
  135. package/lib/rules/globalObjectCalls.test.d.ts +1 -0
  136. package/lib/rules/globalObjectCalls.test.js +1 -0
  137. package/lib/rules/namespaceDeclarations.d.ts +2 -1
  138. package/lib/rules/namespaceDeclarations.js +7 -6
  139. package/lib/rules/namespaceDeclarations.test.d.ts +1 -0
  140. package/lib/rules/namespaceDeclarations.test.js +1 -0
  141. package/lib/rules/negativeZeroComparisons.d.ts +2 -1
  142. package/lib/rules/negativeZeroComparisons.js +8 -7
  143. package/lib/rules/negativeZeroComparisons.test.d.ts +1 -0
  144. package/lib/rules/negativeZeroComparisons.test.js +1 -0
  145. package/lib/rules/newExpressions.d.ts +2 -1
  146. package/lib/rules/newExpressions.js +3 -2
  147. package/lib/rules/newExpressions.test.d.ts +1 -0
  148. package/lib/rules/newExpressions.test.js +1 -0
  149. package/lib/rules/newNativeNonConstructors.d.ts +2 -1
  150. package/lib/rules/newNativeNonConstructors.js +6 -5
  151. package/lib/rules/newNativeNonConstructors.test.d.ts +1 -0
  152. package/lib/rules/newNativeNonConstructors.test.js +1 -0
  153. package/lib/rules/nonOctalDecimalEscapes.d.ts +3 -1
  154. package/lib/rules/nonOctalDecimalEscapes.js +4 -3
  155. package/lib/rules/nonOctalDecimalEscapes.test.d.ts +1 -0
  156. package/lib/rules/nonOctalDecimalEscapes.test.js +1 -0
  157. package/lib/rules/numericLiteralParsing.d.ts +2 -1
  158. package/lib/rules/numericLiteralParsing.js +8 -7
  159. package/lib/rules/numericLiteralParsing.test.d.ts +1 -0
  160. package/lib/rules/numericLiteralParsing.test.js +1 -0
  161. package/lib/rules/objectCalls.d.ts +7 -0
  162. package/lib/rules/objectCalls.js +47 -0
  163. package/lib/rules/objectCalls.test.d.ts +2 -0
  164. package/lib/rules/objectCalls.test.js +172 -0
  165. package/lib/rules/objectHasOwns.d.ts +7 -0
  166. package/lib/rules/objectHasOwns.js +74 -0
  167. package/lib/rules/objectHasOwns.test.d.ts +2 -0
  168. package/lib/rules/objectHasOwns.test.js +112 -0
  169. package/lib/rules/objectKeyDuplicates.d.ts +7 -0
  170. package/lib/rules/objectKeyDuplicates.js +91 -0
  171. package/lib/rules/objectKeyDuplicates.test.d.ts +2 -0
  172. package/lib/rules/objectKeyDuplicates.test.js +180 -0
  173. package/lib/rules/objectProto.d.ts +2 -1
  174. package/lib/rules/objectProto.js +5 -4
  175. package/lib/rules/objectProto.test.d.ts +1 -0
  176. package/lib/rules/objectProto.test.js +1 -0
  177. package/lib/rules/objectPrototypeBuiltIns.d.ts +7 -0
  178. package/lib/rules/objectPrototypeBuiltIns.js +65 -0
  179. package/lib/rules/objectPrototypeBuiltIns.test.d.ts +2 -0
  180. package/lib/rules/objectPrototypeBuiltIns.test.js +146 -0
  181. package/lib/rules/octalEscapes.d.ts +2 -1
  182. package/lib/rules/octalEscapes.js +13 -8
  183. package/lib/rules/octalEscapes.test.d.ts +1 -0
  184. package/lib/rules/octalEscapes.test.js +1 -0
  185. package/lib/rules/octalNumbers.d.ts +2 -1
  186. package/lib/rules/octalNumbers.js +4 -3
  187. package/lib/rules/octalNumbers.test.d.ts +1 -0
  188. package/lib/rules/octalNumbers.test.js +1 -0
  189. package/lib/rules/returnAssignments.d.ts +2 -1
  190. package/lib/rules/returnAssignments.js +7 -6
  191. package/lib/rules/returnAssignments.test.d.ts +1 -0
  192. package/lib/rules/returnAssignments.test.js +1 -0
  193. package/lib/rules/ruleTester.d.ts +1 -0
  194. package/lib/rules/ruleTester.js +6 -1
  195. package/lib/rules/selfAssignments.d.ts +2 -1
  196. package/lib/rules/selfAssignments.js +4 -3
  197. package/lib/rules/selfAssignments.test.d.ts +1 -0
  198. package/lib/rules/selfAssignments.test.js +1 -0
  199. package/lib/rules/selfComparisons.d.ts +2 -1
  200. package/lib/rules/selfComparisons.js +4 -3
  201. package/lib/rules/selfComparisons.test.d.ts +1 -0
  202. package/lib/rules/selfComparisons.test.js +1 -0
  203. package/lib/rules/sequences.d.ts +2 -1
  204. package/lib/rules/sequences.js +3 -2
  205. package/lib/rules/sequences.test.d.ts +1 -0
  206. package/lib/rules/sequences.test.js +1 -0
  207. package/lib/rules/shadowedRestrictedNames.d.ts +2 -1
  208. package/lib/rules/shadowedRestrictedNames.js +24 -23
  209. package/lib/rules/shadowedRestrictedNames.test.d.ts +1 -0
  210. package/lib/rules/shadowedRestrictedNames.test.js +1 -0
  211. package/lib/rules/sparseArrays.d.ts +2 -1
  212. package/lib/rules/sparseArrays.js +5 -4
  213. package/lib/rules/sparseArrays.test.d.ts +1 -0
  214. package/lib/rules/sparseArrays.test.js +1 -0
  215. package/lib/rules/symbolDescriptions.d.ts +2 -1
  216. package/lib/rules/symbolDescriptions.js +3 -2
  217. package/lib/rules/symbolDescriptions.test.d.ts +1 -0
  218. package/lib/rules/symbolDescriptions.test.js +1 -0
  219. package/lib/rules/typeofComparisons.d.ts +2 -1
  220. package/lib/rules/typeofComparisons.js +5 -4
  221. package/lib/rules/typeofComparisons.test.d.ts +1 -0
  222. package/lib/rules/typeofComparisons.test.js +1 -0
  223. package/lib/rules/unassignedVariables.d.ts +2 -1
  224. package/lib/rules/unassignedVariables.js +4 -3
  225. package/lib/rules/unassignedVariables.test.d.ts +1 -0
  226. package/lib/rules/unassignedVariables.test.js +1 -0
  227. package/lib/rules/undefinedVariables.d.ts +2 -1
  228. package/lib/rules/undefinedVariables.js +5 -4
  229. package/lib/rules/undefinedVariables.test.d.ts +1 -0
  230. package/lib/rules/undefinedVariables.test.js +1 -0
  231. package/lib/rules/unicodeBOMs.d.ts +2 -1
  232. package/lib/rules/unicodeBOMs.js +27 -20
  233. package/lib/rules/unicodeBOMs.test.d.ts +1 -0
  234. package/lib/rules/unicodeBOMs.test.js +1 -0
  235. package/lib/rules/unnecessaryBlocks.d.ts +2 -1
  236. package/lib/rules/unnecessaryBlocks.js +4 -3
  237. package/lib/rules/unnecessaryBlocks.test.d.ts +1 -0
  238. package/lib/rules/unnecessaryBlocks.test.js +1 -0
  239. package/lib/rules/unnecessaryCatches.d.ts +2 -1
  240. package/lib/rules/unnecessaryCatches.js +4 -3
  241. package/lib/rules/unnecessaryCatches.test.d.ts +1 -0
  242. package/lib/rules/unnecessaryCatches.test.js +1 -0
  243. package/lib/rules/unnecessaryConcatenation.d.ts +2 -1
  244. package/lib/rules/unnecessaryConcatenation.js +3 -2
  245. package/lib/rules/unnecessaryConcatenation.test.d.ts +1 -0
  246. package/lib/rules/unnecessaryConcatenation.test.js +1 -0
  247. package/lib/rules/unsafeNegations.d.ts +2 -1
  248. package/lib/rules/unsafeNegations.js +3 -2
  249. package/lib/rules/unsafeNegations.test.d.ts +1 -0
  250. package/lib/rules/unsafeNegations.test.js +1 -0
  251. package/lib/rules/utils/discriminateAnyType.d.ts +1 -0
  252. package/lib/rules/utils/discriminateAnyType.js +1 -0
  253. package/lib/rules/utils/getConstrainedType.d.ts +1 -0
  254. package/lib/rules/utils/getConstrainedType.js +1 -0
  255. package/lib/rules/utils/getThisExpression.d.ts +1 -0
  256. package/lib/rules/utils/getThisExpression.js +1 -0
  257. package/lib/rules/utils/isTypeRecursive.d.ts +1 -0
  258. package/lib/rules/utils/isTypeRecursive.js +1 -0
  259. package/lib/rules/utils/isUnsafeAssignment.d.ts +1 -0
  260. package/lib/rules/utils/isUnsafeAssignment.js +1 -0
  261. package/lib/rules/utils/operators.d.ts +1 -0
  262. package/lib/rules/utils/operators.js +1 -0
  263. package/lib/rules/variableDeletions.d.ts +2 -1
  264. package/lib/rules/variableDeletions.js +3 -2
  265. package/lib/rules/variableDeletions.test.d.ts +1 -0
  266. package/lib/rules/variableDeletions.test.js +1 -0
  267. package/lib/rules/voidOperator.d.ts +2 -1
  268. package/lib/rules/voidOperator.js +3 -2
  269. package/lib/rules/voidOperator.test.d.ts +1 -0
  270. package/lib/rules/voidOperator.test.js +1 -0
  271. package/lib/rules/withStatements.d.ts +7 -0
  272. package/lib/rules/withStatements.js +37 -0
  273. package/lib/rules/withStatements.test.d.ts +2 -0
  274. package/lib/rules/withStatements.test.js +27 -0
  275. package/lib/utils/declarationIncludesGlobal.d.ts +1 -0
  276. package/lib/utils/declarationIncludesGlobal.js +1 -0
  277. package/lib/utils/declarationsIncludeGlobal.d.ts +1 -0
  278. package/lib/utils/declarationsIncludeGlobal.js +1 -0
  279. package/lib/utils/getDeclarationsIfGlobal.d.ts +1 -0
  280. package/lib/utils/getDeclarationsIfGlobal.js +1 -0
  281. package/lib/utils/getModifyingReferences.d.ts +1 -0
  282. package/lib/utils/getModifyingReferences.js +1 -0
  283. package/lib/utils/hasSameTokens.d.ts +1 -0
  284. package/lib/utils/hasSameTokens.js +1 -0
  285. package/lib/utils/isFunction.d.ts +3 -0
  286. package/lib/utils/isFunction.js +6 -0
  287. package/lib/utils/isGlobalDeclaration.d.ts +1 -0
  288. package/lib/utils/isGlobalDeclaration.js +1 -0
  289. package/lib/utils/isGlobalDeclarationOfName.d.ts +1 -0
  290. package/lib/utils/isGlobalDeclarationOfName.js +1 -0
  291. package/lib/utils/isGlobalVariable.d.ts +1 -0
  292. package/lib/utils/isGlobalVariable.js +1 -0
  293. package/lib/utils/unwrapParentParenthesizedExpressions.d.ts +1 -0
  294. package/lib/utils/unwrapParentParenthesizedExpressions.js +1 -0
  295. package/lib/utils/unwrapParenthesizedExpression.d.ts +1 -0
  296. package/lib/utils/unwrapParenthesizedExpression.js +1 -0
  297. package/package.json +17 -7
  298. package/CHANGELOG.md +0 -82
  299. package/lib/formatDiagnostic.d.ts +0 -10
  300. package/src/collectReferencedFilePaths.ts +0 -37
  301. package/src/createTypeScriptFileFromProgram.ts +0 -86
  302. package/src/createTypeScriptFileFromProjectService.ts +0 -31
  303. package/src/directives/parseDirectivesFromTypeScriptFile.test.ts +0 -108
  304. package/src/directives/parseDirectivesFromTypeScriptFile.ts +0 -31
  305. package/src/formatDiagnostic.ts +0 -166
  306. package/src/getFirstEnumValues.test.ts +0 -51
  307. package/src/getFirstEnumValues.ts +0 -59
  308. package/src/getTSNodeRange.ts +0 -13
  309. package/src/index.ts +0 -7
  310. package/src/language.ts +0 -122
  311. package/src/nodes.ts +0 -146
  312. package/src/normalizeRange.ts +0 -30
  313. package/src/plugin.ts +0 -111
  314. package/src/prepareTypeScriptFile.ts +0 -14
  315. package/src/rules/anyReturns.test.ts +0 -649
  316. package/src/rules/anyReturns.ts +0 -263
  317. package/src/rules/asyncPromiseExecutors.test.ts +0 -72
  318. package/src/rules/asyncPromiseExecutors.ts +0 -61
  319. package/src/rules/caseDeclarations.test.ts +0 -228
  320. package/src/rules/caseDeclarations.ts +0 -70
  321. package/src/rules/caseDuplicates.test.ts +0 -308
  322. package/src/rules/caseDuplicates.ts +0 -57
  323. package/src/rules/chainedAssignments.test.ts +0 -263
  324. package/src/rules/chainedAssignments.ts +0 -58
  325. package/src/rules/classAssignments.test.ts +0 -157
  326. package/src/rules/classAssignments.ts +0 -50
  327. package/src/rules/consecutiveNonNullAssertions.test.ts +0 -33
  328. package/src/rules/consecutiveNonNullAssertions.ts +0 -46
  329. package/src/rules/constantAssignments.test.ts +0 -222
  330. package/src/rules/constantAssignments.ts +0 -78
  331. package/src/rules/constructorReturns.test.ts +0 -97
  332. package/src/rules/constructorReturns.ts +0 -59
  333. package/src/rules/debuggerStatements.test.ts +0 -81
  334. package/src/rules/debuggerStatements.ts +0 -45
  335. package/src/rules/defaultCaseLast.test.ts +0 -196
  336. package/src/rules/defaultCaseLast.ts +0 -54
  337. package/src/rules/duplicateArguments.test.ts +0 -140
  338. package/src/rules/duplicateArguments.ts +0 -58
  339. package/src/rules/elseIfDuplicates.test.ts +0 -177
  340. package/src/rules/elseIfDuplicates.ts +0 -69
  341. package/src/rules/emptyBlocks.test.ts +0 -136
  342. package/src/rules/emptyBlocks.ts +0 -73
  343. package/src/rules/emptyDestructures.test.ts +0 -187
  344. package/src/rules/emptyDestructures.ts +0 -48
  345. package/src/rules/emptyStaticBlocks.test.ts +0 -168
  346. package/src/rules/emptyStaticBlocks.ts +0 -60
  347. package/src/rules/exceptionAssignments.test.ts +0 -265
  348. package/src/rules/exceptionAssignments.ts +0 -77
  349. package/src/rules/forDirections.test.ts +0 -100
  350. package/src/rules/forDirections.ts +0 -163
  351. package/src/rules/forInArrays.test.ts +0 -25
  352. package/src/rules/forInArrays.ts +0 -70
  353. package/src/rules/functionAssignments.test.ts +0 -210
  354. package/src/rules/functionAssignments.ts +0 -51
  355. package/src/rules/functionNewCalls.test.ts +0 -116
  356. package/src/rules/functionNewCalls.ts +0 -75
  357. package/src/rules/generatorFunctionYields.test.ts +0 -152
  358. package/src/rules/generatorFunctionYields.ts +0 -71
  359. package/src/rules/globalAssignments.test.ts +0 -216
  360. package/src/rules/globalAssignments.ts +0 -67
  361. package/src/rules/globalObjectCalls.test.ts +0 -94
  362. package/src/rules/globalObjectCalls.ts +0 -52
  363. package/src/rules/namespaceDeclarations.test.ts +0 -41
  364. package/src/rules/namespaceDeclarations.ts +0 -74
  365. package/src/rules/negativeZeroComparisons.test.ts +0 -210
  366. package/src/rules/negativeZeroComparisons.ts +0 -87
  367. package/src/rules/newExpressions.test.ts +0 -80
  368. package/src/rules/newExpressions.ts +0 -67
  369. package/src/rules/newNativeNonConstructors.test.ts +0 -95
  370. package/src/rules/newNativeNonConstructors.ts +0 -59
  371. package/src/rules/nonOctalDecimalEscapes.test.ts +0 -70
  372. package/src/rules/nonOctalDecimalEscapes.ts +0 -70
  373. package/src/rules/numericLiteralParsing.test.ts +0 -100
  374. package/src/rules/numericLiteralParsing.ts +0 -116
  375. package/src/rules/objectProto.test.ts +0 -97
  376. package/src/rules/objectProto.ts +0 -62
  377. package/src/rules/octalEscapes.test.ts +0 -214
  378. package/src/rules/octalEscapes.ts +0 -85
  379. package/src/rules/octalNumbers.test.ts +0 -246
  380. package/src/rules/octalNumbers.ts +0 -75
  381. package/src/rules/returnAssignments.test.ts +0 -186
  382. package/src/rules/returnAssignments.ts +0 -57
  383. package/src/rules/ruleTester.ts +0 -4
  384. package/src/rules/selfAssignments.test.ts +0 -67
  385. package/src/rules/selfAssignments.ts +0 -50
  386. package/src/rules/selfComparisons.test.ts +0 -298
  387. package/src/rules/selfComparisons.ts +0 -45
  388. package/src/rules/sequences.test.ts +0 -49
  389. package/src/rules/sequences.ts +0 -37
  390. package/src/rules/shadowedRestrictedNames.test.ts +0 -148
  391. package/src/rules/shadowedRestrictedNames.ts +0 -105
  392. package/src/rules/sparseArrays.test.ts +0 -111
  393. package/src/rules/sparseArrays.ts +0 -61
  394. package/src/rules/symbolDescriptions.test.ts +0 -90
  395. package/src/rules/symbolDescriptions.ts +0 -47
  396. package/src/rules/typeofComparisons.test.ts +0 -86
  397. package/src/rules/typeofComparisons.ts +0 -88
  398. package/src/rules/unassignedVariables.test.ts +0 -73
  399. package/src/rules/unassignedVariables.ts +0 -69
  400. package/src/rules/undefinedVariables.test.ts +0 -81
  401. package/src/rules/undefinedVariables.ts +0 -97
  402. package/src/rules/unicodeBOMs.test.ts +0 -67
  403. package/src/rules/unicodeBOMs.ts +0 -44
  404. package/src/rules/unnecessaryBlocks.test.ts +0 -148
  405. package/src/rules/unnecessaryBlocks.ts +0 -89
  406. package/src/rules/unnecessaryCatches.test.ts +0 -211
  407. package/src/rules/unnecessaryCatches.ts +0 -84
  408. package/src/rules/unnecessaryConcatenation.test.ts +0 -88
  409. package/src/rules/unnecessaryConcatenation.ts +0 -44
  410. package/src/rules/unsafeNegations.test.ts +0 -64
  411. package/src/rules/unsafeNegations.ts +0 -59
  412. package/src/rules/utils/discriminateAnyType.ts +0 -66
  413. package/src/rules/utils/getConstrainedType.ts +0 -9
  414. package/src/rules/utils/getThisExpression.ts +0 -24
  415. package/src/rules/utils/isTypeRecursive.ts +0 -10
  416. package/src/rules/utils/isUnsafeAssignment.ts +0 -113
  417. package/src/rules/utils/operators.ts +0 -39
  418. package/src/rules/variableDeletions.test.ts +0 -76
  419. package/src/rules/variableDeletions.ts +0 -43
  420. package/src/rules/voidOperator.test.ts +0 -99
  421. package/src/rules/voidOperator.ts +0 -38
  422. package/src/utils/declarationIncludesGlobal.ts +0 -9
  423. package/src/utils/declarationsIncludeGlobal.ts +0 -7
  424. package/src/utils/getDeclarationsIfGlobal.ts +0 -14
  425. package/src/utils/getModifyingReferences.ts +0 -58
  426. package/src/utils/hasSameTokens.ts +0 -45
  427. package/src/utils/isGlobalDeclaration.ts +0 -10
  428. package/src/utils/isGlobalDeclarationOfName.ts +0 -56
  429. package/src/utils/isGlobalVariable.ts +0 -30
  430. package/src/utils/unwrapParentParenthesizedExpressions.ts +0 -7
  431. package/src/utils/unwrapParenthesizedExpression.ts +0 -9
  432. package/tsconfig.json +0 -9
  433. package/tsconfig.tsbuildinfo +0 -1
@@ -1,649 +0,0 @@
1
- import rule from "./anyReturns.js";
2
- import { ruleTester } from "./ruleTester.js";
3
-
4
- ruleTester.describe(rule, {
5
- invalid: [
6
- {
7
- code: `
8
- function foo() {
9
- return 1 as any;
10
- }
11
- `,
12
- snapshot: `
13
- function foo() {
14
- return 1 as any;
15
- ~~~~~~~~~~~~~~~~
16
- Unsafe return of a value of type \`any\`.
17
- }
18
- `,
19
- },
20
- {
21
- code: `
22
- function foo() {
23
- return Object.create(null);
24
- }
25
- `,
26
- snapshot: `
27
- function foo() {
28
- return Object.create(null);
29
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
30
- Unsafe return of a value of type \`any\`.
31
- }
32
- `,
33
- },
34
- {
35
- code: `
36
- const foo = () => {
37
- return 1 as any;
38
- };
39
- `,
40
- snapshot: `
41
- const foo = () => {
42
- return 1 as any;
43
- ~~~~~~~~~~~~~~~~
44
- Unsafe return of a value of type \`any\`.
45
- };
46
- `,
47
- },
48
- {
49
- code: `
50
- const foo = () => Object.create(null);'
51
- `,
52
- snapshot: `
53
- const foo = () => Object.create(null);'
54
- ~~~~~~~~~~~~~~~~~~~
55
- Unsafe return of a value of type \`any\`.
56
- `,
57
- },
58
- {
59
- code: `
60
- function foo() {
61
- return [] as any[];
62
- }
63
- `,
64
- snapshot: `
65
- function foo() {
66
- return [] as any[];
67
- ~~~~~~~~~~~~~~~~~~~
68
- Unsafe return of a value of type \`any[]\`.
69
- }
70
- `,
71
- },
72
- {
73
- code: `
74
- function foo() {
75
- return [] as Array<any>;
76
- }
77
- `,
78
- snapshot: `
79
- function foo() {
80
- return [] as Array<any>;
81
- ~~~~~~~~~~~~~~~~~~~~~~~~
82
- Unsafe return of a value of type \`any[]\`.
83
- }
84
- `,
85
- },
86
- {
87
- code: `
88
- function foo() {
89
- return [] as readonly any[];
90
- }
91
- `,
92
- snapshot: `
93
- function foo() {
94
- return [] as readonly any[];
95
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96
- Unsafe return of a value of type \`any[]\`.
97
- }
98
- `,
99
- },
100
- {
101
- code: `
102
- function foo() {
103
- return [] as Readonly<any[]>;
104
- }
105
- `,
106
- snapshot: `
107
- function foo() {
108
- return [] as Readonly<any[]>;
109
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
- Unsafe return of a value of type \`any[]\`.
111
- }
112
- `,
113
- },
114
- {
115
- code: `
116
- const foo = () => {
117
- return [] as any[];
118
- };
119
- `,
120
- snapshot: `
121
- const foo = () => {
122
- return [] as any[];
123
- ~~~~~~~~~~~~~~~~~~~
124
- Unsafe return of a value of type \`any[]\`.
125
- };
126
- `,
127
- },
128
- {
129
- code: `
130
- const foo = () => [] as any[];
131
- `,
132
- snapshot: `
133
- const foo = () => [] as any[];
134
- ~~~~~~~~~~~
135
- Unsafe return of a value of type \`any[]\`.
136
- `,
137
- },
138
- {
139
- code: `
140
- function foo(): Set<string> {
141
- return new Set<any>();
142
- }
143
- `,
144
- snapshot: `
145
- function foo(): Set<string> {
146
- return new Set<any>();
147
- ~~~~~~~~~~~~~~~~~~~~~~
148
- Unsafe return of type \`Set<any>\` from function with return type \`Set<string>\`.
149
- }
150
- `,
151
- },
152
- {
153
- code: `
154
- function foo(): Map<string, string> {
155
- return new Map<string, any>();
156
- }
157
- `,
158
- snapshot: `
159
- function foo(): Map<string, string> {
160
- return new Map<string, any>();
161
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162
- Unsafe return of type \`Map<string, any>\` from function with return type \`Map<string, string>\`.
163
- }
164
- `,
165
- },
166
- {
167
- code: `
168
- function foo(): Set<string[]> {
169
- return new Set<any[]>();
170
- }
171
- `,
172
- snapshot: `
173
- function foo(): Set<string[]> {
174
- return new Set<any[]>();
175
- ~~~~~~~~~~~~~~~~~~~~~~~~
176
- Unsafe return of type \`Set<any[]>\` from function with return type \`Set<string[]>\`.
177
- }
178
- `,
179
- },
180
- {
181
- code: `
182
- function foo(): Set<Set<Set<string>>> {
183
- return new Set<Set<Set<any>>>();
184
- }
185
- `,
186
- snapshot: `
187
- function foo(): Set<Set<Set<string>>> {
188
- return new Set<Set<Set<any>>>();
189
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
190
- Unsafe return of type \`Set<Set<Set<any>>>\` from function with return type \`Set<Set<Set<string>>>\`.
191
- }
192
- `,
193
- },
194
-
195
- {
196
- code: `
197
- type Fn = () => Set<string>;
198
- const foo1: Fn = () => new Set<any>();
199
- const foo2: Fn = function test() {
200
- return new Set<any>();
201
- };
202
- `,
203
- snapshot: `
204
- type Fn = () => Set<string>;
205
- const foo1: Fn = () => new Set<any>();
206
- ~~~~~~~~~~~~~~
207
- Unsafe return of type \`Set<any>\` from function with return type \`Set<string>\`.
208
- const foo2: Fn = function test() {
209
- return new Set<any>();
210
- ~~~~~~~~~~~~~~~~~~~~~~
211
- Unsafe return of type \`Set<any>\` from function with return type \`Set<string>\`.
212
- };
213
- `,
214
- },
215
- {
216
- code: `
217
- type Fn = () => Set<string>;
218
- function receiver(arg: Fn) {}
219
- receiver(() => new Set<any>());
220
- receiver(function test() {
221
- return new Set<any>();
222
- });
223
- `,
224
- snapshot: `
225
- type Fn = () => Set<string>;
226
- function receiver(arg: Fn) {}
227
- receiver(() => new Set<any>());
228
- ~~~~~~~~~~~~~~
229
- Unsafe return of type \`Set<any>\` from function with return type \`Set<string>\`.
230
- receiver(function test() {
231
- return new Set<any>();
232
- ~~~~~~~~~~~~~~~~~~~~~~
233
- Unsafe return of type \`Set<any>\` from function with return type \`Set<string>\`.
234
- });
235
- `,
236
- },
237
- {
238
- code: `
239
- function foo() {
240
- return this;
241
- }
242
-
243
- function bar() {
244
- return () => this;
245
- }
246
- `,
247
- snapshot: `
248
- function foo() {
249
- return this;
250
- ~~~~~~~~~~~~
251
- Unsafe return of a value of type \`any\`.
252
- }
253
-
254
- function bar() {
255
- return () => this;
256
- ~~~~
257
- Unsafe return of a value of type \`any\`.
258
- }
259
- `,
260
- },
261
- {
262
- code: `
263
- declare function foo(arg: null | (() => any)): void;
264
- foo(() => 'foo' as any);
265
- `,
266
- snapshot: `
267
- declare function foo(arg: null | (() => any)): void;
268
- foo(() => 'foo' as any);
269
- ~~~~~~~~~~~~
270
- Unsafe return of a value of type \`any\`.
271
- `,
272
- },
273
- {
274
- code: `
275
- let value: NotKnown;
276
-
277
- function example() {
278
- return value;
279
- }
280
- `,
281
- snapshot: `
282
- let value: NotKnown;
283
-
284
- function example() {
285
- return value;
286
- ~~~~~~~~~~~~~
287
- Unsafe return of a value of type error.
288
- }
289
- `,
290
- },
291
- {
292
- code: `
293
- declare const value: any;
294
- async function foo() {
295
- return value;
296
- }
297
- `,
298
- snapshot: `
299
- declare const value: any;
300
- async function foo() {
301
- return value;
302
- ~~~~~~~~~~~~~
303
- Unsafe return of a value of type \`any\`.
304
- }
305
- `,
306
- },
307
- {
308
- code: `
309
- declare const value: Promise<any>;
310
- async function foo(): Promise<number> {
311
- return value;
312
- }
313
- `,
314
- snapshot: `
315
- declare const value: Promise<any>;
316
- async function foo(): Promise<number> {
317
- return value;
318
- ~~~~~~~~~~~~~
319
- Unsafe return of a value of type \`Promise<any>\`.
320
- }
321
- `,
322
- },
323
- {
324
- code: `
325
- async function foo(arg: number) {
326
- return arg as Promise<any>;
327
- }
328
- `,
329
- snapshot: `
330
- async function foo(arg: number) {
331
- return arg as Promise<any>;
332
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
333
- Unsafe return of a value of type \`Promise<any>\`.
334
- }
335
- `,
336
- },
337
- {
338
- code: `
339
- function foo(): Promise<any> {
340
- return {} as any;
341
- }
342
- `,
343
- snapshot: `
344
- function foo(): Promise<any> {
345
- return {} as any;
346
- ~~~~~~~~~~~~~~~~~
347
- Unsafe return of a value of type \`any\`.
348
- }
349
- `,
350
- },
351
- {
352
- code: `
353
- function foo(): Promise<object> {
354
- return {} as any;
355
- }
356
- `,
357
- snapshot: `
358
- function foo(): Promise<object> {
359
- return {} as any;
360
- ~~~~~~~~~~~~~~~~~
361
- Unsafe return of a value of type \`any\`.
362
- }
363
- `,
364
- },
365
- {
366
- code: `
367
- async function foo(): Promise<object> {
368
- return Promise.resolve<any>({});
369
- }
370
- `,
371
- snapshot: `
372
- async function foo(): Promise<object> {
373
- return Promise.resolve<any>({});
374
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
375
- Unsafe return of a value of type \`Promise<any>\`.
376
- }
377
- `,
378
- },
379
- {
380
- code: `
381
- async function foo(): Promise<object> {
382
- return Promise.resolve<Promise<Promise<any>>>({} as Promise<any>);
383
- }
384
- `,
385
- snapshot: `
386
- async function foo(): Promise<object> {
387
- return Promise.resolve<Promise<Promise<any>>>({} as Promise<any>);
388
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
389
- Unsafe return of a value of type \`Promise<any>\`.
390
- }
391
- `,
392
- },
393
- {
394
- code: `
395
- async function foo(): Promise<object> {
396
- return {} as Promise<Promise<Promise<Promise<any>>>>;
397
- }
398
- `,
399
- snapshot: `
400
- async function foo(): Promise<object> {
401
- return {} as Promise<Promise<Promise<Promise<any>>>>;
402
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
403
- Unsafe return of a value of type \`Promise<any>\`.
404
- }
405
- `,
406
- },
407
- {
408
- code: `
409
- async function foo() {
410
- return {} as Promise<Promise<Promise<Promise<any>>>>;
411
- }
412
- `,
413
- snapshot: `
414
- async function foo() {
415
- return {} as Promise<Promise<Promise<Promise<any>>>>;
416
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
417
- Unsafe return of a value of type \`Promise<any>\`.
418
- }
419
- `,
420
- },
421
- {
422
- code: `
423
- async function foo() {
424
- return {} as Promise<any> | Promise<object>;
425
- }
426
- `,
427
- snapshot: `
428
- async function foo() {
429
- return {} as Promise<any> | Promise<object>;
430
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
431
- Unsafe return of a value of type \`Promise<any>\`.
432
- }
433
- `,
434
- },
435
- {
436
- code: `
437
- async function foo() {
438
- return {} as Promise<any | object>;
439
- }
440
- `,
441
- snapshot: `
442
- async function foo() {
443
- return {} as Promise<any | object>;
444
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
445
- Unsafe return of a value of type \`Promise<any>\`.
446
- }
447
- `,
448
- },
449
- {
450
- code: `
451
- async function foo() {
452
- return {} as Promise<any> & { __brand: 'any' };
453
- }
454
- `,
455
- snapshot: `
456
- async function foo() {
457
- return {} as Promise<any> & { __brand: 'any' };
458
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
459
- Unsafe return of a value of type \`Promise<any>\`.
460
- }
461
- `,
462
- },
463
- {
464
- code: `
465
- interface Alias<T> extends Promise<any> {
466
- foo: 'bar';
467
- }
468
-
469
- declare const value: Alias<number>;
470
- async function foo() {
471
- return value;
472
- }
473
- `,
474
- snapshot: `
475
- interface Alias<T> extends Promise<any> {
476
- foo: 'bar';
477
- }
478
-
479
- declare const value: Alias<number>;
480
- async function foo() {
481
- return value;
482
- ~~~~~~~~~~~~~
483
- Unsafe return of a value of type \`Promise<any>\`.
484
- }
485
- `,
486
- },
487
- ],
488
- valid: [
489
- `
490
- return 1 as any;
491
- `,
492
- `
493
- function foo() {
494
- return;
495
- }
496
- `,
497
- `
498
- function foo() {
499
- return 1;
500
- }
501
- `,
502
- `
503
- function foo() {
504
- return '';
505
- }
506
- `,
507
- `
508
- function foo() {
509
- return true;
510
- }
511
- `,
512
- // this actually types as `never[]`
513
- `
514
- function foo() {
515
- return [];
516
- }
517
- `,
518
- // explicit any return type is allowed, if you want to be unsafe like that
519
- `
520
- function foo(): any {
521
- return {} as any;
522
- }
523
- `,
524
- `
525
- declare function foo(arg: () => any): void;
526
- foo((): any => 'foo' as any);
527
- `,
528
- `
529
- declare function foo(arg: null | (() => any)): void;
530
- foo((): any => 'foo' as any);
531
- `,
532
- // explicit any array return type is allowed, if you want to be unsafe like that
533
- `
534
- function foo(): any[] {
535
- return [] as any[];
536
- }
537
- `,
538
- // explicit any generic return type is allowed, if you want to be unsafe like that
539
- `
540
- function foo(): Set<any> {
541
- return new Set<any>();
542
- }
543
- `,
544
- `
545
- async function foo(): Promise<any> {
546
- return Promise.resolve({} as any);
547
- }
548
- `,
549
- `
550
- async function foo(): Promise<any> {
551
- return {} as any;
552
- }
553
- `,
554
- `
555
- function foo(): object {
556
- return Promise.resolve({} as any);
557
- }
558
- `,
559
- // TODO - this should error, but it's hard to detect, as the type references are different
560
- `
561
- function foo(): ReadonlySet<number> {
562
- return new Set<any>();
563
- }
564
- `,
565
- `
566
- function foo(): Set<number> {
567
- return new Set([1]);
568
- }
569
- `,
570
- `
571
- type Foo<T = number> = { prop: T };
572
- function foo(): Foo {
573
- return { prop: 1 } as Foo<number>;
574
- }
575
- `,
576
- `
577
- type Foo = { prop: any };
578
- function foo(): Foo {
579
- return { prop: '' } as Foo;
580
- }
581
- `,
582
- // TS 3.9 changed this to be safe
583
- `
584
- function fn<T extends any>(x: T) {
585
- return x;
586
- }
587
- `,
588
- `
589
- function fn<T extends any>(x: T): unknown {
590
- return x as any;
591
- }
592
- `,
593
- `
594
- function fn<T extends any>(x: T): unknown[] {
595
- return x as any[];
596
- }
597
- `,
598
- `
599
- function fn<T extends any>(x: T): Set<unknown> {
600
- return x as Set<any>;
601
- }
602
- `,
603
- `
604
- async function fn<T extends any>(x: T): Promise<unknown> {
605
- return x as any;
606
- }
607
- `,
608
- `
609
- function fn<T extends any>(x: T): Promise<unknown> {
610
- return Promise.resolve(x as any);
611
- }
612
- `,
613
- // https://github.com/typescript-eslint/typescript-eslint/issues/2109
614
- `
615
- function test(): Map<string, string> {
616
- return new Map();
617
- }
618
- `,
619
- // https://github.com/typescript-eslint/typescript-eslint/issues/3549
620
- `
621
- function foo(): any {
622
- return [] as any[];
623
- }
624
- `,
625
- `
626
- function foo(): unknown {
627
- return [] as any[];
628
- }
629
- `,
630
- `
631
- declare const value: Promise<any>;
632
- function foo() {
633
- return value;
634
- }
635
- `,
636
- "const foo: (() => void) | undefined = () => 1;",
637
- `
638
- class Foo {
639
- public foo(): this {
640
- return this;
641
- }
642
-
643
- protected then(resolve: () => void): void {
644
- resolve();
645
- }
646
- }
647
- `,
648
- ],
649
- });