ttsc 0.12.4 → 0.13.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 (54) hide show
  1. package/README.md +3 -0
  2. package/cmd/ttsc/api_compile.go +15 -2
  3. package/cmd/ttsc/api_transform.go +15 -2
  4. package/cmd/ttsc/build.go +34 -4
  5. package/cmd/ttsc/filter.go +70 -0
  6. package/cmd/ttsc/filter_strips_unknown_forwarded_flag_test.go +61 -0
  7. package/cmd/ttsc/flags_gen.go +30 -0
  8. package/driver/program.go +105 -4
  9. package/driver/rewrite.go +39 -4
  10. package/lib/compiler/internal/project/resolveProjectConfig.js +18 -0
  11. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  12. package/lib/compiler/internal/runBuild.d.ts +5 -4
  13. package/lib/compiler/internal/runBuild.js +358 -51
  14. package/lib/compiler/internal/runBuild.js.map +1 -1
  15. package/lib/flags/parser.d.ts +63 -0
  16. package/lib/flags/parser.js +254 -0
  17. package/lib/flags/parser.js.map +1 -0
  18. package/lib/flags/schema.d.ts +146 -0
  19. package/lib/flags/schema.js +423 -0
  20. package/lib/flags/schema.js.map +1 -0
  21. package/lib/launcher/internal/prepareExecution.js +3 -0
  22. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  23. package/lib/launcher/internal/runTtsc.js +71 -147
  24. package/lib/launcher/internal/runTtsc.js.map +1 -1
  25. package/lib/launcher/internal/runTtsx.js +104 -72
  26. package/lib/launcher/internal/runTtsx.js.map +1 -1
  27. package/lib/plugin/internal/loadProjectPlugins.js +58 -23
  28. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  29. package/lib/structures/ITtscPlugin.d.ts +24 -0
  30. package/lib/structures/ITtscPluginCapabilities.d.ts +40 -0
  31. package/lib/structures/ITtscPluginCapabilities.js +3 -0
  32. package/lib/structures/ITtscPluginCapabilities.js.map +1 -0
  33. package/lib/structures/index.d.ts +1 -0
  34. package/lib/structures/index.js +1 -0
  35. package/lib/structures/index.js.map +1 -1
  36. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +5 -0
  37. package/lib/structures/internal/TtscCommonOptions.d.ts +19 -0
  38. package/package.json +9 -9
  39. package/shim/ast/lint.go +6 -0
  40. package/src/compiler/internal/project/resolveProjectConfig.ts +20 -0
  41. package/src/compiler/internal/runBuild.ts +463 -56
  42. package/src/flags/parser.ts +367 -0
  43. package/src/flags/schema.ts +589 -0
  44. package/src/launcher/internal/prepareExecution.ts +3 -0
  45. package/src/launcher/internal/runTtsc.ts +78 -136
  46. package/src/launcher/internal/runTtsx.ts +116 -74
  47. package/src/plugin/internal/loadProjectPlugins.ts +74 -27
  48. package/src/structures/ITtscPlugin.ts +26 -0
  49. package/src/structures/ITtscPluginCapabilities.ts +41 -0
  50. package/src/structures/index.ts +1 -0
  51. package/src/structures/internal/ITtscLoadedNativePlugin.ts +5 -0
  52. package/src/structures/internal/TtscCommonOptions.ts +19 -0
  53. package/utility/flags_gen.go +30 -0
  54. package/utility/host.go +43 -33
@@ -13,6 +13,7 @@ const resolveProjectConfig_1 = require("../../compiler/internal/project/resolveP
13
13
  const resolveBinary_1 = require("../../compiler/internal/resolveBinary");
14
14
  const runBuild_1 = require("../../compiler/internal/runBuild");
15
15
  const runSingleFileEmit_1 = require("../../compiler/internal/runSingleFileEmit");
16
+ const parser_1 = require("../../flags/parser");
16
17
  const buildSourcePlugin_1 = require("../../plugin/internal/buildSourcePlugin");
17
18
  const getCompilerVersionText_1 = require("./getCompilerVersionText");
18
19
  const resolveCacheDir_1 = require("./resolveCacheDir");
@@ -251,154 +252,76 @@ function ensureExecutable(binary) {
251
252
  }
252
253
  }
