@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.
- package/CHANGELOG.md +716 -0
- package/LICENSE +21 -0
- package/README.md +55 -0
- package/include/Promise.lua +2068 -0
- package/include/RuntimeLib.lua +258 -0
- package/out/CLI/cli.d.ts +2 -0
- package/out/CLI/cli.js +41 -0
- package/out/CLI/commands/build.d.ts +7 -0
- package/out/CLI/commands/build.js +438 -0
- package/out/CLI/errors/CLIError.d.ts +4 -0
- package/out/CLI/errors/CLIError.js +12 -0
- package/out/CLI/index.d.ts +3 -0
- package/out/CLI/index.js +22 -0
- package/out/CLI/test.d.ts +1 -0
- package/out/CLI/test.js +82 -0
- package/out/CLI/util/patchFs.d.ts +1 -0
- package/out/CLI/util/patchFs.js +26 -0
- package/out/Project/classes/VirtualFileSystem.d.ts +14 -0
- package/out/Project/classes/VirtualFileSystem.js +102 -0
- package/out/Project/classes/VirtualProject.d.ts +15 -0
- package/out/Project/classes/VirtualProject.js +121 -0
- package/out/Project/functions/buildProject.d.ts +18 -0
- package/out/Project/functions/buildProject.js +48 -0
- package/out/Project/functions/buildProjectReferences.d.ts +3 -0
- package/out/Project/functions/buildProjectReferences.js +78 -0
- package/out/Project/functions/buildSolution.d.ts +10 -0
- package/out/Project/functions/buildSolution.js +97 -0
- package/out/Project/functions/checkFileName.d.ts +1 -0
- package/out/Project/functions/checkFileName.js +18 -0
- package/out/Project/functions/checkRojoConfig.d.ts +4 -0
- package/out/Project/functions/checkRojoConfig.js +26 -0
- package/out/Project/functions/cleanup.d.ts +2 -0
- package/out/Project/functions/cleanup.js +30 -0
- package/out/Project/functions/compileFiles.d.ts +4 -0
- package/out/Project/functions/compileFiles.js +160 -0
- package/out/Project/functions/compileProject.d.ts +14 -0
- package/out/Project/functions/compileProject.js +71 -0
- package/out/Project/functions/copyFiles.d.ts +3 -0
- package/out/Project/functions/copyFiles.js +13 -0
- package/out/Project/functions/copyInclude.d.ts +2 -0
- package/out/Project/functions/copyInclude.js +17 -0
- package/out/Project/functions/copyItem.d.ts +3 -0
- package/out/Project/functions/copyItem.js +27 -0
- package/out/Project/functions/createNodeModulesPathMapping.d.ts +1 -0
- package/out/Project/functions/createNodeModulesPathMapping.js +31 -0
- package/out/Project/functions/createPathTranslator.d.ts +4 -0
- package/out/Project/functions/createPathTranslator.js +22 -0
- package/out/Project/functions/createProgramFactory.d.ts +3 -0
- package/out/Project/functions/createProgramFactory.js +31 -0
- package/out/Project/functions/createProjectData.d.ts +2 -0
- package/out/Project/functions/createProjectData.js +102 -0
- package/out/Project/functions/createProjectProgram.d.ts +3 -0
- package/out/Project/functions/createProjectProgram.js +11 -0
- package/out/Project/functions/getChangedFilePaths.d.ts +2 -0
- package/out/Project/functions/getChangedFilePaths.js +47 -0
- package/out/Project/functions/getChangedSourceFiles.d.ts +2 -0
- package/out/Project/functions/getChangedSourceFiles.js +19 -0
- package/out/Project/functions/getParsedCommandLine.d.ts +3 -0
- package/out/Project/functions/getParsedCommandLine.js +41 -0
- package/out/Project/functions/getProjectReferences.d.ts +2 -0
- package/out/Project/functions/getProjectReferences.js +65 -0
- package/out/Project/functions/getResolvedProjectReferences.d.ts +3 -0
- package/out/Project/functions/getResolvedProjectReferences.js +43 -0
- package/out/Project/functions/setupProjectWatchProgram.d.ts +2 -0
- package/out/Project/functions/setupProjectWatchProgram.js +352 -0
- package/out/Project/functions/setupSolutionWatchProgram.d.ts +2 -0
- package/out/Project/functions/setupSolutionWatchProgram.js +355 -0
- package/out/Project/functions/tryRemoveOutput.d.ts +2 -0
- package/out/Project/functions/tryRemoveOutput.js +30 -0
- package/out/Project/functions/validateCompilerOptions.d.ts +2 -0
- package/out/Project/functions/validateCompilerOptions.js +87 -0
- package/out/Project/index.d.ts +4 -0
- package/out/Project/index.js +20 -0
- package/out/Project/preEmitDiagnostics/fileUsesCommentDirectives.d.ts +3 -0
- package/out/Project/preEmitDiagnostics/fileUsesCommentDirectives.js +28 -0
- package/out/Project/transformers/builtin/transformPaths.d.ts +5 -0
- package/out/Project/transformers/builtin/transformPaths.js +129 -0
- package/out/Project/transformers/builtin/transformTypeReferenceDirectives.d.ts +2 -0
- package/out/Project/transformers/builtin/transformTypeReferenceDirectives.js +23 -0
- package/out/Project/transformers/createTransformerList.d.ts +4 -0
- package/out/Project/transformers/createTransformerList.js +87 -0
- package/out/Project/transformers/createTransformerWatcher.d.ts +3 -0
- package/out/Project/transformers/createTransformerWatcher.js +59 -0
- package/out/Project/transformers/getPluginConfigs.d.ts +2 -0
- package/out/Project/transformers/getPluginConfigs.js +34 -0
- package/out/Project/util/createReadBuildProgramHost.d.ts +5 -0
- package/out/Project/util/createReadBuildProgramHost.js +15 -0
- package/out/Project/util/getCustomPreEmitDiagnostics.d.ts +4 -0
- package/out/Project/util/getCustomPreEmitDiagnostics.js +13 -0
- package/out/Project/util/isCompilableFile.d.ts +1 -0
- package/out/Project/util/isCompilableFile.js +18 -0
- package/out/Project/util/walkDirectorySync.d.ts +1 -0
- package/out/Project/util/walkDirectorySync.js +22 -0
- package/out/Shared/classes/Lazy.d.ts +8 -0
- package/out/Shared/classes/Lazy.js +22 -0
- package/out/Shared/classes/LogService.d.ts +9 -0
- package/out/Shared/classes/LogService.js +37 -0
- package/out/Shared/constants.d.ts +23 -0
- package/out/Shared/constants.js +50 -0
- package/out/Shared/diagnostics.d.ts +79 -0
- package/out/Shared/diagnostics.js +140 -0
- package/out/Shared/errors/DiagnosticError.d.ts +7 -0
- package/out/Shared/errors/DiagnosticError.js +16 -0
- package/out/Shared/errors/LoggableError.d.ts +5 -0
- package/out/Shared/errors/LoggableError.js +14 -0
- package/out/Shared/errors/ProjectError.d.ts +4 -0
- package/out/Shared/errors/ProjectError.js +12 -0
- package/out/Shared/index.d.ts +0 -0
- package/out/Shared/index.js +2 -0
- package/out/Shared/types.d.ts +50 -0
- package/out/Shared/types.js +3 -0
- package/out/Shared/util/assert.d.ts +1 -0
- package/out/Shared/util/assert.js +12 -0
- package/out/Shared/util/benchmark.d.ts +3 -0
- package/out/Shared/util/benchmark.js +32 -0
- package/out/Shared/util/createDiagnosticWithLocation.d.ts +3 -0
- package/out/Shared/util/createDiagnosticWithLocation.js +29 -0
- package/out/Shared/util/createGithubLink.d.ts +1 -0
- package/out/Shared/util/createGithubLink.js +12 -0
- package/out/Shared/util/createTextDiagnostic.d.ts +2 -0
- package/out/Shared/util/createTextDiagnostic.js +18 -0
- package/out/Shared/util/findAncestorDir.d.ts +1 -0
- package/out/Shared/util/findAncestorDir.js +16 -0
- package/out/Shared/util/findLastIndex.d.ts +1 -0
- package/out/Shared/util/findLastIndex.js +12 -0
- package/out/Shared/util/formatDiagnostics.d.ts +2 -0
- package/out/Shared/util/formatDiagnostics.js +19 -0
- package/out/Shared/util/getCanonicalFileName.d.ts +2 -0
- package/out/Shared/util/getCanonicalFileName.js +10 -0
- package/out/Shared/util/getOrSetDefault.d.ts +1 -0
- package/out/Shared/util/getOrSetDefault.js +12 -0
- package/out/Shared/util/getRootDirs.d.ts +2 -0
- package/out/Shared/util/getRootDirs.js +10 -0
- package/out/Shared/util/hasErrors.d.ts +2 -0
- package/out/Shared/util/hasErrors.js +11 -0
- package/out/Shared/util/isPathDescendantOf.d.ts +1 -0
- package/out/Shared/util/isPathDescendantOf.js +11 -0
- package/out/Shared/util/realPathExistsSync.d.ts +1 -0
- package/out/Shared/util/realPathExistsSync.js +13 -0
- package/out/Shared/warn.d.ts +1 -0
- package/out/Shared/warn.js +12 -0
- package/out/TSTransformer/classes/DiagnosticService.d.ts +11 -0
- package/out/TSTransformer/classes/DiagnosticService.js +37 -0
- package/out/TSTransformer/classes/MacroManager.d.ts +46 -0
- package/out/TSTransformer/classes/MacroManager.js +178 -0
- package/out/TSTransformer/classes/MultiTransformState.d.ts +9 -0
- package/out/TSTransformer/classes/MultiTransformState.js +15 -0
- package/out/TSTransformer/classes/TransformState.d.ts +73 -0
- package/out/TSTransformer/classes/TransformState.js +307 -0
- package/out/TSTransformer/index.d.ts +4 -0
- package/out/TSTransformer/index.js +23 -0
- package/out/TSTransformer/macros/callMacros.d.ts +2 -0
- package/out/TSTransformer/macros/callMacros.js +56 -0
- package/out/TSTransformer/macros/constructorMacros.d.ts +2 -0
- package/out/TSTransformer/macros/constructorMacros.js +97 -0
- package/out/TSTransformer/macros/identifierMacros.d.ts +2 -0
- package/out/TSTransformer/macros/identifierMacros.js +7 -0
- package/out/TSTransformer/macros/propertyCallMacros.d.ts +4 -0
- package/out/TSTransformer/macros/propertyCallMacros.js +726 -0
- package/out/TSTransformer/macros/types.d.ts +12 -0
- package/out/TSTransformer/macros/types.js +3 -0
- package/out/TSTransformer/nodes/binding/transformArrayAssignmentPattern.d.ts +4 -0
- package/out/TSTransformer/nodes/binding/transformArrayAssignmentPattern.js +78 -0
- package/out/TSTransformer/nodes/binding/transformArrayBindingPattern.d.ts +4 -0
- package/out/TSTransformer/nodes/binding/transformArrayBindingPattern.js +52 -0
- package/out/TSTransformer/nodes/binding/transformBindingName.d.ts +4 -0
- package/out/TSTransformer/nodes/binding/transformBindingName.js +30 -0
- package/out/TSTransformer/nodes/binding/transformObjectAssignmentPattern.d.ts +4 -0
- package/out/TSTransformer/nodes/binding/transformObjectAssignmentPattern.js +97 -0
- package/out/TSTransformer/nodes/binding/transformObjectBindingPattern.d.ts +4 -0
- package/out/TSTransformer/nodes/binding/transformObjectBindingPattern.js +57 -0
- package/out/TSTransformer/nodes/class/transformClassConstructor.d.ts +7 -0
- package/out/TSTransformer/nodes/class/transformClassConstructor.js +96 -0
- package/out/TSTransformer/nodes/class/transformClassLikeDeclaration.d.ts +7 -0
- package/out/TSTransformer/nodes/class/transformClassLikeDeclaration.js +262 -0
- package/out/TSTransformer/nodes/class/transformDecorators.d.ts +4 -0
- package/out/TSTransformer/nodes/class/transformDecorators.js +179 -0
- package/out/TSTransformer/nodes/class/transformPropertyDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/class/transformPropertyDeclaration.js +33 -0
- package/out/TSTransformer/nodes/expressions/transformArrayLiteralExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformArrayLiteralExpression.js +79 -0
- package/out/TSTransformer/nodes/expressions/transformAwaitExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformAwaitExpression.js +13 -0
- package/out/TSTransformer/nodes/expressions/transformBinaryExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformBinaryExpression.js +199 -0
- package/out/TSTransformer/nodes/expressions/transformBooleanLiteral.d.ts +3 -0
- package/out/TSTransformer/nodes/expressions/transformBooleanLiteral.js +15 -0
- package/out/TSTransformer/nodes/expressions/transformCallExpression.d.ts +7 -0
- package/out/TSTransformer/nodes/expressions/transformCallExpression.js +191 -0
- package/out/TSTransformer/nodes/expressions/transformClassExpression.d.ts +3 -0
- package/out/TSTransformer/nodes/expressions/transformClassExpression.js +10 -0
- package/out/TSTransformer/nodes/expressions/transformConditionalExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformConditionalExpression.js +55 -0
- package/out/TSTransformer/nodes/expressions/transformDeleteExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformDeleteExpression.js +14 -0
- package/out/TSTransformer/nodes/expressions/transformElementAccessExpression.d.ts +5 -0
- package/out/TSTransformer/nodes/expressions/transformElementAccessExpression.js +62 -0
- package/out/TSTransformer/nodes/expressions/transformExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformExpression.js +107 -0
- package/out/TSTransformer/nodes/expressions/transformFunctionExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformFunctionExpression.js +46 -0
- package/out/TSTransformer/nodes/expressions/transformIdentifier.d.ts +5 -0
- package/out/TSTransformer/nodes/expressions/transformIdentifier.js +147 -0
- package/out/TSTransformer/nodes/expressions/transformImportExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformImportExpression.js +30 -0
- package/out/TSTransformer/nodes/expressions/transformJsxElement.d.ts +3 -0
- package/out/TSTransformer/nodes/expressions/transformJsxElement.js +8 -0
- package/out/TSTransformer/nodes/expressions/transformJsxExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformJsxExpression.js +19 -0
- package/out/TSTransformer/nodes/expressions/transformJsxFragment.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformJsxFragment.js +28 -0
- package/out/TSTransformer/nodes/expressions/transformJsxSelfClosingElement.d.ts +3 -0
- package/out/TSTransformer/nodes/expressions/transformJsxSelfClosingElement.js +8 -0
- package/out/TSTransformer/nodes/expressions/transformNewExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformNewExpression.js +26 -0
- package/out/TSTransformer/nodes/expressions/transformNoSubstitutionTemplateLiteral.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformNoSubstitutionTemplateLiteral.js +14 -0
- package/out/TSTransformer/nodes/expressions/transformNumericLiteral.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformNumericLiteral.js +13 -0
- package/out/TSTransformer/nodes/expressions/transformObjectLiteralExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformObjectLiteralExpression.js +98 -0
- package/out/TSTransformer/nodes/expressions/transformOmittedExpression.d.ts +2 -0
- package/out/TSTransformer/nodes/expressions/transformOmittedExpression.js +11 -0
- package/out/TSTransformer/nodes/expressions/transformParenthesizedExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformParenthesizedExpression.js +19 -0
- package/out/TSTransformer/nodes/expressions/transformPropertyAccessExpression.d.ts +5 -0
- package/out/TSTransformer/nodes/expressions/transformPropertyAccessExpression.js +36 -0
- package/out/TSTransformer/nodes/expressions/transformSpreadElement.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformSpreadElement.js +35 -0
- package/out/TSTransformer/nodes/expressions/transformStringLiteral.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformStringLiteral.js +12 -0
- package/out/TSTransformer/nodes/expressions/transformSuperKeyword.d.ts +2 -0
- package/out/TSTransformer/nodes/expressions/transformSuperKeyword.js +11 -0
- package/out/TSTransformer/nodes/expressions/transformTaggedTemplateExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformTaggedTemplateExpression.js +27 -0
- package/out/TSTransformer/nodes/expressions/transformTemplateExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformTemplateExpression.js +25 -0
- package/out/TSTransformer/nodes/expressions/transformThisExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformThisExpression.js +29 -0
- package/out/TSTransformer/nodes/expressions/transformTypeExpression.d.ts +3 -0
- package/out/TSTransformer/nodes/expressions/transformTypeExpression.js +8 -0
- package/out/TSTransformer/nodes/expressions/transformUnaryExpression.d.ts +5 -0
- package/out/TSTransformer/nodes/expressions/transformUnaryExpression.js +68 -0
- package/out/TSTransformer/nodes/expressions/transformVoidExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformVoidExpression.js +14 -0
- package/out/TSTransformer/nodes/expressions/transformYieldExpression.d.ts +4 -0
- package/out/TSTransformer/nodes/expressions/transformYieldExpression.js +46 -0
- package/out/TSTransformer/nodes/jsx/transformJsx.d.ts +4 -0
- package/out/TSTransformer/nodes/jsx/transformJsx.js +36 -0
- package/out/TSTransformer/nodes/jsx/transformJsxAttributes.d.ts +4 -0
- package/out/TSTransformer/nodes/jsx/transformJsxAttributes.js +83 -0
- package/out/TSTransformer/nodes/jsx/transformJsxChildren.d.ts +4 -0
- package/out/TSTransformer/nodes/jsx/transformJsxChildren.js +34 -0
- package/out/TSTransformer/nodes/jsx/transformJsxTagName.d.ts +4 -0
- package/out/TSTransformer/nodes/jsx/transformJsxTagName.js +42 -0
- package/out/TSTransformer/nodes/statements/transformBlock.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformBlock.js +14 -0
- package/out/TSTransformer/nodes/statements/transformBreakStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformBreakStatement.js +24 -0
- package/out/TSTransformer/nodes/statements/transformClassDeclaration.d.ts +3 -0
- package/out/TSTransformer/nodes/statements/transformClassDeclaration.js +8 -0
- package/out/TSTransformer/nodes/statements/transformContinueStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformContinueStatement.js +24 -0
- package/out/TSTransformer/nodes/statements/transformDoStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformDoStatement.js +31 -0
- package/out/TSTransformer/nodes/statements/transformEnumDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformEnumDeclaration.js +97 -0
- package/out/TSTransformer/nodes/statements/transformExportAssignment.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformExportAssignment.js +53 -0
- package/out/TSTransformer/nodes/statements/transformExportDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformExportDeclaration.js +109 -0
- package/out/TSTransformer/nodes/statements/transformExpressionStatement.d.ts +5 -0
- package/out/TSTransformer/nodes/statements/transformExpressionStatement.js +62 -0
- package/out/TSTransformer/nodes/statements/transformForOfStatement.d.ts +5 -0
- package/out/TSTransformer/nodes/statements/transformForOfStatement.js +375 -0
- package/out/TSTransformer/nodes/statements/transformForStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformForStatement.js +371 -0
- package/out/TSTransformer/nodes/statements/transformFunctionDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformFunctionDeclaration.js +68 -0
- package/out/TSTransformer/nodes/statements/transformIfStatement.d.ts +5 -0
- package/out/TSTransformer/nodes/statements/transformIfStatement.js +46 -0
- package/out/TSTransformer/nodes/statements/transformImportDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformImportDeclaration.js +98 -0
- package/out/TSTransformer/nodes/statements/transformImportEqualsDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformImportEqualsDeclaration.js +36 -0
- package/out/TSTransformer/nodes/statements/transformModuleDeclaration.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformModuleDeclaration.js +122 -0
- package/out/TSTransformer/nodes/statements/transformReturnStatement.d.ts +5 -0
- package/out/TSTransformer/nodes/statements/transformReturnStatement.js +74 -0
- package/out/TSTransformer/nodes/statements/transformStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformStatement.js +83 -0
- package/out/TSTransformer/nodes/statements/transformSwitchStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformSwitchStatement.js +105 -0
- package/out/TSTransformer/nodes/statements/transformThrowStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformThrowStatement.js +18 -0
- package/out/TSTransformer/nodes/statements/transformTryStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformTryStatement.js +148 -0
- package/out/TSTransformer/nodes/statements/transformVariableStatement.d.ts +8 -0
- package/out/TSTransformer/nodes/statements/transformVariableStatement.js +155 -0
- package/out/TSTransformer/nodes/statements/transformWhileStatement.d.ts +4 -0
- package/out/TSTransformer/nodes/statements/transformWhileStatement.js +30 -0
- package/out/TSTransformer/nodes/transformEntityName.d.ts +4 -0
- package/out/TSTransformer/nodes/transformEntityName.js +24 -0
- package/out/TSTransformer/nodes/transformInitializer.d.ts +4 -0
- package/out/TSTransformer/nodes/transformInitializer.js +22 -0
- package/out/TSTransformer/nodes/transformInterpolatedStringPart.d.ts +3 -0
- package/out/TSTransformer/nodes/transformInterpolatedStringPart.js +12 -0
- package/out/TSTransformer/nodes/transformLogical.d.ts +4 -0
- package/out/TSTransformer/nodes/transformLogical.js +103 -0
- package/out/TSTransformer/nodes/transformLogicalOrCoalescingAssignmentExpression.d.ts +5 -0
- package/out/TSTransformer/nodes/transformLogicalOrCoalescingAssignmentExpression.js +91 -0
- package/out/TSTransformer/nodes/transformMethodDeclaration.d.ts +5 -0
- package/out/TSTransformer/nodes/transformMethodDeclaration.js +82 -0
- package/out/TSTransformer/nodes/transformOptionalChain.d.ts +46 -0
- package/out/TSTransformer/nodes/transformOptionalChain.js +257 -0
- package/out/TSTransformer/nodes/transformParameters.d.ts +8 -0
- package/out/TSTransformer/nodes/transformParameters.js +104 -0
- package/out/TSTransformer/nodes/transformPropertyName.d.ts +4 -0
- package/out/TSTransformer/nodes/transformPropertyName.js +18 -0
- package/out/TSTransformer/nodes/transformSourceFile.d.ts +4 -0
- package/out/TSTransformer/nodes/transformSourceFile.js +171 -0
- package/out/TSTransformer/nodes/transformStatementList.d.ts +7 -0
- package/out/TSTransformer/nodes/transformStatementList.js +63 -0
- package/out/TSTransformer/nodes/transformWritable.d.ts +9 -0
- package/out/TSTransformer/nodes/transformWritable.js +49 -0
- package/out/TSTransformer/typeGuards.d.ts +5 -0
- package/out/TSTransformer/typeGuards.js +27 -0
- package/out/TSTransformer/types.d.ts +9 -0
- package/out/TSTransformer/types.js +3 -0
- package/out/TSTransformer/util/addIndexDiagnostics.d.ts +3 -0
- package/out/TSTransformer/util/addIndexDiagnostics.js +24 -0
- package/out/TSTransformer/util/addOneIfArrayType.d.ts +4 -0
- package/out/TSTransformer/util/addOneIfArrayType.js +14 -0
- package/out/TSTransformer/util/arrayBindingPatternContainsHoists.d.ts +3 -0
- package/out/TSTransformer/util/arrayBindingPatternContainsHoists.js +23 -0
- package/out/TSTransformer/util/arrayLikeExpressionContainsSpread.d.ts +2 -0
- package/out/TSTransformer/util/arrayLikeExpressionContainsSpread.js +17 -0
- package/out/TSTransformer/util/assertNever.d.ts +1 -0
- package/out/TSTransformer/util/assertNever.js +36 -0
- package/out/TSTransformer/util/assignment.d.ts +7 -0
- package/out/TSTransformer/util/assignment.js +48 -0
- package/out/TSTransformer/util/binding/getAccessorForBindingType.d.ts +6 -0
- package/out/TSTransformer/util/binding/getAccessorForBindingType.js +141 -0
- package/out/TSTransformer/util/binding/getTargetIdForBindingPattern.d.ts +4 -0
- package/out/TSTransformer/util/binding/getTargetIdForBindingPattern.js +15 -0
- package/out/TSTransformer/util/binding/objectAccessor.d.ts +4 -0
- package/out/TSTransformer/util/binding/objectAccessor.js +39 -0
- package/out/TSTransformer/util/bitwise.d.ts +6 -0
- package/out/TSTransformer/util/bitwise.js +67 -0
- package/out/TSTransformer/util/checkVariableHoist.d.ts +3 -0
- package/out/TSTransformer/util/checkVariableHoist.js +33 -0
- package/out/TSTransformer/util/cleanModuleName.d.ts +1 -0
- package/out/TSTransformer/util/cleanModuleName.js +7 -0
- package/out/TSTransformer/util/convertToIndexableExpression.d.ts +3 -0
- package/out/TSTransformer/util/convertToIndexableExpression.js +14 -0
- package/out/TSTransformer/util/createBinaryFromOperator.d.ts +4 -0
- package/out/TSTransformer/util/createBinaryFromOperator.js +54 -0
- package/out/TSTransformer/util/createGetService.d.ts +2 -0
- package/out/TSTransformer/util/createGetService.js +15 -0
- package/out/TSTransformer/util/createHoistDeclaration.d.ts +4 -0
- package/out/TSTransformer/util/createHoistDeclaration.js +20 -0
- package/out/TSTransformer/util/createImportExpression.d.ts +5 -0
- package/out/TSTransformer/util/createImportExpression.js +181 -0
- package/out/TSTransformer/util/createStringFromLiteral.d.ts +2 -0
- package/out/TSTransformer/util/createStringFromLiteral.js +27 -0
- package/out/TSTransformer/util/createTransformServices.d.ts +3 -0
- package/out/TSTransformer/util/createTransformServices.js +9 -0
- package/out/TSTransformer/util/createTruthinessChecks.d.ts +5 -0
- package/out/TSTransformer/util/createTruthinessChecks.js +50 -0
- package/out/TSTransformer/util/createTypeCheck.d.ts +2 -0
- package/out/TSTransformer/util/createTypeCheck.js +11 -0
- package/out/TSTransformer/util/ensureTransformOrder.d.ts +5 -0
- package/out/TSTransformer/util/ensureTransformOrder.js +39 -0
- package/out/TSTransformer/util/expressionChain.d.ts +3 -0
- package/out/TSTransformer/util/expressionChain.js +16 -0
- package/out/TSTransformer/util/expressionMightMutate.d.ts +4 -0
- package/out/TSTransformer/util/expressionMightMutate.js +57 -0
- package/out/TSTransformer/util/findConstructor.d.ts +4 -0
- package/out/TSTransformer/util/findConstructor.js +11 -0
- package/out/TSTransformer/util/fixupWhitespaceAndDecodeEntities.d.ts +1 -0
- package/out/TSTransformer/util/fixupWhitespaceAndDecodeEntities.js +306 -0
- package/out/TSTransformer/util/getAddIterableToArrayBuilder.d.ts +6 -0
- package/out/TSTransformer/util/getAddIterableToArrayBuilder.js +253 -0
- package/out/TSTransformer/util/getAssignableValue.d.ts +3 -0
- package/out/TSTransformer/util/getAssignableValue.js +15 -0
- package/out/TSTransformer/util/getConstantValueLiteral.d.ts +4 -0
- package/out/TSTransformer/util/getConstantValueLiteral.js +19 -0
- package/out/TSTransformer/util/getDeclaredVariables.d.ts +2 -0
- package/out/TSTransformer/util/getDeclaredVariables.js +37 -0
- package/out/TSTransformer/util/getExtendsNode.d.ts +2 -0
- package/out/TSTransformer/util/getExtendsNode.js +16 -0
- package/out/TSTransformer/util/getFlags.d.ts +1 -0
- package/out/TSTransformer/util/getFlags.js +13 -0
- package/out/TSTransformer/util/getKindName.d.ts +2 -0
- package/out/TSTransformer/util/getKindName.js +61 -0
- package/out/TSTransformer/util/getOriginalSymbolOfNode.d.ts +2 -0
- package/out/TSTransformer/util/getOriginalSymbolOfNode.js +15 -0
- package/out/TSTransformer/util/getSourceFileFromModuleSpecifier.d.ts +3 -0
- package/out/TSTransformer/util/getSourceFileFromModuleSpecifier.js +33 -0
- package/out/TSTransformer/util/getStatements.d.ts +2 -0
- package/out/TSTransformer/util/getStatements.js +11 -0
- package/out/TSTransformer/util/hasMultipleDefinitions.d.ts +2 -0
- package/out/TSTransformer/util/hasMultipleDefinitions.js +17 -0
- package/out/TSTransformer/util/isBlockedByTryStatement.d.ts +3 -0
- package/out/TSTransformer/util/isBlockedByTryStatement.js +17 -0
- package/out/TSTransformer/util/isMethod.d.ts +4 -0
- package/out/TSTransformer/util/isMethod.js +90 -0
- package/out/TSTransformer/util/isSymbolMutable.d.ts +3 -0
- package/out/TSTransformer/util/isSymbolMutable.js +24 -0
- package/out/TSTransformer/util/isSymbolOfValue.d.ts +2 -0
- package/out/TSTransformer/util/isSymbolOfValue.js +11 -0
- package/out/TSTransformer/util/isUsedAsStatement.d.ts +2 -0
- package/out/TSTransformer/util/isUsedAsStatement.js +23 -0
- package/out/TSTransformer/util/isValidMethodIndexWithoutCall.d.ts +3 -0
- package/out/TSTransformer/util/isValidMethodIndexWithoutCall.js +31 -0
- package/out/TSTransformer/util/offset.d.ts +2 -0
- package/out/TSTransformer/util/offset.js +44 -0
- package/out/TSTransformer/util/pointer.d.ts +13 -0
- package/out/TSTransformer/util/pointer.js +46 -0
- package/out/TSTransformer/util/spreadDestructuring/index.d.ts +9 -0
- package/out/TSTransformer/util/spreadDestructuring/index.js +45 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureArray.d.ts +3 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureArray.js +17 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureGenerator.d.ts +3 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureGenerator.js +33 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureMap.d.ts +3 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureMap.js +34 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureObject.d.ts +3 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureObject.js +41 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureSet.d.ts +3 -0
- package/out/TSTransformer/util/spreadDestructuring/spreadDestructureSet.js +28 -0
- package/out/TSTransformer/util/traversal.d.ts +7 -0
- package/out/TSTransformer/util/traversal.js +57 -0
- package/out/TSTransformer/util/types.d.ts +31 -0
- package/out/TSTransformer/util/types.js +259 -0
- package/out/TSTransformer/util/validateIdentifier.d.ts +3 -0
- package/out/TSTransformer/util/validateIdentifier.js +18 -0
- package/out/TSTransformer/util/validateMethodAssignment.d.ts +3 -0
- package/out/TSTransformer/util/validateMethodAssignment.js +81 -0
- package/out/TSTransformer/util/validateNotAny.d.ts +3 -0
- package/out/TSTransformer/util/validateNotAny.js +37 -0
- package/out/TSTransformer/util/valueToIdStr.d.ts +2 -0
- package/out/TSTransformer/util/valueToIdStr.js +29 -0
- package/out/TSTransformer/util/wrapExpressionStatement.d.ts +2 -0
- package/out/TSTransformer/util/wrapExpressionStatement.js +22 -0
- package/out/TSTransformer/util/wrapReturnIfLuaTuple.d.ts +4 -0
- package/out/TSTransformer/util/wrapReturnIfLuaTuple.js +56 -0
- package/out/TSTransformer/util/wrapStatementsAsGenerator.d.ts +4 -0
- package/out/TSTransformer/util/wrapStatementsAsGenerator.js +19 -0
- 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,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,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,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,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,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
|