@radomiej/roblox-ts 3.0.9-beta.1

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 (442) hide show
  1. package/CHANGELOG.md +716 -0
  2. package/LICENSE +21 -0
  3. package/README.md +55 -0
  4. package/include/Promise.lua +1999 -0
  5. package/include/RuntimeLib.lua +397 -0
  6. package/out/CLI/cli.d.ts +2 -0
  7. package/out/CLI/cli.js +41 -0
  8. package/out/CLI/commands/build.d.ts +7 -0
  9. package/out/CLI/commands/build.js +144 -0
  10. package/out/CLI/errors/CLIError.d.ts +4 -0
  11. package/out/CLI/errors/CLIError.js +12 -0
  12. package/out/CLI/index.d.ts +3 -0
  13. package/out/CLI/index.js +22 -0
  14. package/out/CLI/test.d.ts +1 -0
  15. package/out/CLI/test.js +183 -0
  16. package/out/CLI/util/patchFs.d.ts +1 -0
  17. package/out/CLI/util/patchFs.js +25 -0
  18. package/out/Project/classes/VirtualFileSystem.d.ts +14 -0
  19. package/out/Project/classes/VirtualFileSystem.js +102 -0
  20. package/out/Project/classes/VirtualProject.d.ts +15 -0
  21. package/out/Project/classes/VirtualProject.js +120 -0
  22. package/out/Project/functions/checkFileName.d.ts +1 -0
  23. package/out/Project/functions/checkFileName.js +18 -0
  24. package/out/Project/functions/checkRojoConfig.d.ts +4 -0
  25. package/out/Project/functions/checkRojoConfig.js +26 -0
  26. package/out/Project/functions/cleanup.d.ts +2 -0
  27. package/out/Project/functions/cleanup.js +30 -0
  28. package/out/Project/functions/compileFiles.d.ts +4 -0
  29. package/out/Project/functions/compileFiles.js +167 -0
  30. package/out/Project/functions/copyFiles.d.ts +3 -0
  31. package/out/Project/functions/copyFiles.js +13 -0
  32. package/out/Project/functions/copyInclude.d.ts +2 -0
  33. package/out/Project/functions/copyInclude.js +17 -0
  34. package/out/Project/functions/copyItem.d.ts +3 -0
  35. package/out/Project/functions/copyItem.js +27 -0
  36. package/out/Project/functions/createNodeModulesPathMapping.d.ts +1 -0
  37. package/out/Project/functions/createNodeModulesPathMapping.js +30 -0
  38. package/out/Project/functions/createPathTranslator.d.ts +4 -0
  39. package/out/Project/functions/createPathTranslator.js +23 -0
  40. package/out/Project/functions/createProgramFactory.d.ts +3 -0
  41. package/out/Project/functions/createProgramFactory.js +30 -0
  42. package/out/Project/functions/createProjectData.d.ts +2 -0
  43. package/out/Project/functions/createProjectData.js +50 -0
  44. package/out/Project/functions/createProjectProgram.d.ts +3 -0
  45. package/out/Project/functions/createProjectProgram.js +11 -0
  46. package/out/Project/functions/getChangedFilePaths.d.ts +2 -0
  47. package/out/Project/functions/getChangedFilePaths.js +45 -0
  48. package/out/Project/functions/getChangedSourceFiles.d.ts +2 -0
  49. package/out/Project/functions/getChangedSourceFiles.js +19 -0
  50. package/out/Project/functions/getParsedCommandLine.d.ts +3 -0
  51. package/out/Project/functions/getParsedCommandLine.js +39 -0
  52. package/out/Project/functions/setupProjectWatchProgram.d.ts +2 -0
  53. package/out/Project/functions/setupProjectWatchProgram.js +228 -0
  54. package/out/Project/functions/tryRemoveOutput.d.ts +2 -0
  55. package/out/Project/functions/tryRemoveOutput.js +30 -0
  56. package/out/Project/functions/validateCompilerOptions.d.ts +2 -0
  57. package/out/Project/functions/validateCompilerOptions.js +87 -0
  58. package/out/Project/index.d.ts +5 -0
  59. package/out/Project/index.js +21 -0
  60. package/out/Project/preEmitDiagnostics/fileUsesCommentDirectives.d.ts +3 -0
  61. package/out/Project/preEmitDiagnostics/fileUsesCommentDirectives.js +27 -0
  62. package/out/Project/transformers/builtin/transformPaths.d.ts +5 -0
  63. package/out/Project/transformers/builtin/transformPaths.js +128 -0
  64. package/out/Project/transformers/builtin/transformTypeReferenceDirectives.d.ts +2 -0
  65. package/out/Project/transformers/builtin/transformTypeReferenceDirectives.js +23 -0
  66. package/out/Project/transformers/createTransformerList.d.ts +4 -0
  67. package/out/Project/transformers/createTransformerList.js +86 -0
  68. package/out/Project/transformers/createTransformerWatcher.d.ts +3 -0
  69. package/out/Project/transformers/createTransformerWatcher.js +56 -0
  70. package/out/Project/transformers/getPluginConfigs.d.ts +2 -0
  71. package/out/Project/transformers/getPluginConfigs.js +33 -0
  72. package/out/Project/util/createReadBuildProgramHost.d.ts +5 -0
  73. package/out/Project/util/createReadBuildProgramHost.js +15 -0
  74. package/out/Project/util/getCustomPreEmitDiagnostics.d.ts +4 -0
  75. package/out/Project/util/getCustomPreEmitDiagnostics.js +13 -0
  76. package/out/Project/util/isCompilableFile.d.ts +1 -0
  77. package/out/Project/util/isCompilableFile.js +18 -0
  78. package/out/Project/util/walkDirectorySync.d.ts +1 -0
  79. package/out/Project/util/walkDirectorySync.js +22 -0
  80. package/out/Shared/classes/Lazy.d.ts +8 -0
  81. package/out/Shared/classes/Lazy.js +22 -0
  82. package/out/Shared/classes/LogService.d.ts +9 -0
  83. package/out/Shared/classes/LogService.js +37 -0
  84. package/out/Shared/constants.d.ts +23 -0
  85. package/out/Shared/constants.js +50 -0
  86. package/out/Shared/diagnostics.d.ts +85 -0
  87. package/out/Shared/diagnostics.js +146 -0
  88. package/out/Shared/errors/DiagnosticError.d.ts +7 -0
  89. package/out/Shared/errors/DiagnosticError.js +16 -0
  90. package/out/Shared/errors/LoggableError.d.ts +5 -0
  91. package/out/Shared/errors/LoggableError.js +14 -0
  92. package/out/Shared/errors/ProjectError.d.ts +4 -0
  93. package/out/Shared/errors/ProjectError.js +12 -0
  94. package/out/Shared/index.d.ts +0 -0
  95. package/out/Shared/index.js +2 -0
  96. package/out/Shared/types.d.ts +42 -0
  97. package/out/Shared/types.js +3 -0
  98. package/out/Shared/util/assert.d.ts +1 -0
  99. package/out/Shared/util/assert.js +12 -0
  100. package/out/Shared/util/benchmark.d.ts +3 -0
  101. package/out/Shared/util/benchmark.js +32 -0
  102. package/out/Shared/util/createDiagnosticWithLocation.d.ts +3 -0
  103. package/out/Shared/util/createDiagnosticWithLocation.js +29 -0
  104. package/out/Shared/util/createGithubLink.d.ts +1 -0
  105. package/out/Shared/util/createGithubLink.js +12 -0
  106. package/out/Shared/util/createTextDiagnostic.d.ts +2 -0
  107. package/out/Shared/util/createTextDiagnostic.js +18 -0
  108. package/out/Shared/util/findAncestorDir.d.ts +1 -0
  109. package/out/Shared/util/findAncestorDir.js +16 -0
  110. package/out/Shared/util/findLastIndex.d.ts +1 -0
  111. package/out/Shared/util/findLastIndex.js +12 -0
  112. package/out/Shared/util/formatDiagnostics.d.ts +2 -0
  113. package/out/Shared/util/formatDiagnostics.js +19 -0
  114. package/out/Shared/util/getCanonicalFileName.d.ts +2 -0
  115. package/out/Shared/util/getCanonicalFileName.js +9 -0
  116. package/out/Shared/util/getOrSetDefault.d.ts +1 -0
  117. package/out/Shared/util/getOrSetDefault.js +12 -0
  118. package/out/Shared/util/getRootDirs.d.ts +2 -0
  119. package/out/Shared/util/getRootDirs.js +10 -0
  120. package/out/Shared/util/hasErrors.d.ts +2 -0
  121. package/out/Shared/util/hasErrors.js +11 -0
  122. package/out/Shared/util/isPathDescendantOf.d.ts +1 -0
  123. package/out/Shared/util/isPathDescendantOf.js +11 -0
  124. package/out/Shared/util/realPathExistsSync.d.ts +1 -0
  125. package/out/Shared/util/realPathExistsSync.js +13 -0
  126. package/out/Shared/warn.d.ts +1 -0
  127. package/out/Shared/warn.js +12 -0
  128. package/out/TSTransformer/classes/DiagnosticService.d.ts +11 -0
  129. package/out/TSTransformer/classes/DiagnosticService.js +37 -0
  130. package/out/TSTransformer/classes/MacroManager.d.ts +48 -0
  131. package/out/TSTransformer/classes/MacroManager.js +185 -0
  132. package/out/TSTransformer/classes/MultiTransformState.d.ts +9 -0
  133. package/out/TSTransformer/classes/MultiTransformState.js +15 -0
  134. package/out/TSTransformer/classes/Prereqs.d.ts +9 -0
  135. package/out/TSTransformer/classes/Prereqs.js +41 -0
  136. package/out/TSTransformer/classes/TransformState.d.ts +71 -0
  137. package/out/TSTransformer/classes/TransformState.js +299 -0
  138. package/out/TSTransformer/index.d.ts +4 -0
  139. package/out/TSTransformer/index.js +23 -0
  140. package/out/TSTransformer/macros/callMacros.d.ts +2 -0
  141. package/out/TSTransformer/macros/callMacros.js +56 -0
  142. package/out/TSTransformer/macros/constructorMacros.d.ts +2 -0
  143. package/out/TSTransformer/macros/constructorMacros.js +118 -0
  144. package/out/TSTransformer/macros/identifierMacros.d.ts +2 -0
  145. package/out/TSTransformer/macros/identifierMacros.js +8 -0
  146. package/out/TSTransformer/macros/propertyCallMacros.d.ts +4 -0
  147. package/out/TSTransformer/macros/propertyCallMacros.js +758 -0
  148. package/out/TSTransformer/macros/types.d.ts +13 -0
  149. package/out/TSTransformer/macros/types.js +3 -0
  150. package/out/TSTransformer/nodes/binding/transformArrayAssignmentPattern.d.ts +5 -0
  151. package/out/TSTransformer/nodes/binding/transformArrayAssignmentPattern.js +87 -0
  152. package/out/TSTransformer/nodes/binding/transformArrayBindingPattern.d.ts +5 -0
  153. package/out/TSTransformer/nodes/binding/transformArrayBindingPattern.js +65 -0
  154. package/out/TSTransformer/nodes/binding/transformBindingName.d.ts +4 -0
  155. package/out/TSTransformer/nodes/binding/transformBindingName.js +33 -0
  156. package/out/TSTransformer/nodes/binding/transformObjectAssignmentPattern.d.ts +5 -0
  157. package/out/TSTransformer/nodes/binding/transformObjectAssignmentPattern.js +105 -0
  158. package/out/TSTransformer/nodes/binding/transformObjectBindingPattern.d.ts +5 -0
  159. package/out/TSTransformer/nodes/binding/transformObjectBindingPattern.js +64 -0
  160. package/out/TSTransformer/nodes/class/transformClassConstructor.d.ts +7 -0
  161. package/out/TSTransformer/nodes/class/transformClassConstructor.js +99 -0
  162. package/out/TSTransformer/nodes/class/transformClassLikeDeclaration.d.ts +7 -0
  163. package/out/TSTransformer/nodes/class/transformClassLikeDeclaration.js +273 -0
  164. package/out/TSTransformer/nodes/class/transformDecorators.d.ts +4 -0
  165. package/out/TSTransformer/nodes/class/transformDecorators.js +179 -0
  166. package/out/TSTransformer/nodes/class/transformPropertyDeclaration.d.ts +4 -0
  167. package/out/TSTransformer/nodes/class/transformPropertyDeclaration.js +42 -0
  168. package/out/TSTransformer/nodes/expressions/transformArrayLiteralExpression.d.ts +5 -0
  169. package/out/TSTransformer/nodes/expressions/transformArrayLiteralExpression.js +78 -0
  170. package/out/TSTransformer/nodes/expressions/transformAwaitExpression.d.ts +5 -0
  171. package/out/TSTransformer/nodes/expressions/transformAwaitExpression.js +13 -0
  172. package/out/TSTransformer/nodes/expressions/transformBinaryExpression.d.ts +5 -0
  173. package/out/TSTransformer/nodes/expressions/transformBinaryExpression.js +207 -0
  174. package/out/TSTransformer/nodes/expressions/transformBooleanLiteral.d.ts +5 -0
  175. package/out/TSTransformer/nodes/expressions/transformBooleanLiteral.js +15 -0
  176. package/out/TSTransformer/nodes/expressions/transformCallExpression.d.ts +8 -0
  177. package/out/TSTransformer/nodes/expressions/transformCallExpression.js +188 -0
  178. package/out/TSTransformer/nodes/expressions/transformClassExpression.d.ts +4 -0
  179. package/out/TSTransformer/nodes/expressions/transformClassExpression.js +10 -0
  180. package/out/TSTransformer/nodes/expressions/transformConditionalExpression.d.ts +5 -0
  181. package/out/TSTransformer/nodes/expressions/transformConditionalExpression.js +49 -0
  182. package/out/TSTransformer/nodes/expressions/transformDeleteExpression.d.ts +5 -0
  183. package/out/TSTransformer/nodes/expressions/transformDeleteExpression.js +14 -0
  184. package/out/TSTransformer/nodes/expressions/transformElementAccessExpression.d.ts +6 -0
  185. package/out/TSTransformer/nodes/expressions/transformElementAccessExpression.js +61 -0
  186. package/out/TSTransformer/nodes/expressions/transformExpression.d.ts +5 -0
  187. package/out/TSTransformer/nodes/expressions/transformExpression.js +107 -0
  188. package/out/TSTransformer/nodes/expressions/transformFunctionExpression.d.ts +5 -0
  189. package/out/TSTransformer/nodes/expressions/transformFunctionExpression.js +46 -0
  190. package/out/TSTransformer/nodes/expressions/transformIdentifier.d.ts +6 -0
  191. package/out/TSTransformer/nodes/expressions/transformIdentifier.js +144 -0
  192. package/out/TSTransformer/nodes/expressions/transformImportExpression.d.ts +5 -0
  193. package/out/TSTransformer/nodes/expressions/transformImportExpression.js +30 -0
  194. package/out/TSTransformer/nodes/expressions/transformJsxElement.d.ts +4 -0
  195. package/out/TSTransformer/nodes/expressions/transformJsxElement.js +8 -0
  196. package/out/TSTransformer/nodes/expressions/transformJsxExpression.d.ts +5 -0
  197. package/out/TSTransformer/nodes/expressions/transformJsxExpression.js +19 -0
  198. package/out/TSTransformer/nodes/expressions/transformJsxFragment.d.ts +5 -0
  199. package/out/TSTransformer/nodes/expressions/transformJsxFragment.js +28 -0
  200. package/out/TSTransformer/nodes/expressions/transformJsxSelfClosingElement.d.ts +4 -0
  201. package/out/TSTransformer/nodes/expressions/transformJsxSelfClosingElement.js +8 -0
  202. package/out/TSTransformer/nodes/expressions/transformNewExpression.d.ts +5 -0
  203. package/out/TSTransformer/nodes/expressions/transformNewExpression.js +26 -0
  204. package/out/TSTransformer/nodes/expressions/transformNoSubstitutionTemplateLiteral.d.ts +5 -0
  205. package/out/TSTransformer/nodes/expressions/transformNoSubstitutionTemplateLiteral.js +14 -0
  206. package/out/TSTransformer/nodes/expressions/transformNumericLiteral.d.ts +5 -0
  207. package/out/TSTransformer/nodes/expressions/transformNumericLiteral.js +13 -0
  208. package/out/TSTransformer/nodes/expressions/transformObjectLiteralExpression.d.ts +5 -0
  209. package/out/TSTransformer/nodes/expressions/transformObjectLiteralExpression.js +113 -0
  210. package/out/TSTransformer/nodes/expressions/transformOmittedExpression.d.ts +4 -0
  211. package/out/TSTransformer/nodes/expressions/transformOmittedExpression.js +11 -0
  212. package/out/TSTransformer/nodes/expressions/transformParenthesizedExpression.d.ts +5 -0
  213. package/out/TSTransformer/nodes/expressions/transformParenthesizedExpression.js +19 -0
  214. package/out/TSTransformer/nodes/expressions/transformPropertyAccessExpression.d.ts +6 -0
  215. package/out/TSTransformer/nodes/expressions/transformPropertyAccessExpression.js +36 -0
  216. package/out/TSTransformer/nodes/expressions/transformSpreadElement.d.ts +5 -0
  217. package/out/TSTransformer/nodes/expressions/transformSpreadElement.js +35 -0
  218. package/out/TSTransformer/nodes/expressions/transformStringLiteral.d.ts +5 -0
  219. package/out/TSTransformer/nodes/expressions/transformStringLiteral.js +12 -0
  220. package/out/TSTransformer/nodes/expressions/transformSuperKeyword.d.ts +4 -0
  221. package/out/TSTransformer/nodes/expressions/transformSuperKeyword.js +11 -0
  222. package/out/TSTransformer/nodes/expressions/transformTaggedTemplateExpression.d.ts +5 -0
  223. package/out/TSTransformer/nodes/expressions/transformTaggedTemplateExpression.js +27 -0
  224. package/out/TSTransformer/nodes/expressions/transformTemplateExpression.d.ts +5 -0
  225. package/out/TSTransformer/nodes/expressions/transformTemplateExpression.js +25 -0
  226. package/out/TSTransformer/nodes/expressions/transformThisExpression.d.ts +5 -0
  227. package/out/TSTransformer/nodes/expressions/transformThisExpression.js +29 -0
  228. package/out/TSTransformer/nodes/expressions/transformTypeExpression.d.ts +4 -0
  229. package/out/TSTransformer/nodes/expressions/transformTypeExpression.js +8 -0
  230. package/out/TSTransformer/nodes/expressions/transformUnaryExpression.d.ts +6 -0
  231. package/out/TSTransformer/nodes/expressions/transformUnaryExpression.js +66 -0
  232. package/out/TSTransformer/nodes/expressions/transformVoidExpression.d.ts +5 -0
  233. package/out/TSTransformer/nodes/expressions/transformVoidExpression.js +14 -0
  234. package/out/TSTransformer/nodes/expressions/transformYieldExpression.d.ts +5 -0
  235. package/out/TSTransformer/nodes/expressions/transformYieldExpression.js +46 -0
  236. package/out/TSTransformer/nodes/jsx/transformJsx.d.ts +5 -0
  237. package/out/TSTransformer/nodes/jsx/transformJsx.js +36 -0
  238. package/out/TSTransformer/nodes/jsx/transformJsxAttributes.d.ts +5 -0
  239. package/out/TSTransformer/nodes/jsx/transformJsxAttributes.js +83 -0
  240. package/out/TSTransformer/nodes/jsx/transformJsxChildren.d.ts +5 -0
  241. package/out/TSTransformer/nodes/jsx/transformJsxChildren.js +33 -0
  242. package/out/TSTransformer/nodes/jsx/transformJsxTagName.d.ts +4 -0
  243. package/out/TSTransformer/nodes/jsx/transformJsxTagName.js +43 -0
  244. package/out/TSTransformer/nodes/statements/transformBlock.d.ts +4 -0
  245. package/out/TSTransformer/nodes/statements/transformBlock.js +14 -0
  246. package/out/TSTransformer/nodes/statements/transformBreakStatement.d.ts +4 -0
  247. package/out/TSTransformer/nodes/statements/transformBreakStatement.js +24 -0
  248. package/out/TSTransformer/nodes/statements/transformClassDeclaration.d.ts +3 -0
  249. package/out/TSTransformer/nodes/statements/transformClassDeclaration.js +8 -0
  250. package/out/TSTransformer/nodes/statements/transformContinueStatement.d.ts +4 -0
  251. package/out/TSTransformer/nodes/statements/transformContinueStatement.js +24 -0
  252. package/out/TSTransformer/nodes/statements/transformDoStatement.d.ts +4 -0
  253. package/out/TSTransformer/nodes/statements/transformDoStatement.js +34 -0
  254. package/out/TSTransformer/nodes/statements/transformEnumDeclaration.d.ts +4 -0
  255. package/out/TSTransformer/nodes/statements/transformEnumDeclaration.js +95 -0
  256. package/out/TSTransformer/nodes/statements/transformExportAssignment.d.ts +4 -0
  257. package/out/TSTransformer/nodes/statements/transformExportAssignment.js +63 -0
  258. package/out/TSTransformer/nodes/statements/transformExportDeclaration.d.ts +4 -0
  259. package/out/TSTransformer/nodes/statements/transformExportDeclaration.js +108 -0
  260. package/out/TSTransformer/nodes/statements/transformExpressionStatement.d.ts +5 -0
  261. package/out/TSTransformer/nodes/statements/transformExpressionStatement.js +70 -0
  262. package/out/TSTransformer/nodes/statements/transformForOfStatement.d.ts +5 -0
  263. package/out/TSTransformer/nodes/statements/transformForOfStatement.js +436 -0
  264. package/out/TSTransformer/nodes/statements/transformForStatement.d.ts +4 -0
  265. package/out/TSTransformer/nodes/statements/transformForStatement.js +376 -0
  266. package/out/TSTransformer/nodes/statements/transformFunctionDeclaration.d.ts +4 -0
  267. package/out/TSTransformer/nodes/statements/transformFunctionDeclaration.js +69 -0
  268. package/out/TSTransformer/nodes/statements/transformIfStatement.d.ts +5 -0
  269. package/out/TSTransformer/nodes/statements/transformIfStatement.js +50 -0
  270. package/out/TSTransformer/nodes/statements/transformImportDeclaration.d.ts +4 -0
  271. package/out/TSTransformer/nodes/statements/transformImportDeclaration.js +112 -0
  272. package/out/TSTransformer/nodes/statements/transformImportEqualsDeclaration.d.ts +4 -0
  273. package/out/TSTransformer/nodes/statements/transformImportEqualsDeclaration.js +45 -0
  274. package/out/TSTransformer/nodes/statements/transformModuleDeclaration.d.ts +4 -0
  275. package/out/TSTransformer/nodes/statements/transformModuleDeclaration.js +122 -0
  276. package/out/TSTransformer/nodes/statements/transformReturnStatement.d.ts +5 -0
  277. package/out/TSTransformer/nodes/statements/transformReturnStatement.js +80 -0
  278. package/out/TSTransformer/nodes/statements/transformStatement.d.ts +4 -0
  279. package/out/TSTransformer/nodes/statements/transformStatement.js +83 -0
  280. package/out/TSTransformer/nodes/statements/transformSwitchStatement.d.ts +4 -0
  281. package/out/TSTransformer/nodes/statements/transformSwitchStatement.js +118 -0
  282. package/out/TSTransformer/nodes/statements/transformThrowStatement.d.ts +4 -0
  283. package/out/TSTransformer/nodes/statements/transformThrowStatement.js +23 -0
  284. package/out/TSTransformer/nodes/statements/transformTryStatement.d.ts +4 -0
  285. package/out/TSTransformer/nodes/statements/transformTryStatement.js +148 -0
  286. package/out/TSTransformer/nodes/statements/transformVariableStatement.d.ts +15 -0
  287. package/out/TSTransformer/nodes/statements/transformVariableStatement.js +232 -0
  288. package/out/TSTransformer/nodes/statements/transformWhileStatement.d.ts +4 -0
  289. package/out/TSTransformer/nodes/statements/transformWhileStatement.js +33 -0
  290. package/out/TSTransformer/nodes/transformEntityName.d.ts +4 -0
  291. package/out/TSTransformer/nodes/transformEntityName.js +25 -0
  292. package/out/TSTransformer/nodes/transformInitializer.d.ts +5 -0
  293. package/out/TSTransformer/nodes/transformInitializer.js +24 -0
  294. package/out/TSTransformer/nodes/transformInterpolatedStringPart.d.ts +3 -0
  295. package/out/TSTransformer/nodes/transformInterpolatedStringPart.js +12 -0
  296. package/out/TSTransformer/nodes/transformLogical.d.ts +5 -0
  297. package/out/TSTransformer/nodes/transformLogical.js +108 -0
  298. package/out/TSTransformer/nodes/transformLogicalOrCoalescingAssignmentExpression.d.ts +6 -0
  299. package/out/TSTransformer/nodes/transformLogicalOrCoalescingAssignmentExpression.js +99 -0
  300. package/out/TSTransformer/nodes/transformMethodDeclaration.d.ts +5 -0
  301. package/out/TSTransformer/nodes/transformMethodDeclaration.js +87 -0
  302. package/out/TSTransformer/nodes/transformOptionalChain.d.ts +47 -0
  303. package/out/TSTransformer/nodes/transformOptionalChain.js +258 -0
  304. package/out/TSTransformer/nodes/transformParameters.d.ts +8 -0
  305. package/out/TSTransformer/nodes/transformParameters.js +119 -0
  306. package/out/TSTransformer/nodes/transformPropertyName.d.ts +5 -0
  307. package/out/TSTransformer/nodes/transformPropertyName.js +18 -0
  308. package/out/TSTransformer/nodes/transformSourceFile.d.ts +4 -0
  309. package/out/TSTransformer/nodes/transformSourceFile.js +182 -0
  310. package/out/TSTransformer/nodes/transformStatementList.d.ts +7 -0
  311. package/out/TSTransformer/nodes/transformStatementList.js +154 -0
  312. package/out/TSTransformer/nodes/transformWritable.d.ts +10 -0
  313. package/out/TSTransformer/nodes/transformWritable.js +53 -0
  314. package/out/TSTransformer/typeGuards.d.ts +5 -0
  315. package/out/TSTransformer/typeGuards.js +27 -0
  316. package/out/TSTransformer/types.d.ts +9 -0
  317. package/out/TSTransformer/types.js +3 -0
  318. package/out/TSTransformer/util/addIndexDiagnostics.d.ts +3 -0
  319. package/out/TSTransformer/util/addIndexDiagnostics.js +50 -0
  320. package/out/TSTransformer/util/addOneIfArrayType.d.ts +4 -0
  321. package/out/TSTransformer/util/addOneIfArrayType.js +14 -0
  322. package/out/TSTransformer/util/arrayBindingPatternContainsHoists.d.ts +3 -0
  323. package/out/TSTransformer/util/arrayBindingPatternContainsHoists.js +23 -0
  324. package/out/TSTransformer/util/arrayLikeExpressionContainsSpread.d.ts +2 -0
  325. package/out/TSTransformer/util/arrayLikeExpressionContainsSpread.js +17 -0
  326. package/out/TSTransformer/util/assertNever.d.ts +1 -0
  327. package/out/TSTransformer/util/assertNever.js +36 -0
  328. package/out/TSTransformer/util/assignment.d.ts +8 -0
  329. package/out/TSTransformer/util/assignment.js +48 -0
  330. package/out/TSTransformer/util/binding/getAccessorForBindingType.d.ts +6 -0
  331. package/out/TSTransformer/util/binding/getAccessorForBindingType.js +135 -0
  332. package/out/TSTransformer/util/binding/getTargetIdForBindingPattern.d.ts +4 -0
  333. package/out/TSTransformer/util/binding/getTargetIdForBindingPattern.js +15 -0
  334. package/out/TSTransformer/util/binding/objectAccessor.d.ts +5 -0
  335. package/out/TSTransformer/util/binding/objectAccessor.js +45 -0
  336. package/out/TSTransformer/util/bitwise.d.ts +7 -0
  337. package/out/TSTransformer/util/bitwise.js +66 -0
  338. package/out/TSTransformer/util/checkVariableHoist.d.ts +3 -0
  339. package/out/TSTransformer/util/checkVariableHoist.js +33 -0
  340. package/out/TSTransformer/util/cleanModuleName.d.ts +1 -0
  341. package/out/TSTransformer/util/cleanModuleName.js +7 -0
  342. package/out/TSTransformer/util/convertToIndexableExpression.d.ts +2 -0
  343. package/out/TSTransformer/util/convertToIndexableExpression.js +14 -0
  344. package/out/TSTransformer/util/createBinaryFromOperator.d.ts +5 -0
  345. package/out/TSTransformer/util/createBinaryFromOperator.js +59 -0
  346. package/out/TSTransformer/util/createGetService.d.ts +2 -0
  347. package/out/TSTransformer/util/createGetService.js +15 -0
  348. package/out/TSTransformer/util/createHoistDeclaration.d.ts +4 -0
  349. package/out/TSTransformer/util/createHoistDeclaration.js +21 -0
  350. package/out/TSTransformer/util/createImportExpression.d.ts +5 -0
  351. package/out/TSTransformer/util/createImportExpression.js +167 -0
  352. package/out/TSTransformer/util/createStringFromLiteral.d.ts +2 -0
  353. package/out/TSTransformer/util/createStringFromLiteral.js +27 -0
  354. package/out/TSTransformer/util/createTransformServices.d.ts +3 -0
  355. package/out/TSTransformer/util/createTransformServices.js +9 -0
  356. package/out/TSTransformer/util/createTruthinessChecks.d.ts +6 -0
  357. package/out/TSTransformer/util/createTruthinessChecks.js +50 -0
  358. package/out/TSTransformer/util/createTypeCheck.d.ts +2 -0
  359. package/out/TSTransformer/util/createTypeCheck.js +11 -0
  360. package/out/TSTransformer/util/ensureTransformOrder.d.ts +6 -0
  361. package/out/TSTransformer/util/ensureTransformOrder.js +44 -0
  362. package/out/TSTransformer/util/expressionChain.d.ts +3 -0
  363. package/out/TSTransformer/util/expressionChain.js +16 -0
  364. package/out/TSTransformer/util/expressionMightMutate.d.ts +4 -0
  365. package/out/TSTransformer/util/expressionMightMutate.js +57 -0
  366. package/out/TSTransformer/util/findConstructor.d.ts +4 -0
  367. package/out/TSTransformer/util/findConstructor.js +11 -0
  368. package/out/TSTransformer/util/fixupWhitespaceAndDecodeEntities.d.ts +1 -0
  369. package/out/TSTransformer/util/fixupWhitespaceAndDecodeEntities.js +306 -0
  370. package/out/TSTransformer/util/getAddIterableToArrayBuilder.d.ts +7 -0
  371. package/out/TSTransformer/util/getAddIterableToArrayBuilder.js +287 -0
  372. package/out/TSTransformer/util/getAssignableValue.d.ts +3 -0
  373. package/out/TSTransformer/util/getAssignableValue.js +15 -0
  374. package/out/TSTransformer/util/getConstantValueLiteral.d.ts +4 -0
  375. package/out/TSTransformer/util/getConstantValueLiteral.js +19 -0
  376. package/out/TSTransformer/util/getDeclaredVariables.d.ts +2 -0
  377. package/out/TSTransformer/util/getDeclaredVariables.js +37 -0
  378. package/out/TSTransformer/util/getExtendsNode.d.ts +2 -0
  379. package/out/TSTransformer/util/getExtendsNode.js +15 -0
  380. package/out/TSTransformer/util/getFlags.d.ts +1 -0
  381. package/out/TSTransformer/util/getFlags.js +13 -0
  382. package/out/TSTransformer/util/getKindName.d.ts +2 -0
  383. package/out/TSTransformer/util/getKindName.js +61 -0
  384. package/out/TSTransformer/util/getLiteralNumberValue.d.ts +3 -0
  385. package/out/TSTransformer/util/getLiteralNumberValue.js +20 -0
  386. package/out/TSTransformer/util/getOriginalSymbolOfNode.d.ts +2 -0
  387. package/out/TSTransformer/util/getOriginalSymbolOfNode.js +15 -0
  388. package/out/TSTransformer/util/getSourceFileFromModuleSpecifier.d.ts +3 -0
  389. package/out/TSTransformer/util/getSourceFileFromModuleSpecifier.js +33 -0
  390. package/out/TSTransformer/util/getStatements.d.ts +2 -0
  391. package/out/TSTransformer/util/getStatements.js +11 -0
  392. package/out/TSTransformer/util/hasMultipleDefinitions.d.ts +2 -0
  393. package/out/TSTransformer/util/hasMultipleDefinitions.js +16 -0
  394. package/out/TSTransformer/util/hasSymbolProperty.d.ts +2 -0
  395. package/out/TSTransformer/util/hasSymbolProperty.js +13 -0
  396. package/out/TSTransformer/util/isBlockedByTryStatement.d.ts +3 -0
  397. package/out/TSTransformer/util/isBlockedByTryStatement.js +17 -0
  398. package/out/TSTransformer/util/isMethod.d.ts +4 -0
  399. package/out/TSTransformer/util/isMethod.js +89 -0
  400. package/out/TSTransformer/util/isSymbolMutable.d.ts +3 -0
  401. package/out/TSTransformer/util/isSymbolMutable.js +24 -0
  402. package/out/TSTransformer/util/isSymbolOfValue.d.ts +2 -0
  403. package/out/TSTransformer/util/isSymbolOfValue.js +11 -0
  404. package/out/TSTransformer/util/isUsedAsStatement.d.ts +2 -0
  405. package/out/TSTransformer/util/isUsedAsStatement.js +23 -0
  406. package/out/TSTransformer/util/isValidMethodIndexWithoutCall.d.ts +3 -0
  407. package/out/TSTransformer/util/isValidMethodIndexWithoutCall.js +31 -0
  408. package/out/TSTransformer/util/offset.d.ts +2 -0
  409. package/out/TSTransformer/util/offset.js +33 -0
  410. package/out/TSTransformer/util/pointer.d.ts +14 -0
  411. package/out/TSTransformer/util/pointer.js +46 -0
  412. package/out/TSTransformer/util/spreadDestructuring/index.d.ts +10 -0
  413. package/out/TSTransformer/util/spreadDestructuring/index.js +45 -0
  414. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureArray.d.ts +4 -0
  415. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureArray.js +17 -0
  416. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureGenerator.d.ts +4 -0
  417. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureGenerator.js +33 -0
  418. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureMap.d.ts +4 -0
  419. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureMap.js +34 -0
  420. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureObject.d.ts +4 -0
  421. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureObject.js +41 -0
  422. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureSet.d.ts +4 -0
  423. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureSet.js +28 -0
  424. package/out/TSTransformer/util/traversal.d.ts +7 -0
  425. package/out/TSTransformer/util/traversal.js +57 -0
  426. package/out/TSTransformer/util/types.d.ts +33 -0
  427. package/out/TSTransformer/util/types.js +259 -0
  428. package/out/TSTransformer/util/validateIdentifier.d.ts +3 -0
  429. package/out/TSTransformer/util/validateIdentifier.js +18 -0
  430. package/out/TSTransformer/util/validateMethodAssignment.d.ts +3 -0
  431. package/out/TSTransformer/util/validateMethodAssignment.js +81 -0
  432. package/out/TSTransformer/util/validateNotAny.d.ts +3 -0
  433. package/out/TSTransformer/util/validateNotAny.js +37 -0
  434. package/out/TSTransformer/util/valueToIdStr.d.ts +2 -0
  435. package/out/TSTransformer/util/valueToIdStr.js +29 -0
  436. package/out/TSTransformer/util/wrapExpressionStatement.d.ts +2 -0
  437. package/out/TSTransformer/util/wrapExpressionStatement.js +22 -0
  438. package/out/TSTransformer/util/wrapReturnIfLuaTuple.d.ts +4 -0
  439. package/out/TSTransformer/util/wrapReturnIfLuaTuple.js +59 -0
  440. package/out/TSTransformer/util/wrapStatementsAsGenerator.d.ts +4 -0
  441. package/out/TSTransformer/util/wrapStatementsAsGenerator.js +19 -0
  442. package/package.json +76 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,716 @@
