@jackctaylor/roblox-ts 3.0.0-projectrefs.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 (450) hide show
  1. package/CHANGELOG.md +716 -0
  2. package/LICENSE +21 -0
  3. package/README.md +55 -0
  4. package/include/Promise.lua +2068 -0
  5. package/include/RuntimeLib.lua +258 -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 +438 -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 +82 -0
  16. package/out/CLI/util/patchFs.d.ts +1 -0
  17. package/out/CLI/util/patchFs.js +26 -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 +121 -0
  22. package/out/Project/functions/buildProject.d.ts +18 -0
  23. package/out/Project/functions/buildProject.js +48 -0
  24. package/out/Project/functions/buildProjectReferences.d.ts +3 -0
  25. package/out/Project/functions/buildProjectReferences.js +78 -0
  26. package/out/Project/functions/buildSolution.d.ts +10 -0
  27. package/out/Project/functions/buildSolution.js +97 -0
  28. package/out/Project/functions/checkFileName.d.ts +1 -0
  29. package/out/Project/functions/checkFileName.js +18 -0
  30. package/out/Project/functions/checkRojoConfig.d.ts +4 -0
  31. package/out/Project/functions/checkRojoConfig.js +26 -0
  32. package/out/Project/functions/cleanup.d.ts +2 -0
  33. package/out/Project/functions/cleanup.js +30 -0
  34. package/out/Project/functions/compileFiles.d.ts +4 -0
  35. package/out/Project/functions/compileFiles.js +160 -0
  36. package/out/Project/functions/compileProject.d.ts +14 -0
  37. package/out/Project/functions/compileProject.js +71 -0
  38. package/out/Project/functions/copyFiles.d.ts +3 -0
  39. package/out/Project/functions/copyFiles.js +13 -0
  40. package/out/Project/functions/copyInclude.d.ts +2 -0
  41. package/out/Project/functions/copyInclude.js +17 -0
  42. package/out/Project/functions/copyItem.d.ts +3 -0
  43. package/out/Project/functions/copyItem.js +27 -0
  44. package/out/Project/functions/createNodeModulesPathMapping.d.ts +1 -0
  45. package/out/Project/functions/createNodeModulesPathMapping.js +31 -0
  46. package/out/Project/functions/createPathTranslator.d.ts +4 -0
  47. package/out/Project/functions/createPathTranslator.js +22 -0
  48. package/out/Project/functions/createProgramFactory.d.ts +3 -0
  49. package/out/Project/functions/createProgramFactory.js +31 -0
  50. package/out/Project/functions/createProjectData.d.ts +2 -0
  51. package/out/Project/functions/createProjectData.js +102 -0
  52. package/out/Project/functions/createProjectProgram.d.ts +3 -0
  53. package/out/Project/functions/createProjectProgram.js +11 -0
  54. package/out/Project/functions/getChangedFilePaths.d.ts +2 -0
  55. package/out/Project/functions/getChangedFilePaths.js +47 -0
  56. package/out/Project/functions/getChangedSourceFiles.d.ts +2 -0
  57. package/out/Project/functions/getChangedSourceFiles.js +19 -0
  58. package/out/Project/functions/getParsedCommandLine.d.ts +3 -0
  59. package/out/Project/functions/getParsedCommandLine.js +41 -0
  60. package/out/Project/functions/getProjectReferences.d.ts +2 -0
  61. package/out/Project/functions/getProjectReferences.js +65 -0
  62. package/out/Project/functions/getResolvedProjectReferences.d.ts +3 -0
  63. package/out/Project/functions/getResolvedProjectReferences.js +43 -0
  64. package/out/Project/functions/setupProjectWatchProgram.d.ts +2 -0
  65. package/out/Project/functions/setupProjectWatchProgram.js +352 -0
  66. package/out/Project/functions/setupSolutionWatchProgram.d.ts +2 -0
  67. package/out/Project/functions/setupSolutionWatchProgram.js +355 -0
  68. package/out/Project/functions/tryRemoveOutput.d.ts +2 -0
  69. package/out/Project/functions/tryRemoveOutput.js +30 -0
  70. package/out/Project/functions/validateCompilerOptions.d.ts +2 -0
  71. package/out/Project/functions/validateCompilerOptions.js +87 -0
  72. package/out/Project/index.d.ts +4 -0
  73. package/out/Project/index.js +20 -0
  74. package/out/Project/preEmitDiagnostics/fileUsesCommentDirectives.d.ts +3 -0
  75. package/out/Project/preEmitDiagnostics/fileUsesCommentDirectives.js +28 -0
  76. package/out/Project/transformers/builtin/transformPaths.d.ts +5 -0
  77. package/out/Project/transformers/builtin/transformPaths.js +129 -0
  78. package/out/Project/transformers/builtin/transformTypeReferenceDirectives.d.ts +2 -0
  79. package/out/Project/transformers/builtin/transformTypeReferenceDirectives.js +23 -0
  80. package/out/Project/transformers/createTransformerList.d.ts +4 -0
  81. package/out/Project/transformers/createTransformerList.js +87 -0
  82. package/out/Project/transformers/createTransformerWatcher.d.ts +3 -0
  83. package/out/Project/transformers/createTransformerWatcher.js +59 -0
  84. package/out/Project/transformers/getPluginConfigs.d.ts +2 -0
  85. package/out/Project/transformers/getPluginConfigs.js +34 -0
  86. package/out/Project/util/createReadBuildProgramHost.d.ts +5 -0
  87. package/out/Project/util/createReadBuildProgramHost.js +15 -0
  88. package/out/Project/util/getCustomPreEmitDiagnostics.d.ts +4 -0
  89. package/out/Project/util/getCustomPreEmitDiagnostics.js +13 -0
  90. package/out/Project/util/isCompilableFile.d.ts +1 -0
  91. package/out/Project/util/isCompilableFile.js +18 -0
  92. package/out/Project/util/walkDirectorySync.d.ts +1 -0
  93. package/out/Project/util/walkDirectorySync.js +22 -0
  94. package/out/Shared/classes/Lazy.d.ts +8 -0
  95. package/out/Shared/classes/Lazy.js +22 -0
  96. package/out/Shared/classes/LogService.d.ts +9 -0
  97. package/out/Shared/classes/LogService.js +37 -0
  98. package/out/Shared/constants.d.ts +23 -0
  99. package/out/Shared/constants.js +50 -0
  100. package/out/Shared/diagnostics.d.ts +79 -0
  101. package/out/Shared/diagnostics.js +140 -0
  102. package/out/Shared/errors/DiagnosticError.d.ts +7 -0
  103. package/out/Shared/errors/DiagnosticError.js +16 -0
  104. package/out/Shared/errors/LoggableError.d.ts +5 -0
  105. package/out/Shared/errors/LoggableError.js +14 -0
  106. package/out/Shared/errors/ProjectError.d.ts +4 -0
  107. package/out/Shared/errors/ProjectError.js +12 -0
  108. package/out/Shared/index.d.ts +0 -0
  109. package/out/Shared/index.js +2 -0
  110. package/out/Shared/types.d.ts +50 -0
  111. package/out/Shared/types.js +3 -0
  112. package/out/Shared/util/assert.d.ts +1 -0
  113. package/out/Shared/util/assert.js +12 -0
  114. package/out/Shared/util/benchmark.d.ts +3 -0
  115. package/out/Shared/util/benchmark.js +32 -0
  116. package/out/Shared/util/createDiagnosticWithLocation.d.ts +3 -0
  117. package/out/Shared/util/createDiagnosticWithLocation.js +29 -0
  118. package/out/Shared/util/createGithubLink.d.ts +1 -0
  119. package/out/Shared/util/createGithubLink.js +12 -0
  120. package/out/Shared/util/createTextDiagnostic.d.ts +2 -0
  121. package/out/Shared/util/createTextDiagnostic.js +18 -0
  122. package/out/Shared/util/findAncestorDir.d.ts +1 -0
  123. package/out/Shared/util/findAncestorDir.js +16 -0
  124. package/out/Shared/util/findLastIndex.d.ts +1 -0
  125. package/out/Shared/util/findLastIndex.js +12 -0
  126. package/out/Shared/util/formatDiagnostics.d.ts +2 -0
  127. package/out/Shared/util/formatDiagnostics.js +19 -0
  128. package/out/Shared/util/getCanonicalFileName.d.ts +2 -0
  129. package/out/Shared/util/getCanonicalFileName.js +10 -0
  130. package/out/Shared/util/getOrSetDefault.d.ts +1 -0
  131. package/out/Shared/util/getOrSetDefault.js +12 -0
  132. package/out/Shared/util/getRootDirs.d.ts +2 -0
  133. package/out/Shared/util/getRootDirs.js +10 -0
  134. package/out/Shared/util/hasErrors.d.ts +2 -0
  135. package/out/Shared/util/hasErrors.js +11 -0
  136. package/out/Shared/util/isPathDescendantOf.d.ts +1 -0
  137. package/out/Shared/util/isPathDescendantOf.js +11 -0
  138. package/out/Shared/util/realPathExistsSync.d.ts +1 -0
  139. package/out/Shared/util/realPathExistsSync.js +13 -0
  140. package/out/Shared/warn.d.ts +1 -0
  141. package/out/Shared/warn.js +12 -0
  142. package/out/TSTransformer/classes/DiagnosticService.d.ts +11 -0
  143. package/out/TSTransformer/classes/DiagnosticService.js +37 -0
  144. package/out/TSTransformer/classes/MacroManager.d.ts +46 -0
  145. package/out/TSTransformer/classes/MacroManager.js +178 -0
  146. package/out/TSTransformer/classes/MultiTransformState.d.ts +9 -0
  147. package/out/TSTransformer/classes/MultiTransformState.js +15 -0
  148. package/out/TSTransformer/classes/TransformState.d.ts +73 -0
  149. package/out/TSTransformer/classes/TransformState.js +307 -0
  150. package/out/TSTransformer/index.d.ts +4 -0
  151. package/out/TSTransformer/index.js +23 -0
  152. package/out/TSTransformer/macros/callMacros.d.ts +2 -0
  153. package/out/TSTransformer/macros/callMacros.js +56 -0
  154. package/out/TSTransformer/macros/constructorMacros.d.ts +2 -0
  155. package/out/TSTransformer/macros/constructorMacros.js +97 -0
  156. package/out/TSTransformer/macros/identifierMacros.d.ts +2 -0
  157. package/out/TSTransformer/macros/identifierMacros.js +7 -0
  158. package/out/TSTransformer/macros/propertyCallMacros.d.ts +4 -0
  159. package/out/TSTransformer/macros/propertyCallMacros.js +726 -0
  160. package/out/TSTransformer/macros/types.d.ts +12 -0
  161. package/out/TSTransformer/macros/types.js +3 -0
  162. package/out/TSTransformer/nodes/binding/transformArrayAssignmentPattern.d.ts +4 -0
  163. package/out/TSTransformer/nodes/binding/transformArrayAssignmentPattern.js +78 -0
  164. package/out/TSTransformer/nodes/binding/transformArrayBindingPattern.d.ts +4 -0
  165. package/out/TSTransformer/nodes/binding/transformArrayBindingPattern.js +52 -0
  166. package/out/TSTransformer/nodes/binding/transformBindingName.d.ts +4 -0
  167. package/out/TSTransformer/nodes/binding/transformBindingName.js +30 -0
  168. package/out/TSTransformer/nodes/binding/transformObjectAssignmentPattern.d.ts +4 -0
  169. package/out/TSTransformer/nodes/binding/transformObjectAssignmentPattern.js +97 -0
  170. package/out/TSTransformer/nodes/binding/transformObjectBindingPattern.d.ts +4 -0
  171. package/out/TSTransformer/nodes/binding/transformObjectBindingPattern.js +57 -0
  172. package/out/TSTransformer/nodes/class/transformClassConstructor.d.ts +7 -0
  173. package/out/TSTransformer/nodes/class/transformClassConstructor.js +96 -0
  174. package/out/TSTransformer/nodes/class/transformClassLikeDeclaration.d.ts +7 -0
  175. package/out/TSTransformer/nodes/class/transformClassLikeDeclaration.js +262 -0
  176. package/out/TSTransformer/nodes/class/transformDecorators.d.ts +4 -0
  177. package/out/TSTransformer/nodes/class/transformDecorators.js +179 -0
  178. package/out/TSTransformer/nodes/class/transformPropertyDeclaration.d.ts +4 -0
  179. package/out/TSTransformer/nodes/class/transformPropertyDeclaration.js +33 -0
  180. package/out/TSTransformer/nodes/expressions/transformArrayLiteralExpression.d.ts +4 -0
  181. package/out/TSTransformer/nodes/expressions/transformArrayLiteralExpression.js +79 -0
  182. package/out/TSTransformer/nodes/expressions/transformAwaitExpression.d.ts +4 -0
  183. package/out/TSTransformer/nodes/expressions/transformAwaitExpression.js +13 -0
  184. package/out/TSTransformer/nodes/expressions/transformBinaryExpression.d.ts +4 -0
  185. package/out/TSTransformer/nodes/expressions/transformBinaryExpression.js +199 -0
  186. package/out/TSTransformer/nodes/expressions/transformBooleanLiteral.d.ts +3 -0
  187. package/out/TSTransformer/nodes/expressions/transformBooleanLiteral.js +15 -0
  188. package/out/TSTransformer/nodes/expressions/transformCallExpression.d.ts +7 -0
  189. package/out/TSTransformer/nodes/expressions/transformCallExpression.js +191 -0
  190. package/out/TSTransformer/nodes/expressions/transformClassExpression.d.ts +3 -0
  191. package/out/TSTransformer/nodes/expressions/transformClassExpression.js +10 -0
  192. package/out/TSTransformer/nodes/expressions/transformConditionalExpression.d.ts +4 -0
  193. package/out/TSTransformer/nodes/expressions/transformConditionalExpression.js +55 -0
  194. package/out/TSTransformer/nodes/expressions/transformDeleteExpression.d.ts +4 -0
  195. package/out/TSTransformer/nodes/expressions/transformDeleteExpression.js +14 -0
  196. package/out/TSTransformer/nodes/expressions/transformElementAccessExpression.d.ts +5 -0
  197. package/out/TSTransformer/nodes/expressions/transformElementAccessExpression.js +62 -0
  198. package/out/TSTransformer/nodes/expressions/transformExpression.d.ts +4 -0
  199. package/out/TSTransformer/nodes/expressions/transformExpression.js +107 -0
  200. package/out/TSTransformer/nodes/expressions/transformFunctionExpression.d.ts +4 -0
  201. package/out/TSTransformer/nodes/expressions/transformFunctionExpression.js +46 -0
  202. package/out/TSTransformer/nodes/expressions/transformIdentifier.d.ts +5 -0
  203. package/out/TSTransformer/nodes/expressions/transformIdentifier.js +147 -0
  204. package/out/TSTransformer/nodes/expressions/transformImportExpression.d.ts +4 -0
  205. package/out/TSTransformer/nodes/expressions/transformImportExpression.js +30 -0
  206. package/out/TSTransformer/nodes/expressions/transformJsxElement.d.ts +3 -0
  207. package/out/TSTransformer/nodes/expressions/transformJsxElement.js +8 -0
  208. package/out/TSTransformer/nodes/expressions/transformJsxExpression.d.ts +4 -0
  209. package/out/TSTransformer/nodes/expressions/transformJsxExpression.js +19 -0
  210. package/out/TSTransformer/nodes/expressions/transformJsxFragment.d.ts +4 -0
  211. package/out/TSTransformer/nodes/expressions/transformJsxFragment.js +28 -0
  212. package/out/TSTransformer/nodes/expressions/transformJsxSelfClosingElement.d.ts +3 -0
  213. package/out/TSTransformer/nodes/expressions/transformJsxSelfClosingElement.js +8 -0
  214. package/out/TSTransformer/nodes/expressions/transformNewExpression.d.ts +4 -0
  215. package/out/TSTransformer/nodes/expressions/transformNewExpression.js +26 -0
  216. package/out/TSTransformer/nodes/expressions/transformNoSubstitutionTemplateLiteral.d.ts +4 -0
  217. package/out/TSTransformer/nodes/expressions/transformNoSubstitutionTemplateLiteral.js +14 -0
  218. package/out/TSTransformer/nodes/expressions/transformNumericLiteral.d.ts +4 -0
  219. package/out/TSTransformer/nodes/expressions/transformNumericLiteral.js +13 -0
  220. package/out/TSTransformer/nodes/expressions/transformObjectLiteralExpression.d.ts +4 -0
  221. package/out/TSTransformer/nodes/expressions/transformObjectLiteralExpression.js +98 -0
  222. package/out/TSTransformer/nodes/expressions/transformOmittedExpression.d.ts +2 -0
  223. package/out/TSTransformer/nodes/expressions/transformOmittedExpression.js +11 -0
  224. package/out/TSTransformer/nodes/expressions/transformParenthesizedExpression.d.ts +4 -0
  225. package/out/TSTransformer/nodes/expressions/transformParenthesizedExpression.js +19 -0
  226. package/out/TSTransformer/nodes/expressions/transformPropertyAccessExpression.d.ts +5 -0
  227. package/out/TSTransformer/nodes/expressions/transformPropertyAccessExpression.js +36 -0
  228. package/out/TSTransformer/nodes/expressions/transformSpreadElement.d.ts +4 -0
  229. package/out/TSTransformer/nodes/expressions/transformSpreadElement.js +35 -0
  230. package/out/TSTransformer/nodes/expressions/transformStringLiteral.d.ts +4 -0
  231. package/out/TSTransformer/nodes/expressions/transformStringLiteral.js +12 -0
  232. package/out/TSTransformer/nodes/expressions/transformSuperKeyword.d.ts +2 -0
  233. package/out/TSTransformer/nodes/expressions/transformSuperKeyword.js +11 -0
  234. package/out/TSTransformer/nodes/expressions/transformTaggedTemplateExpression.d.ts +4 -0
  235. package/out/TSTransformer/nodes/expressions/transformTaggedTemplateExpression.js +27 -0
  236. package/out/TSTransformer/nodes/expressions/transformTemplateExpression.d.ts +4 -0
  237. package/out/TSTransformer/nodes/expressions/transformTemplateExpression.js +25 -0
  238. package/out/TSTransformer/nodes/expressions/transformThisExpression.d.ts +4 -0
  239. package/out/TSTransformer/nodes/expressions/transformThisExpression.js +29 -0
  240. package/out/TSTransformer/nodes/expressions/transformTypeExpression.d.ts +3 -0
  241. package/out/TSTransformer/nodes/expressions/transformTypeExpression.js +8 -0
  242. package/out/TSTransformer/nodes/expressions/transformUnaryExpression.d.ts +5 -0
  243. package/out/TSTransformer/nodes/expressions/transformUnaryExpression.js +68 -0
  244. package/out/TSTransformer/nodes/expressions/transformVoidExpression.d.ts +4 -0
  245. package/out/TSTransformer/nodes/expressions/transformVoidExpression.js +14 -0
  246. package/out/TSTransformer/nodes/expressions/transformYieldExpression.d.ts +4 -0
  247. package/out/TSTransformer/nodes/expressions/transformYieldExpression.js +46 -0
  248. package/out/TSTransformer/nodes/jsx/transformJsx.d.ts +4 -0
  249. package/out/TSTransformer/nodes/jsx/transformJsx.js +36 -0
  250. package/out/TSTransformer/nodes/jsx/transformJsxAttributes.d.ts +4 -0
  251. package/out/TSTransformer/nodes/jsx/transformJsxAttributes.js +83 -0
  252. package/out/TSTransformer/nodes/jsx/transformJsxChildren.d.ts +4 -0
  253. package/out/TSTransformer/nodes/jsx/transformJsxChildren.js +34 -0
  254. package/out/TSTransformer/nodes/jsx/transformJsxTagName.d.ts +4 -0
  255. package/out/TSTransformer/nodes/jsx/transformJsxTagName.js +42 -0
  256. package/out/TSTransformer/nodes/statements/transformBlock.d.ts +4 -0
  257. package/out/TSTransformer/nodes/statements/transformBlock.js +14 -0
  258. package/out/TSTransformer/nodes/statements/transformBreakStatement.d.ts +4 -0
  259. package/out/TSTransformer/nodes/statements/transformBreakStatement.js +24 -0
  260. package/out/TSTransformer/nodes/statements/transformClassDeclaration.d.ts +3 -0
  261. package/out/TSTransformer/nodes/statements/transformClassDeclaration.js +8 -0
  262. package/out/TSTransformer/nodes/statements/transformContinueStatement.d.ts +4 -0
  263. package/out/TSTransformer/nodes/statements/transformContinueStatement.js +24 -0
  264. package/out/TSTransformer/nodes/statements/transformDoStatement.d.ts +4 -0
  265. package/out/TSTransformer/nodes/statements/transformDoStatement.js +31 -0
  266. package/out/TSTransformer/nodes/statements/transformEnumDeclaration.d.ts +4 -0
  267. package/out/TSTransformer/nodes/statements/transformEnumDeclaration.js +97 -0
  268. package/out/TSTransformer/nodes/statements/transformExportAssignment.d.ts +4 -0
  269. package/out/TSTransformer/nodes/statements/transformExportAssignment.js +53 -0
  270. package/out/TSTransformer/nodes/statements/transformExportDeclaration.d.ts +4 -0
  271. package/out/TSTransformer/nodes/statements/transformExportDeclaration.js +109 -0
  272. package/out/TSTransformer/nodes/statements/transformExpressionStatement.d.ts +5 -0
  273. package/out/TSTransformer/nodes/statements/transformExpressionStatement.js +62 -0
  274. package/out/TSTransformer/nodes/statements/transformForOfStatement.d.ts +5 -0
  275. package/out/TSTransformer/nodes/statements/transformForOfStatement.js +375 -0
  276. package/out/TSTransformer/nodes/statements/transformForStatement.d.ts +4 -0
  277. package/out/TSTransformer/nodes/statements/transformForStatement.js +371 -0
  278. package/out/TSTransformer/nodes/statements/transformFunctionDeclaration.d.ts +4 -0
  279. package/out/TSTransformer/nodes/statements/transformFunctionDeclaration.js +68 -0
  280. package/out/TSTransformer/nodes/statements/transformIfStatement.d.ts +5 -0
  281. package/out/TSTransformer/nodes/statements/transformIfStatement.js +46 -0
  282. package/out/TSTransformer/nodes/statements/transformImportDeclaration.d.ts +4 -0
  283. package/out/TSTransformer/nodes/statements/transformImportDeclaration.js +98 -0
  284. package/out/TSTransformer/nodes/statements/transformImportEqualsDeclaration.d.ts +4 -0
  285. package/out/TSTransformer/nodes/statements/transformImportEqualsDeclaration.js +36 -0
  286. package/out/TSTransformer/nodes/statements/transformModuleDeclaration.d.ts +4 -0
  287. package/out/TSTransformer/nodes/statements/transformModuleDeclaration.js +122 -0
  288. package/out/TSTransformer/nodes/statements/transformReturnStatement.d.ts +5 -0
  289. package/out/TSTransformer/nodes/statements/transformReturnStatement.js +74 -0
  290. package/out/TSTransformer/nodes/statements/transformStatement.d.ts +4 -0
  291. package/out/TSTransformer/nodes/statements/transformStatement.js +83 -0
  292. package/out/TSTransformer/nodes/statements/transformSwitchStatement.d.ts +4 -0
  293. package/out/TSTransformer/nodes/statements/transformSwitchStatement.js +105 -0
  294. package/out/TSTransformer/nodes/statements/transformThrowStatement.d.ts +4 -0
  295. package/out/TSTransformer/nodes/statements/transformThrowStatement.js +18 -0
  296. package/out/TSTransformer/nodes/statements/transformTryStatement.d.ts +4 -0
  297. package/out/TSTransformer/nodes/statements/transformTryStatement.js +148 -0
  298. package/out/TSTransformer/nodes/statements/transformVariableStatement.d.ts +8 -0
  299. package/out/TSTransformer/nodes/statements/transformVariableStatement.js +155 -0
  300. package/out/TSTransformer/nodes/statements/transformWhileStatement.d.ts +4 -0
  301. package/out/TSTransformer/nodes/statements/transformWhileStatement.js +30 -0
  302. package/out/TSTransformer/nodes/transformEntityName.d.ts +4 -0
  303. package/out/TSTransformer/nodes/transformEntityName.js +24 -0
  304. package/out/TSTransformer/nodes/transformInitializer.d.ts +4 -0
  305. package/out/TSTransformer/nodes/transformInitializer.js +22 -0
  306. package/out/TSTransformer/nodes/transformInterpolatedStringPart.d.ts +3 -0
  307. package/out/TSTransformer/nodes/transformInterpolatedStringPart.js +12 -0
  308. package/out/TSTransformer/nodes/transformLogical.d.ts +4 -0
  309. package/out/TSTransformer/nodes/transformLogical.js +103 -0
  310. package/out/TSTransformer/nodes/transformLogicalOrCoalescingAssignmentExpression.d.ts +5 -0
  311. package/out/TSTransformer/nodes/transformLogicalOrCoalescingAssignmentExpression.js +91 -0
  312. package/out/TSTransformer/nodes/transformMethodDeclaration.d.ts +5 -0
  313. package/out/TSTransformer/nodes/transformMethodDeclaration.js +82 -0
  314. package/out/TSTransformer/nodes/transformOptionalChain.d.ts +46 -0
  315. package/out/TSTransformer/nodes/transformOptionalChain.js +257 -0
  316. package/out/TSTransformer/nodes/transformParameters.d.ts +8 -0
  317. package/out/TSTransformer/nodes/transformParameters.js +104 -0
  318. package/out/TSTransformer/nodes/transformPropertyName.d.ts +4 -0
  319. package/out/TSTransformer/nodes/transformPropertyName.js +18 -0
  320. package/out/TSTransformer/nodes/transformSourceFile.d.ts +4 -0
  321. package/out/TSTransformer/nodes/transformSourceFile.js +171 -0
  322. package/out/TSTransformer/nodes/transformStatementList.d.ts +7 -0
  323. package/out/TSTransformer/nodes/transformStatementList.js +63 -0
  324. package/out/TSTransformer/nodes/transformWritable.d.ts +9 -0
  325. package/out/TSTransformer/nodes/transformWritable.js +49 -0
  326. package/out/TSTransformer/typeGuards.d.ts +5 -0
  327. package/out/TSTransformer/typeGuards.js +27 -0
  328. package/out/TSTransformer/types.d.ts +9 -0
  329. package/out/TSTransformer/types.js +3 -0
  330. package/out/TSTransformer/util/addIndexDiagnostics.d.ts +3 -0
  331. package/out/TSTransformer/util/addIndexDiagnostics.js +24 -0
  332. package/out/TSTransformer/util/addOneIfArrayType.d.ts +4 -0
  333. package/out/TSTransformer/util/addOneIfArrayType.js +14 -0
  334. package/out/TSTransformer/util/arrayBindingPatternContainsHoists.d.ts +3 -0
  335. package/out/TSTransformer/util/arrayBindingPatternContainsHoists.js +23 -0
  336. package/out/TSTransformer/util/arrayLikeExpressionContainsSpread.d.ts +2 -0
  337. package/out/TSTransformer/util/arrayLikeExpressionContainsSpread.js +17 -0
  338. package/out/TSTransformer/util/assertNever.d.ts +1 -0
  339. package/out/TSTransformer/util/assertNever.js +36 -0
  340. package/out/TSTransformer/util/assignment.d.ts +7 -0
  341. package/out/TSTransformer/util/assignment.js +48 -0
  342. package/out/TSTransformer/util/binding/getAccessorForBindingType.d.ts +6 -0
  343. package/out/TSTransformer/util/binding/getAccessorForBindingType.js +141 -0
  344. package/out/TSTransformer/util/binding/getTargetIdForBindingPattern.d.ts +4 -0
  345. package/out/TSTransformer/util/binding/getTargetIdForBindingPattern.js +15 -0
  346. package/out/TSTransformer/util/binding/objectAccessor.d.ts +4 -0
  347. package/out/TSTransformer/util/binding/objectAccessor.js +39 -0
  348. package/out/TSTransformer/util/bitwise.d.ts +6 -0
  349. package/out/TSTransformer/util/bitwise.js +67 -0
  350. package/out/TSTransformer/util/checkVariableHoist.d.ts +3 -0
  351. package/out/TSTransformer/util/checkVariableHoist.js +33 -0
  352. package/out/TSTransformer/util/cleanModuleName.d.ts +1 -0
  353. package/out/TSTransformer/util/cleanModuleName.js +7 -0
  354. package/out/TSTransformer/util/convertToIndexableExpression.d.ts +3 -0
  355. package/out/TSTransformer/util/convertToIndexableExpression.js +14 -0
  356. package/out/TSTransformer/util/createBinaryFromOperator.d.ts +4 -0
  357. package/out/TSTransformer/util/createBinaryFromOperator.js +54 -0
  358. package/out/TSTransformer/util/createGetService.d.ts +2 -0
  359. package/out/TSTransformer/util/createGetService.js +15 -0
  360. package/out/TSTransformer/util/createHoistDeclaration.d.ts +4 -0
  361. package/out/TSTransformer/util/createHoistDeclaration.js +20 -0
  362. package/out/TSTransformer/util/createImportExpression.d.ts +5 -0
  363. package/out/TSTransformer/util/createImportExpression.js +181 -0
  364. package/out/TSTransformer/util/createStringFromLiteral.d.ts +2 -0
  365. package/out/TSTransformer/util/createStringFromLiteral.js +27 -0
  366. package/out/TSTransformer/util/createTransformServices.d.ts +3 -0
  367. package/out/TSTransformer/util/createTransformServices.js +9 -0
  368. package/out/TSTransformer/util/createTruthinessChecks.d.ts +5 -0
  369. package/out/TSTransformer/util/createTruthinessChecks.js +50 -0
  370. package/out/TSTransformer/util/createTypeCheck.d.ts +2 -0
  371. package/out/TSTransformer/util/createTypeCheck.js +11 -0
  372. package/out/TSTransformer/util/ensureTransformOrder.d.ts +5 -0
  373. package/out/TSTransformer/util/ensureTransformOrder.js +39 -0
  374. package/out/TSTransformer/util/expressionChain.d.ts +3 -0
  375. package/out/TSTransformer/util/expressionChain.js +16 -0
  376. package/out/TSTransformer/util/expressionMightMutate.d.ts +4 -0
  377. package/out/TSTransformer/util/expressionMightMutate.js +57 -0
  378. package/out/TSTransformer/util/findConstructor.d.ts +4 -0
  379. package/out/TSTransformer/util/findConstructor.js +11 -0
  380. package/out/TSTransformer/util/fixupWhitespaceAndDecodeEntities.d.ts +1 -0
  381. package/out/TSTransformer/util/fixupWhitespaceAndDecodeEntities.js +306 -0
  382. package/out/TSTransformer/util/getAddIterableToArrayBuilder.d.ts +6 -0
  383. package/out/TSTransformer/util/getAddIterableToArrayBuilder.js +253 -0
  384. package/out/TSTransformer/util/getAssignableValue.d.ts +3 -0
  385. package/out/TSTransformer/util/getAssignableValue.js +15 -0
  386. package/out/TSTransformer/util/getConstantValueLiteral.d.ts +4 -0
  387. package/out/TSTransformer/util/getConstantValueLiteral.js +19 -0
  388. package/out/TSTransformer/util/getDeclaredVariables.d.ts +2 -0
  389. package/out/TSTransformer/util/getDeclaredVariables.js +37 -0
  390. package/out/TSTransformer/util/getExtendsNode.d.ts +2 -0
  391. package/out/TSTransformer/util/getExtendsNode.js +16 -0
  392. package/out/TSTransformer/util/getFlags.d.ts +1 -0
  393. package/out/TSTransformer/util/getFlags.js +13 -0
  394. package/out/TSTransformer/util/getKindName.d.ts +2 -0
  395. package/out/TSTransformer/util/getKindName.js +61 -0
  396. package/out/TSTransformer/util/getOriginalSymbolOfNode.d.ts +2 -0
  397. package/out/TSTransformer/util/getOriginalSymbolOfNode.js +15 -0
  398. package/out/TSTransformer/util/getSourceFileFromModuleSpecifier.d.ts +3 -0
  399. package/out/TSTransformer/util/getSourceFileFromModuleSpecifier.js +33 -0
  400. package/out/TSTransformer/util/getStatements.d.ts +2 -0
  401. package/out/TSTransformer/util/getStatements.js +11 -0
  402. package/out/TSTransformer/util/hasMultipleDefinitions.d.ts +2 -0
  403. package/out/TSTransformer/util/hasMultipleDefinitions.js +17 -0
  404. package/out/TSTransformer/util/isBlockedByTryStatement.d.ts +3 -0
  405. package/out/TSTransformer/util/isBlockedByTryStatement.js +17 -0
  406. package/out/TSTransformer/util/isMethod.d.ts +4 -0
  407. package/out/TSTransformer/util/isMethod.js +90 -0
  408. package/out/TSTransformer/util/isSymbolMutable.d.ts +3 -0
  409. package/out/TSTransformer/util/isSymbolMutable.js +24 -0
  410. package/out/TSTransformer/util/isSymbolOfValue.d.ts +2 -0
  411. package/out/TSTransformer/util/isSymbolOfValue.js +11 -0
  412. package/out/TSTransformer/util/isUsedAsStatement.d.ts +2 -0
  413. package/out/TSTransformer/util/isUsedAsStatement.js +23 -0
  414. package/out/TSTransformer/util/isValidMethodIndexWithoutCall.d.ts +3 -0
  415. package/out/TSTransformer/util/isValidMethodIndexWithoutCall.js +31 -0
  416. package/out/TSTransformer/util/offset.d.ts +2 -0
  417. package/out/TSTransformer/util/offset.js +44 -0
  418. package/out/TSTransformer/util/pointer.d.ts +13 -0
  419. package/out/TSTransformer/util/pointer.js +46 -0
  420. package/out/TSTransformer/util/spreadDestructuring/index.d.ts +9 -0
  421. package/out/TSTransformer/util/spreadDestructuring/index.js +45 -0
  422. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureArray.d.ts +3 -0
  423. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureArray.js +17 -0
  424. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureGenerator.d.ts +3 -0
  425. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureGenerator.js +33 -0
  426. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureMap.d.ts +3 -0
  427. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureMap.js +34 -0
  428. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureObject.d.ts +3 -0
  429. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureObject.js +41 -0
  430. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureSet.d.ts +3 -0
  431. package/out/TSTransformer/util/spreadDestructuring/spreadDestructureSet.js +28 -0
  432. package/out/TSTransformer/util/traversal.d.ts +7 -0
  433. package/out/TSTransformer/util/traversal.js +57 -0
  434. package/out/TSTransformer/util/types.d.ts +31 -0
  435. package/out/TSTransformer/util/types.js +259 -0
  436. package/out/TSTransformer/util/validateIdentifier.d.ts +3 -0
  437. package/out/TSTransformer/util/validateIdentifier.js +18 -0
  438. package/out/TSTransformer/util/validateMethodAssignment.d.ts +3 -0
  439. package/out/TSTransformer/util/validateMethodAssignment.js +81 -0
  440. package/out/TSTransformer/util/validateNotAny.d.ts +3 -0
  441. package/out/TSTransformer/util/validateNotAny.js +37 -0
  442. package/out/TSTransformer/util/valueToIdStr.d.ts +2 -0
  443. package/out/TSTransformer/util/valueToIdStr.js +29 -0
  444. package/out/TSTransformer/util/wrapExpressionStatement.d.ts +2 -0
  445. package/out/TSTransformer/util/wrapExpressionStatement.js +22 -0
  446. package/out/TSTransformer/util/wrapReturnIfLuaTuple.d.ts +4 -0
  447. package/out/TSTransformer/util/wrapReturnIfLuaTuple.js +56 -0
  448. package/out/TSTransformer/util/wrapStatementsAsGenerator.d.ts +4 -0
  449. package/out/TSTransformer/util/wrapStatementsAsGenerator.js +19 -0
  450. package/package.json +72 -0
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = transformer;
7
+ const path_1 = __importDefault(require("path"));
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const url_1 = __importDefault(require("url"));
10
+ const getImplicitExtensions = (options) => {
11
+ let res = [".ts", ".d.ts"];
12
+ let { allowJs, jsx, resolveJsonModule: allowJson } = options;
13
+ const allowJsx = !!jsx && jsx !== typescript_1.default.JsxEmit.None;
14
+ allowJs && res.push(".js");
15
+ allowJsx && res.push(".tsx");
16
+ allowJs && allowJsx && res.push(".jsx");
17
+ allowJson && res.push(".json");
18
+ return res;
19
+ };
20
+ const isURL = (s) => !!s && (!!url_1.default.parse(s).host || !!url_1.default.parse(s).hostname);
21
+ const isBaseDir = (base, dir) => { var _a; return ((_a = path_1.default.relative(base, dir)) === null || _a === void 0 ? void 0 : _a[0]) !== "."; };
22
+ const isRequire = (node) => typescript_1.default.isCallExpression(node) &&
23
+ typescript_1.default.isIdentifier(node.expression) &&
24
+ node.expression.text === "require" &&
25
+ typescript_1.default.isStringLiteral(node.arguments[0]) &&
26
+ node.arguments.length === 1;
27
+ const isAsyncImport = (node) => typescript_1.default.isCallExpression(node) &&
28
+ node.expression.kind === typescript_1.default.SyntaxKind.ImportKeyword &&
29
+ typescript_1.default.isStringLiteral(node.arguments[0]) &&
30
+ node.arguments.length === 1;
31
+ function transformer(program, config) {
32
+ const { useRootDirs } = config;
33
+ const compilerOptions = program.getCompilerOptions();
34
+ const implicitExtensions = getImplicitExtensions(compilerOptions);
35
+ return (context) => (sourceFile) => {
36
+ var _a;
37
+ if (typescript_1.default.isBundle(sourceFile))
38
+ return sourceFile;
39
+ const factory = context.factory;
40
+ const { fileName } = sourceFile;
41
+ const fileDir = typescript_1.default.normalizePath(path_1.default.dirname(fileName));
42
+ if (!compilerOptions.baseUrl && !compilerOptions.paths)
43
+ return sourceFile;
44
+ let rootDirs = (_a = compilerOptions.rootDirs) === null || _a === void 0 ? void 0 : _a.filter(path_1.default.isAbsolute);
45
+ return typescript_1.default.visitEachChild(sourceFile, visit, context);
46
+ function update(original, moduleName, updaterFn) {
47
+ let p;
48
+ const { resolvedModule, failedLookupLocations } = typescript_1.default.resolveModuleName(moduleName, fileName, compilerOptions, typescript_1.default.sys);
49
+ if (!resolvedModule) {
50
+ const maybeURL = failedLookupLocations[0];
51
+ if (!isURL(maybeURL))
52
+ return original;
53
+ p = maybeURL;
54
+ }
55
+ else if (resolvedModule.isExternalLibraryImport)
56
+ return original;
57
+ else {
58
+ const { extension, resolvedFileName } = resolvedModule;
59
+ let filePath = fileDir;
60
+ let modulePath = path_1.default.dirname(resolvedFileName);
61
+ if (useRootDirs && rootDirs) {
62
+ let fileRootDir = "";
63
+ let moduleRootDir = "";
64
+ for (const rootDir of rootDirs) {
65
+ if (isBaseDir(rootDir, resolvedFileName) && rootDir.length > moduleRootDir.length)
66
+ moduleRootDir = rootDir;
67
+ if (isBaseDir(rootDir, fileName) && rootDir.length > fileRootDir.length)
68
+ fileRootDir = rootDir;
69
+ }
70
+ if (fileRootDir && moduleRootDir) {
71
+ filePath = path_1.default.relative(fileRootDir, filePath);
72
+ modulePath = path_1.default.relative(moduleRootDir, modulePath);
73
+ }
74
+ }
75
+ p = typescript_1.default.normalizePath(path_1.default.join(path_1.default.relative(filePath, modulePath), path_1.default.basename(resolvedFileName)));
76
+ if (extension && implicitExtensions.includes(extension))
77
+ p = p.slice(0, -extension.length);
78
+ if (!p)
79
+ return original;
80
+ p = p[0] === "." ? p : `./${p}`;
81
+ }
82
+ const newStringLiteral = factory.createStringLiteral(p);
83
+ return updaterFn(newStringLiteral);
84
+ }
85
+ function visit(node) {
86
+ if (isRequire(node) || isAsyncImport(node))
87
+ return update(node, node.arguments[0].text, p => {
88
+ const res = factory.updateCallExpression(node, node.expression, node.typeArguments, [p]);
89
+ const textNode = node.arguments[0];
90
+ const commentRanges = typescript_1.default.getLeadingCommentRanges(textNode.getFullText(), 0) || [];
91
+ for (const range of commentRanges) {
92
+ const { kind, pos, end, hasTrailingNewLine } = range;
93
+ const caption = textNode
94
+ .getFullText()
95
+ .substr(pos, end)
96
+ .replace(kind === typescript_1.default.SyntaxKind.MultiLineCommentTrivia
97
+ ?
98
+ /^\/\*(.+)\*\/.*/s
99
+ : /^\/\/(.+)/s, "$1");
100
+ typescript_1.default.addSyntheticLeadingComment(p, kind, caption, hasTrailingNewLine);
101
+ }
102
+ return res;
103
+ });
104
+ if (typescript_1.default.isExternalModuleReference(node) && typescript_1.default.isStringLiteral(node.expression))
105
+ return update(node, node.expression.text, p => factory.updateExternalModuleReference(node, p));
106
+ if ((typescript_1.default.isImportDeclaration(node) || typescript_1.default.isExportDeclaration(node)) &&
107
+ node.moduleSpecifier &&
108
+ typescript_1.default.isStringLiteral(node.moduleSpecifier))
109
+ return update(node, node.moduleSpecifier.text, p => {
110
+ const newNode = factory.cloneNode(node.moduleSpecifier);
111
+ typescript_1.default.setSourceMapRange(newNode, typescript_1.default.getSourceMapRange(node));
112
+ typescript_1.default.setTextRange(newNode, node.moduleSpecifier);
113
+ newNode.text = p.text;
114
+ return Object.assign(node, { moduleSpecifier: newNode });
115
+ });
116
+ if (typescript_1.default.isImportTypeNode(node)) {
117
+ const argument = node.argument;
118
+ if (!typescript_1.default.isStringLiteral(argument.literal))
119
+ return node;
120
+ const { text } = argument.literal;
121
+ return !text
122
+ ? node
123
+ : update(node, text, p => factory.updateImportTypeNode(node, factory.updateLiteralTypeNode(argument, p), node.attributes, node.qualifier, node.typeArguments, node.isTypeOf));
124
+ }
125
+ return typescript_1.default.visitEachChild(node, visit, context);
126
+ }
127
+ };
128
+ }
129
+ //# sourceMappingURL=transformPaths.js.map
@@ -0,0 +1,2 @@
1
+ import ts from "typescript";
2
+ export declare function transformTypeReferenceDirectives(): (sourceFile: ts.SourceFile | ts.Bundle) => ts.SourceFile | ts.Bundle;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformTypeReferenceDirectives = transformTypeReferenceDirectives;
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ const SCOPE = "@rbxts/";
9
+ const PACKAGE = "types";
10
+ function transformTypeReferenceDirectives() {
11
+ return (sourceFile) => {
12
+ if (typescript_1.default.isSourceFile(sourceFile)) {
13
+ for (const typeReferenceDirective of sourceFile.typeReferenceDirectives) {
14
+ if (typeReferenceDirective.fileName === PACKAGE) {
15
+ typeReferenceDirective.fileName = SCOPE + PACKAGE;
16
+ typeReferenceDirective.end += SCOPE.length;
17
+ }
18
+ }
19
+ }
20
+ return sourceFile;
21
+ };
22
+ }
23
+ //# sourceMappingURL=transformTypeReferenceDirectives.js.map
@@ -0,0 +1,4 @@
1
+ import { TransformerPluginConfig } from "../../Shared/types";
2
+ import ts from "typescript";
3
+ export declare function flattenIntoTransformers(transformers: ts.CustomTransformers): Array<ts.TransformerFactory<ts.SourceFile | ts.Bundle>>;
4
+ export declare function createTransformerList(program: ts.Program, configs: Array<TransformerPluginConfig>, baseDir: string): ts.CustomTransformers;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.flattenIntoTransformers = flattenIntoTransformers;
7
+ exports.createTransformerList = createTransformerList;
8
+ const resolve_1 = __importDefault(require("resolve"));
9
+ const diagnostics_1 = require("../../Shared/diagnostics");
10
+ const DiagnosticService_1 = require("../../TSTransformer/classes/DiagnosticService");
11
+ const typescript_1 = __importDefault(require("typescript"));
12
+ function getTransformerFromFactory(factory, config, program) {
13
+ const { after, afterDeclarations, type, ...manualConfig } = config;
14
+ let transformer;
15
+ switch (type) {
16
+ case undefined:
17
+ case "program":
18
+ transformer = factory(program, manualConfig, { ts: typescript_1.default });
19
+ break;
20
+ case "checker":
21
+ transformer = factory(program.getTypeChecker(), manualConfig);
22
+ break;
23
+ case "compilerOptions":
24
+ transformer = factory(program.getCompilerOptions(), manualConfig);
25
+ break;
26
+ case "config":
27
+ transformer = factory(manualConfig);
28
+ break;
29
+ case "raw":
30
+ transformer = (ctx) => factory(ctx, program, manualConfig);
31
+ break;
32
+ default:
33
+ return undefined;
34
+ }
35
+ if (typeof transformer === "function") {
36
+ if (after) {
37
+ return { after: transformer };
38
+ }
39
+ else if (afterDeclarations) {
40
+ return { afterDeclarations: transformer };
41
+ }
42
+ return { before: transformer };
43
+ }
44
+ return transformer;
45
+ }
46
+ function flattenIntoTransformers(transformers) {
47
+ const result = [];
48
+ result.push(...transformers.after, ...transformers.before, ...transformers.afterDeclarations);
49
+ return result;
50
+ }
51
+ function createTransformerList(program, configs, baseDir) {
52
+ var _a, _b, _c, _d;
53
+ const transforms = {
54
+ before: [],
55
+ after: [],
56
+ afterDeclarations: [],
57
+ };
58
+ for (const config of configs) {
59
+ if (!config.transform)
60
+ continue;
61
+ try {
62
+ const modulePath = resolve_1.default.sync(config.transform, { basedir: baseDir });
63
+ const commonjsModule = require(modulePath);
64
+ const factoryModule = typeof commonjsModule === "function" ? { default: commonjsModule } : commonjsModule;
65
+ const factory = factoryModule[(_a = config.import) !== null && _a !== void 0 ? _a : "default"];
66
+ if (!factory || typeof factory !== "function")
67
+ throw new Error("factory not a function");
68
+ const transformer = getTransformerFromFactory(factory, config, program);
69
+ if (transformer) {
70
+ if (transformer.afterDeclarations) {
71
+ (_b = transforms.afterDeclarations) === null || _b === void 0 ? void 0 : _b.push(transformer.afterDeclarations);
72
+ }
73
+ if (transformer.after) {
74
+ (_c = transforms.after) === null || _c === void 0 ? void 0 : _c.push(transformer.after);
75
+ }
76
+ if (transformer.before) {
77
+ (_d = transforms.before) === null || _d === void 0 ? void 0 : _d.push(transformer.before);
78
+ }
79
+ }
80
+ }
81
+ catch (err) {
82
+ DiagnosticService_1.DiagnosticService.addDiagnostic(diagnostics_1.warnings.transformerNotFound(config.transform, err));
83
+ }
84
+ }
85
+ return transforms;
86
+ }
87
+ //# sourceMappingURL=createTransformerList.js.map
@@ -0,0 +1,3 @@
1
+ import { TransformerWatcher } from "../../Shared/types";
2
+ import ts from "typescript";
3
+ export declare function createTransformerWatcher(program: ts.Program): TransformerWatcher;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTransformerWatcher = createTransformerWatcher;
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ function createServiceHost(program) {
9
+ const rootFileNames = program.getRootFileNames().map(x => x);
10
+ const files = new Map();
11
+ rootFileNames.forEach(fileName => {
12
+ files.set(fileName, 0);
13
+ });
14
+ const overriddenText = new Map();
15
+ function updateFile(fileName, text) {
16
+ var _a;
17
+ overriddenText.set(fileName, text);
18
+ const currentVersion = (_a = files.get(fileName)) !== null && _a !== void 0 ? _a : 0;
19
+ files.set(fileName, currentVersion + 1);
20
+ }
21
+ const serviceHost = {
22
+ getScriptFileNames: () => [...files.keys()].filter(typescript_1.default.sys.fileExists),
23
+ getCurrentDirectory: () => process.cwd(),
24
+ getCompilationSettings: () => program.getCompilerOptions(),
25
+ getDefaultLibFileName: options => typescript_1.default.getDefaultLibFilePath(options),
26
+ fileExists: typescript_1.default.sys.fileExists,
27
+ readDirectory: typescript_1.default.sys.readDirectory,
28
+ directoryExists: typescript_1.default.sys.directoryExists,
29
+ getDirectories: typescript_1.default.sys.getDirectories,
30
+ getScriptVersion,
31
+ getScriptSnapshot,
32
+ readFile,
33
+ getProjectReferences: () => program.getProjectReferences(),
34
+ };
35
+ function getScriptVersion(fileName) {
36
+ var _a;
37
+ const version = (_a = files.get(fileName)) === null || _a === void 0 ? void 0 : _a.toString();
38
+ return version !== null && version !== void 0 ? version : "0";
39
+ }
40
+ function getScriptSnapshot(fileName) {
41
+ const content = readFile(fileName);
42
+ if (content === undefined)
43
+ return;
44
+ return typescript_1.default.ScriptSnapshot.fromString(content);
45
+ }
46
+ function readFile(fileName, encoding) {
47
+ const content = overriddenText.get(fileName);
48
+ if (content !== undefined)
49
+ return content;
50
+ return typescript_1.default.sys.readFile(fileName, encoding);
51
+ }
52
+ return { serviceHost, updateFile };
53
+ }
54
+ function createTransformerWatcher(program) {
55
+ const { serviceHost, updateFile } = createServiceHost(program);
56
+ const service = typescript_1.default.createLanguageService(serviceHost, typescript_1.default.createDocumentRegistry());
57
+ return { service, updateFile };
58
+ }
59
+ //# sourceMappingURL=createTransformerWatcher.js.map
@@ -0,0 +1,2 @@
1
+ import { TransformerPluginConfig } from "../../Shared/types";
2
+ export declare function getPluginConfigs(tsConfigPath: string): TransformerPluginConfig[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPluginConfigs = getPluginConfigs;
7
+ const path_1 = __importDefault(require("path"));
8
+ const ProjectError_1 = require("../../Shared/errors/ProjectError");
9
+ const typescript_1 = __importDefault(require("typescript"));
10
+ function getPluginConfigs(tsConfigPath) {
11
+ var _a;
12
+ const configFile = typescript_1.default.readConfigFile(tsConfigPath, typescript_1.default.sys.readFile);
13
+ if (configFile.error) {
14
+ throw new ProjectError_1.ProjectError(configFile.error.messageText.toString());
15
+ }
16
+ const pluginConfigs = new Array();
17
+ const config = configFile.config;
18
+ const plugins = (_a = config.compilerOptions) === null || _a === void 0 ? void 0 : _a.plugins;
19
+ if (plugins && Array.isArray(plugins)) {
20
+ for (const pluginConfig of plugins) {
21
+ if (pluginConfig.transform && typeof pluginConfig.transform === "string") {
22
+ pluginConfigs.push(pluginConfig);
23
+ }
24
+ }
25
+ }
26
+ if (config.extends) {
27
+ const extendedPath = require.resolve(config.extends, {
28
+ paths: [path_1.default.dirname(tsConfigPath)],
29
+ });
30
+ pluginConfigs.push(...getPluginConfigs(extendedPath));
31
+ }
32
+ return pluginConfigs;
33
+ }
34
+ //# sourceMappingURL=getPluginConfigs.js.map
@@ -0,0 +1,5 @@
1
+ export declare function createReadBuildProgramHost(): {
2
+ getCurrentDirectory: () => string;
3
+ readFile: (path: string, encoding?: string) => string | undefined;
4
+ useCaseSensitiveFileNames: () => boolean;
5
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createReadBuildProgramHost = createReadBuildProgramHost;
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ function createReadBuildProgramHost() {
9
+ return {
10
+ getCurrentDirectory: typescript_1.default.sys.getCurrentDirectory,
11
+ readFile: typescript_1.default.sys.readFile,
12
+ useCaseSensitiveFileNames: () => typescript_1.default.sys.useCaseSensitiveFileNames,
13
+ };
14
+ }
15
+ //# sourceMappingURL=createReadBuildProgramHost.js.map
@@ -0,0 +1,4 @@
1
+ import { ProjectData } from "../../Shared/types";
2
+ import ts from "typescript";
3
+ export type PreEmitChecker = (data: ProjectData, sourceFile: ts.SourceFile) => Array<ts.Diagnostic>;
4
+ export declare function getCustomPreEmitDiagnostics(data: ProjectData, sourceFile: ts.SourceFile): ts.Diagnostic[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomPreEmitDiagnostics = getCustomPreEmitDiagnostics;
4
+ const fileUsesCommentDirectives_1 = require("../preEmitDiagnostics/fileUsesCommentDirectives");
5
+ const PRE_EMIT_DIAGNOSTICS = [fileUsesCommentDirectives_1.fileUsesCommentDirectives];
6
+ function getCustomPreEmitDiagnostics(data, sourceFile) {
7
+ const diagnostics = new Array();
8
+ for (const check of PRE_EMIT_DIAGNOSTICS) {
9
+ diagnostics.push(...check(data, sourceFile));
10
+ }
11
+ return diagnostics;
12
+ }
13
+ //# sourceMappingURL=getCustomPreEmitDiagnostics.js.map
@@ -0,0 +1 @@
1
+ export declare function isCompilableFile(fsPath: string): boolean;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isCompilableFile = isCompilableFile;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const constants_1 = require("../../Shared/constants");
9
+ function isCompilableFile(fsPath) {
10
+ if (fs_extra_1.default.statSync(fsPath).isDirectory()) {
11
+ return false;
12
+ }
13
+ if (fsPath.endsWith(constants_1.DTS_EXT)) {
14
+ return false;
15
+ }
16
+ return fsPath.endsWith(constants_1.TS_EXT) || fsPath.endsWith(constants_1.TSX_EXT);
17
+ }
18
+ //# sourceMappingURL=isCompilableFile.js.map
@@ -0,0 +1 @@
1
+ export declare function walkDirectorySync(dir: string, callback: (fsPath: string) => void): void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.walkDirectorySync = walkDirectorySync;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ function walkDirectorySync(dir, callback) {
10
+ const queue = [dir];
11
+ for (let i = 0; i < queue.length; i++) {
12
+ const currentDir = queue[i];
13
+ for (const child of fs_extra_1.default.readdirSync(currentDir)) {
14
+ const fsPath = path_1.default.join(currentDir, child);
15
+ callback(fsPath);
16
+ if (fs_extra_1.default.statSync(fsPath).isDirectory()) {
17
+ queue.push(fsPath);
18
+ }
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=walkDirectorySync.js.map
@@ -0,0 +1,8 @@
1
+ export declare class Lazy<T> {
2
+ private readonly getValue;
3
+ private isInitialized;
4
+ private value;
5
+ constructor(getValue: () => T);
6
+ get(): T;
7
+ set(value: T): void;
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lazy = void 0;
4
+ class Lazy {
5
+ constructor(getValue) {
6
+ this.getValue = getValue;
7
+ this.isInitialized = false;
8
+ }
9
+ get() {
10
+ if (!this.isInitialized) {
11
+ this.isInitialized = true;
12
+ this.value = this.getValue();
13
+ }
14
+ return this.value;
15
+ }
16
+ set(value) {
17
+ this.isInitialized = true;
18
+ this.value = value;
19
+ }
20
+ }
21
+ exports.Lazy = Lazy;
22
+ //# sourceMappingURL=Lazy.js.map
@@ -0,0 +1,9 @@
1
+ export declare class LogService {
2
+ static verbose: boolean;
3
+ private static partial;
4
+ static write(message: string): void;
5
+ static writeLine(...messages: Array<unknown>): void;
6
+ static writeLineIfVerbose(...messages: Array<unknown>): void;
7
+ static warn(message: string): void;
8
+ static fatal(message: string): never;
9
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LogService = void 0;
7
+ const kleur_1 = __importDefault(require("kleur"));
8
+ class LogService {
9
+ static write(message) {
10
+ this.partial = !message.endsWith("\n");
11
+ process.stdout.write(message);
12
+ }
13
+ static writeLine(...messages) {
14
+ if (this.partial) {
15
+ this.write("\n");
16
+ }
17
+ for (const message of messages) {
18
+ this.write(message + "\n");
19
+ }
20
+ }
21
+ static writeLineIfVerbose(...messages) {
22
+ if (this.verbose) {
23
+ this.writeLine(...messages);
24
+ }
25
+ }
26
+ static warn(message) {
27
+ this.writeLine(`${kleur_1.default.yellow("Compiler Warning:")} ${message}`);
28
+ }
29
+ static fatal(message) {
30
+ this.writeLine(message);
31
+ process.exit(1);
32
+ }
33
+ }
34
+ exports.LogService = LogService;
35
+ LogService.verbose = false;
36
+ LogService.partial = false;
37
+ //# sourceMappingURL=LogService.js.map
@@ -0,0 +1,23 @@
1
+ import { ProjectOptions } from "./types";
2
+ export declare const PACKAGE_ROOT: string;
3
+ export declare const INCLUDE_PATH: string;
4
+ export declare const COMPILER_VERSION: string;
5
+ export declare const NODE_MODULES = "node_modules";
6
+ export declare const RBXTS_SCOPE = "@rbxts";
7
+ export declare const TS_EXT = ".ts";
8
+ export declare const TSX_EXT = ".tsx";
9
+ export declare const D_EXT = ".d";
10
+ export declare const DTS_EXT: string;
11
+ export declare const INDEX_NAME = "index";
12
+ export declare const INIT_NAME = "init";
13
+ export declare const SERVER_SUBEXT = ".server";
14
+ export declare const CLIENT_SUBEXT = ".client";
15
+ export declare const MODULE_SUBEXT = "";
16
+ export declare const FILENAME_WARNINGS: Map<string, string>;
17
+ export declare const PARENT_FIELD = "Parent";
18
+ export declare enum ProjectType {
19
+ Game = "game",
20
+ Model = "model",
21
+ Package = "package"
22
+ }
23
+ export declare const DEFAULT_PROJECT_OPTIONS: ProjectOptions;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_PROJECT_OPTIONS = exports.ProjectType = exports.PARENT_FIELD = exports.FILENAME_WARNINGS = exports.MODULE_SUBEXT = exports.CLIENT_SUBEXT = exports.SERVER_SUBEXT = exports.INIT_NAME = exports.INDEX_NAME = exports.DTS_EXT = exports.D_EXT = exports.TSX_EXT = exports.TS_EXT = exports.RBXTS_SCOPE = exports.NODE_MODULES = exports.COMPILER_VERSION = exports.INCLUDE_PATH = exports.PACKAGE_ROOT = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ exports.PACKAGE_ROOT = path_1.default.join(__dirname, "..", "..");
9
+ exports.INCLUDE_PATH = path_1.default.join(exports.PACKAGE_ROOT, "include");
10
+ exports.COMPILER_VERSION = require("../../package.json").version;
11
+ exports.NODE_MODULES = "node_modules";
12
+ exports.RBXTS_SCOPE = "@rbxts";
13
+ exports.TS_EXT = ".ts";
14
+ exports.TSX_EXT = ".tsx";
15
+ exports.D_EXT = ".d";
16
+ exports.DTS_EXT = exports.D_EXT + exports.TS_EXT;
17
+ exports.INDEX_NAME = "index";
18
+ exports.INIT_NAME = "init";
19
+ exports.SERVER_SUBEXT = ".server";
20
+ exports.CLIENT_SUBEXT = ".client";
21
+ exports.MODULE_SUBEXT = "";
22
+ exports.FILENAME_WARNINGS = new Map();
23
+ for (const scriptType of [exports.SERVER_SUBEXT, exports.CLIENT_SUBEXT, exports.MODULE_SUBEXT]) {
24
+ for (const fileType of [exports.TS_EXT, exports.TSX_EXT, exports.DTS_EXT]) {
25
+ exports.FILENAME_WARNINGS.set(exports.INIT_NAME + scriptType + fileType, exports.INDEX_NAME + scriptType + fileType);
26
+ }
27
+ }
28
+ exports.PARENT_FIELD = "Parent";
29
+ var ProjectType;
30
+ (function (ProjectType) {
31
+ ProjectType["Game"] = "game";
32
+ ProjectType["Model"] = "model";
33
+ ProjectType["Package"] = "package";
34
+ })(ProjectType || (exports.ProjectType = ProjectType = {}));
35
+ exports.DEFAULT_PROJECT_OPTIONS = {
36
+ includePath: "",
37
+ rojo: undefined,
38
+ type: undefined,
39
+ watch: false,
40
+ usePolling: false,
41
+ verbose: false,
42
+ noInclude: false,
43
+ logTruthyChanges: false,
44
+ writeOnlyChanged: false,
45
+ writeTransformedFiles: false,
46
+ optimizedLoops: true,
47
+ allowCommentDirectives: false,
48
+ luau: true,
49
+ };
50
+ //# sourceMappingURL=constants.js.map