ttsc 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/cmd/platform/main.go +1 -1
  2. package/cmd/ttsc/api_compile.go +134 -0
  3. package/cmd/ttsc/api_transform.go +64 -0
  4. package/cmd/ttsc/build.go +1 -7
  5. package/cmd/ttsc/main.go +6 -20
  6. package/driver/program.go +13 -3
  7. package/lib/TtscCompiler.d.ts +96 -0
  8. package/lib/TtscCompiler.js +294 -0
  9. package/lib/TtscCompiler.js.map +1 -0
  10. package/lib/compiler/internal/buildNativeCompiler.d.ts +6 -0
  11. package/lib/compiler/internal/buildNativeCompiler.js +72 -0
  12. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -0
  13. package/lib/compiler/internal/compileProjectInMemory.d.ts +7 -0
  14. package/lib/compiler/internal/compileProjectInMemory.js +176 -0
  15. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -0
  16. package/lib/compiler/internal/project/readProjectConfig.d.ts +4 -0
  17. package/lib/{project.js → compiler/internal/project/readProjectConfig.js} +12 -82
  18. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -0
  19. package/lib/compiler/internal/project/resolveProjectConfig.d.ts +3 -0
  20. package/lib/compiler/internal/project/resolveProjectConfig.js +94 -0
  21. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -0
  22. package/lib/compiler/internal/resolveBinary.d.ts +4 -0
  23. package/lib/compiler/internal/resolveBinary.js +65 -0
  24. package/lib/compiler/internal/resolveBinary.js.map +1 -0
  25. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +7 -0
  26. package/lib/compiler/internal/resolveEmittedJavaScript.js +118 -0
  27. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -0
  28. package/lib/compiler/internal/resolveTsgo.d.ts +20 -0
  29. package/lib/{tsgo.js → compiler/internal/resolveTsgo.js} +5 -10
  30. package/lib/compiler/internal/resolveTsgo.js.map +1 -0
  31. package/lib/compiler/internal/runBuild.d.ts +10 -0
  32. package/lib/compiler/internal/runBuild.js +480 -0
  33. package/lib/compiler/internal/runBuild.js.map +1 -0
  34. package/lib/compiler/internal/runSingleFileEmit.d.ts +3 -0
  35. package/lib/compiler/internal/runSingleFileEmit.js +102 -0
  36. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -0
  37. package/lib/compiler/internal/transformProjectInMemory.d.ts +7 -0
  38. package/lib/compiler/internal/transformProjectInMemory.js +275 -0
  39. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -0
  40. package/lib/index.d.ts +6 -15
  41. package/lib/index.js +6 -15
  42. package/lib/index.js.map +1 -1
  43. package/lib/launcher/internal/getCompilerVersionText.d.ts +3 -0
  44. package/lib/launcher/internal/getCompilerVersionText.js +71 -0
  45. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -0
  46. package/lib/launcher/internal/prepareExecution.d.ts +10 -0
  47. package/lib/launcher/internal/prepareExecution.js +120 -0
  48. package/lib/launcher/internal/prepareExecution.js.map +1 -0
  49. package/lib/launcher/internal/runTtsc.d.ts +1 -0
  50. package/lib/{cli.js → launcher/internal/runTtsc.js} +45 -118
  51. package/lib/launcher/internal/runTtsc.js.map +1 -0
  52. package/lib/launcher/internal/runTtsx.d.ts +1 -0
  53. package/lib/{runner/cli.js → launcher/internal/runTtsx.js} +13 -35
  54. package/lib/launcher/internal/runTtsx.js.map +1 -0
  55. package/lib/launcher/ttsc.js +2 -2
  56. package/lib/launcher/ttsc.js.map +1 -1
  57. package/lib/launcher/ttsx.js +2 -2
  58. package/lib/launcher/ttsx.js.map +1 -1
  59. package/lib/plugin/internal/buildSourcePlugin.d.ts +12 -0
  60. package/lib/{source-build.js → plugin/internal/buildSourcePlugin.js} +77 -84
  61. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -0
  62. package/lib/plugin/internal/loadProjectPlugins.d.ts +14 -0
  63. package/lib/{plugin.js → plugin/internal/loadProjectPlugins.js} +38 -76
  64. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -0
  65. package/lib/structures/ITtscCompilerContext.d.ts +78 -0
  66. package/lib/structures/ITtscCompilerContext.js +3 -0
  67. package/lib/structures/ITtscCompilerContext.js.map +1 -0
  68. package/lib/structures/ITtscCompilerDiagnostic.d.ts +83 -0
  69. package/lib/structures/ITtscCompilerDiagnostic.js +3 -0
  70. package/lib/structures/ITtscCompilerDiagnostic.js.map +1 -0
  71. package/lib/structures/ITtscCompilerResult.d.ts +83 -0
  72. package/lib/structures/{ITtscCacheKeyInput.js → ITtscCompilerResult.js} +1 -1
  73. package/lib/structures/ITtscCompilerResult.js.map +1 -0
  74. package/lib/structures/ITtscCompilerTransformation.d.ts +35 -0
  75. package/lib/structures/ITtscCompilerTransformation.js +3 -0
  76. package/lib/structures/ITtscCompilerTransformation.js.map +1 -0
  77. package/lib/structures/ITtscPlugin.d.ts +52 -7
  78. package/lib/structures/ITtscPluginFactoryContext.d.ts +47 -0
  79. package/lib/structures/ITtscProjectPluginConfig.d.ts +41 -0
  80. package/lib/structures/TtscPluginStage.d.ts +18 -0
  81. package/lib/structures/{ITtscBuildResult.js → TtscPluginStage.js} +1 -1
  82. package/lib/structures/TtscPluginStage.js.map +1 -0
  83. package/lib/structures/index.d.ts +8 -0
  84. package/lib/structures/index.js +25 -0
  85. package/lib/structures/index.js.map +1 -0
  86. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +13 -0
  87. package/lib/structures/internal/ITtscLoadedNativePlugin.js.map +1 -0
  88. package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +15 -0
  89. package/lib/structures/internal/ITtscParsedProjectConfig.js.map +1 -0
  90. package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +9 -0
  91. package/lib/structures/internal/ITtscProjectLocatorOptions.js.map +1 -0
  92. package/lib/structures/internal/TtscBuildOptions.d.ts +18 -0
  93. package/lib/structures/{ITtscBuildOptions.js → internal/TtscBuildOptions.js} +1 -1
  94. package/lib/structures/internal/TtscBuildOptions.js.map +1 -0
  95. package/lib/structures/internal/TtscBuildResult.d.ts +14 -0
  96. package/lib/structures/{ITtscCheckOptions.js → internal/TtscBuildResult.js} +1 -1
  97. package/lib/structures/internal/TtscBuildResult.js.map +1 -0
  98. package/lib/structures/internal/TtscCommonOptions.d.ts +27 -0
  99. package/lib/structures/{ITtscNativeSource.js → internal/TtscCommonOptions.js} +1 -1
  100. package/lib/structures/internal/TtscCommonOptions.js.map +1 -0
  101. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +14 -0
  102. package/lib/structures/internal/TtscSingleFileEmitOptions.js +3 -0
  103. package/lib/structures/internal/TtscSingleFileEmitOptions.js.map +1 -0
  104. package/package.json +9 -9
  105. package/src/TtscCompiler.ts +305 -0
  106. package/src/compiler/internal/buildNativeCompiler.ts +43 -0
  107. package/src/compiler/internal/compileProjectInMemory.ts +189 -0
  108. package/src/{project.ts → compiler/internal/project/readProjectConfig.ts} +36 -111
  109. package/src/compiler/internal/project/resolveProjectConfig.ts +67 -0
  110. package/src/compiler/internal/resolveBinary.ts +41 -0
  111. package/src/compiler/internal/resolveEmittedJavaScript.ts +102 -0
  112. package/src/{tsgo.ts → compiler/internal/resolveTsgo.ts} +20 -23
  113. package/src/compiler/internal/runBuild.ts +644 -0
  114. package/src/compiler/internal/runSingleFileEmit.ts +73 -0
  115. package/src/compiler/internal/transformProjectInMemory.ts +368 -0
  116. package/src/index.ts +6 -15
  117. package/src/launcher/internal/getCompilerVersionText.ts +44 -0
  118. package/src/launcher/internal/prepareExecution.ts +115 -0
  119. package/src/{cli.ts → launcher/internal/runTtsc.ts} +58 -140
  120. package/src/{runner/cli.ts → launcher/internal/runTtsx.ts} +21 -49
  121. package/src/launcher/ttsc.ts +2 -2
  122. package/src/launcher/ttsx.ts +2 -2
  123. package/src/{source-build.ts → plugin/internal/buildSourcePlugin.ts} +121 -115
  124. package/src/plugin/internal/loadProjectPlugins.ts +214 -0
  125. package/src/structures/ITtscCompilerContext.ts +84 -0
  126. package/src/structures/ITtscCompilerDiagnostic.ts +91 -0
  127. package/src/structures/ITtscCompilerResult.ts +94 -0
  128. package/src/structures/ITtscCompilerTransformation.ts +46 -0
  129. package/src/structures/ITtscPlugin.ts +54 -7
  130. package/src/structures/ITtscPluginFactoryContext.ts +51 -0
  131. package/src/structures/ITtscProjectPluginConfig.ts +43 -0
  132. package/src/structures/TtscPluginStage.ts +18 -0
  133. package/src/structures/index.ts +8 -0
  134. package/src/structures/internal/ITtscLoadedNativePlugin.ts +14 -0
  135. package/src/structures/internal/ITtscParsedProjectConfig.ts +16 -0
  136. package/src/structures/internal/ITtscProjectLocatorOptions.ts +9 -0
  137. package/src/structures/internal/TtscBuildOptions.ts +19 -0
  138. package/src/structures/internal/TtscBuildResult.ts +15 -0
  139. package/src/structures/internal/TtscCommonOptions.ts +28 -0
  140. package/src/structures/internal/TtscSingleFileEmitOptions.ts +15 -0
  141. package/test/compiler.test.ts +422 -0
  142. package/test/platform.test.ts +1 -45
  143. package/test/project.test.ts +3 -1
  144. package/test/source-build.test.ts +33 -220
  145. package/test/tsgo.test.ts +1 -8
  146. package/cmd/ttsc/transform.go +0 -166
  147. package/lib/api.d.ts +0 -40
  148. package/lib/api.js +0 -680
  149. package/lib/api.js.map +0 -1
  150. package/lib/cli.d.ts +0 -1
  151. package/lib/cli.js.map +0 -1
  152. package/lib/native.d.ts +0 -8
  153. package/lib/native.js +0 -42
  154. package/lib/native.js.map +0 -1
  155. package/lib/platform.d.ts +0 -52
  156. package/lib/platform.js +0 -175
  157. package/lib/platform.js.map +0 -1
  158. package/lib/plugin.d.ts +0 -13
  159. package/lib/plugin.js.map +0 -1
  160. package/lib/project.d.ts +0 -14
  161. package/lib/project.js.map +0 -1
  162. package/lib/runner/cli.d.ts +0 -1
  163. package/lib/runner/cli.js.map +0 -1
  164. package/lib/runner/register.d.ts +0 -6
  165. package/lib/runner/register.js +0 -358
  166. package/lib/runner/register.js.map +0 -1
  167. package/lib/source-build.d.ts +0 -19
  168. package/lib/source-build.js.map +0 -1
  169. package/lib/structures/ITtscBuildOptions.d.ts +0 -14
  170. package/lib/structures/ITtscBuildOptions.js.map +0 -1
  171. package/lib/structures/ITtscBuildResult.d.ts +0 -6
  172. package/lib/structures/ITtscBuildResult.js.map +0 -1
  173. package/lib/structures/ITtscBuildSourcePluginOptions.d.ts +0 -8
  174. package/lib/structures/ITtscBuildSourcePluginOptions.js +0 -3
  175. package/lib/structures/ITtscBuildSourcePluginOptions.js.map +0 -1
  176. package/lib/structures/ITtscCacheKeyInput.d.ts +0 -7
  177. package/lib/structures/ITtscCacheKeyInput.js.map +0 -1
  178. package/lib/structures/ITtscCheckOptions.d.ts +0 -2
  179. package/lib/structures/ITtscCheckOptions.js.map +0 -1
  180. package/lib/structures/ITtscCommonOptions.d.ts +0 -22
  181. package/lib/structures/ITtscCommonOptions.js +0 -3
  182. package/lib/structures/ITtscCommonOptions.js.map +0 -1
  183. package/lib/structures/ITtscLoadPluginsOptions.d.ts +0 -8
  184. package/lib/structures/ITtscLoadPluginsOptions.js +0 -3
  185. package/lib/structures/ITtscLoadPluginsOptions.js.map +0 -1
  186. package/lib/structures/ITtscLoadedNativePlugin.d.ts +0 -7
  187. package/lib/structures/ITtscLoadedNativePlugin.js.map +0 -1
  188. package/lib/structures/ITtscLoadedPlugins.d.ts +0 -11
  189. package/lib/structures/ITtscLoadedPlugins.js +0 -3
  190. package/lib/structures/ITtscLoadedPlugins.js.map +0 -1
  191. package/lib/structures/ITtscNativeBackend.d.ts +0 -10
  192. package/lib/structures/ITtscNativeBackend.js +0 -3
  193. package/lib/structures/ITtscNativeBackend.js.map +0 -1
  194. package/lib/structures/ITtscNativePluginContractVersion.d.ts +0 -1
  195. package/lib/structures/ITtscNativePluginContractVersion.js +0 -3
  196. package/lib/structures/ITtscNativePluginContractVersion.js.map +0 -1
  197. package/lib/structures/ITtscNativePluginShape.d.ts +0 -8
  198. package/lib/structures/ITtscNativePluginShape.js +0 -3
  199. package/lib/structures/ITtscNativePluginShape.js.map +0 -1
  200. package/lib/structures/ITtscNativeRewriteMode.d.ts +0 -1
  201. package/lib/structures/ITtscNativeRewriteMode.js +0 -3
  202. package/lib/structures/ITtscNativeRewriteMode.js.map +0 -1
  203. package/lib/structures/ITtscNativeSource.d.ts +0 -4
  204. package/lib/structures/ITtscNativeSource.js.map +0 -1
  205. package/lib/structures/ITtscParsedProjectConfig.d.ts +0 -9
  206. package/lib/structures/ITtscParsedProjectConfig.js.map +0 -1
  207. package/lib/structures/ITtscPluginFactory.d.ts +0 -4
  208. package/lib/structures/ITtscPluginFactory.js +0 -3
  209. package/lib/structures/ITtscPluginFactory.js.map +0 -1
  210. package/lib/structures/ITtscPluginModule.d.ts +0 -3
  211. package/lib/structures/ITtscPluginModule.js +0 -3
  212. package/lib/structures/ITtscPluginModule.js.map +0 -1
  213. package/lib/structures/ITtscPreparedExecution.d.ts +0 -5
  214. package/lib/structures/ITtscPreparedExecution.js +0 -3
  215. package/lib/structures/ITtscPreparedExecution.js.map +0 -1
  216. package/lib/structures/ITtscProjectLocatorOptions.d.ts +0 -5
  217. package/lib/structures/ITtscProjectLocatorOptions.js.map +0 -1
  218. package/lib/structures/ITtscRegisterOptions.d.ts +0 -6
  219. package/lib/structures/ITtscRegisterOptions.js +0 -3
  220. package/lib/structures/ITtscRegisterOptions.js.map +0 -1
  221. package/lib/structures/ITtscResolveGoBinaryOptions.d.ts +0 -7
  222. package/lib/structures/ITtscResolveGoBinaryOptions.js +0 -3
  223. package/lib/structures/ITtscResolveGoBinaryOptions.js.map +0 -1
  224. package/lib/structures/ITtscResolveOptions.d.ts +0 -20
  225. package/lib/structures/ITtscResolveOptions.js +0 -3
  226. package/lib/structures/ITtscResolveOptions.js.map +0 -1
  227. package/lib/structures/ITtscResolvedTsgo.d.ts +0 -8
  228. package/lib/structures/ITtscResolvedTsgo.js +0 -3
  229. package/lib/structures/ITtscResolvedTsgo.js.map +0 -1
  230. package/lib/structures/ITtscTransformOptions.d.ts +0 -12
  231. package/lib/structures/ITtscTransformOptions.js +0 -3
  232. package/lib/structures/ITtscTransformOptions.js.map +0 -1
  233. package/lib/structures/ITtscTsgoResolveOptions.d.ts +0 -14
  234. package/lib/structures/ITtscTsgoResolveOptions.js +0 -3
  235. package/lib/structures/ITtscTsgoResolveOptions.js.map +0 -1
  236. package/lib/tsgo.d.ts +0 -6
  237. package/lib/tsgo.js.map +0 -1
  238. package/src/api.ts +0 -872
  239. package/src/native.ts +0 -64
  240. package/src/platform.ts +0 -151
  241. package/src/plugin.ts +0 -253
  242. package/src/runner/register.ts +0 -406
  243. package/src/structures/ITtscBuildOptions.ts +0 -19
  244. package/src/structures/ITtscBuildResult.ts +0 -6
  245. package/src/structures/ITtscBuildSourcePluginOptions.ts +0 -9
  246. package/src/structures/ITtscCacheKeyInput.ts +0 -7
  247. package/src/structures/ITtscCheckOptions.ts +0 -3
  248. package/src/structures/ITtscCommonOptions.ts +0 -23
  249. package/src/structures/ITtscLoadPluginsOptions.ts +0 -9
  250. package/src/structures/ITtscLoadedNativePlugin.ts +0 -8
  251. package/src/structures/ITtscLoadedPlugins.ts +0 -12
  252. package/src/structures/ITtscNativeBackend.ts +0 -11
  253. package/src/structures/ITtscNativePluginContractVersion.ts +0 -1
  254. package/src/structures/ITtscNativePluginShape.ts +0 -9
  255. package/src/structures/ITtscNativeRewriteMode.ts +0 -1
  256. package/src/structures/ITtscNativeSource.ts +0 -4
  257. package/src/structures/ITtscParsedProjectConfig.ts +0 -10
  258. package/src/structures/ITtscPluginFactory.ts +0 -7
  259. package/src/structures/ITtscPluginModule.ts +0 -4
  260. package/src/structures/ITtscPreparedExecution.ts +0 -5
  261. package/src/structures/ITtscProjectLocatorOptions.ts +0 -5
  262. package/src/structures/ITtscRegisterOptions.ts +0 -7
  263. package/src/structures/ITtscResolveGoBinaryOptions.ts +0 -7
  264. package/src/structures/ITtscResolveOptions.ts +0 -20
  265. package/src/structures/ITtscResolvedTsgo.ts +0 -8
  266. package/src/structures/ITtscTransformOptions.ts +0 -13
  267. package/src/structures/ITtscTsgoResolveOptions.ts +0 -14
  268. package/test/native.test.ts +0 -103
  269. /package/lib/structures/{ITtscLoadedNativePlugin.js → internal/ITtscLoadedNativePlugin.js} +0 -0
  270. /package/lib/structures/{ITtscParsedProjectConfig.js → internal/ITtscParsedProjectConfig.js} +0 -0
  271. /package/lib/structures/{ITtscProjectLocatorOptions.js → internal/ITtscProjectLocatorOptions.js} +0 -0
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.transformProjectInMemory = transformProjectInMemory;
37
+ const node_child_process_1 = require("node:child_process");
38
+ const fs = __importStar(require("node:fs"));
39
+ const path = __importStar(require("node:path"));
40
+ const loadProjectPlugins_1 = require("../../plugin/internal/loadProjectPlugins");
41
+ const buildNativeCompiler_1 = require("./buildNativeCompiler");
42
+ const readProjectConfig_1 = require("./project/readProjectConfig");
43
+ const resolveBinary_1 = require("./resolveBinary");
44
+ const resolveTsgo_1 = require("./resolveTsgo");
45
+ /** Transform a project and capture TypeScript source output in memory. */
46
+ function transformProjectInMemory(options) {
47
+ const cwd = path.resolve(options.cwd ?? process.cwd());
48
+ const project = (0, readProjectConfig_1.readProjectConfig)({
49
+ cwd,
50
+ tsconfig: options.tsconfig,
51
+ });
52
+ if (configuredPlugins(options, project).length !== 0) {
53
+ return transformProjectWithPlugins(options, cwd, project);
54
+ }
55
+ return transformProjectWithNativeHost(options, project);
56
+ }
57
+ function configuredPlugins(options, project) {
58
+ if (options.plugins === false) {
59
+ return [];
60
+ }
61
+ const entries = options.plugins ?? project.compilerOptions.plugins;
62
+ return entries.filter((entry) => entry.enabled !== false);
63
+ }
64
+ function transformProjectWithNativeHost(options, project) {
65
+ const binary = (0, buildNativeCompiler_1.buildNativeCompiler)({
66
+ cacheBaseDir: project.root,
67
+ cacheDir: options.cacheDir,
68
+ packageRoot: packageRootDir(),
69
+ });
70
+ const res = spawnNative(binary, ["api-transform", "--cwd", project.root, "--tsconfig", project.path], {
71
+ cwd: project.root,
72
+ env: { ...process.env, ...options.env },
73
+ });
74
+ if (res.error) {
75
+ throw new Error(`ttsc: failed to spawn native compiler host ${binary}: ${res.error.message}`);
76
+ }
77
+ const output = parseNativeTransformOutput(outputText(res.stdout), outputText(res.stderr));
78
+ return {
79
+ result: {
80
+ diagnostics: output.diagnostics,
81
+ status: res.status ?? 1,
82
+ stdout: "",
83
+ stderr: outputText(res.stderr),
84
+ },
85
+ typescript: output.typescript,
86
+ };
87
+ }
88
+ function transformProjectWithPlugins(options, cwd, project) {
89
+ const loaded = (0, loadProjectPlugins_1.loadProjectPlugins)({
90
+ binary: (0, resolveBinary_1.resolveBinary)(options) ?? "",
91
+ cacheDir: options.cacheDir ?? options.env?.TTSC_CACHE_DIR,
92
+ cwd,
93
+ entries: options.plugins,
94
+ tsconfig: project.path,
95
+ });
96
+ const checks = loaded.nativePlugins.filter((plugin) => plugin.stage === "check");
97
+ const transformers = loaded.nativePlugins.filter((plugin) => plugin.stage === "transform");
98
+ const checked = runNativeChecks(options, project, loaded.nativePlugins, checks);
99
+ if (checked.status !== 0) {
100
+ return {
101
+ result: checked,
102
+ typescript: {},
103
+ };
104
+ }
105
+ if (transformers.length === 0) {
106
+ return transformProjectWithNativeHost(options, project);
107
+ }
108
+ assertSingleTransformHost(transformers);
109
+ const plugin = transformers[0];
110
+ const res = spawnNative(plugin.binary, createNativeTransformArgs(project, transformers), {
111
+ cwd: project.root,
112
+ env: nativePluginEnv(options, project.root),
113
+ });
114
+ if (res.error) {
115
+ throw new Error(`ttsc.transform: failed to spawn ${plugin.binary}: ${res.error.message}`);
116
+ }
117
+ const output = parseNativeTransformOutput(outputText(res.stdout), outputText(res.stderr));
118
+ return {
119
+ result: {
120
+ diagnostics: output.diagnostics,
121
+ status: res.status ?? 1,
122
+ stdout: "",
123
+ stderr: outputText(res.stderr),
124
+ },
125
+ typescript: output.typescript,
126
+ };
127
+ }
128
+ function runNativeChecks(options, project, nativePlugins, checks) {
129
+ let result = {
130
+ diagnostics: [],
131
+ status: 0,
132
+ stdout: "",
133
+ stderr: "",
134
+ };
135
+ for (const plugin of checks) {
136
+ const res = spawnNative(plugin.binary, createNativeCheckArgs(project, nativePlugins), {
137
+ cwd: project.root,
138
+ env: nativePluginEnv(options, project.root),
139
+ });
140
+ if (res.error) {
141
+ throw new Error(`ttsc.transform.check: failed to spawn ${plugin.binary}: ${res.error.message}`);
142
+ }
143
+ result = appendBuildResult(result, {
144
+ diagnostics: [],
145
+ status: res.status ?? 1,
146
+ stdout: outputText(res.stdout),
147
+ stderr: outputText(res.stderr),
148
+ });
149
+ if (result.status !== 0) {
150
+ return result;
151
+ }
152
+ }
153
+ return result;
154
+ }
155
+ function createNativeTransformArgs(project, plugins) {
156
+ return [
157
+ "transform",
158
+ "--tsconfig=" + project.path,
159
+ "--plugins-json=" + serializeNativePlugins(plugins),
160
+ "--cwd=" + project.root,
161
+ ];
162
+ }
163
+ function createNativeCheckArgs(project, plugins) {
164
+ return [
165
+ "check",
166
+ "--tsconfig=" + project.path,
167
+ "--plugins-json=" + serializeNativePlugins(plugins),
168
+ "--cwd=" + project.root,
169
+ ];
170
+ }
171
+ function serializeNativePlugins(plugins) {
172
+ return JSON.stringify(plugins.map((plugin) => ({
173
+ config: plugin.config,
174
+ name: plugin.name,
175
+ stage: plugin.stage,
176
+ })));
177
+ }
178
+ function assertSingleTransformHost(plugins) {
179
+ const binaries = [...new Set(plugins.map((plugin) => plugin.binary))];
180
+ if (binaries.length > 1) {
181
+ throw new Error("ttsc: multiple transform native backends cannot share one source-to-source pass");
182
+ }
183
+ }
184
+ function appendBuildResult(left, right) {
185
+ return {
186
+ diagnostics: [...left.diagnostics, ...right.diagnostics],
187
+ status: right.status !== 0 ? right.status : left.status,
188
+ stdout: left.stdout + right.stdout,
189
+ stderr: left.stderr + right.stderr,
190
+ };
191
+ }
192
+ function nativePluginEnv(options, projectRoot) {
193
+ const tsgo = (0, resolveTsgo_1.resolveTsgo)({ ...options, cwd: projectRoot });
194
+ return {
195
+ ...process.env,
196
+ TTSC_NODE_BINARY: process.env.TTSC_NODE_BINARY ?? process.execPath,
197
+ TTSC_TSGO_BINARY: process.env.TTSC_TSGO_BINARY ?? tsgo.binary,
198
+ TTSC_TTSX_BINARY: process.env.TTSC_TTSX_BINARY ??
199
+ path.join(__dirname, "..", "..", "launcher", "ttsx.js"),
200
+ ...options.env,
201
+ };
202
+ }
203
+ function spawnNative(binary, args, options) {
204
+ const viaNode = /\.(?:[cm]?js|ts)$/i.test(binary);
205
+ if (!viaNode) {
206
+ ensureExecutable(binary);
207
+ }
208
+ return (0, node_child_process_1.spawnSync)(viaNode ? process.execPath : binary, viaNode ? [binary, ...args] : [...args], {
209
+ cwd: options.cwd,
210
+ encoding: "utf8",
211
+ env: options.env,
212
+ maxBuffer: 1024 * 1024 * 256,
213
+ windowsHide: true,
214
+ });
215
+ }
216
+ function ensureExecutable(binary) {
217
+ if (process.platform === "win32") {
218
+ return;
219
+ }
220
+ try {
221
+ const mode = fs.statSync(binary).mode & 0o777;
222
+ if ((mode & 0o111) !== 0) {
223
+ return;
224
+ }
225
+ fs.chmodSync(binary, mode | 0o755);
226
+ }
227
+ catch {
228
+ /* keep the original spawn error path */
229
+ }
230
+ }
231
+ function outputText(value) {
232
+ if (value == null) {
233
+ return "";
234
+ }
235
+ return typeof value === "string" ? value : value.toString("utf8");
236
+ }
237
+ function parseNativeTransformOutput(stdout, stderr) {
238
+ try {
239
+ const parsed = JSON.parse(stdout);
240
+ if (!isTextRecord(parsed.typescript)) {
241
+ throw new Error("ttsc: native transform host did not return a TypeScript source map");
242
+ }
243
+ return {
244
+ diagnostics: Array.isArray(parsed.diagnostics) ? parsed.diagnostics : [],
245
+ typescript: parsed.typescript,
246
+ };
247
+ }
248
+ catch (error) {
249
+ if (error instanceof Error && !(error instanceof SyntaxError)) {
250
+ throw error;
251
+ }
252
+ throw new Error((stderr || stdout).trim() ||
253
+ "ttsc: native transform host returned no output");
254
+ }
255
+ }
256
+ function isTextRecord(value) {
257
+ return (typeof value === "object" &&
258
+ value !== null &&
259
+ Object.values(value).every((entry) => typeof entry === "string"));
260
+ }
261
+ function packageRootDir() {
262
+ let current = path.resolve(__dirname);
263
+ while (true) {
264
+ if (fs.existsSync(path.join(current, "package.json")) &&
265
+ fs.existsSync(path.join(current, "go.mod"))) {
266
+ return fs.realpathSync.native?.(current) ?? fs.realpathSync(current);
267
+ }
268
+ const parent = path.dirname(current);
269
+ if (parent === current) {
270
+ throw new Error("ttsc: package root not found for native compiler build");
271
+ }
272
+ current = parent;
273
+ }
274
+ }
275
+ //# sourceMappingURL=transformProjectInMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformProjectInMemory.js","sourceRoot":"","sources":["../../../src/compiler/internal/transformProjectInMemory.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,19 +1,10 @@
1
1
  /**
2
2
  * ttsc — public TypeScript entry.
3
3
  *
4
- * Exports:
5
- * - tsgo helpers (`resolveTsgo`, …) — resolve the consuming project's
6
- * `@typescript/native-preview` compiler binary.
7
- * - platform helpers (`resolveBinary`, `installHint`, …) — compatibility
8
- * helper resolution for commands such as `ttsc demo`.
9
- * - programmatic API (`transform`, `build`, `check`, `version`) — a thin
10
- * TS wrapper around the consumer `tsgo` binary and native plugin
11
- * descriptors. Adapters never have to shell out themselves; they call
12
- * these helpers and get back a string or a result record.
4
+ * The package root intentionally exposes only the programmatic compiler class
5
+ * and the plugin-author contracts. CLI launcher functions, binary resolution,
6
+ * project parsing helpers, and native build helpers stay internal so the
7
+ * public package surface remains small and stable.
13
8
  */
