ttsc 0.12.3 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/cmd/platform/main.go +9 -0
  2. package/cmd/ttsc/api_compile.go +122 -101
  3. package/cmd/ttsc/api_compile_branches_test.go +55 -57
  4. package/cmd/ttsc/api_transform.go +67 -49
  5. package/cmd/ttsc/api_transform_branches_test.go +30 -32
  6. package/cmd/ttsc/build.go +141 -108
  7. package/cmd/ttsc/build_branches_test.go +95 -97
  8. package/cmd/ttsc/filter.go +70 -0
  9. package/cmd/ttsc/filter_strips_unknown_forwarded_flag_test.go +61 -0
  10. package/cmd/ttsc/flags_gen.go +30 -0
  11. package/cmd/ttsc/helpers_test.go +39 -28
  12. package/cmd/ttsc/main.go +111 -104
  13. package/cmd/ttsc/main_alias_branches_test.go +21 -23
  14. package/cmd/ttscserver/main.go +96 -90
  15. package/cmd/ttscserver/run_lsp_prefers_tsgo_flag_test.go +22 -22
  16. package/cmd/ttscserver/run_lsp_reports_server_error_test.go +22 -22
  17. package/cmd/ttscserver/run_lsp_uses_tsgo_environment_test.go +23 -23
  18. package/cmd/utility-host/main.go +30 -23
  19. package/driver/lsp.go +53 -7
  20. package/driver/plugins.go +88 -72
  21. package/driver/program.go +464 -340
  22. package/driver/rewrite.go +477 -380
  23. package/internal/lspserver/lsp_envelope.go +64 -64
  24. package/internal/lspserver/lsp_frame.go +60 -60
  25. package/internal/lspserver/lsp_plugin.go +57 -57
  26. package/internal/lspserver/lsp_proxy.go +265 -251
  27. package/internal/lspserver/lsp_server.go +155 -144
  28. package/lib/TtscCompiler.d.ts +7 -0
  29. package/lib/TtscCompiler.js +7 -0
  30. package/lib/TtscCompiler.js.map +1 -1
  31. package/lib/compiler/internal/buildNativeCompiler.d.ts +11 -1
  32. package/lib/compiler/internal/buildNativeCompiler.js +23 -3
  33. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  34. package/lib/compiler/internal/compileProjectInMemory.d.ts +9 -0
  35. package/lib/compiler/internal/compileProjectInMemory.js +36 -21
  36. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  37. package/lib/compiler/internal/paths.d.ts +27 -0
  38. package/lib/compiler/internal/paths.js +70 -0
  39. package/lib/compiler/internal/paths.js.map +1 -0
  40. package/lib/compiler/internal/project/readProjectConfig.d.ts +9 -1
  41. package/lib/compiler/internal/project/readProjectConfig.js +80 -1
  42. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  43. package/lib/compiler/internal/project/resolveProjectConfig.d.ts +13 -1
  44. package/lib/compiler/internal/project/resolveProjectConfig.js +42 -1
  45. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  46. package/lib/compiler/internal/resolveBinary.d.ts +9 -1
  47. package/lib/compiler/internal/resolveBinary.js +17 -1
  48. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  49. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +16 -1
  50. package/lib/compiler/internal/resolveEmittedJavaScript.js +42 -10
  51. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  52. package/lib/compiler/internal/resolveTsgo.d.ts +21 -1
  53. package/lib/compiler/internal/resolveTsgo.js +23 -1
  54. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  55. package/lib/compiler/internal/runBuild.d.ts +24 -4
  56. package/lib/compiler/internal/runBuild.js +355 -93
  57. package/lib/compiler/internal/runBuild.js.map +1 -1
  58. package/lib/compiler/internal/runSingleFileEmit.d.ts +10 -1
  59. package/lib/compiler/internal/runSingleFileEmit.js +14 -1
  60. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  61. package/lib/compiler/internal/sharedHostHelpers.d.ts +5 -0
  62. package/lib/compiler/internal/sharedHostHelpers.js +6 -2
  63. package/lib/compiler/internal/sharedHostHelpers.js.map +1 -1
  64. package/lib/compiler/internal/spawnNative.d.ts +21 -0
  65. package/lib/compiler/internal/spawnNative.js +59 -0
  66. package/lib/compiler/internal/spawnNative.js.map +1 -0
  67. package/lib/compiler/internal/transformProjectInMemory.d.ts +15 -1
  68. package/lib/compiler/internal/transformProjectInMemory.js +57 -61
  69. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  70. package/lib/flags/parser.d.ts +63 -0
  71. package/lib/flags/parser.js +254 -0
  72. package/lib/flags/parser.js.map +1 -0
  73. package/lib/flags/schema.d.ts +147 -0
  74. package/lib/flags/schema.js +405 -0
  75. package/lib/flags/schema.js.map +1 -0
  76. package/lib/launcher/internal/getCompilerVersionText.js +7 -0
  77. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  78. package/lib/launcher/internal/prepareExecution.js +35 -0
  79. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  80. package/lib/launcher/internal/resolveCacheDir.d.ts +9 -0
  81. package/lib/launcher/internal/resolveCacheDir.js +22 -0
  82. package/lib/launcher/internal/resolveCacheDir.js.map +1 -0
  83. package/lib/launcher/internal/resolveTtscserverBinary.js +2 -0
  84. package/lib/launcher/internal/resolveTtscserverBinary.js.map +1 -1
  85. package/lib/launcher/internal/runTtsc.d.ts +10 -0
  86. package/lib/launcher/internal/runTtsc.js +90 -153
  87. package/lib/launcher/internal/runTtsc.js.map +1 -1
  88. package/lib/launcher/internal/runTtscserver.js +10 -35
  89. package/lib/launcher/internal/runTtscserver.js.map +1 -1
  90. package/lib/launcher/internal/runTtsx.d.ts +8 -0
  91. package/lib/launcher/internal/runTtsx.js +137 -79
  92. package/lib/launcher/internal/runTtsx.js.map +1 -1
  93. package/lib/plugin/internal/buildSourcePlugin.d.ts +38 -0
  94. package/lib/plugin/internal/buildSourcePlugin.js +40 -17
  95. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  96. package/lib/plugin/internal/loadProjectPlugins.d.ts +26 -0
  97. package/lib/plugin/internal/loadProjectPlugins.js +90 -41
  98. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  99. package/lib/structures/ITtscCompilerTransformation.d.ts +15 -2
  100. package/lib/structures/ITtscPlugin.d.ts +24 -0
  101. package/lib/structures/ITtscPluginCapabilities.d.ts +29 -0
  102. package/lib/structures/ITtscPluginCapabilities.js +3 -0
  103. package/lib/structures/ITtscPluginCapabilities.js.map +1 -0
  104. package/lib/structures/index.d.ts +1 -0
  105. package/lib/structures/index.js +1 -0
  106. package/lib/structures/index.js.map +1 -1
  107. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +5 -0
  108. package/lib/structures/internal/TtscCommonOptions.d.ts +19 -0
  109. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +0 -2
  110. package/package.json +9 -9
  111. package/shim/ast/shim.go +24 -0
  112. package/shim/checker/shim.go +35 -0
  113. package/shim/core/shim.go +17 -0
  114. package/shim/diagnosticwriter/shim.go +4 -0
  115. package/shim/lsp/shim.go +3 -3
  116. package/shim/printer/shim.go +20 -0
  117. package/src/TtscCompiler.ts +7 -0
  118. package/src/compiler/internal/buildNativeCompiler.ts +23 -3
  119. package/src/compiler/internal/compileProjectInMemory.ts +34 -25
  120. package/src/compiler/internal/paths.ts +68 -0
  121. package/src/compiler/internal/project/readProjectConfig.ts +86 -1
  122. package/src/compiler/internal/project/resolveProjectConfig.ts +44 -1
  123. package/src/compiler/internal/resolveBinary.ts +17 -1
  124. package/src/compiler/internal/resolveEmittedJavaScript.ts +43 -12
  125. package/src/compiler/internal/resolveTsgo.ts +29 -1
  126. package/src/compiler/internal/runBuild.ts +398 -112
  127. package/src/compiler/internal/runSingleFileEmit.ts +14 -1
  128. package/src/compiler/internal/sharedHostHelpers.ts +7 -7
  129. package/src/compiler/internal/spawnNative.ts +64 -0
  130. package/src/compiler/internal/transformProjectInMemory.ts +47 -67
  131. package/src/flags/parser.ts +367 -0
  132. package/src/flags/schema.ts +570 -0
  133. package/src/launcher/internal/getCompilerVersionText.ts +7 -0
  134. package/src/launcher/internal/prepareExecution.ts +35 -0
  135. package/src/launcher/internal/resolveCacheDir.ts +19 -0
  136. package/src/launcher/internal/resolveTtscserverBinary.ts +2 -0
  137. package/src/launcher/internal/runTtsc.ts +97 -143
  138. package/src/launcher/internal/runTtscserver.ts +9 -1
  139. package/src/launcher/internal/runTtsx.ts +149 -82
  140. package/src/plugin/internal/buildSourcePlugin.ts +40 -14
  141. package/src/plugin/internal/loadProjectPlugins.ts +116 -45
  142. package/src/structures/ITtscCompilerTransformation.ts +15 -2
  143. package/src/structures/ITtscPlugin.ts +26 -1
  144. package/src/structures/ITtscPluginCapabilities.ts +29 -0
  145. package/src/structures/index.ts +1 -0
  146. package/src/structures/internal/ITtscLoadedNativePlugin.ts +5 -0
  147. package/src/structures/internal/TtscCommonOptions.ts +19 -0
  148. package/src/structures/internal/TtscSingleFileEmitOptions.ts +0 -2
  149. package/tools/gen_shims/main.go +43 -8
  150. package/utility/flags_gen.go +30 -0
  151. package/utility/host.go +304 -245
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+ // SOURCE-OF-TRUTH FLAG SCHEMA for the ttsc / ttsx command-line surface.
3
+ //
4
+ // One declaration per flag, consumed by every layer that needs to know about
5
+ // the flag:
6
+ //
7
+ // * `packages/ttsc/src/flags/parser.ts` — runtime TS parsing engine used
8
+ // by `runTtsc.ts` and `runTtsx.ts`.
9
+ // * `packages/ttsc/scripts/gen-flags.cjs` — codegen that emits Go
10
+ // allow-lists and the docs table.
11
+ // * `packages/ttsc/cmd/ttsc/flags_gen.go` — generated Go allow-list shared
12
+ // by `cmd/ttsc/*.go` and
13
+ // `utility/host.go`.
14
+ // * `packages/lint/linthost/flags_gen.go` — generated Go allow-list shared
15
+ // by lint subcommand parsers.
16
+ // * `website/src/content/docs/ttsc/flags.mdx` — generated reference table.
17
+ //
18
+ // The generator runs from `pnpm format`; its committed output is the spec the
19
+ // Go side reads, just like the `gen_shims:hand-maintained` pattern from
20
+ // AGENTS.md §2.1. Editing the generated files by hand is rejected by the
21
+ // `format` check.
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.INTERNAL_SHADOW_FLAGS = exports.TERMINAL_FLAGS = exports.FLAG_BY_NAME = exports.FLAG_SCHEMA = void 0;
24
+ exports.flagsForSubcommand = flagsForSubcommand;
25
+ exports.buildGoAllowList = buildGoAllowList;
26
+ /**
27
+ * Single source of truth for every flag the ttsc / ttsx CLI accepts. New
28
+ * flags are added here and only here; the generator rebuilds the parsers and
29
+ * the Go allow-lists from this table.
30
+ *
31
+ * Constraints enforced by the parser and the generator:
32
+ *
33
+ * 1. Every flag is uniquely identified by `name`; aliases must not collide
34
+ * with other flags' `name` or `aliases`.
35
+ * 2. A flag listed in `consumedBy: ["launcher"]` without a `forwardTo`
36
+ * consumes-not-forwards. The generator flags this in the docs and the
37
+ * Go allow-list so the boundary is explicit.
38
+ * 3. A flag with `subcommands` covering `clean` or `prepare` is parsed by
39
+ * the project-args lane; the parsing engine accepts the same flag in
40
+ * build / check / fix / format without a separate parser.
41
+ */
42
+ exports.FLAG_SCHEMA = [
43
+ // -------------------------------------------------------------------------
44
+ // ttsc — terminal flags (print and exit; never wrapped in pre-emit pass)
45
+ // -------------------------------------------------------------------------
46
+ {
47
+ name: "--help",
48
+ aliases: ["-h"],
49
+ kind: "boolean",
50
+ subcommands: ["ttsc", "ttsx", "build", "check", "fix", "format"],
51
+ consumedBy: ["launcher"],
52
+ terminal: true,
53
+ description: "Show command help and exit.",
54
+ },
55
+ {
56
+ name: "--version",
57
+ aliases: ["-v"],
58
+ kind: "boolean",
59
+ subcommands: ["ttsc", "ttsx"],
60
+ consumedBy: ["launcher"],
61
+ terminal: true,
62
+ description: "Print the launcher version and exit.",
63
+ },
64
+ // -------------------------------------------------------------------------
65
+ // Project location: shared by every subcommand.
66
+ // -------------------------------------------------------------------------
67
+ {
68
+ name: "--tsconfig",
69
+ aliases: ["-p", "--project"],
70
+ kind: "value",
71
+ subcommands: [
72
+ "ttsc",
73
+ "ttsx",
74
+ "build",
75
+ "check",
76
+ "fix",
77
+ "format",
78
+ "prepare",
79
+ "clean",
80
+ ],
81
+ consumedBy: ["launcher", "host", "lint"],
82
+ description: "Resolve project settings from this tsconfig.",
83
+ },
84
+ {
85
+ name: "--cwd",
86
+ kind: "value",
87
+ subcommands: [
88
+ "ttsc",
89
+ "ttsx",
90
+ "build",
91
+ "check",
92
+ "fix",
93
+ "format",
94
+ "prepare",
95
+ "clean",
96
+ ],
97
+ consumedBy: ["launcher", "host", "lint"],
98
+ description: "Resolve project-relative paths from this directory.",
99
+ },
100
+ // -------------------------------------------------------------------------
101
+ // Emit / build mode.
102
+ // -------------------------------------------------------------------------
103
+ {
104
+ name: "--emit",
105
+ kind: "boolean",
106
+ subcommands: ["ttsc", "build", "check"],
107
+ consumedBy: ["launcher", "runBuild", "host", "lint"],
108
+ description: "Force emitted files during build.",
109
+ },
110
+ {
111
+ name: "--noEmit",
112
+ kind: "boolean",
113
+ subcommands: ["ttsc", "build", "check"],
114
+ consumedBy: ["launcher", "runBuild", "host", "lint"],
115
+ internalShadow: true,
116
+ description: "Force analysis-only build with no file writes.",
117
+ },
118
+ {
119
+ name: "--outDir",
120
+ kind: "value",
121
+ subcommands: ["ttsc", "build", "check"],
122
+ consumedBy: ["launcher", "host", "lint"],
123
+ description: "Override compilerOptions.outDir for this invocation.",
124
+ },
125
+ // -------------------------------------------------------------------------
126
+ // Watch mode (launcher only).
127
+ // -------------------------------------------------------------------------
128
+ {
129
+ name: "--watch",
130
+ aliases: ["-w"],
131
+ kind: "boolean",
132
+ subcommands: ["ttsc", "build", "check"],
133
+ consumedBy: ["launcher"],
134
+ description: "Rebuild when project files change.",
135
+ },
136
+ {
137
+ name: "--preserveWatchOutput",
138
+ kind: "boolean",
139
+ subcommands: ["ttsc", "build", "check"],
140
+ consumedBy: ["launcher"],
141
+ description: "Do not clear the screen between watch rebuilds.",
142
+ },
143
+ // -------------------------------------------------------------------------
144
+ // Output verbosity.
145
+ // -------------------------------------------------------------------------
146
+ {
147
+ name: "--quiet",
148
+ kind: "boolean",
149
+ subcommands: ["ttsc", "build", "check", "fix", "format"],
150
+ consumedBy: ["launcher", "host", "lint"],
151
+ description: "Keep build output quiet (default).",
152
+ },
153
+ {
154
+ name: "--verbose",
155
+ kind: "boolean",
156
+ subcommands: ["ttsc", "build", "check", "fix", "format"],
157
+ consumedBy: ["launcher", "host", "lint"],
158
+ description: "Print the build summary and emitted files.",
159
+ },
160
+ // -------------------------------------------------------------------------
161
+ // tsgo-binary / cache plumbing (consumed by launcher, not forwarded).
162
+ // -------------------------------------------------------------------------
163
+ {
164
+ name: "--binary",
165
+ kind: "value",
166
+ subcommands: [
167
+ "ttsc",
168
+ "ttsx",
169
+ "build",
170
+ "check",
171
+ "fix",
172
+ "format",
173
+ "prepare",
174
+ "clean",
175
+ ],
176
+ consumedBy: ["launcher"],
177
+ description: "Use an explicit tsgo binary.",
178
+ },
179
+ {
180
+ name: "--cache-dir",
181
+ kind: "value",
182
+ subcommands: [
183
+ "ttsc",
184
+ "ttsx",
185
+ "build",
186
+ "check",
187
+ "fix",
188
+ "format",
189
+ "prepare",
190
+ "clean",
191
+ ],
192
+ consumedBy: ["launcher"],
193
+ description: "Override the runner and source-plugin cache root.",
194
+ },
195
+ // -------------------------------------------------------------------------
196
+ // Threading (tsgo-native; lint host opts in via capability).
197
+ // -------------------------------------------------------------------------
198
+ {
199
+ name: "--singleThreaded",
200
+ kind: "boolean",
201
+ subcommands: ["ttsc", "ttsx", "build", "check", "fix", "format"],
202
+ consumedBy: ["launcher", "runBuild", "tsgo", "host", "lint"],
203
+ nativeCapability: "threadingArgs",
204
+ description: "Run TypeScript-Go single-threaded (one checker).",
205
+ },
206
+ {
207
+ name: "--checkers",
208
+ kind: "value",
209
+ validator: "positiveInt",
210
+ subcommands: ["ttsc", "ttsx", "build", "check", "fix", "format"],
211
+ consumedBy: ["launcher", "runBuild", "tsgo", "host", "lint"],
212
+ nativeCapability: "threadingArgs",
213
+ description: "Type-checker pool size (default: TypeScript-Go's).",
214
+ },
215
+ // -------------------------------------------------------------------------
216
+ // ttsx-specific options.
217
+ // -------------------------------------------------------------------------
218
+ {
219
+ name: "--require",
220
+ aliases: ["-r"],
221
+ kind: "value",
222
+ subcommands: ["ttsx"],
223
+ consumedBy: ["launcher"],
224
+ description: "Preload a module before the entrypoint (ttsx).",
225
+ },
226
+ {
227
+ name: "--no-plugins",
228
+ kind: "boolean",
229
+ subcommands: ["ttsx"],
230
+ consumedBy: ["launcher"],
231
+ description: "Build the project without ttsc plugins (ttsx).",
232
+ },
233
+ // -------------------------------------------------------------------------
234
+ // tsgo-internal flags ttsc adds itself; users may also forward them.
235
+ // Declaring them keeps the launcher's parser from treating them as
236
+ // unknown forwarded flags whose value token gets misclassified.
237
+ // -------------------------------------------------------------------------
238
+ {
239
+ name: "--listEmittedFiles",
240
+ kind: "boolean",
241
+ subcommands: ["ttsc", "build", "check"],
242
+ consumedBy: ["runBuild", "tsgo"],
243
+ forwardTo: "tsgo",
244
+ internalShadow: true,
245
+ description: "Print the list of emitted files (forwarded to tsgo; ttsc keeps the lines when forwarded).",
246
+ },
247
+ {
248
+ name: "--pretty",
249
+ kind: "value",
250
+ subcommands: ["ttsc", "ttsx", "build", "check", "fix", "format"],
251
+ consumedBy: ["tsgo"],
252
+ forwardTo: "tsgo",
253
+ internalShadow: true,
254
+ description: "Toggle tsgo pretty-printed diagnostics (forwarded to tsgo).",
255
+ },
256
+ {
257
+ name: "--showConfig",
258
+ kind: "boolean",
259
+ subcommands: ["ttsc", "build", "check"],
260
+ consumedBy: ["tsgo"],
261
+ forwardTo: "tsgo",
262
+ terminal: true,
263
+ description: "Print the resolved tsconfig and exit (forwarded to tsgo).",
264
+ },
265
+ {
266
+ name: "--listFilesOnly",
267
+ kind: "boolean",
268
+ subcommands: ["ttsc", "build", "check"],
269
+ consumedBy: ["tsgo"],
270
+ forwardTo: "tsgo",
271
+ terminal: true,
272
+ description: "Print the project file list and exit (forwarded to tsgo).",
273
+ },
274
+ {
275
+ name: "--all",
276
+ kind: "boolean",
277
+ subcommands: ["ttsc", "build", "check"],
278
+ consumedBy: ["tsgo"],
279
+ forwardTo: "tsgo",
280
+ terminal: true,
281
+ description: "Print the full tsgo CLI help and exit.",
282
+ },
283
+ {
284
+ name: "--init",
285
+ kind: "boolean",
286
+ subcommands: ["ttsc", "build", "check"],
287
+ consumedBy: ["tsgo"],
288
+ forwardTo: "tsgo",
289
+ terminal: true,
290
+ description: "Write a starter tsconfig.json and exit (forwarded to tsgo).",
291
+ },
292
+ // -------------------------------------------------------------------------
293
+ // `--tsgo-args` — JSON-encoded passthrough envelope the launcher emits on
294
+ // the way down to native sidecars. The sidecars decode it back into the
295
+ // tsgo argv. Listed here so the schema describes every flag the Go layers
296
+ // accept, not just the user-facing ones.
297
+ // -------------------------------------------------------------------------
298
+ {
299
+ name: "--tsgo-args",
300
+ kind: "value",
301
+ subcommands: [
302
+ "ttsc",
303
+ "build",
304
+ "check",
305
+ "fix",
306
+ "format",
307
+ "prepare",
308
+ "clean",
309
+ ],
310
+ consumedBy: ["host", "lint"],
311
+ description: "JSON-encoded tsgo passthrough argv (internal: emitted by runBuild).",
312
+ },
313
+ {
314
+ name: "--plugins-json",
315
+ kind: "value",
316
+ subcommands: ["build", "check", "fix", "format"],
317
+ consumedBy: ["host", "lint"],
318
+ description: "JSON-encoded ttsc plugin manifest (internal: emitted by runBuild).",
319
+ },
320
+ {
321
+ name: "--manifest",
322
+ kind: "value",
323
+ subcommands: ["build"],
324
+ consumedBy: ["host"],
325
+ description: "Write emitted file list as JSON to this path (host build only).",
326
+ },
327
+ {
328
+ name: "--file",
329
+ kind: "value",
330
+ subcommands: ["build", "check"],
331
+ consumedBy: ["lint"],
332
+ description: "Absolute or cwd-relative path of the .ts file to transform (lint transform only).",
333
+ },
334
+ {
335
+ name: "--out",
336
+ kind: "value",
337
+ subcommands: ["build", "check"],
338
+ consumedBy: ["lint"],
339
+ description: "Write transform output to PATH (lint transform only; default: stdout).",
340
+ },
341
+ ];
342
+ /**
343
+ * Lookup of `name` and every alias → its canonical FlagSpec. Built once at
344
+ * module load so the parsing engine has O(1) flag resolution.
345
+ */
346
+ exports.FLAG_BY_NAME = buildFlagIndex();
347
+ function buildFlagIndex() {
348
+ const index = new Map();
349
+ for (const flag of exports.FLAG_SCHEMA) {
350
+ register(index, flag.name, flag);
351
+ for (const alias of flag.aliases ?? []) {
352
+ register(index, alias, flag);
353
+ }
354
+ }
355
+ return index;
356
+ }
357
+ function register(index, key, flag) {
358
+ const existing = index.get(key);
359
+ if (existing && existing !== flag) {
360
+ throw new Error(`ttsc flag schema: duplicate token ${JSON.stringify(key)} claimed by ${existing.name} and ${flag.name}`);
361
+ }
362
+ index.set(key, flag);
363
+ }
364
+ /**
365
+ * Terminal flags as a derived set. Used by `runBuild.ts` to skip the
366
+ * pre-emit pass when one is present.
367
+ */
368
+ exports.TERMINAL_FLAGS = new Set(exports.FLAG_SCHEMA.flatMap((flag) => flag.terminal === true ? [flag.name, ...(flag.aliases ?? [])] : []));
369
+ /**
370
+ * `internalShadow: true` flags as a derived set. Used by `runBuild.ts` to
371
+ * detect a user-forwarded copy of a flag ttsc adds internally so the
372
+ * post-processor does not eat the user's output.
373
+ */
374
+ exports.INTERNAL_SHADOW_FLAGS = new Set(exports.FLAG_SCHEMA.flatMap((flag) => flag.internalShadow === true ? [flag.name, ...(flag.aliases ?? [])] : []));
375
+ /** Tokens (canonical name + aliases) accepted in `subcommand`. */
376
+ function flagsForSubcommand(subcommand) {
377
+ return exports.FLAG_SCHEMA.filter((flag) => flag.subcommands.includes(subcommand));
378
+ }
379
+ /**
380
+ * Allow-list map for the Go layer named `layer` (`"host"` or `"lint"`):
381
+ * flag-name (no leading dashes) → whether the flag takes a value token.
382
+ * The generator emits a literal Go map with the same shape, but this
383
+ * function is the runtime equivalent — used in tests to verify the
384
+ * generated Go matches the schema.
385
+ */
386
+ function buildGoAllowList(layer) {
387
+ const out = new Map();
388
+ for (const flag of exports.FLAG_SCHEMA) {
389
+ if (!flag.consumedBy.includes(layer))
390
+ continue;
391
+ const takesValue = flag.kind === "value" || flag.kind === "valueOptional";
392
+ for (const name of [flag.name, ...(flag.aliases ?? [])]) {
393
+ const key = name.replace(/^--?/, "");
394
+ // The Go side strips the leading dashes; if two flags collide on the
395
+ // stripped key (e.g. `-p` vs `--project`), use the value-taking shape.
396
+ const existing = out.get(key);
397
+ if (existing !== undefined && existing !== takesValue) {
398
+ throw new Error(`ttsc flag schema: conflicting Go allow-list entry for ${JSON.stringify(key)} on layer ${layer}`);
399
+ }
400
+ out.set(key, takesValue);
401
+ }
402
+ }
403
+ return out;
404
+ }
405
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flags/schema.ts"],"names":[],"mappings":"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"}
@@ -21,12 +21,19 @@ function getCompilerVersionText(options = {}) {
21
21
  }