253
254
  function parseProjectArgs(argv) {
254
- let cacheDir;
255
- let cwd;
256
- let tsconfig;
257
- const rest = [...argv];
258
- while (rest.length !== 0) {
259
- const current = rest.shift();
260
- switch (current) {
261
- case "--cwd":
262
- cwd = takeValue(current, rest);
263
- break;
264
- case "--cache-dir":
265
- cacheDir = takeValue(current, rest);
266
- break;
267
- case "-p":
268
- case "--tsconfig":
269
- case "--project":
270
- tsconfig = takeValue(current, rest);
271
- break;
272
- default:
273
- if (current.startsWith("--cwd=")) {
274
- cwd = current.slice("--cwd=".length);
275
- }
276
- else if (current.startsWith("--cache-dir=")) {
277
- cacheDir = current.slice("--cache-dir=".length);
278
- }
279
- else if (current.startsWith("--tsconfig=")) {
280
- tsconfig = current.slice("--tsconfig=".length);
281
- }
282
- else if (current.startsWith("--project=")) {
283
- tsconfig = current.slice("--project=".length);
284
- }
285
- else {
286
- throw new Error(`ttsc: unknown option ${current}`);
287
- }
288
- break;
289
- }
290
- }
291
- return { cacheDir, cwd, tsconfig };
255
+ // `prepare` and `clean` are project-shaped commands. They share the same
256
+ // schema as the build lane; the engine forwards unknown flags as well as
257
+ // build-only flags (e.g. `--strict`) to the launcher's passthrough list
258
+ // so the legacy "unknown option" behaviour is no longer a separate trap
259
+ // (RC-3 + RC-4 prevention; see issue #125 §5 in the RCA).
260
+ const result = (0, parser_1.parseFlags)({
261
+ argv,
262
+ errorPrefix: "ttsc:",
263
+ subcommand: "prepare",
264
+ });
265
+ return {
266
+ cacheDir: (0, parser_1.getString)(result, "--cache-dir"),
267
+ cwd: (0, parser_1.getString)(result, "--cwd"),
268
+ tsconfig: (0, parser_1.getString)(result, "--tsconfig"),
269
+ };
292
270
  }