14
- export * from "./platform";
15
- export * from "./api";
16
- export * from "./project";
17
- export * from "./plugin";
18
- export * from "./tsgo";
19
- export * from "./runner/register";
9
+ export * from "./TtscCompiler";
10
+ export * from "./structures/index";
package/lib/index.js CHANGED
@@ -2,15 +2,10 @@
2
2
  /**
3
3
  * ttsc — public TypeScript entry.
4
4
  *
5
- * Exports:
6
- * - tsgo helpers (`resolveTsgo`, …) — resolve the consuming project's
7
- * `@typescript/native-preview` compiler binary.
8
- * - platform helpers (`resolveBinary`, `installHint`, …) — compatibility
9
- * helper resolution for commands such as `ttsc demo`.
10
- * - programmatic API (`transform`, `build`, `check`, `version`) — a thin
11
- * TS wrapper around the consumer `tsgo` binary and native plugin
12
- * descriptors. Adapters never have to shell out themselves; they call
13
- * these helpers and get back a string or a result record.
5
+ * The package root intentionally exposes only the programmatic compiler class
6
+ * and the plugin-author contracts. CLI launcher functions, binary resolution,
7
+ * project parsing helpers, and native build helpers stay internal so the
8
+ * public package surface remains small and stable.
14
9
  */