22
22
  return `ttsc ${readOwnPackageVersion()} (${outputText(res.stdout).trim()})`;
23
23
  }
24
+ /** Coerce a spawnSync stdio field (string | Buffer | null) to a plain string. */
24
25
  function outputText(value) {
25
26
  if (value == null) {
26
27
  return "";
27
28
  }
28
29
  return typeof value === "string" ? value : value.toString("utf8");
29
30
  }
31
+ /**
32
+ * Read the `version` field from the `@ttsc/ttsc` package.json that sits three
33
+ * directories above the compiled launcher output (`lib/launcher/internal/`).
34
+ * Returns `"0.0.0"` on any I/O or parse failure so the banner is always safe to
35
+ * display.
36
+ */
30
37
  function readOwnPackageVersion() {
31
38
  try {
32
39
  const file = node_path_1.default.resolve(__dirname, "..", "..", "..", "package.json");
@@ -1 +1 @@
1
- {"version":3,"file":"getCompilerVersionText.js","sourceRoot":"","sources":["../../../src/launcher/internal/getCompilerVersionText.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA+C;AAC/C,sDAAyB;AACzB,0DAA6B;AAE7B,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,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,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,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,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"}
1
+ {"version":3,"file":"getCompilerVersionText.js","sourceRoot":"","sources":["../../../src/launcher/internal/getCompilerVersionText.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA+C;AAC/C,sDAAyB;AACzB,0DAA6B;AAE7B,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,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,qBAAqB,EAAE,KAAK,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;AAC9E,CAAC;AAED,iFAAiF;AACjF,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;;;;;GAKG;AACH,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,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"}
@@ -10,7 +10,14 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const readProjectConfig_1 = require("../../compiler/internal/project/readProjectConfig");
11
11
  const resolveEmittedJavaScript_1 = require("../../compiler/internal/resolveEmittedJavaScript");
12
12
  const runBuild_1 = require("../../compiler/internal/runBuild");
13
+ /** Subdirectory name that isolates concurrent ttsx processes by PID. */
13
14
  const PROCESS_CACHE_KEY = String(process.pid);
15
+ /**
16
+ * Maximum number of ancestor directories above the project root that the
17
+ * virtual filesystem overlay mirrors. Three levels covers the common monorepo
18
+ * layout (workspace-root → packages → package-root) so `node_modules` symlinks
19
+ * resolve correctly without reaching an unsafe boundary.
20
+ */
14
21
  const MAX_VIRTUAL_PARENT_DEPTH = 3;
15
22
  /** Build the owning project and locate the emitted JavaScript entry for `ttsx`. */
16
23
  function prepareExecution(entryFile, options = {}) {
@@ -74,14 +81,17 @@ function buildProject(context, options) {
74
81
  node_fs_1.default.mkdirSync(node_path_1.default.dirname(context.emitDir), { recursive: true });
75
82
  const result = (0, runBuild_1.runBuild)({
76
83
  binary: options.binary,
84
+ checkers: options.checkers,
77
85
  cwd: context.root,
78
86
  emit: true,
79
87
  env: options.env,
80
88
  forceListEmittedFiles: true,
81
89
  cacheDir: context.pluginCacheDir,
82
90
  outDir: context.emitDir,
91
+ passthrough: options.passthrough,
83
92
  plugins: options.plugins,
84
93
  quiet: true,
94
+ singleThreaded: options.singleThreaded,
85
95
  tsconfig: context.tsconfig,
86
96
  });
87
97
  if (result.status === 0) {
@@ -124,20 +134,31 @@ function linkVirtualProjectLayout(context) {
124
134
  }
125
135
  function linkVirtualEntry(realEntry, virtualEntry, entry) {
126
136
  if (entry.isDirectory()) {
137
+ // Use junction points on Windows; plain symlinks elsewhere.
127
138
  node_fs_1.default.symlinkSync(realEntry, virtualEntry, process.platform === "win32" ? "junction" : undefined);
128
139
  return;
129
140
  }
130
141
  if (entry.isFile()) {
131
142
  try {
143
+ // Hard-link first: cheap, preserves inode, no extra disk usage.
132
144
  node_fs_1.default.linkSync(realEntry, virtualEntry);
133
145
  }
134
146
  catch {
147
+ // Cross-device or unsupported filesystem: fall back to a full copy.
135
148
  node_fs_1.default.copyFileSync(realEntry, virtualEntry);
136
149
  }
137
150
  return;
138
151
  }
152
+ // Symlinks (and other special entries) are re-symlinked as-is.
139
153
  node_fs_1.default.symlinkSync(realEntry, virtualEntry);
140
154
  }
155
+ /**
156
+ * Walk from `projectRoot` upward (up to `MAX_VIRTUAL_PARENT_DEPTH` steps),
157
+ * stopping early at a workspace root (`pnpm-workspace.yaml` or `.git`). The
158
+ * collected directories are reversed so callers can iterate outermost-first,
159
+ * which lets inner symlinks override outer ones without conflicting mkdir
160
+ * calls.
161
+ */
141
162
  function collectLinkDirectories(projectRoot) {
142
163
  const out = [];
143
164
  let current = projectRoot;
@@ -161,6 +182,14 @@ function isUnsafeVirtualParent(directory) {
161
182
  const root = node_path_1.default.parse(resolved).root;
162
183
  return resolved === root || resolved === node_path_1.default.resolve(node_os_1.default.tmpdir());
163
184
  }
185
+ /**
186
+ * Map an absolute path into a stable, filesystem-safe subtree under `root`.
187
+ *
188
+ * On POSIX the root is always `/`, so every path shares the same prefix —
189
+ * represented here as `"posix"`. On Windows, drive letters and UNC roots each
190
+ * get a sanitized label (e.g. `"C_"` for `C:\`), preventing collisions between
191
+ * paths from different drives inside the same virtual root.
192
+ */
164
193
  function virtualPath(root, absolute) {
165
194
  const parsed = node_path_1.default.parse(node_path_1.default.resolve(absolute));
166
195
  const label = parsed.root === node_path_1.default.sep
@@ -170,6 +199,12 @@ function virtualPath(root, absolute) {
170
199
  const relative = node_path_1.default.relative(parsed.root, node_path_1.default.resolve(absolute));
171
200
  return node_path_1.default.join(root, label, relative);
172
201
  }
202
+ /**
203
+ * Heuristic: classify emitted JS as ESM when it contains top-level `import` or
204
+ * `export` statements but none of the well-known CJS patterns. The CJS checks
205
+ * run first so that re-exported CJS bundles with both `require` calls and an
206
+ * `export` declaration are conservatively treated as CJS.
207
+ */
173
208
  function looksLikeESM(output) {
174
209
  if (/\bObject\.defineProperty\(exports\b/.test(output) ||
175
210
  /\bmodule\.exports\b/.test(output) ||
@@ -1 +1 @@
1
- {"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareExecution.js","sourceRoot":"","sources":["../../../src/launcher/internal/prepareExecution.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAE7B,yFAAsF;AACtF,+FAA4F;AAC5F,+DAA4D;AAG5D,wEAAwE;AACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9C;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,mFAAmF;AACnF,0BACE,SAAiB,EACjB,OAAO,GAGH,EAAE;IAMN,MAAM,OAAO,GAAG,oBAAoB,CAClC,mBAAI,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,iBAAE,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,OAAO,GAAG,IAAA,qCAAiB,EAC/B,OAAO,CAAC,OAAO;QACb,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QACvD,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAC5B,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,GACZ,gBAAgB;QAChB,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,cAAc,EAAE,gBAAgB;QAChC,WAAW;QACX,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM;YACrC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;YAC1D,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzE,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,SAAiC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAA6C,EAC7C,QAAgB;IAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,mBAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CACnB,OAAgD,EAChD,OAA4D;IAE5D,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO;IAE1B,iBAAE,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,iBAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,qBAAqB,EAAE,IAAI;QAC3B,QAAQ,EAAE,OAAO,CAAC,cAAc;QAChC,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAClC,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,iBAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,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,eAAe,CAAC,GAAW,EAAE,QAAiB;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAgD;IAEhD,KAAK,MAAM,SAAS,IAAI,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrE,iBAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,iBAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,iBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,SAAiB,EACjB,YAAoB,EACpB,KAAgB;IAEhB,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,4DAA4D;QAC5D,iBAAE,CAAC,WAAW,CACZ,SAAS,EACT,YAAY,EACZ,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,gEAAgE;YAChE,iBAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,iBAAE,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO;IACT,CAAC;IACD,+DAA+D;IAC/D,iBAAE,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,WAAmB;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,wBAAwB,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClB,IACE,KAAK,GAAG,CAAC;YACT,CAAC,iBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBACvD,iBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAC5C,CAAC;YACD,MAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM;QACR,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,mBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACvC,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,mBAAI,CAAC,OAAO,CAAC,iBAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,QAAgB;IACjD,MAAM,MAAM,GAAG,mBAAI,CAAC,KAAK,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,mBAAI,CAAC,GAAG;QACtB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAClE,MAAM,CAAC;IACb,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,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,9 @@
1
+ /**
2
+ * Resolve a user-supplied `--cache-dir` value into an absolute path.
3
+ *
4
+ * When `cacheDir` is absent or empty, returns `undefined` so callers fall
5
+ * through to the environment variable and global-cache defaults handled inside
6
+ * `buildSourcePlugin`. When `cacheDir` is already absolute it is returned
7
+ * unchanged; otherwise it is resolved relative to `cwd`.
8
+ */
9
+ export declare function resolveCacheDir(cwd: string, cacheDir?: string): string | undefined;
@@ -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.resolveCacheDir = resolveCacheDir;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ /**
9
+ * Resolve a user-supplied `--cache-dir` value into an absolute path.
10
+ *
11
+ * When `cacheDir` is absent or empty, returns `undefined` so callers fall
12
+ * through to the environment variable and global-cache defaults handled inside
13
+ * `buildSourcePlugin`. When `cacheDir` is already absolute it is returned
14
+ * unchanged; otherwise it is resolved relative to `cwd`.
15
+ */
16
+ function resolveCacheDir(cwd, cacheDir) {
17
+ if (!cacheDir) {
18
+ return undefined;
19
+ }
20
+ return node_path_1.default.isAbsolute(cacheDir) ? cacheDir : node_path_1.default.resolve(cwd, cacheDir);
21
+ }
22
+ //# sourceMappingURL=resolveCacheDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveCacheDir.js","sourceRoot":"","sources":["../../../src/launcher/internal/resolveCacheDir.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B;;;;;;;GAOG;AACH,yBACE,GAAW,EACX,QAAiB;IAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC"}
@@ -38,6 +38,8 @@ function defaultLocalBinaryPath() {
38
38
  }
39
39
  function packageRootDir() {
40
40
  const moduleDir = node_path_1.default.resolve(__dirname, "..", "..");
41
+ // Prefer the faster native variant; fall back to the JS implementation on
42
+ // platforms (or environments) where `realpathSync.native` is unavailable.
41
43
  return node_fs_1.default.realpathSync.native?.(moduleDir) ?? node_fs_1.default.realpathSync(moduleDir);
42
44
  }
43
45
  //# sourceMappingURL=resolveTtscserverBinary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTtscserverBinary.js","sourceRoot":"","sources":["../../../src/launcher/internal/resolveTtscserverBinary.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B;;;;;;;;GAQG;AACH,iCACE,IAAI,GAAgC,EAAE;IAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,GAAG,CAAC,iBAAiB,IAAI,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CACpB,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QACvC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YACpD,EAAE,CACH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAC;IACvC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAC5B,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAC/D,CAAC;IACF,OAAO,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,iBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,iBAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"resolveTtscserverBinary.js","sourceRoot":"","sources":["../../../src/launcher/internal/resolveTtscserverBinary.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B;;;;;;;;GAQG;AACH,iCACE,IAAI,GAAgC,EAAE;IAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,GAAG,CAAC,iBAAiB,IAAI,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CACpB,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QACvC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YACpD,EAAE,CACH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAC;IACvC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAC5B,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAC/D,CAAC;IACF,OAAO,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,0EAA0E;IAC1E,0EAA0E;IAC1E,OAAO,iBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,iBAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC"}
@@ -1 +1,11 @@
1
+ /**
2
+ * CLI entry point for `ttsc`. Dispatches argv to the appropriate build lane
3
+ * (build, check, fix, format, prepare, clean, or native-delegate) and returns
4
+ * an exit code. Errors thrown by any lane are caught here and written to stderr
5
+ * so the process can exit cleanly.
6
+ *
7
+ * @param argv - Command-line arguments (defaults to `process.argv.slice(2)`).
8
+ * @returns The exit code: `0` on success, `1` on binary-not-found, `2` on user
9
+ * error or build failure.
10
+ */
1
11
  export declare function runTtsc(argv?: readonly string[]): number;