293
271
  function parseBuildArgs(argv, checkOnly) {
294
- let binary;
295
- let cacheDir;
296
- let cwd;
297
- let emit = checkOnly ? false : undefined;
298
- const files = [];
299
- let fix = false;
300
- let format = false;
301
- let outDir;
302
- let preserveWatchOutput = false;
303
- let quiet = true;
304
- let tsconfig;
305
- let watch = false;
306
- const rest = [...argv];
307
- while (rest.length !== 0) {
308
- const current = rest.shift();
309
- switch (current) {
310
- case "--emit":
311
- emit = true;
312
- break;
313
- case "--noEmit":
314
- emit = false;
315
- break;
316
- case "--quiet":
317
- quiet = true;
318
- break;
319
- case "--verbose":
320
- quiet = false;
321
- break;
322
- case "-w":
323
- case "--watch":
324
- watch = true;
325
- break;
326
- case "--preserveWatchOutput":
327
- preserveWatchOutput = true;
328
- break;
329
- case "--cwd":
330
- cwd = takeValue(current, rest);
331
- break;
332
- case "--outDir":
333
- outDir = takeValue(current, rest);
334
- break;
335
- case "-p":
336
- case "--tsconfig":
337
- case "--project":
338
- tsconfig = takeValue(current, rest);
339
- break;
340
- case "--binary":
341
- binary = takeValue(current, rest);
342
- break;
343
- case "--cache-dir":
344
- cacheDir = takeValue(current, rest);
345
- break;
346
- default:
347
- if (current.startsWith("--cwd=")) {
348
- cwd = current.slice("--cwd=".length);
349
- }
350
- else if (current.startsWith("--outDir=")) {
351
- outDir = current.slice("--outDir=".length);
352
- }
353
- else if (current === "-w") {
354
- // Unreachable: `-w` is handled by the switch case above. Kept here
355
- // as a guard in case the switch is refactored in the future.
356
- watch = true;
357
- }
358
- else if (current.startsWith("--tsconfig=")) {
359
- tsconfig = current.slice("--tsconfig=".length);
360
- }
361
- else if (current.startsWith("--project=")) {
362
- tsconfig = current.slice("--project=".length);
363
- }
364
- else if (current.startsWith("--preserveWatchOutput=")) {
365
- preserveWatchOutput =
366
- current.slice("--preserveWatchOutput=".length) !== "false";
367
- }
368
- else if (current.startsWith("--binary=")) {
369
- binary = current.slice("--binary=".length);
370
- }
371
- else if (current.startsWith("--cache-dir=")) {
372
- cacheDir = current.slice("--cache-dir=".length);
373
- }
374
- else if (current === "--verbose") {
375
- // Unreachable: `--verbose` is handled by the switch case above.
376
- quiet = false;
377
- }
378
- else if (current.startsWith("-")) {
379
- throw new Error(`ttsc: unknown option ${current}`);
380
- }
381
- else {
382
- files.push(current);
383
- }
384
- break;
385
- }
386
- }
272
+ const result = (0, parser_1.parseFlags)({
273
+ argv,
274
+ errorPrefix: "ttsc:",
275
+ subcommand: "build",
276
+ });
277
+ // Defaults: pinned by the previous hand-parser. `quiet` defaults true,
278
+ // `--verbose` flips it to false; `emit` defaults `undefined` in build
279
+ // mode (let tsconfig decide) and `false` in check/fix/format mode.
280
+ const verbose = (0, parser_1.getBoolean)(result, "--verbose");
281
+ const quietFlag = (0, parser_1.getBoolean)(result, "--quiet");
282
+ const quiet = verbose === true ? false : (quietFlag ?? true);
283
+ const explicitEmit = (0, parser_1.getBoolean)(result, "--emit");
284
+ const explicitNoEmit = (0, parser_1.getBoolean)(result, "--noEmit");
285
+ let emit;
286
+ if (explicitEmit === true)
287
+ emit = true;
288
+ else if (explicitNoEmit === true)
289
+ emit = false;
290
+ if (emit === undefined && checkOnly)
291
+ emit = false;
292
+ const files = result.positional.filter(looksLikeInputFile);
293
+ // Bare non-file positionals are flag values (e.g. the `es2020` in
294
+ // `--target es2020`). The engine left them in `positional` because the
295
+ // forwarded flag is unknown to the schema; route them back into
296
+ // passthrough so the user's pair reaches tsgo intact.
297
+ const trailingValues = result.positional.filter((token) => !looksLikeInputFile(token));
298
+ const passthrough = [...result.passthrough, ...trailingValues];
387
299
  return {
388
- binary,
389
- cacheDir,
390
- cwd,
300
+ binary: (0, parser_1.getString)(result, "--binary"),
301
+ cacheDir: (0, parser_1.getString)(result, "--cache-dir"),
302
+ checkers: (0, parser_1.getNumber)(result, "--checkers"),
303
+ cwd: (0, parser_1.getString)(result, "--cwd"),
391
304
  emit,
392
305
  files,
393
- fix,
394
- format,
395
- outDir,
396
- preserveWatchOutput,
306
+ fix: false,
307
+ format: false,
308
+ outDir: (0, parser_1.getString)(result, "--outDir"),
309
+ passthrough,
310
+ preserveWatchOutput: (0, parser_1.getBoolean)(result, "--preserveWatchOutput") === true,
397
311
  quiet,
398
- tsconfig,
399
- watch,
312
+ singleThreaded: (0, parser_1.getBoolean)(result, "--singleThreaded") === true,
313
+ tsconfig: (0, parser_1.getString)(result, "--tsconfig"),
314
+ watch: (0, parser_1.getBoolean)(result, "--watch") === true,
400
315
  };
401
316
  }