15
10
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
11
  if (k2 === undefined) k2 = k;
@@ -27,10 +22,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
22
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
28
23
  };
29
24
  Object.defineProperty(exports, "__esModule", { value: true });
30
- __exportStar(require("./platform"), exports);
31
- __exportStar(require("./api"), exports);
32
- __exportStar(require("./project"), exports);
33
- __exportStar(require("./plugin"), exports);
34
- __exportStar(require("./tsgo"), exports);
35
- __exportStar(require("./runner/register"), exports);
25
+ __exportStar(require("./TtscCompiler"), exports);
26
+ __exportStar(require("./structures/index"), exports);
36
27
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,2CAAyB;AACzB,yCAAuB;AACvB,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,qDAAmC"}
@@ -0,0 +1,3 @@
1
+ import type { TtscCommonOptions } from "../../structures/internal/TtscCommonOptions";
2
+ /** Format the CLI version banner from the wrapper package and resolved tsgo. */
3
+ export declare function getCompilerVersionText(options?: TtscCommonOptions): string;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getCompilerVersionText = getCompilerVersionText;
37
+ const node_child_process_1 = require("node:child_process");
38
+ const fs = __importStar(require("node:fs"));
39
+ const path = __importStar(require("node:path"));
40
+ const resolveTsgo_1 = require("../../compiler/internal/resolveTsgo");
41
+ /** Format the CLI version banner from the wrapper package and resolved tsgo. */
42
+ function getCompilerVersionText(options = {}) {
43
+ const tsgo = (0, resolveTsgo_1.resolveTsgo)(options);
44
+ const res = (0, node_child_process_1.spawnSync)(tsgo.binary, ["--version"], {
45
+ encoding: "utf8",
46
+ maxBuffer: 1024 * 1024 * 16,
47
+ windowsHide: true,
48
+ });
49
+ if (res.error || res.status !== 0) {
50
+ throw new Error("ttsc.version: failed: " +
51
+ (outputText(res.stderr) || res.error?.message));
52
+ }
53
+ return `ttsc ${readOwnPackageVersion()} (${outputText(res.stdout).trim()})`;
54
+ }
55
+ function outputText(value) {
56
+ if (value == null) {
57
+ return "";
58
+ }
59
+ return typeof value === "string" ? value : value.toString("utf8");
60
+ }
61
+ function readOwnPackageVersion() {
62
+ try {
63
+ const file = path.resolve(__dirname, "..", "..", "..", "package.json");
64
+ const pkg = JSON.parse(fs.readFileSync(file, "utf8"));
65
+ return pkg.version ?? "0.0.0";
66
+ }
67
+ catch {
68
+ return "0.0.0";
69
+ }
70
+ }
71
+ //# sourceMappingURL=getCompilerVersionText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCompilerVersionText.js","sourceRoot":"","sources":["../../../src/launcher/internal/getCompilerVersionText.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA+C;AAC/C,MAAY,EAAE,oCAAgB;AAC9B,MAAY,IAAI,sCAAkB;AAElC,qEAAkE;AAGlE,gFAAgF;AAChF,gCACE,OAAO,GAAsB,EAAE;IAE/B,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAA,8BAAS,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;QAChD,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;QAC3B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,wBAAwB;YACtB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,qBAAqB,EAAE,KAAK,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,KAAyC;IAC3D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAEnD,CAAC;QACF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { TtscCommonOptions } from "../../structures/internal/TtscCommonOptions";
2
+ /** Build the owning project and locate the emitted JavaScript entry for `ttsx`. */
3
+ export declare function prepareExecution(entryFile: string, options?: TtscCommonOptions & {
4
+ cacheDir?: string;
5
+ project?: string;
6
+ }): {
7
+ emitDir: string;
8
+ entryFile: string;
9
+ moduleKind: "cjs" | "esm";
10
+ };
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.prepareExecution = prepareExecution;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ const resolveEmittedJavaScript_1 = require("../../compiler/internal/resolveEmittedJavaScript");
40
+ const runBuild_1 = require("../../compiler/internal/runBuild");
41
+ const resolveProjectConfig_1 = require("../../compiler/internal/project/resolveProjectConfig");
42
+ const PROCESS_CACHE_KEY = String(process.pid);
43
+ /** Build the owning project and locate the emitted JavaScript entry for `ttsx`. */
44
+ function prepareExecution(entryFile, options = {}) {
45
+ const context = createProjectContext(path.resolve(options.cwd ?? process.cwd()), entryFile, options);
46
+ buildProject(context, options);
47
+ const emittedEntry = (0, resolveEmittedJavaScript_1.resolveEmittedJavaScript)({
48
+ emittedFiles: context.emittedFiles ?? undefined,
49
+ outDir: context.emitDir,
50
+ projectRoot: context.root,
51
+ sourceFile: entryFile,
52
+ });
53
+ if (emittedEntry === null) {
54
+ throw new Error(`ttsx: emitted entry not found for ${entryFile}`);
55
+ }
56
+ const output = fs.readFileSync(emittedEntry, "utf8");
57
+ return {
58
+ emitDir: context.emitDir,
59
+ entryFile: emittedEntry,
60
+ moduleKind: looksLikeESM(output) ? "esm" : "cjs",
61
+ };
62
+ }
63
+ function createProjectContext(cwd, filename, options) {
64
+ const tsconfig = options.project
65
+ ? (0, resolveProjectConfig_1.resolveProjectConfig)({ cwd, tsconfig: path.resolve(cwd, options.project) })
66
+ : (0, resolveProjectConfig_1.resolveProjectConfig)({ cwd, file: filename });
67
+ const root = path.dirname(tsconfig);
68
+ const cacheDir = options.cacheDir ?? path.join(root, "node_modules", ".cache", "ttsc", "ttsx");
69
+ return {
70
+ tsconfig,
71
+ root,
72
+ cacheDir,
73
+ emitDir: path.join(cacheDir, "project", PROCESS_CACHE_KEY),
74
+ built: false,
75
+ emittedFiles: undefined,
76
+ };
77
+ }
78
+ function buildProject(context, options) {
79
+ if (context.built)
80
+ return;
81
+ fs.mkdirSync(context.cacheDir, { recursive: true });
82
+ fs.rmSync(context.emitDir, { recursive: true, force: true });
83
+ const result = (0, runBuild_1.runBuild)({
84
+ binary: options.binary,
85
+ cwd: context.root,
86
+ emit: true,
87
+ env: options.env,
88
+ forceListEmittedFiles: true,
89
+ outDir: context.emitDir,
90
+ plugins: options.plugins,
91
+ quiet: true,
92
+ tsconfig: context.tsconfig,
93
+ });
94
+ if (result.status === 0) {
95
+ context.built = true;
96
+ context.emittedFiles =
97
+ result.emittedFiles && result.emittedFiles.length !== 0
98
+ ? result.emittedFiles
99
+ : undefined;
100
+ return;
101
+ }
102
+ fs.rmSync(context.emitDir, { recursive: true, force: true });
103
+ const detail = [
104
+ `ttsx: project check failed for ${context.tsconfig}`,
105
+ result.stderr || result.stdout,
106
+ ]
107
+ .filter((line) => line.trim().length !== 0)
108
+ .join("\n");
109
+ throw new Error(detail);
110
+ }
111
+ function looksLikeESM(output) {
112
+ if (/\bObject\.defineProperty\(exports\b/.test(output) ||
113
+ /\bmodule\.exports\b/.test(output) ||
114
+ /\brequire\(/.test(output) ||
115
+ /\bexports\./.test(output)) {
116
+ return false;
117
+ }
118
+ return /^\s*(import|export)\s/m.test(output);
119
+ }
120
+ //# sourceMappingURL=prepareExecution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,oCAAgB;AAC9B,MAAY,IAAI,sCAAkB;AAElC,+FAA4F;AAC5F,+DAA4D;AAC5D,+FAA4F;AAG5F,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAE9C,mFAAmF;AACnF,0BACE,SAAiB,EACjB,OAAO,GAGH,EAAE;IAMN,MAAM,OAAO,GAAG,oBAAoB,CAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAC1C,SAAS,EACT,OAAO,CACR,CAAC;IACF,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAA,mDAAwB,EAAC;QAC5C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;QAC/C,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IACH,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAW,EACX,QAAgB,EAChB,OAA4D;IAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO;QAC9B,CAAC,CAAC,IAAA,2CAAoB,EAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,CAAC,CAAC,IAAA,2CAAoB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChF,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC;QAC1D,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,SAAiC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAgD,EAChD,OAA4D;IAE5D,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO;IAE1B,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,YAAY;YAClB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBACrD,CAAC,CAAC,MAAM,CAAC,YAAY;gBACrB,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;IACT,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG;QACb,kCAAkC,OAAO,CAAC,QAAQ,EAAE;QACpD,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;KAC/B;SACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;SAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IACE,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function runTtsc(argv?: readonly string[]): number;