1
+ ## 3.0.0
2
+ - TypeScript dependency updated to 5.5.3 ([#2617][2617], [#2648][2648], [#2716][2716], [#2736][2736])
3
+ - Generic JSX ([#2404][2404])
4
+ - JSX can now be used for any library which matches `React.createElement()` syntax
5
+ - `--optimizedLoops` flag is now enabled by default
6
+ - this will optimize loops like `for (let i = 1; i <= 10; i++) {}` into `for i = 1, 10 do end`
7
+ - please report any issues [here](https://github.com/roblox-ts/roblox-ts/issues/new)
8
+ - if necessary, you can run the compiler with `--optimizedLoops=false` to return to the old behavior
9
+ - Improve emit for `a.b()` and `a[b]()` ([#2623][2623])
10
+ - Fixed bug where `noMacroExtends` diagnostic would never be reported ([#2587][2587])
11
+ - Fixed bug where `noRobloxSymbolInstanceof` diagnostic would not always be reported ([#2672][2672])
12
+ - Fixed watch mode error for files with "unsupported extensions" ([#2701][2701])
13
+ - Fixed multiline template string bug on Windows ([roblox-ts/luau-ast#483][roblox-ts/luau-ast#483])
14
+ - Fixed template string unicode escape sequence bug ([roblox-ts/luau-ast#483][roblox-ts/luau-ast#483])
15
+ - Fixed optional arguments when spreading into macro ([#2528][2528])
16
+ - Fixed nested classes not getting hoisted ([#2728][2728])
17
+ - Pinned exact versions of @roblox-ts dependencies ([#2724][2724])
18
+ - Fixed bug where error was not rethrown after a `finally` block ([#2726][2726])
19
+ - Fixed bug where `finally` block was not run if the `catch` block errored ([#2726][2726])
20
+ - Fixed importing directories that are symlinked twice ([#2704][2704])
21
+ - Moved all `@types/*` to devDependencies ([#2737][2737])
22
+ - Corrected parameter decorator name argument ([#2460][2460])
23
+ - Corrected decorator execution ordering ([#2759][2759])
24
+ - Fixed `export {}` not working on imported variables ([#2796][2796])
25
+ - Fixed statements before super breaking class initialization ([#2778][2778])
26
+ - Fixed internal transformPaths transformer ([#2800][2800])
27
+ - Added support for `.luau` file extension ([#2802][2802])
28
+ - Fix typo in issue #1149's diagnostic ([#2649][2649])
29
+ - Added an error if `types` specified in tsconfig.json are not found ([#2533][2533])
30
+
31
+ ### **Breaking Changes**
32
+ - To continue using `@rbxts/roact` + JSX
33
+ - roblox-ts 3.0.0+ will require `@rbxts/roact` 3.0.1+
34
+ - Class components must be tagged with `@Roact.ClassComponent`
35
+ - Top-level JSX expressions no longer support `Key`. To preserve previous behavior, you should wrap it in a fragment:
36
+ ```tsx
37
+ <><screengui Key="ScreenGui" /></>
38
+ ```
39
+ - In `tsconfig.json` you should set the following
40
+ ```json
41
+ "jsx": "react",
42
+ "jsxFactory": "Roact.jsx",
43
+ "jsxFragmentFactory": "Roact.Fragment",
44
+ ```
45
+ - Upgraded bundled `roblox-lua-promise` from 3.2.1 to 4.0.0. See possible breaking changes [here](https://github.com/evaera/roblox-lua-promise/releases).
46
+ - The TypeScript update includes a few edge-case breaking changes: [5.4](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/#notable-behavioral-changes8) and [5.5](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#notable-behavioral-changes30)
47
+ - roblox-ts will emit compiled files as `.luau` by default. You can keep the old behaviour by running with `--luau=false`.
48
+ - Parameter decorators will now be called with the name of the method, instead of the name of the parameter. This matches TypeScript behaviour.
49
+ - `typeRoots` are now verified relative to the project folder, not the `package.json`. For more info, see ([#2533][2533])
50
+
51
+ ## 2.3.0
52
+ - Removed `rbxtsc init` in favor of `npm create roblox-ts` ([#2503][2503])
53
+ - Lune Unit Testing ([#2489][2489])
54
+ - Not user facing, but the compiler should be more stable going forwards! :tada:
55
+ - Removed enum inverse mapping for string values ([#2506][2506])
56
+ - $range macro optimizations ([#2130][2130], [#2196][2196])
57
+ - Added support for `typeIs(value, "buffer")` ([#2588][2588])
58
+ - Fixed `Array.push()` inserting multiple values for different tables ([#2597][2597])
59
+ - Support interpolated string emit for template expressions ([#2591][2591])
60
+ - Removed unnecessary parentheses for chained binary expressions like `a && b && c` ([#2242][2242])
61
+ - Better usage analysis for function expressions + `...` ([#2527][2527])
62
+ - Fixed `noAny` diagnostic for `a.b()` and `a[b]()` ([#2550][2550])
63
+ - Optimized array offset emit so that `x[n - 1]` becomes `x[n]` instead of `x[n - 1 + 1]` ([#2567][2567])
64
+ - Optimized object spread assignment when the spread is the first entry in the object, i.e. `{ ...obj, foo: "bar" }` ([#2546][2546])
65
+ - Fixed bug related to `new Map( ... ).delete(exp)` and `new Set( ... ).delete(exp)` ([#2605][2605])
66
+ - Split off PathTranslator class into it's own package ([#2614][2614])
67
+ - Added support integer division operator via macro: `Number.idiv()`, `Vector2.idiv()`, and `Vector3.idiv()` ([#2606][2606])
68
+ - these compile to `a // b`
69
+ - number literals should be wrapped in parentheses, i.e. `(10).idiv(3)`
70
+
71
+ ## 2.2.0
72
+ - TypeScript 5.2.2 Support ([#2401][2401], [#2466][2466])
73
+ - Support for instantiated expressions ([#2445][2445])
74
+ - Support for Luau comment directives like `//!native` ([#2465][2465])
75
+ - Fixed incorrect emit with `array[n]?.()` ([#2475][2475])
76
+ - Support for class static blocks ([#2480][2480])
77
+
78
+ ## 2.1.1
79
+ - Enable `--optimizedLoops` flag for Playground environment ([#2271][2271])
80
+ - Fix for updating non-compiled files in transformer watch mode ([#2385][2385])
81
+ - Add `$getModuleTree` macro ([#2302][2302])
82
+
83
+ ## 2.1.0
84
+ - TypeScript 4.9 Support ([#2195][2195])
85
+ - Adds support for `satisfies` keyword
86
+ - Adds disagnostic for the `accessor` keyword (requires getters/setters which are not supported)
87
+ - Removed diagnostic for comma operator ([#2045][2045])
88
+ - Banned instanceof on roblox types ([#2225][2225])
89
+ - Disabled networkType check for dynamic import() ([#2197][2197])
90
+ - Added `--writeTransformedFiles` to write transformed TypeScript ASTs to out directory ([#2255][2255])
91
+ - Small improvements and fixes for `--optimizedLoops` ([#2201][2201], [#2265][2265])
92
+
93
+ ## 2.0.4
94
+ - Updated deprecated APIs for TS 4.8 ([#2143][2143])
95
+
96
+ ## 2.0.3
97
+ - Fixed new regression with incremental mode ([#2138][2138])
98
+
99
+ ## 2.0.2
100
+ - Fixed new regression with Playground environment
101
+
102
+ ## 2.0.1
103
+ - Fixed new regression with Package projects importing package dependencies ([#2125][2125])
104
+
105
+ ## 2.0.0
106
+ - **Breaking Changes**
107
+ - Removed `opcall` in favor of `pcall` ([#1991][1991])
108
+ - Removed `PKG_VERSION` in favor of a transformer plugin ([#1990][1990])
109
+ - Improved npm module resolution ([#2011][2011])
110
+ - Fix incorrect right shift implementation ([#2069][2069])
111
+ - **Other Changes**
112
+ - Fixed bug with `Array.unorderedRemove` for `false` values ([#1883][1883])
113
+ - Added support for `preserveConstEnums` tsconfig.json option ([#1894][1894])
114
+ - Upgraded to TypeScript 4.8.3 ([#1903][1903], [#2121][2121])
115
+ - Fixed a bug with `type` keyword and named exports ([#1922][1922])
116
+ - Improved JSX config error messages ([#1817][1817])
117
+ - Improved detection of Roact Change/Event attributes ([#1972][1972])
118
+ - Improved naming of for-of statement temporary identifiers ([#1896][1896])
119
+ - Added experimental compiler flag `--optimizedLoops` to compile some numeric for loops to be Lua for loops ([#1977][1977])
120
+ - Fixed duplicate diagnostics for enum and namespace merging ([#1981][1981])
121
+ - Added `$range` macro ([#1979][1979])
122
+ - Added `$tuple` macro ([#1980][1980])
123
+ - Optimized array destructuring from array literal ([#1994][1994])
124
+ - Added support for `import K = X.Y.Z;` ([#2001][2001])
125
+ - Emit no longer uses `pairs()`/`ipairs()`, in favor of generalized iteration ([#2008][2008])
126
+ - Added diagnostic for non-Server .ts files importing Server .ts files ([#1899][1899])
127
+ - Fixed `npm init` package manager detection bug
128
+ - Fixed `npm init` not properly exiting on Ctrl+C
129
+ - Fixed `npm init` existing path recognition ([#2019][2019])
130
+ - Prevent compiler from crashing when identifiers have no symbol ([#1987][1987])
131
+ - Improved support for compiler build flags in `"rbxts"` field of `tsconfig.json` ([#2023][2023])
132
+ - Banned usage of `@ts-ignore` and add --allowCommentDirectives ([#2024][2024])
133
+ - Improved `rbxtsc init plugin` template to use "types" in tsconfig.json instead of triple slash directives ([#2028][2028])
134
+ - Fixed `rbxtsc init` usage with pnpm ([#2060][2060])
135
+
136
+ ## 1.3.3
137
+ - Fixed some regressions for compiling void-returning macros as expressions ([#1864][1864], [#1876][1876])
138
+ - Improved validation for `tsconfig.json` `"typeRoots"` field ([#1873][1873])
139
+ - Fixed a crash when referencing global const enums in the same file they're declared in ([#1878][1878])
140
+
141
+ ## 1.3.2
142
+ - `Array.push` now optimizes to use `table.insert()`
143
+ - Macro emit is no longer wrapped in comments for single statements
144
+ - null coalescing expressions can now be inlined if Lua truthiness allows ([#1857][1857])
145
+ - Fixed conditional expression usage inside for loops ([#1856][1856])
146
+
147
+ ## 1.3.1
148
+ - Added "experimentalDecorators" tsconfig.json option to templates + playground ([#1850][1850])
149
+
150
+ ## 1.3.0
151
+ - Split out compiler parts into multiple packages ([#1775][1775])
152
+ - Fixed broken hoisting on arrow function variables ([#1777][1777])
153
+ - Improved emit for expression statement ternaries ([#1783][1783])
154
+ - Improved watch mode stability ([#1787][1787])
155
+ - Loosened "any" type checks to allow for improved usage with type variables
156
+ - Improved support for object destructuring assignment ([#1822][1822])
157
+ - `rbxtsc init` will no longer prompt for `git init` if git isn't installed ([#1823][1823])
158
+ - Fix `LuaTuple<T>` wrapping in for loop condition ([#1819][1819])
159
+ - Added initial support for TypeScript decorators :tada: ([#1793][1793])
160
+ - Bumped TypeScript version to 4.5.5
161
+
162
+ ## 1.2.9
163
+ - Upgraded built-in roblox-lua-promise to v3.2.1
164
+ - Improved incremental mode to recognize tsconfig.json "plugins"
165
+ - Package template from `rbxtsc init` now ignores `.tsbuildinfo` files when uploading to npm
166
+ - Fixed compiler crash when calling Roblox API methods via element expression `game["Destroy"]()` ([#1761][1761])
167
+ - Fixed Luau if-expression truthiness bug ([#1762][1762])
168
+ - Fixed Luau if-expression precedence bug ([#1763][1763])
169
+
170
+ ## 1.2.8
171
+ - Added `ignorePatterns` to `rbxtsc init` eslint config
172
+ - Improved diagnostic for assignment of methods and non-methods to one another ([#1667][1667])
173
+ - Added support for Luau if-expressions in emit ([#1675][1675])
174
+ - Improved watch mode not recompiling after errors ([#1682][1682])
175
+ - Added warning for transformers failing to initialize ([#1683][1683])
176
+ - Improved JSX tsconfig.json errors to allow for custom JSX transformers ([#1690][1690])
177
+ - Allowed for method indexing in `typeIs()` macro calls ([#1696][1696])
178
+ - Removed `"baseUrl"` setting from `rbxtsc init package` tsconfig.json template
179
+ - Fixed error with export * from .d.ts file ([#1727][1727])
180
+ - Fixed double `not` keywords in do-while with negated condition ([#1749][1749])
181
+ - Reworked the internals for `rbxtsc init`, added use of prettier without eslint ([#1659][1659])
182
+ - Incremental mode now considers `--type` flag
183
+
184
+ ## 1.2.7
185
+ - Fixed roblox-ts pre-emit diagnostics being reported before TypeScript pre-emit diagnostics ([#1663][1663])
186
+ - Fixed regression with `...args` in built-in functions that support var args ([#1665][1665])
187
+
188
+ ## 1.2.6
189
+ - Fixed regression with using `defined`/`unknown` values in string templates ([#1652][1652])
190
+ - Added method assignment validation diagnostics ([#1651][1651])
191
+
192
+ ## 1.2.5
193
+ - Fixed playground crash ([#1648][1648])
194
+
195
+ ## 1.2.4
196
+ - Improved temporary identifier names in a few cases
197
+ - Small optimization for macros with defaults ([#1521][1521])
198
+ - Fixed binary expression equal precedence issues ([#1538][1538])
199
+ - Skip rendering parentheses for literals / simple expressions ([#1543][1543])
200
+ - Fixed emitted type declarations with transformers ([#1557][1557])
201
+ - Fixed enum hoisting ([#1555][1555])
202
+ - Fixed namespace bugs ([#1563][1563])
203
+ - Fixed template literal infinite recursion bug ([#1564][1564])
204
+ - Improved incremental mode hash generation ([#1589][1589])
205
+ - Improved detection for `defined` type
206
+ - Improvements for watch mode ([#1520][1520])
207
+ - Improved testing and code coverage :tada:
208
+ - Fixed crash with for-of loops over `pairs(this)` ([#1629][1629])
209
+
210
+ ## 1.2.3
211
+ - Fixed a bug with array spread expressions like `[a, ...b]`
212
+ - Fixed playground environment crash
213
+
214
+ ## 1.2.2
215
+ - Fixed a bug with temporary identifiers shadowing each other incorrectly.
216
+
217
+ ## 1.2.1
218
+ - Add contextual info to the 'noRojoData' diagnostic ([#1354][1354])
219
+ - Fixed LuaTuples don't compile correctly with optional chaining ([#1338][1338])
220
+ - Added compiler warnings for using the RuntimeLib from ReplicatedFirst
221
+ - Improved `LuaTuple<T>` detection ([#1356][1356])
222
+ - Added support for tsconfig.json `"extends"` with transformer plugins ([#1357][1357])
223
+ - Added default "build" and "watch" scripts to `rbxtsc init` package.json files
224
+ - Added check against merging functions and namespaces, fixed bug where `declare` declarations were incorrectly seen as "merging".
225
+ - Improved detection of `defined` type.
226
+ - Added support for diagnostics emitted from transformer plugins ([#1387][1387])
227
+ - Added support for `typeIs(v, "vector")`
228
+ - Added diagnostic for use of reserved fields `"new"` and `"__index"` in class declarations
229
+ - Reworked ForStatement emit to handle complex cases better ([#1315][1315])
230
+ - Added package manager selection to `rbxtsc init` ([#1346][1346])
231
+ - Removed `--logStringChanges` flag
232
+ - Added support for variable assignments in for..of loops ([#1253][1253])
233
+ - Added support for "named" temporary identifiers (used internally by the compiler) to make the emit more readable ([#1382][1382])
234
+ - Fixed crash on iteration over `WeakSet<T>` and `WeakMap<K, V>` ([#1417][1417])
235
+ - Improved performance for transformer plugins ([#1416][1416])
236
+ - `rbxtsc-dev` now force disables incremental mode for compiler development ([#1420][1420])
237
+ - Fixed watch mode dependency bugs without incremental mode ([#1424][1424])
238
+ - Added `serve.project.json` to `rbxtsc init plugin` template ([#1419][1419])
239
+ - Array spread now uses `table.move()` ([#1437][1437])
240
+ - noAny diagnostic will now only be reported once per symbol ([#1435][1435])
241
+ - Fixed Luau emit bug with multiline strings used as table keys ([#1453][1453])
242
+ - Added support for `return` in class constructors ([#1455][1455])
243
+ - Fixed Luau emit bug with strings containing `'`, `"`, and ending in `]` ([#1467][1467])
244
+ - Added support for alternative npm scopes other than `@rbxts` :tada: ([#1474][1474])
245
+ - Added a friendly notice for when `git init` fails in `rbxtsc init` initialization step ([#1477][1477])
246
+ - Fixed `init.lua` files being incorrectly deleted in watch mode
247
+ - Cleaned out old and unused `RuntimeLib.lua` functions
248
+ - Added `"forceConsistentCasingInFileNames": true,` to `rbxtsc init` tsconfig.json files
249
+ - Fixed `rbxtsc init` under `@next` builds ([#1479][1479])
250
+ - Fixed `.d.ts` files not being deleted in watch mode ([#1445][1445])
251
+ - Added diagnostic for `init` being reserved in Roact.Component classes ([#1454][1454])
252
+ - `instanceof` emit now uses RuntimeLib function `TS.instanceof()` ([#1491][1491])
253
+ - Fixed bug where `"include"` folder was copied for package projects
254
+
255
+ ## 1.1.1
256
+
257
+ - Fixed crash when using `@rbxts/roact` in the playground
258
+
259
+ ## 1.1.0
260
+
261
+ - Reorganized `@rbxts/roact` types and improved compiler support for detecting the types
262
+ - `@rbxts/roact@>=1.3.0-ts.13` requires `roblox-ts@>=1.1.0`
263
+ - `Array.includes()` now compiles to a `table.find()` call ([#1299][1299])
264
+ - `.d.ts` files are no longer copied to `out` directory if tsconfig.json "declaration" setting is not enabled
265
+ - Fixed switch statement bug with missing parentheses ([#1304][1304])
266
+ - Fixed `export * as N` bug ([#1320][1320])
267
+ - Fixed expressions with prereqs / macros in "else if" conditions not compiling correctly ([#1314][1314])
268
+ - Globals used by the compiler (`type()`, `typeof()`, `table`, etc.) will now error if shadowed by a variable or parameter name
269
+ - Fixed macro math order of operations bugs
270
+
271
+ ## 1.0.0
272
+
273
+ - Updated to TypeScript 4.2.3
274
+ - Updated "out of date of types" error message text
275
+ - Added a diagnostic for ([#1149][1149])
276
+ - Fixed JSX fragments used as children ([#1285][1285])
277
+ - Updated `rbxtsc init package` to use package.json "files"
278
+ - Updated `rbxtsc init` to use default.project.json "globIgnorePaths"
279
+ - Fixed JSX fragments in playground environment
280
+ - Fixed export tables for "declared" identifiers
281
+
282
+ ## 1.0.0-beta.17
283
+
284
+ - Fixed error message text for when `@rbxts/compiler-types` is out of date
285
+ - Added a diagnostic error for ([#1149][1149])
286
+ - Fixed using a JSX fragment as a child ([#1285][1285])
287
+ - Updated `rbxtsc init` to use `"files"` in package.json for packages
288
+ - Added a default `"globIgnorePaths"` setting to default.project.json files for `rbxtsc init`
289
+ - Fixed JSX fragment support in the playground environment
290
+ - Disallowed usage of unary `-` on non-number types ([#1288][1288])
291
+ - `Array.unorderedRemove` now checks to see if the input is within the array's range.
292
+ - Added a diagnostic for iterating over `Iterable<T>` directly ([#1202][1202])
293
+
294
+ ## 1.0.0-beta.16
295
+
296
+ - Compiler will now warn if any input files will result in an output collision ([#1254][1254])
297
+ - Fixed generator methods not properly compiling ([#1243][1243])
298
+ - Fixed numeric for loops not creating internal variable after condition check with prerequisite statements ([#1250][1250])
299
+ - Fixed bugs relating to calling "super" methods ([#1266][1266])
300
+ - Added `Array<T>.clear()`
301
+
302
+ ## 1.0.0-beta.15
303
+
304
+ - Added support for JSX Fragment Shorthand Expressions `<><frame/></>`
305
+ - Fixed iterating over an IterableFunction without destructuring ([#1215][1215])
306
+ - Fixed `array | undefined` index not being incremented ([#1226][1226])
307
+ - Fixed wrap return if LuaTuple in optional call ([#1227][1227])
308
+ - Fixed JSX map expressions replacing children bug
309
+ - Add project package.json version into hashing for incremental mode
310
+
311
+ ## 1.0.0-beta.14
312
+
313
+ - Compiler now exits with exit code 1 if there are any error diagnostics (This was a bug from the new diagnostic system)
314
+ - Added new roblox-ts VSCode extension to `.vscode/extensions.json` file
315
+ - Improved `rbxtsc init` support for config flags + `-y`
316
+ - Banned macro classes being used in object spreads ([#1206][1206])
317
+ - Added support for array literals with omitted expressions ([#1207][1207])
318
+ - Fixed bug with for-statements ending with `continue` ([#1208][1208])
319
+
320
+ ## 1.0.0-beta.13
321
+
322
+ - Added dynamic import expression support ([#1203][1203]) `import("./module").then(({ x }) => print(x));`
323
+ - Fixed bug with transformers + macros introduced in beta.12 ([#1204][1204])
324
+
325
+ ## 1.0.0-beta.12
326
+
327
+ - Added checks against variables named `_N` (where `N` is a number) and `TS`. These are used internally by the compiler
328
+ - In the future, we'll add a system that works around this
329
+ - Fixed a performance issue for compiling transformers where type checking work was duplicated
330
+ - Exposed new VirtualProject APIs for improved playground support
331
+
332
+ ## 1.0.0-beta.11
333
+
334
+ - Fixed unit tests :tada:
335
+ - Fixed bug with Promise await rejection errors returning arrays instead of single values
336
+ - Fixed destructuring occurs out of order in custom iterator code ([#1189][1189])
337
+ - Compiler will no longer delete `.git` directories in `outDir` (useful for diffing emit!)
338
+ - Simplified logic for creating the returned export table at the bottom of files, which fixed a few bugs
339
+ - Updated compiler dependencies (+ TypeScript 4.1.3)
340
+ - `rbxtsc init` will now output error messages for failed commands ([#1188][1188])
341
+
342
+ ## 1.0.0-beta.10
343
+
344
+ - Fixed "bad node_modules" Rojo config error for compiling packages
345
+
346
+ ## 1.0.0-beta.9
347
+
348
+ - Fixed bug with transformers + pre-emit checks
349
+ - Only reparse transformed SourceFiles ([#1177][1177])
350
+ - Fixed `Set<T>` spread bug
351
+ - `rbxtsc init` now uses special npm tags for `@rbxts/compiler-types` to grab the right version
352
+ - Synthetic RojoResolver is now based off of `outDir` instead of the project path (node_modules are done with a separate RojoResolver)
353
+
354
+ ## 1.0.0-beta.8
355
+
356
+ - Fix init command failing to install `@rbxts/compiler-types`
357
+
358
+ ## 1.0.0-beta.7
359
+
360
+ - Added support for TypeScript Transformer plugins :tada: ([#1169][1169])
361
+ - Thanks to fireboltofdeath for implementing this! :pray:
362
+ - Added error message for conditional imports ([#1168][1168])
363
+ - Fixed packages installed while watch mode is running may create broken imports ([#1165][1165])
364
+ - Added macro for assert, it now uses JS truthiness (`""`, `0`, and `NaN` will now fail assertions)
365
+ - Upgraded roblox-lua-promise to v3.1.0
366
+
367
+ ## 1.0.0-beta.6
368
+
369
+ - Added back `ReadonlyArray.findIndex`
370
+
371
+ ## 1.0.0-beta.5
372
+
373
+ - **BREAKING CHANGES**
374
+ - Updated internal Promise implementation to [roblox-lua-promise v3.0.1](https://eryn.io/roblox-lua-promise/)
375
+ - Removed static `Promise.spawn` (use `Promise.defer` instead)
376
+ - Removed `Promise.isRejected` (use `Promise.getStatus` + `Promise.Status` instead)
377
+ - Removed `Promise.isResolved` (use `Promise.getStatus` + `Promise.Status` instead)
378
+ - Removed `Promise.isPending` (use `Promise.getStatus` + `Promise.Status` instead)
379
+ - Removed `Promise.isCancelled` (use `Promise.getStatus` + `Promise.Status` instead)
380
+ - String macros no longer increment inputs and outputs
381
+ - Added `--logStringChanges` to help catch these issues
382
+ - The following methods were changed:
383
+ - `string.byte` (first argument is no longer incremented)
384
+ - `string.find` (second argument is no longer incremented)
385
+ - `string.sub` (first two arguments are no longer incremented)
386
+ - Removed the following API:
387
+ - `Array.copyWithin`
388
+ - `Array.splice`
389
+ - `ObjectConstructor.assign`
390
+ - `ObjectConstructor.copy`
391
+ - `ObjectConstructor.deepCopy`
392
+ - `ObjectConstructor.deepEquals`
393
+ - `ObjectConstructor.entries`
394
+ - `ObjectConstructor.fromEntries`
395
+ - `ObjectConstructor.isEmpty`
396
+ - `ObjectConstructor.keys`
397
+ - `ObjectConstructor.values`
398
+ - `ReadonlyArray.concat`
399
+ - `ReadonlyArray.copy`
400
+ - `ReadonlyArray.deepCopy`
401
+ - `ReadonlyArray.deepEquals`
402
+ - `ReadonlyArray.entries`
403
+ - `ReadonlyArray.findIndex`
404
+ - `ReadonlyArray.lastIndexOf`
405
+ - `ReadonlyArray.reduceRight`
406
+ - `ReadonlyArray.reverse`
407
+ - `ReadonlyArray.slice`
408
+ - `ReadonlyArray.toString`
409
+ - `ReadonlyMap.entries`
410
+ - `ReadonlyMap.keys`
411
+ - `ReadonlyMap.toString`
412
+ - `ReadonlyMap.values`
413
+ - `ReadonlySet.difference`
414
+ - `ReadonlySet.intersect`
415
+ - `ReadonlySet.isDisjointWith`
416
+ - `ReadonlySet.isSubsetOf`
417
+ - `ReadonlySet.toString`
418
+ - `ReadonlySet.union`
419
+ - `ReadonlySet.values`
420
+ - `String.endsWith`
421
+ - `String.includes`
422
+ - `String.indexOf`
423
+ - `String.padEnd`
424
+ - `String.padStart`
425
+ - `String.slice`
426
+ - `String.startsWith`
427
+ - `String.trim`
428
+ - `String.trimEnd`
429
+ - `String.trimStart`
430
+ - You can use [@rbxts/object-utils](https://www.npmjs.com/package/@rbxts/object-utils) to replace `Object.*` functions
431
+ - If there's demand, we can add other packages to replace some of these old APIs.
432
+ - Improved method index without call detection ([#1146][1146])
433
+ - Fixed functions with overload signatures inside namespaces compile incorrectly ([#1162][1162])
434
+ - Fixed bugs relating to default imports
435
+
436
+ ## 1.0.0-beta.4
437
+
438
+ - Improved Rojo support for packages
439
+ - Fixed block comment compiling bug ([#1147][1147])
440
+ - Added --writeOnlyChanged (temporary flag to fix Rojo issues on MacOS)
441
+ - Added unit tests for diagnostics
442
+ - Fixed numeric loops not retaining loop variable value ([#1145][1145])
443
+ - Fixed empty `LuaTuple<T>` destructure assignment causing invalid Luau emit ([#1151][1151])
444
+ - Fixed JSON module always importing as a "default import" ([#1148][1148])
445
+
446
+ ## 1.0.0-beta.3
447
+
448
+ - **BREAKING CHANGES**
449
+ - `@rbxts/types` has been broken up into two packages: `@rbxts/types` and `@rbxts/compiler-types`.
450
+ - `@rbxts/compiler-types` is versioned based on the compatible compiler version. You should ensure your versions match up. i.e. compiler `1.0.0-beta.3` should use `@rbxts/compiler-types` `1.0.0-beta.3.x`
451
+ - **Version `1.0.410` and later will no longer work with previous 1.0.0 betas!**
452
+ - You should update to the latest beta or revert to the legacy compiler if necessary.
453
+
454
+ ## 1.0.0-beta.2
455
+
456
+ - Fix Array.unshift return bug
457
+ - Fix missing string methods not being recognized as errors at compile time
458
+ - Add support for ReadonlyArray.move ([#1138][1138])
459
+ - Fix bug with single statement else blocks
460
+ - Fix playground filesystem issues
461
+
462
+ ## 1.0.0-beta.1
463
+
464
+ - Added `--usePolling` to indicate that watch mode should use polling instead of fs events
465
+ - Fixed symlinks inside node_modules, allowing pnpm and local packages
466
+ - Fixed bug with playground imports
467
+ - Fixed LuaTuple array destructuring bug ([#1117][1117])
468
+ - Updated template default.project.json to have sensible default service properties
469
+ - Added support for `declare function identity<T>(value: T): T;`, useful for ensuring an expression is a given type!
470
+ - Referencing call macros without calling them will now error `print(typeOf)`
471
+ - Fixed switch statement rendering bug ([#1123][1123])
472
+ - Fixed init mode's .vscode formatting settings to include `[typescriptreact]`
473
+ - Fixed destructure spread parameters resulting in bad hoisting ([#1127][1127])
474
+ - Improved JSX emit ([#1114][1114])
475
+ - Fixed bug where property access expressions were not evalutated in the correct order ([#1126][1126])
476
+ - Added support for using call spread operator in property call macros ([#1112][1112])
477
+ - i.e. `map.set(...x)`
478
+ - Optimized function array spread parameters ([#1128][1128])
479
+ - Added support for all array spread expression types ([#1108][1108])
480
+ - Added support for all call spread expression types ([#1107][1107])
481
+ - Added support for ForOf loops with `IterableFunction<LuaTuple<T>>` without destructure
482
+ - i.e. `for (const x of "abc".gmatch("%w")) {}`
483
+ - Fixed getChangedSourceFiles.ts crash ([#1134][1134])
484
+ - Added support for `--logTruthyChanges` flag ([#1135][1135])
485
+ - Added support for warning diagnostics ([#1136][1136])
486
+ - Added errors for incorrectly using unions with macros ([#1113][1113])
487
+ - Added support for emitting `table.create()` instead of `{}` where table size is known ([#1119][1119])
488
+ - Fixed package resolution bug for symlinked packages
489
+ - Fixed watch mode Windows-style path bug
490
+
491
+ ## 1.0.0-beta.0
492
+
493
+ > 🎉 The entire compiler has been rewritten to improve speed and stability!
494
+
495
+ After an almost year long effort and with help from a bunch of contributors, I'm excited to release this first beta for 1.0.0.
496
+
497
+ This new compiler is still missing some features and emit optimizations, but should be usable for testing. Feel free to file an issue if you run into any bugs.
498
+
499
+ - Import erasure is now configurable with the tsconfig.json `"importsNotUsedAsValues"` option
500
+ - Compilation now supports incremental mode with the following two tsconfig.json options:
501
+ - `"incremental": true,`
502
+ - `"tsBuildInfoFile": "out/tsconfig.tsbuildinfo",`
503
+ - Rojo 6 nested projects are now supported
504
+ - Adds support for null-coalescing operator `??` and optional chaining operators `?.`, `?.[x]`, `?.()`
505
+ - Adds support for compound coalescing assignment expressions: `??=`
506
+ - Adds support for compound logical assignment expressoins: `&&=` and `||=`
507
+
508
+ - **BREAKING CHANGES FROM 0.3.2**
509
+ - "isolatedModules" tsconfig.json option can now be omitted.
510
+ - Bitwise operators are now backed by bit32 functions and will always return positive values
511
+ - Spread operator in function calls must be the last argument
512
+
513
+ ## Legacy Changes
514
+ Changes prior to 1.0.0-beta.0 have been removed from this page since the entire compiler was rewritten. To view the legacy change log, [click here](https://github.com/roblox-ts/roblox-ts/blob/0.3.2/CHANGELOG.md).
515
+
516
+ <!-- REFERENCE LINKS -->
517
+
518
+ [1107]: https://github.com/roblox-ts/roblox-ts/pull/1107
519
+ [1108]: https://github.com/roblox-ts/roblox-ts/pull/1108
520
+ [1112]: https://github.com/roblox-ts/roblox-ts/pull/1112
521
+ [1113]: https://github.com/roblox-ts/roblox-ts/pull/1113
522
+ [1114]: https://github.com/roblox-ts/roblox-ts/pull/1114
523
+ [1117]: https://github.com/roblox-ts/roblox-ts/pull/1117
524
+ [1119]: https://github.com/roblox-ts/roblox-ts/pull/1119
525
+ [1123]: https://github.com/roblox-ts/roblox-ts/pull/1123
526
+ [1126]: https://github.com/roblox-ts/roblox-ts/pull/1126
527
+ [1127]: https://github.com/roblox-ts/roblox-ts/pull/1127
528
+ [1128]: https://github.com/roblox-ts/roblox-ts/pull/1128
529
+ [1134]: https://github.com/roblox-ts/roblox-ts/pull/1134
530
+ [1135]: https://github.com/roblox-ts/roblox-ts/pull/1135
531
+ [1136]: https://github.com/roblox-ts/roblox-ts/pull/1136
532
+ [1138]: https://github.com/roblox-ts/roblox-ts/pull/1138
533
+ [1145]: https://github.com/roblox-ts/roblox-ts/pull/1145
534
+ [1146]: https://github.com/roblox-ts/roblox-ts/pull/1146
535
+ [1147]: https://github.com/roblox-ts/roblox-ts/pull/1147
536
+ [1148]: https://github.com/roblox-ts/roblox-ts/pull/1148
537
+ [1149]: https://github.com/roblox-ts/roblox-ts/pull/1149
538
+ [1151]: https://github.com/roblox-ts/roblox-ts/pull/1151
539
+ [1162]: https://github.com/roblox-ts/roblox-ts/pull/1162
540
+ [1165]: https://github.com/roblox-ts/roblox-ts/pull/1165
541
+ [1168]: https://github.com/roblox-ts/roblox-ts/pull/1168
542
+ [1169]: https://github.com/roblox-ts/roblox-ts/pull/1169
543
+ [1177]: https://github.com/roblox-ts/roblox-ts/pull/1177
544
+ [1188]: https://github.com/roblox-ts/roblox-ts/pull/1188
545
+ [1189]: https://github.com/roblox-ts/roblox-ts/pull/1189
546
+ [1202]: https://github.com/roblox-ts/roblox-ts/pull/1202
547
+ [1203]: https://github.com/roblox-ts/roblox-ts/pull/1203
548
+ [1204]: https://github.com/roblox-ts/roblox-ts/pull/1204
549
+ [1206]: https://github.com/roblox-ts/roblox-ts/pull/1206
550
+ [1207]: https://github.com/roblox-ts/roblox-ts/pull/1207
551
+ [1208]: https://github.com/roblox-ts/roblox-ts/pull/1208
552
+ [1215]: https://github.com/roblox-ts/roblox-ts/pull/1215
553
+ [1226]: https://github.com/roblox-ts/roblox-ts/pull/1226
554
+ [1227]: https://github.com/roblox-ts/roblox-ts/pull/1227
555
+ [1243]: https://github.com/roblox-ts/roblox-ts/pull/1243
556
+ [1250]: https://github.com/roblox-ts/roblox-ts/pull/1250
557
+ [1253]: https://github.com/roblox-ts/roblox-ts/pull/1253
558
+ [1254]: https://github.com/roblox-ts/roblox-ts/pull/1254
559
+ [1266]: https://github.com/roblox-ts/roblox-ts/pull/1266
560
+ [1285]: https://github.com/roblox-ts/roblox-ts/pull/1285
561
+ [1288]: https://github.com/roblox-ts/roblox-ts/pull/1288
562
+ [1299]: https://github.com/roblox-ts/roblox-ts/pull/1299
563
+ [1304]: https://github.com/roblox-ts/roblox-ts/pull/1304
564
+ [1314]: https://github.com/roblox-ts/roblox-ts/pull/1314
565
+ [1315]: https://github.com/roblox-ts/roblox-ts/pull/1315
566
+ [1320]: https://github.com/roblox-ts/roblox-ts/pull/1320
567
+ [1338]: https://github.com/roblox-ts/roblox-ts/pull/1338
568
+ [1346]: https://github.com/roblox-ts/roblox-ts/pull/1346
569
+ [1354]: https://github.com/roblox-ts/roblox-ts/pull/1354
570
+ [1356]: https://github.com/roblox-ts/roblox-ts/pull/1356
571
+ [1357]: https://github.com/roblox-ts/roblox-ts/pull/1357
572
+ [1382]: https://github.com/roblox-ts/roblox-ts/pull/1382
573
+ [1387]: https://github.com/roblox-ts/roblox-ts/pull/1387
574
+ [1416]: https://github.com/roblox-ts/roblox-ts/pull/1416
575
+ [1417]: https://github.com/roblox-ts/roblox-ts/pull/1417
576
+ [1419]: https://github.com/roblox-ts/roblox-ts/pull/1419
577
+ [1420]: https://github.com/roblox-ts/roblox-ts/pull/1420
578
+ [1424]: https://github.com/roblox-ts/roblox-ts/pull/1424
579
+ [1435]: https://github.com/roblox-ts/roblox-ts/pull/1435
580
+ [1437]: https://github.com/roblox-ts/roblox-ts/pull/1437
581
+ [1445]: https://github.com/roblox-ts/roblox-ts/pull/1445
582
+ [1453]: https://github.com/roblox-ts/roblox-ts/pull/1453
583
+ [1454]: https://github.com/roblox-ts/roblox-ts/pull/1454
584
+ [1455]: https://github.com/roblox-ts/roblox-ts/pull/1455
585
+ [1467]: https://github.com/roblox-ts/roblox-ts/pull/1467
586
+ [1474]: https://github.com/roblox-ts/roblox-ts/pull/1474
587
+ [1477]: https://github.com/roblox-ts/roblox-ts/pull/1477
588
+ [1479]: https://github.com/roblox-ts/roblox-ts/pull/1479
589
+ [1491]: https://github.com/roblox-ts/roblox-ts/pull/1491
590
+ [1520]: https://github.com/roblox-ts/roblox-ts/pull/1520
591
+ [1521]: https://github.com/roblox-ts/roblox-ts/pull/1521
592
+ [1538]: https://github.com/roblox-ts/roblox-ts/pull/1538
593
+ [1543]: https://github.com/roblox-ts/roblox-ts/pull/1543
594
+ [1555]: https://github.com/roblox-ts/roblox-ts/pull/1555
595
+ [1557]: https://github.com/roblox-ts/roblox-ts/pull/1557
596
+ [1563]: https://github.com/roblox-ts/roblox-ts/pull/1563
597
+ [1564]: https://github.com/roblox-ts/roblox-ts/pull/1564
598
+ [1589]: https://github.com/roblox-ts/roblox-ts/pull/1589
599
+ [1629]: https://github.com/roblox-ts/roblox-ts/pull/1629
600
+ [1648]: https://github.com/roblox-ts/roblox-ts/pull/1648
601
+ [1651]: https://github.com/roblox-ts/roblox-ts/pull/1651
602
+ [1652]: https://github.com/roblox-ts/roblox-ts/pull/1652
603
+ [1659]: https://github.com/roblox-ts/roblox-ts/pull/1659
604
+ [1663]: https://github.com/roblox-ts/roblox-ts/pull/1663
605
+ [1665]: https://github.com/roblox-ts/roblox-ts/pull/1665
606
+ [1667]: https://github.com/roblox-ts/roblox-ts/pull/1667
607
+ [1675]: https://github.com/roblox-ts/roblox-ts/pull/1675
608
+ [1682]: https://github.com/roblox-ts/roblox-ts/pull/1682
609
+ [1683]: https://github.com/roblox-ts/roblox-ts/pull/1683
610
+ [1690]: https://github.com/roblox-ts/roblox-ts/pull/1690
611
+ [1696]: https://github.com/roblox-ts/roblox-ts/pull/1696
612
+ [1727]: https://github.com/roblox-ts/roblox-ts/pull/1727
613
+ [1749]: https://github.com/roblox-ts/roblox-ts/pull/1749
614
+ [1761]: https://github.com/roblox-ts/roblox-ts/pull/1761
615
+ [1762]: https://github.com/roblox-ts/roblox-ts/pull/1762
616
+ [1763]: https://github.com/roblox-ts/roblox-ts/pull/1763
617
+ [1775]: https://github.com/roblox-ts/roblox-ts/pull/1775
618
+ [1777]: https://github.com/roblox-ts/roblox-ts/pull/1777
619
+ [1783]: https://github.com/roblox-ts/roblox-ts/pull/1783
620
+ [1787]: https://github.com/roblox-ts/roblox-ts/pull/1787
621
+ [1793]: https://github.com/roblox-ts/roblox-ts/pull/1793
622
+ [1817]: https://github.com/roblox-ts/roblox-ts/pull/1817
623
+ [1819]: https://github.com/roblox-ts/roblox-ts/pull/1819
624
+ [1822]: https://github.com/roblox-ts/roblox-ts/pull/1822
625
+ [1823]: https://github.com/roblox-ts/roblox-ts/pull/1823
626
+ [1850]: https://github.com/roblox-ts/roblox-ts/pull/1850
627
+ [1856]: https://github.com/roblox-ts/roblox-ts/pull/1856
628
+ [1857]: https://github.com/roblox-ts/roblox-ts/pull/1857
629
+ [1864]: https://github.com/roblox-ts/roblox-ts/pull/1864
630
+ [1873]: https://github.com/roblox-ts/roblox-ts/pull/1873
631
+ [1876]: https://github.com/roblox-ts/roblox-ts/pull/1876
632
+ [1878]: https://github.com/roblox-ts/roblox-ts/pull/1878
633
+ [1883]: https://github.com/roblox-ts/roblox-ts/pull/1883
634
+ [1894]: https://github.com/roblox-ts/roblox-ts/pull/1894
635
+ [1896]: https://github.com/roblox-ts/roblox-ts/pull/1896
636
+ [1899]: https://github.com/roblox-ts/roblox-ts/pull/1899
637
+ [1903]: https://github.com/roblox-ts/roblox-ts/pull/1903
638
+ [1922]: https://github.com/roblox-ts/roblox-ts/pull/1922
639
+ [1972]: https://github.com/roblox-ts/roblox-ts/pull/1972
640
+ [1977]: https://github.com/roblox-ts/roblox-ts/pull/1977
641
+ [1979]: https://github.com/roblox-ts/roblox-ts/pull/1979
642
+ [1980]: https://github.com/roblox-ts/roblox-ts/pull/1980
643
+ [1981]: https://github.com/roblox-ts/roblox-ts/pull/1981
644
+ [1987]: https://github.com/roblox-ts/roblox-ts/pull/1987
645
+ [1990]: https://github.com/roblox-ts/roblox-ts/pull/1990
646
+ [1991]: https://github.com/roblox-ts/roblox-ts/pull/1991
647
+ [1994]: https://github.com/roblox-ts/roblox-ts/pull/1994
648
+ [2001]: https://github.com/roblox-ts/roblox-ts/pull/2001
649
+ [2008]: https://github.com/roblox-ts/roblox-ts/pull/2008
650
+ [2011]: https://github.com/roblox-ts/roblox-ts/pull/2011
651
+ [2019]: https://github.com/roblox-ts/roblox-ts/pull/2019
652
+ [2023]: https://github.com/roblox-ts/roblox-ts/pull/2023
653
+ [2024]: https://github.com/roblox-ts/roblox-ts/pull/2024
654
+ [2028]: https://github.com/roblox-ts/roblox-ts/pull/2028
655
+ [2045]: https://github.com/roblox-ts/roblox-ts/pull/2045
656
+ [2060]: https://github.com/roblox-ts/roblox-ts/pull/2060
657
+ [2069]: https://github.com/roblox-ts/roblox-ts/pull/2069
658
+ [2121]: https://github.com/roblox-ts/roblox-ts/pull/2121
659
+ [2125]: https://github.com/roblox-ts/roblox-ts/pull/2125
660
+ [2130]: https://github.com/roblox-ts/roblox-ts/pull/2130
661
+ [2138]: https://github.com/roblox-ts/roblox-ts/pull/2138
662
+ [2143]: https://github.com/roblox-ts/roblox-ts/pull/2143
663
+ [2195]: https://github.com/roblox-ts/roblox-ts/pull/2195
664
+ [2196]: https://github.com/roblox-ts/roblox-ts/pull/2196
665
+ [2197]: https://github.com/roblox-ts/roblox-ts/pull/2197
666
+ [2201]: https://github.com/roblox-ts/roblox-ts/pull/2201
667
+ [2225]: https://github.com/roblox-ts/roblox-ts/pull/2225
668
+ [2242]: https://github.com/roblox-ts/roblox-ts/pull/2242
669
+ [2255]: https://github.com/roblox-ts/roblox-ts/pull/2255
670
+ [2265]: https://github.com/roblox-ts/roblox-ts/pull/2265
671
+ [2271]: https://github.com/roblox-ts/roblox-ts/pull/2271
672
+ [2302]: https://github.com/roblox-ts/roblox-ts/pull/2302
673
+ [2385]: https://github.com/roblox-ts/roblox-ts/pull/2385
674
+ [2401]: https://github.com/roblox-ts/roblox-ts/pull/2401
675
+ [2404]: https://github.com/roblox-ts/roblox-ts/pull/2404
676
+ [2445]: https://github.com/roblox-ts/roblox-ts/pull/2445
677
+ [2460]: https://github.com/roblox-ts/roblox-ts/pull/2460
678
+ [2465]: https://github.com/roblox-ts/roblox-ts/pull/2465
679
+ [2466]: https://github.com/roblox-ts/roblox-ts/pull/2466
680
+ [2475]: https://github.com/roblox-ts/roblox-ts/pull/2475
681
+ [2480]: https://github.com/roblox-ts/roblox-ts/pull/2480
682
+ [2489]: https://github.com/roblox-ts/roblox-ts/pull/2489
683
+ [2503]: https://github.com/roblox-ts/roblox-ts/pull/2503
684
+ [2506]: https://github.com/roblox-ts/roblox-ts/pull/2506
685
+ [2527]: https://github.com/roblox-ts/roblox-ts/pull/2527
686
+ [2528]: https://github.com/roblox-ts/roblox-ts/pull/2528
687
+ [2533]: https://github.com/roblox-ts/roblox-ts/pull/2533
688
+ [2546]: https://github.com/roblox-ts/roblox-ts/pull/2546
689
+ [2550]: https://github.com/roblox-ts/roblox-ts/pull/2550
690
+ [2567]: https://github.com/roblox-ts/roblox-ts/pull/2567
691
+ [2587]: https://github.com/roblox-ts/roblox-ts/pull/2587
692
+ [2588]: https://github.com/roblox-ts/roblox-ts/pull/2588
693
+ [2591]: https://github.com/roblox-ts/roblox-ts/pull/2591
694
+ [2597]: https://github.com/roblox-ts/roblox-ts/pull/2597
695
+ [2605]: https://github.com/roblox-ts/roblox-ts/pull/2605
696
+ [2606]: https://github.com/roblox-ts/roblox-ts/pull/2606
697
+ [2614]: https://github.com/roblox-ts/roblox-ts/pull/2614
698
+ [2617]: https://github.com/roblox-ts/roblox-ts/pull/2617
699
+ [2623]: https://github.com/roblox-ts/roblox-ts/pull/2623
700
+ [2648]: https://github.com/roblox-ts/roblox-ts/pull/2648
701
+ [2649]: https://github.com/roblox-ts/roblox-ts/pull/2649
702
+ [2672]: https://github.com/roblox-ts/roblox-ts/pull/2672
703
+ [2701]: https://github.com/roblox-ts/roblox-ts/pull/2701
704
+ [2704]: https://github.com/roblox-ts/roblox-ts/pull/2704
705
+ [2716]: https://github.com/roblox-ts/roblox-ts/pull/2716
706
+ [2724]: https://github.com/roblox-ts/roblox-ts/pull/2724
707
+ [2726]: https://github.com/roblox-ts/roblox-ts/pull/2726
708
+ [2728]: https://github.com/roblox-ts/roblox-ts/pull/2728
709
+ [2736]: https://github.com/roblox-ts/roblox-ts/pull/2736
710
+ [2737]: https://github.com/roblox-ts/roblox-ts/pull/2737
711
+ [2759]: https://github.com/roblox-ts/roblox-ts/pull/2759
712
+ [2778]: https://github.com/roblox-ts/roblox-ts/pull/2778
713
+ [2796]: https://github.com/roblox-ts/roblox-ts/pull/2796
714
+ [2800]: https://github.com/roblox-ts/roblox-ts/pull/2800
715
+ [2802]: https://github.com/roblox-ts/roblox-ts/pull/2802
716
+ [roblox-ts/luau-ast#483]: https://github.com/roblox-ts/luau-ast/pull/483