317
+ /**
318
+ * Report whether a bare CLI token is a TypeScript source file ttsc should
319
+ * compile in single-file mode. Anything without a TypeScript source extension
320
+ * is treated as a forwarded flag value rather than an input file.
321
+ */
322
+ function looksLikeInputFile(token) {
323
+ return [".ts", ".tsx", ".mts", ".cts"].some((ext) => token.endsWith(ext));
324
+ }
402
325
  function printHelp() {
403
326
  process.stdout.write([
404
327
  "ttsc — standalone compiler adapter and plugin host for tsgo.",
@@ -428,6 +351,11 @@ function printHelp() {
428
351
  " --verbose Print the build summary and emitted files",
429
352
  " --binary <path> Use an explicit tsgo binary",
430
353
  " --cache-dir <dir> Use this cache root for source-plugin builds",
354
+ " --singleThreaded Run TypeScript-Go single-threaded (one checker)",
355
+ " --checkers <n> Type-checker pool size (default: TypeScript-Go's)",
356
+ "",
357
+ " Any other flag is forwarded to tsgo as-is, so tsgo compiler options",
358
+ " such as --strict or --target work directly (e.g. ttsc --strict file.ts).",
431
359
  "",
432
360
  "Plugin contract:",
433
361
  " ttsc reads compilerOptions.plugins from tsconfig.json.",
@@ -458,9 +386,12 @@ function runSingleFile(options) {
458
386
  });
459
387
  const text = (0, runSingleFileEmit_1.runSingleFileEmit)({
460
388
  binary: options.binary,
389
+ checkers: options.checkers,
461
390
  cwd,
462
391
  file,
463
392
  out,
393
+ passthrough: options.passthrough,
394
+ singleThreaded: options.singleThreaded,
464
395
  tsconfig: options.tsconfig,
465
396
  });
466
397
  if (!node_fs_1.default.existsSync(out)) {
@@ -630,13 +561,6 @@ function collectWatchDirectories(root) {
630
561
  }
631
562
  return out;
632
563
  }
633
- function takeValue(flag, rest) {
634
- const value = rest.shift();
635
- if (!value) {
636
- throw new Error(`ttsc: ${flag} requires a value`);
637
- }
638
- return value;
639
- }
640
564
  function formatError(error) {
641
565
  if (error instanceof Error) {
642
566
  return error.message;
@@ -1 +1 @@
1
- {"version":3,"file":"runTtsc.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtsc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runTtsc.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtsc.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.runTtsx = runTtsx;
7
7
  const node_child_process_1 = require("node:child_process");
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
+ const parser_1 = require("../../flags/parser");
10
11
  const getCompilerVersionText_1 = require("./getCompilerVersionText");
11
12
  const prepareExecution_1 = require("./prepareExecution");
12
13
  const resolveCacheDir_1 = require("./resolveCacheDir");
@@ -46,8 +47,20 @@ function run(argv) {
46
47
  const prepared = (0, prepareExecution_1.prepareExecution)(entry, {
47
48
  binary: parsed.binary,
48
49
  cacheDir: (0, resolveCacheDir_1.resolveCacheDir)(cwd, parsed.cacheDir),
50
+ checkers: parsed.checkers,
49
51
  cwd,
52
+ passthrough: parsed.tsgoFlags,
53
+ // `--no-plugins` builds the entry's owning project with plugin
54
+ // discovery and loading disabled. ttsc's own config loaders use it
55
+ // when they evaluate a `*.config.ts` through ttsx: that build only
56
+ // needs to type-check and run the config file, so loading the host
57
+ // project's transform/check plugins (`@nestia/core`, `typia`, …)
58
+ // would be both wasteful and wrong — those plugins impose project
59
+ // requirements (e.g. `strict` mode) the ephemeral config-loader
60
+ // tsconfig deliberately does not satisfy.
61
+ plugins: parsed.noPlugins ? false : undefined,
50
62
  project: parsed.project,
63
+ singleThreaded: parsed.singleThreaded,
51
64
  });
52
65
  return runPreparedEntry(parsed, prepared, cwd);
53
66
  }
@@ -58,80 +71,100 @@ function formatError(error) {
58
71
  return String(error);
59
72
  }
60
73
  function parseCLI(argv) {
74
+ // ttsx accepts ttsc-style flags plus its own `--no-plugins` / `--require`.
75
+ // The shared schema engine recognises both; the engine returns positional
76
+ // tokens (entry file + flag values that aren't `.ts`) and a passthrough
77
+ // list mirroring the pre-schema behaviour.
78
+ //
79
+ // Order pin: ttsx accepts `-P` as an alias for `--project`. The schema
80
+ // declares `-p` for ttsc; ttsx's lowercase shape would collide on `-p`
81
+ // → `--tsconfig`, so the legacy `-P` (uppercase) is treated as `--project`
82
+ // via a manual rewrite before the engine sees argv. We preserve the
83
+ // historical behaviour and emit a structural error otherwise.
84
+ const rewritten = argv.map((token) => token === "-P"
85
+ ? "--project"
86
+ : token.startsWith("-P=")
87
+ ? `--project=${token.slice("-P=".length)}`
88
+ : token);
89
+ // Terminal flags (--help / --version) short-circuit before parsing so
90
+ // ttsx prints help text even when the entry file is missing.
91
+ for (const token of rewritten) {
92
+ if (token === "-h" || token === "--help")
93
+ return "help";
94
+ if (token === "-v" || token === "--version")
95
+ return "version";
96
+ }
97
+ const result = (0, parser_1.parseFlags)({
98
+ argv: rewritten,
99
+ errorPrefix: "ttsx:",
100
+ forwardAfterFirstPositional: true,
101
+ honorDoubleDashSeparator: true,
102
+ subcommand: "ttsx",
103
+ });
104
+ const entry = result.positional.find(looksLikeEntryFile);
105
+ if (entry === undefined) {
106
+ throw new Error("ttsx: entry file is required");
107
+ }
108
+ // With `forwardAfterFirstPositional: true` the parser reports
109
+ // `result.positional` as just the entry, `result.passthrough` as flags
110
+ // arriving BEFORE the entry (tsgo-forwarded), and `result.tail` as every
111
+ // token AFTER the entry — those are the user program's argv (e.g. the
112
+ // `generate --input src/input` tail of `ttsx typia.ts generate
113
+ // --input src/input`) and MUST NOT reach tsgo. Anything in positional
114
+ // that is not the entry is a pre-entry flag value (e.g. `--target es2020`)
115
+ // that the parser stored positionally; forward those to tsgo with the
116
+ // rest of `passthrough`.
117
+ const preEntryValues = result.positional.filter((token) => token !== entry && !looksLikeEntryFile(token));
118
+ const postEntryArgs = [...result.tail];
61
119
  const preload = [];
62
- const passthroughIndex = argv.indexOf("--");
63
- const head = passthroughIndex === -1 ? [...argv] : [...argv.slice(0, passthroughIndex)];
64
- const passthrough = passthroughIndex === -1 ? [] : [...argv.slice(passthroughIndex + 1)];
65
- let binary;
66
- let cacheDir;
67
- let cwd;
68
- let entry;
69
- let project;
70
- while (head.length !== 0) {
71
- const current = head.shift();
72
- if (entry) {
73
- passthrough.push(current, ...head);
74
- break;
120
+ // `--require` accepts repeated values; the schema engine writes the
121
+ // LAST one into `values`, so reconstruct the full list by scanning the
122
+ // raw argv. Mirrors the legacy parser's `preload.push(takeValue(...))`
123
+ // behaviour.
124
+ //
125
+ // Stop the rescue scan at the first token that begins tail mode —
126
+ // either the entry file or the `--` separator. Without this guard,
127
+ // `ttsx entry.ts -r preload.cjs` would BOTH preload `preload.cjs` AND
128
+ // forward `-r preload.cjs` to the entry's argv, double-effecting the
129
+ // module load. The schema engine already routes post-entry tokens to
130
+ // `result.tail`; the rescue scan must respect the same boundary.
131
+ const scanEnd = rewritten.findIndex((token) => looksLikeEntryFile(token) || token === "--");
132
+ const scanLimit = scanEnd === -1 ? rewritten.length : scanEnd;
133
+ for (let i = 0; i < scanLimit; i += 1) {
134
+ const token = rewritten[i];
135
+ if (token === "-r" || token === "--require") {
136
+ const value = rewritten[i + 1];
137
+ if (value !== undefined && !value.startsWith("-")) {
138
+ preload.push(value);
139
+ i += 1;
140
+ }
75
141
  }
76
- switch (current) {
77
- case "-h":
78
- case "--help":
79
- return "help";
80
- case "-v":
81
- case "--version":
82
- return "version";
83
- case "-P":
84
- case "--project":
85
- project = takeValue(current, head);
86
- break;
87
- case "--cwd":
88
- cwd = takeValue(current, head);
89
- break;
90
- case "--cache-dir":
91
- cacheDir = takeValue(current, head);
92
- break;
93
- case "-r":
94
- case "--require":
95
- preload.push(takeValue(current, head));
96
- break;
97
- case "--binary":
98
- binary = takeValue(current, head);
99
- break;
100
- default:
101
- if (current.startsWith("--project=")) {
102
- project = current.slice("--project=".length);
103
- }
104
- else if (current.startsWith("--cwd=")) {
105
- cwd = current.slice("--cwd=".length);
106
- }
107
- else if (current.startsWith("--cache-dir=")) {
108
- cacheDir = current.slice("--cache-dir=".length);
109
- }
110
- else if (current.startsWith("--binary=")) {
111
- binary = current.slice("--binary=".length);
112
- }
113
- else if (current.startsWith("-")) {
114
- throw new Error(`ttsx: unknown option ${current}`);
115
- }
116
- else {
117
- entry = current;
118
- }
119
- break;
142
+ else if (token.startsWith("--require=")) {
143
+ preload.push(token.slice("--require=".length));
120
144
  }
121
145
  }
122
- if (!entry) {
123
- throw new Error("ttsx: entry file is required");
124
- }
125
146
  return {
126
- binary,
127
- cacheDir,
128
- cwd,
147
+ binary: (0, parser_1.getString)(result, "--binary"),
148
+ cacheDir: (0, parser_1.getString)(result, "--cache-dir"),
149
+ checkers: (0, parser_1.getNumber)(result, "--checkers"),
150
+ cwd: (0, parser_1.getString)(result, "--cwd"),
129
151
  entry,
130
- passthrough,
152
+ noPlugins: (0, parser_1.getBoolean)(result, "--no-plugins") === true,
153
+ passthrough: postEntryArgs,
131
154
  preload,
132
- project,
155
+ project: (0, parser_1.getString)(result, "--tsconfig"),
156
+ singleThreaded: (0, parser_1.getBoolean)(result, "--singleThreaded") === true,
157
+ tsgoFlags: [...result.passthrough, ...preEntryValues],
133
158
  };
134
159
  }
160
+ /**
161
+ * Report whether a bare CLI token is the TypeScript entry file rather than a
162
+ * forwarded flag's value. ttsx runs a TypeScript entrypoint, so only a token
163
+ * with a TypeScript source extension is treated as the entry.
164
+ */
165
+ function looksLikeEntryFile(token) {
166
+ return [".ts", ".tsx", ".mts", ".cts"].some((ext) => token.endsWith(ext));
167
+ }
135
168
  function printHelp() {
136
169
  process.stdout.write([
137
170
  "ttsx — TypeScript runner provided by ttsc.",
@@ -144,10 +177,16 @@ function printHelp() {
144
177
  " --cwd <dir> Resolve entry/project relative to this directory",
145
178
  " --cache-dir <dir> Override the runner and source-plugin cache root",
146
179
  " --binary <path> Use an explicit tsgo binary",
180
+ " --no-plugins Build the project without ttsc plugins",
147
181
  " -r, --require <module> Preload a module before the entrypoint",
182
+ " --singleThreaded Run TypeScript-Go single-threaded (one checker)",
183
+ " --checkers <n> Type-checker pool size (default: TypeScript-Go's)",
148
184
  " -h, --help Show this help",
149
185
  " -v, --version Print the runner version",
150
186
  "",
187
+ " Any other flag before the entry is forwarded to tsgo, so options like",
188
+ " --strict apply to the type-check (e.g. ttsx --strict src/index.ts).",
189
+ "",
151
190
  "Examples:",
152
191
  " ttsx src/index.ts",
153
192
  " ttsx --project tsconfig.json src/index.ts -- --port 3000",
@@ -168,13 +207,6 @@ function isRelativeSpecifier(specifier) {
168
207
  specifier.startsWith(".\\") ||
169
208
  specifier.startsWith("..\\"));
170
209
  }
171
- function takeValue(flag, rest) {
172
- const value = rest.shift();
173
- if (!value) {
174
- throw new Error(`ttsx: ${flag} requires a value`);
175
- }
176
- return value;
177
- }
178
210
  function runPreparedEntry(parsed, execution, cwd) {
179
211
  node_fs_1.default.mkdirSync(execution.emitDir, { recursive: true });
180
212
  if (execution.moduleKind === "esm") {