ttsc 0.12.4 → 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 (52) hide show
  1. package/cmd/ttsc/api_compile.go +15 -2
  2. package/cmd/ttsc/api_transform.go +15 -2
  3. package/cmd/ttsc/build.go +34 -4
  4. package/cmd/ttsc/filter.go +70 -0
  5. package/cmd/ttsc/filter_strips_unknown_forwarded_flag_test.go +61 -0
  6. package/cmd/ttsc/flags_gen.go +30 -0
  7. package/driver/program.go +105 -4
  8. package/driver/rewrite.go +39 -4
  9. package/lib/compiler/internal/project/resolveProjectConfig.js +18 -0
  10. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  11. package/lib/compiler/internal/runBuild.d.ts +5 -4
  12. package/lib/compiler/internal/runBuild.js +243 -47
  13. package/lib/compiler/internal/runBuild.js.map +1 -1
  14. package/lib/flags/parser.d.ts +63 -0
  15. package/lib/flags/parser.js +254 -0
  16. package/lib/flags/parser.js.map +1 -0
  17. package/lib/flags/schema.d.ts +147 -0
  18. package/lib/flags/schema.js +405 -0
  19. package/lib/flags/schema.js.map +1 -0
  20. package/lib/launcher/internal/prepareExecution.js +3 -0
  21. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  22. package/lib/launcher/internal/runTtsc.js +71 -147
  23. package/lib/launcher/internal/runTtsc.js.map +1 -1
  24. package/lib/launcher/internal/runTtsx.js +104 -72
  25. package/lib/launcher/internal/runTtsx.js.map +1 -1
  26. package/lib/plugin/internal/loadProjectPlugins.js +58 -23
  27. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  28. package/lib/structures/ITtscPlugin.d.ts +24 -0
  29. package/lib/structures/ITtscPluginCapabilities.d.ts +29 -0
  30. package/lib/structures/ITtscPluginCapabilities.js +3 -0
  31. package/lib/structures/ITtscPluginCapabilities.js.map +1 -0
  32. package/lib/structures/index.d.ts +1 -0
  33. package/lib/structures/index.js +1 -0
  34. package/lib/structures/index.js.map +1 -1
  35. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +5 -0
  36. package/lib/structures/internal/TtscCommonOptions.d.ts +19 -0
  37. package/package.json +9 -9
  38. package/src/compiler/internal/project/resolveProjectConfig.ts +20 -0
  39. package/src/compiler/internal/runBuild.ts +288 -57
  40. package/src/flags/parser.ts +367 -0
  41. package/src/flags/schema.ts +570 -0
  42. package/src/launcher/internal/prepareExecution.ts +3 -0
  43. package/src/launcher/internal/runTtsc.ts +78 -136
  44. package/src/launcher/internal/runTtsx.ts +116 -74
  45. package/src/plugin/internal/loadProjectPlugins.ts +74 -27
  46. package/src/structures/ITtscPlugin.ts +26 -0
  47. package/src/structures/ITtscPluginCapabilities.ts +29 -0
  48. package/src/structures/index.ts +1 -0
  49. package/src/structures/internal/ITtscLoadedNativePlugin.ts +5 -0
  50. package/src/structures/internal/TtscCommonOptions.ts +19 -0
  51. package/utility/flags_gen.go +30 -0
  52. package/utility/host.go +43 -33
@@ -7,8 +7,9 @@ exports.runBuild = runBuild;
7
7
  exports.appendBuildOutput = appendBuildOutput;
8
8
  exports.normalizeBuildOutput = normalizeBuildOutput;
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
+ const schema_1 = require("../../flags/schema");
10
11
  const loadProjectPlugins_1 = require("../../plugin/internal/loadProjectPlugins");
11
- const resolveProjectConfig_1 = require("./project/resolveProjectConfig");
12
+ const readProjectConfig_1 = require("./project/readProjectConfig");
12
13
  const resolveBinary_1 = require("./resolveBinary");
13
14
  const resolveTsgo_1 = require("./resolveTsgo");
14
15
  const sharedHostHelpers_1 = require("./sharedHostHelpers");
@@ -54,14 +55,15 @@ function nativePluginEnv(extra, execution, plugin) {
54
55
  */
55
56
  function runBuild(options = {}) {
56
57
  const execution = resolveExecutionContext(options);
58
+ const buildOptions = applyProjectNoEmit(options, execution);
57
59
  if (execution.nativePlugins.length > 0) {
58
60
  const compilers = execution.nativePlugins.filter((plugin) => plugin.stage === "transform");
59
- const checked = runNativeCheckPlugins(options, execution);
61
+ const checked = runNativeCheckPlugins(buildOptions, execution);
60
62
  if (checked.status !== 0) {
61
63
  return checked;
62
64
  }
63
- if (options.emit === false) {
64
- if (options.format === true) {
65
+ if (buildOptions.emit === false) {
66
+ if (buildOptions.format === true) {
65
67
  // Format mode is write-only by contract: the lint sidecar
66
68
  // already rewrote source files and reported nothing. Running
67
69
  // tsgo --noEmit OR a transform compiler afterwards would either
@@ -78,31 +80,36 @@ function runBuild(options = {}) {
78
80
  }
79
81
  if (compilers.length !== 0) {
80
82
  (0, sharedHostHelpers_1.assertSharedHostCompatibility)(compilers, "emit");
81
- return appendBuildOutput(checked, buildWithNativeCompilerPlugins(options, execution, compilers));
83
+ return appendBuildOutput(checked, buildWithNativeCompilerPlugins(buildOptions, execution, compilers));
82
84
  }
83
- return appendBuildOutput(checked, runTsgo(execution, ["--noEmit"], options));
85
+ if (checkPluginsReportTypeScriptDiagnostics(execution.nativePlugins)) {
86
+ return checked;
87
+ }
88
+ return appendBuildOutput(checked, runTsgo(execution, ["--noEmit"], buildOptions));
84
89
  }
85
90
  let result;
86
91
  if (compilers.length !== 0) {
87
92
  (0, sharedHostHelpers_1.assertSharedHostCompatibility)(compilers, "emit");
88
- result = appendBuildOutput(checked, buildWithNativeCompilerPlugins(options, execution, compilers));
93
+ result = appendBuildOutput(checked, buildWithNativeCompilerPlugins(buildOptions, execution, compilers));
89
94
  }
90
95
  else {
91
- if (options.skipDiagnosticsCheck !== true) {
92
- const tsgoChecked = runTsgo(execution, ["--noEmit"], options);
96
+ if (buildOptions.skipDiagnosticsCheck !== true &&
97
+ !checkPluginsReportTypeScriptDiagnostics(execution.nativePlugins) &&
98
+ !forwardsTerminalTsgoFlag(buildOptions)) {
99
+ const tsgoChecked = runTsgo(execution, ["--noEmit"], buildOptions);
93
100
  if (tsgoChecked.status !== 0) {
94
101
  return appendBuildOutput(checked, tsgoChecked);
95
102
  }
96
103
  }
97
- const args = createTsgoBuildArgs(execution, options, {
98
- listEmittedFiles: options.forceListEmittedFiles === true,
104
+ const args = createTsgoBuildArgs(execution, buildOptions, {
105
+ listEmittedFiles: buildOptions.forceListEmittedFiles === true,
99
106
  });
100
- const emitted = runTsgoBuild(execution, options, args);
107
+ const emitted = runTsgoBuild(execution, buildOptions, args);
101
108
  result = appendBuildOutput(checked, emitted);
102
109
  }
103
110
  return result;
104
111
  }
105
- if (options.format === true) {
112
+ if (buildOptions.format === true) {
106
113
  // Format mode is write-only by contract — see the matching
107
114
  // short-circuit in the with-native-plugins branch above. When no
108
115
  // native plugin is loaded there is nothing for `ttsc format` to
@@ -116,16 +123,80 @@ function runBuild(options = {}) {
116
123
  stderr: "",
117
124
  };
118
125
  }
119
- if (options.emit !== false && options.skipDiagnosticsCheck !== true) {
120
- const checked = runTsgo(execution, ["--noEmit"], options);
121
- if (checked.status !== 0) {
122
- return checked;
123
- }
124
- }
125
- const args = createTsgoBuildArgs(execution, options, {
126
- listEmittedFiles: options.emit !== false && options.forceListEmittedFiles === true,
126
+ const args = createTsgoBuildArgs(execution, buildOptions, {
127
+ listEmittedFiles: buildOptions.emit !== false &&
128
+ buildOptions.forceListEmittedFiles === true,
129
+ noEmitOnError: buildOptions.emit !== false &&
130
+ buildOptions.skipDiagnosticsCheck !== true &&
131
+ !forwardsTerminalTsgoFlag(buildOptions),
127
132
  });
128
- return runTsgoBuild(execution, options, args);
133
+ return runTsgoBuild(execution, buildOptions, args);
134
+ }
135
+ /**
136
+ * A tsconfig-level `noEmit: true` is an analysis-only build unless the user
137
+ * explicitly asks `ttsc --emit` to override it. Treat it like CLI `--noEmit`
138
+ * before composing tsgo/native-host arguments so ttsc does not add emit-only
139
+ * guards around projects that cannot emit.
140
+ */
141
+ function applyProjectNoEmit(options, execution) {
142
+ if (options.emit !== undefined || execution.projectNoEmit !== true) {
143
+ return options;
144
+ }
145
+ return { ...options, emit: false };
146
+ }
147
+ function checkPluginsReportTypeScriptDiagnostics(plugins) {
148
+ return plugins.some((plugin) => plugin.stage === "check" && plugin.reportsTypeScriptDiagnostics === true);
149
+ }
150
+ /**
151
+ * Tsgo CLI flags that make `tsgo` print something and exit instead of building
152
+ * (`--showConfig`, `--listFilesOnly`, `--help`, …). ttsc must not add
153
+ * build-only guard flags around these because the forwarded flag asks tsgo to
154
+ * print something and exit instead of compiling the project.
155
+ *
156
+ * Schema-derived: the set is computed from `FLAG_SCHEMA[*].terminal === true`,
157
+ * not hand-maintained next to runBuild. Adding a new terminal flag now means
158
+ * editing `schema.ts` and re-running `pnpm format` — every layer learns about
159
+ * it automatically.
160
+ */
161
+ const TERMINAL_TSGO_FLAGS = (() => {
162
+ // Mirror the legacy hand-list: schema's terminal flags ∪ the `-?` alias
163
+ // tsgo accepts (kept here because it is a tsgo synonym, not a ttsc flag).
164
+ const out = new Set(schema_1.TERMINAL_FLAGS);
165
+ out.add("-?");
166
+ return out;
167
+ })();
168
+ /**
169
+ * Report whether the caller forwarded a print-and-exit tsgo flag, so ttsc can
170
+ * avoid adding compile-only flags to a command that is not going to compile.
171
+ */
172
+ function forwardsTerminalTsgoFlag(options) {
173
+ return (options.passthrough?.some((flag) => TERMINAL_TSGO_FLAGS.has(flag)) ?? false);
174
+ }
175
+ /**
176
+ * Report whether the caller forwarded a flag ttsc adds to tsgo internally —
177
+ * e.g. `--listEmittedFiles` (ttsc adds it to learn emitted paths) or
178
+ * `--noEmit` (ttsc adds it for the pre-emit type-check). When the user
179
+ * also forwards the same flag, post-processing must keep the user-visible
180
+ * effect intact instead of stripping it as ttsc-internal noise.
181
+ *
182
+ * Schema-derived: `FLAG_SCHEMA[*].internalShadow === true`. RC-2 from the
183
+ * RCA (RCA section 3, `--listEmittedFiles` / `--showConfig` swallowed):
184
+ * the per-flag `passthrough.includes("…")` check is now one structural
185
+ * lookup against the schema, not one bespoke `if` per shadow flag.
186
+ */
187
+ function forwardsInternalShadowFlag(options, flag) {
188
+ if (!schema_1.INTERNAL_SHADOW_FLAGS.has(flag))
189
+ return false;
190
+ const passthrough = options.passthrough;
191
+ if (passthrough === undefined)
192
+ return false;
193
+ // Match both the bare form (`--pretty`) and the inline-value form
194
+ // (`--pretty=true`). The launcher's parser preserves these shapes
195
+ // verbatim, so a tolerant prefix compare is what we want — `passthrough`
196
+ // never holds a stray substring that happens to start with the flag
197
+ // because parser positional/passthrough sinks split on whitespace.
198
+ const inlinePrefix = `${flag}=`;
199
+ return passthrough.some((token) => token === flag || token.startsWith(inlinePrefix));
129
200
  }
130
201
  /**
131
202
  * Dispatch a build through the shared-host native plugin. The host plugin is
@@ -146,6 +217,8 @@ function runTsgo(execution, extraArgs, options) {
146
217
  execution.tsconfig,
147
218
  ...extraArgs,
148
219
  ...createTsgoDiagnosticArgs(options),
220
+ ...createTsgoThreadingArgs(options),
221
+ ...(options.passthrough ?? []),
149
222
  ], {
150
223
  cwd: execution.projectRoot,
151
224
  env: mergeEnv(options.env),
@@ -186,7 +259,15 @@ function runTsgoBuild(execution, options, args) {
186
259
  stderr: (0, spawnNative_1.outputText)(res.stderr),
187
260
  };
188
261
  const emittedFiles = parseEmittedFiles(result.stdout);
189
- if (emittedFiles.length !== 0) {
262
+ // The `TSFILE:` lines are tsgo's `--listEmittedFiles` output. ttsc adds that
263
+ // flag internally to learn the emitted paths and strips the lines back out
264
+ // as noise — but when the user themselves forwarded `--listEmittedFiles`,
265
+ // the listing is what they asked for, so it must survive to stdout.
266
+ // The lookup is schema-driven (FLAG_SCHEMA marks `--listEmittedFiles` with
267
+ // `internalShadow: true`); see `forwardsInternalShadowFlag` for the RC-2
268
+ // background.
269
+ const userListedEmitted = forwardsInternalShadowFlag(options, "--listEmittedFiles");
270
+ if (emittedFiles.length !== 0 && !userListedEmitted) {
190
271
  result.stdout = stripEmittedFileLines(result.stdout);
191
272
  }
192
273
  return normalizeBuildOutput({ ...result, emittedFiles }, execution.projectRoot);
@@ -196,6 +277,9 @@ function createTsgoBuildArgs(execution, options, flags) {
196
277
  const args = ["-p", execution.tsconfig];
197
278
  if (options.emit === true) {
198
279
  args.push("--noEmit", "false", "--emitDeclarationOnly", "false");
280
+ if (execution.rewriteRelativeImportExtensionsForEmit) {
281
+ args.push("--rewriteRelativeImportExtensions");
282
+ }
199
283
  }
200
284
  else if (options.emit === false) {
201
285
  args.push("--noEmit");
@@ -207,14 +291,49 @@ function createTsgoBuildArgs(execution, options, flags) {
207
291
  args.push("--listEmittedFiles");
208
292
  }
209
293
  args.push(...createTsgoDiagnosticArgs(options));
294
+ args.push(...createTsgoThreadingArgs(options));
295
+ args.push(...(options.passthrough ?? []));
296
+ if (flags.noEmitOnError === true) {
297
+ args.push("--noEmitOnError");
298
+ }
210
299
  return args;
211
300
  }
212
301
  /**
213
302
  * Return `["--pretty", "false"]` when structured diagnostics are requested so
214
303
  * that the output can be parsed line-by-line, or an empty array otherwise.
304
+ *
305
+ * When the user explicitly forwarded `--pretty` (any value), the internal
306
+ * `--pretty false` shadow is dropped so the user wins on the surface. ttsc's
307
+ * own diagnostic parser will then see pretty-formatted output and fall back
308
+ * to surfacing it verbatim — the RC-2 contract that `--pretty`'s
309
+ * `internalShadow: true` flag in `FLAG_SCHEMA` declares. Without this guard
310
+ * the order in `runTsgo` (internal flags first, passthrough last) would
311
+ * still let the user's `--pretty true` override at the tsgo level, but ttsc
312
+ * would have already committed to a structured-diagnostics post-process
313
+ * that no longer matches the actual output.
215
314
  */
216
315
  function createTsgoDiagnosticArgs(options) {
217
- return options.structuredDiagnostics === true ? ["--pretty", "false"] : [];
316
+ if (options.structuredDiagnostics !== true)
317
+ return [];
318
+ if (forwardsInternalShadowFlag(options, "--pretty"))
319
+ return [];
320
+ return ["--pretty", "false"];
321
+ }
322
+ /**
323
+ * Forward the `--singleThreaded` / `--checkers` knobs to a `tsgo` invocation.
324
+ * tsgo accepts both flags natively, so the no-plugin build lane only has to
325
+ * pass them through; the type-check and emit passes share this so the checker
326
+ * pool size stays consistent across both.
327
+ */
328
+ function createTsgoThreadingArgs(options) {
329
+ const args = [];
330
+ if (options.singleThreaded === true) {
331
+ args.push("--singleThreaded");
332
+ }
333
+ if (options.checkers !== undefined) {
334
+ args.push("--checkers", String(options.checkers));
335
+ }
336
+ return args;
218
337
  }
219
338
  /** Build the argument list for a native plugin `build`/`check` invocation. */
220
339
  function createNativeBuildArgs(execution, options, plugins) {
@@ -227,22 +346,25 @@ function createNativeBuildArgs(execution, options, plugins) {
227
346
  if (options.emit === true) {
228
347
  args.push("--emit");
229
348
  }
230
- else if (options.emit === false) {
231
- args.push("--noEmit");
232
- }
233
349
  if (options.outDir) {
234
350
  args.push("--outDir=" + node_path_1.default.resolve(execution.cwd, options.outDir));
235
351
  }
236
- if (options.quiet === false) {
237
- args.push("--verbose");
238
- }
239
- else if (options.quiet === true) {
240
- args.push("--quiet");
352
+ // Third-party transform hosts already treat the `check` subcommand as a
353
+ // quiet no-emit pass. Keep ttsc-owned build modifiers off that lane so older
354
+ // strict hosts do not reject unknown optional flags before analysis starts.
355
+ if (options.emit !== false) {
356
+ if (options.quiet === false) {
357
+ args.push("--verbose");
358
+ }
359
+ else if (options.quiet === true) {
360
+ args.push("--quiet");
361
+ }
241
362
  }
363
+ args.push(...createNativeTsgoArgs(options));
242
364
  return args;
243
365
  }
244
366
  /** Build the argument list for a native plugin check/fix/format invocation. */
245
- function createNativeCheckArgs(execution, options) {
367
+ function createNativeCheckArgs(execution, options, plugin) {
246
368
  const args = [
247
369
  nativeCheckSubcommand(options),
248
370
  "--tsconfig=" + execution.tsconfig,
@@ -258,8 +380,77 @@ function createNativeCheckArgs(execution, options) {
258
380
  else if (options.quiet === true) {
259
381
  args.push("--quiet");
260
382
  }
383
+ args.push(...createNativeCheckThreadingArgs(options, plugin));
384
+ args.push(...createNativeTsgoArgs(options));
261
385
  return args;
262
386
  }
387
+ // `--singleThreaded` / `--checkers` are forwarded to native check-stage hosts
388
+ // only when the host is one ttsc itself owns (currently `@ttsc/lint`). #113
389
+ // forwarded both flags as bare CLI tokens to every native sidecar, then
390
+ // commit ad3443a reverted that across the board because a third-party host
391
+ // built before #113 has no `singleThreaded` / `checkers` flag in its
392
+ // `flag.FlagSet` and would exit 2 on the unknown flag — so
393
+ // `ttsc --singleThreaded` failed deterministically on every typia/nestia
394
+ // transform-plugin project.
395
+ //
396
+ // The performance ceiling that caused, though, is real: format/check passes
397
+ // through the lint sidecar are dominated by parallel parse + parallel rule
398
+ // walk, and with the threading knob silently dropped, MT and ST runs of
399
+ // `ttsc format` produced identical wall-clock numbers — the benchmark cell
400
+ // became a non-measurement. The lint sidecar is built and shipped from this
401
+ // repo, accepts both flags via `parseSubcommandFlags`, and threads them down
402
+ // to `loadProgram` (parse phase) and `engine.SetSerial` (rule walk). The host
403
+ // is identified by name (`@ttsc/lint`) so a third-party check-stage plugin
404
+ // keeps the strict-host behavior from ad3443a; only the host we control gets
405
+ // the bare flag. Transform-stage hosts are never reached by this path
406
+ // (they go through `createNativeBuildArgs`), so the typia/nestia regression
407
+ // remains pinned by `test_plugin_corpus_single_threaded_flag_does_not_break_a_native_plugin_build`.
408
+ function createNativeCheckThreadingArgs(options, plugin) {
409
+ if (!nativeHostAcceptsThreadingArgs(plugin))
410
+ return [];
411
+ const args = [];
412
+ if (options.singleThreaded === true) {
413
+ args.push("--singleThreaded");
414
+ }
415
+ if (options.checkers !== undefined) {
416
+ args.push("--checkers=" + String(options.checkers));
417
+ }
418
+ return args;
419
+ }
420
+ /**
421
+ * Return true when the loaded native check-stage host has declared
422
+ * `capabilities.threadingArgs` in its plugin descriptor.
423
+ *
424
+ * The lint sidecar (`packages/lint/src/index.ts::createTtscPlugin`) opts in
425
+ * because its `parseSubcommandFlags` handler accepts `--singleThreaded` and
426
+ * `--checkers` directly and threads them into `loadProgram` (parse phase)
427
+ * and `engine.SetSerial` (rule walk). Any other check-stage host that has
428
+ * not declared the capability is treated as a third-party binary whose flag
429
+ * set is unknown, matching the conservative default from commit ad3443a.
430
+ *
431
+ * The capability flag replaces the prior `plugin.name === "@ttsc/lint"`
432
+ * string check: routing on a descriptor field instead of the plugin name
433
+ * lets the next first-party check-stage plugin opt in without ttsc needing
434
+ * to learn its name. See `ITtscPluginCapabilities` and issue #125 for the
435
+ * broader CLI-parser cleanup this is the quick-win step of.
436
+ */
437
+ function nativeHostAcceptsThreadingArgs(plugin) {
438
+ return plugin.capabilities?.threadingArgs === true;
439
+ }
440
+ /**
441
+ * Forward the tsgo flags ttsc did not recognize to a native sidecar as one
442
+ * JSON-encoded `--tsgo-args` flag. The sidecar replays them through tsgo's own
443
+ * option parser onto `CompilerOptions`, so a flag like `ttsc --strict` reaches
444
+ * a plugin build the same way it reaches the plain tsgo lane. Encoded as a
445
+ * single token so the sidecars' unknown-flag filters keep it intact.
446
+ */
447
+ function createNativeTsgoArgs(options) {
448
+ const passthrough = options.passthrough;
449
+ if (passthrough === undefined || passthrough.length === 0) {
450
+ return [];
451
+ }
452
+ return ["--tsgo-args=" + JSON.stringify(passthrough)];
453
+ }
263
454
  /**
264
455
  * Decide which native plugin subcommand the lint sidecar should run for the
265
456
  * current `runBuild` invocation. The launcher selects exactly one of `fix` /
@@ -296,7 +487,7 @@ function runNativeCheckPlugins(options, execution) {
296
487
  stderr: "",
297
488
  };
298
489
  for (const plugin of execution.nativePlugins.filter((plugin) => plugin.stage === "check")) {
299
- const result = runNativePluginCommand(plugin, createNativeCheckArgs(execution, options), options, execution, "ttsc.check");
490
+ const result = runNativePluginCommand(plugin, createNativeCheckArgs(execution, options, plugin), options, execution, "ttsc.check");
300
491
  out = appendBuildOutput(out, result);
301
492
  if (result.status !== 0) {
302
493
  return out;
@@ -348,27 +539,32 @@ function appendBuildOutput(left, right) {
348
539
  */
349
540
  function resolveExecutionContext(options) {
350
541
  const cwd = node_path_1.default.resolve(options.cwd ?? process.cwd());
351
- const tsconfig = (0, resolveProjectConfig_1.resolveProjectConfig)({
542
+ const project = (0, readProjectConfig_1.readProjectConfig)({
352
543
  cwd,
544
+ projectRoot: options.projectRoot,
353
545
  tsconfig: options.tsconfig,
354
546
  });
355
- const projectRoot = options.projectRoot
356
- ? node_path_1.default.resolve(cwd, options.projectRoot)
357
- : node_path_1.default.dirname(tsconfig);
547
+ const tsconfig = project.path;
548
+ const projectRoot = project.root;
358
549
  const tsgo = (0, resolveTsgo_1.resolveTsgo)({ ...options, cwd: projectRoot });
359
- const fallbackBinary = (0, resolveBinary_1.resolveBinary)(options);
360
- const loaded = (0, loadProjectPlugins_1.loadProjectPlugins)({
361
- binary: fallbackBinary ?? "",
362
- cacheDir: options.cacheDir ?? options.env?.TTSC_CACHE_DIR,
363
- cwd,
364
- entries: options.plugins,
365
- projectRoot,
366
- tsconfig,
367
- });
550
+ const hasPlugins = (0, loadProjectPlugins_1.hasProjectPluginEntries)(project, options.plugins);
551
+ const loaded = hasPlugins
552
+ ? (0, loadProjectPlugins_1.loadProjectPlugins)({
553
+ binary: (0, resolveBinary_1.resolveBinary)(options) ?? "",
554
+ cacheDir: options.cacheDir ?? options.env?.TTSC_CACHE_DIR,
555
+ cwd,
556
+ entries: options.plugins,
557
+ projectRoot,
558
+ tsconfig,
559
+ })
560
+ : { nativePlugins: [] };
368
561
  return {
369
562
  cwd,
370
563
  nativePlugins: loaded.nativePlugins,
564
+ projectNoEmit: project.compilerOptions.noEmit === true,
371
565
  projectRoot,
566
+ rewriteRelativeImportExtensionsForEmit: options.emit === true &&
567
+ project.compilerOptions.allowImportingTsExtensions === true,
372
568
  tsgo,
373
569
  tsconfig,
374
570
  };
@@ -1 +1 @@
1
- {"version":3,"file":"runBuild.js","sourceRoot":"","sources":["../../../src/compiler/internal/runBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runBuild.js","sourceRoot":"","sources":["../../../src/compiler/internal/runBuild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { AnySubcommand, ValueValidator } from "./schema";
2
+ /**
3
+ * Per-subcommand parse result. `values` is keyed by the canonical flag
4
+ * name (e.g. `"--singleThreaded"`); boolean flags resolve to `true`/`false`,
5
+ * value flags to the parsed value type. Callers narrow with the helpers
6
+ * below (`getBoolean`, `getString`, `getNumber`).
7
+ */
8
+ export interface ParseResult {
9
+ /** Canonical flag name → resolved value. */
10
+ readonly values: ReadonlyMap<string, string | boolean | number>;
11
+ /** Flags the engine did not consume — forwarded to tsgo. */
12
+ readonly passthrough: readonly string[];
13
+ /** Bare non-flag positional arguments, in original order. */
14
+ readonly positional: readonly string[];
15
+ /**
16
+ * Tokens that arrived after the `forwardAfterFirstPositional` sentinel.
17
+ * These are intended for the user's program (e.g. ttsx's entry-file argv);
18
+ * they are NOT forwarded to tsgo. Always empty when
19
+ * `forwardAfterFirstPositional` is false.
20
+ */
21
+ readonly tail: readonly string[];
22
+ }
23
+ /**
24
+ * Options controlling a single `parseFlags` invocation.
25
+ */
26
+ export interface ParseOptions {
27
+ /** Which subcommand's flag subset to accept. */
28
+ readonly subcommand: AnySubcommand;
29
+ /** Argv tail (the launcher has already split off the subcommand). */
30
+ readonly argv: readonly string[];
31
+ /**
32
+ * Error prefix used when the parser throws (`"ttsc:"` or `"ttsx:"`). The
33
+ * engine itself is product-neutral; the caller controls the brand.
34
+ */
35
+ readonly errorPrefix: string;
36
+ /**
37
+ * `true` to treat the FIRST positional token as a sentinel that switches
38
+ * the engine to "forward everything after" mode (ttsx's entry-file
39
+ * behaviour: tokens after the entry are runtime argv, not tsgo flags).
40
+ * The sentinel itself is still recorded as a positional argument.
41
+ */
42
+ readonly forwardAfterFirstPositional?: boolean;
43
+ /**
44
+ * Optional `"--"` separator handling: when present in argv, every token
45
+ * after `--` is appended to `passthrough` as-is (ttsx already does this).
46
+ */
47
+ readonly honorDoubleDashSeparator?: boolean;
48
+ }
49
+ /**
50
+ * Parse `argv` according to FLAG_SCHEMA filtered by `subcommand`. Returns a
51
+ * `ParseResult`. Throws `Error` (with the configured prefix) on invalid
52
+ * input — unknown subcommand-only flag, missing required value, value that
53
+ * fails its validator.
54
+ */
55
+ export declare function parseFlags(opts: ParseOptions): ParseResult;
56
+ /** Return the boolean value of `flag` or `undefined` if not present. */
57
+ export declare function getBoolean(result: ParseResult, flag: string): boolean | undefined;
58
+ /** Return the string value of `flag` or `undefined` if not present. */
59
+ export declare function getString(result: ParseResult, flag: string): string | undefined;
60
+ /** Return the numeric value of `flag` or `undefined` if not present. */
61
+ export declare function getNumber(result: ParseResult, flag: string): number | undefined;
62
+ /** Marker type so docs callers can name the validator without an import dance. */
63
+ export type { ValueValidator };