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
@@ -7,8 +7,18 @@ 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");
13
+ const resolveCacheDir_1 = require("./resolveCacheDir");
14
+ /**
15
+ * CLI entry point for `ttsx`. Type-checks the owning project via tsgo, emits
16
+ * JavaScript to a PID-isolated temp directory, rewrites ESM specifiers when
17
+ * needed, and executes the compiled entry with the current Node.js runtime.
18
+ *
19
+ * @param argv - Command-line arguments (defaults to `process.argv.slice(2)`).
20
+ * @returns The child-process exit code, or `2` on a ttsx-level error.
21
+ */
12
22
  function runTtsx(argv = process.argv.slice(2)) {
13
23
  try {
14
24
  return run(argv);
@@ -36,9 +46,21 @@ function run(argv) {
36
46
  }
37
47
  const prepared = (0, prepareExecution_1.prepareExecution)(entry, {
38
48
  binary: parsed.binary,
39
- cacheDir: resolveCacheDir(cwd, parsed.cacheDir),
49
+ cacheDir: (0, resolveCacheDir_1.resolveCacheDir)(cwd, parsed.cacheDir),
50
+ checkers: parsed.checkers,
40
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,
41
62
  project: parsed.project,
63
+ singleThreaded: parsed.singleThreaded,
42
64
  });
43
65
  return runPreparedEntry(parsed, prepared, cwd);
44
66
  }
@@ -49,80 +71,100 @@ function formatError(error) {
49
71
  return String(error);
50
72
  }
51
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];
52
119
  const preload = [];
53
- const passthroughIndex = argv.indexOf("--");
54
- const head = passthroughIndex === -1 ? [...argv] : [...argv.slice(0, passthroughIndex)];
55
- const passthrough = passthroughIndex === -1 ? [] : [...argv.slice(passthroughIndex + 1)];
56
- let binary;
57
- let cacheDir;
58
- let cwd;
59
- let entry;
60
- let project;
61
- while (head.length !== 0) {
62
- const current = head.shift();
63
- if (entry) {
64
- passthrough.push(current, ...head);
65
- 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
+ }
66
141
  }
67
- switch (current) {
68
- case "-h":
69
- case "--help":
70
- return "help";
71
- case "-v":
72
- case "--version":
73
- return "version";
74
- case "-P":
75
- case "--project":
76
- project = takeValue(current, head);
77
- break;
78
- case "--cwd":
79
- cwd = takeValue(current, head);
80
- break;
81
- case "--cache-dir":
82
- cacheDir = takeValue(current, head);
83
- break;
84
- case "-r":
85
- case "--require":
86
- preload.push(takeValue(current, head));
87
- break;
88
- case "--binary":
89
- binary = takeValue(current, head);
90
- break;
91
- default:
92
- if (current.startsWith("--project=")) {
93
- project = current.slice("--project=".length);
94
- }
95
- else if (current.startsWith("--cwd=")) {
96
- cwd = current.slice("--cwd=".length);
97
- }
98
- else if (current.startsWith("--cache-dir=")) {
99
- cacheDir = current.slice("--cache-dir=".length);
100
- }
101
- else if (current.startsWith("--binary=")) {
102
- binary = current.slice("--binary=".length);
103
- }
104
- else if (current.startsWith("-")) {
105
- throw new Error(`ttsx: unknown option ${current}`);
106
- }
107
- else {
108
- entry = current;
109
- }
110
- break;
142
+ else if (token.startsWith("--require=")) {
143
+ preload.push(token.slice("--require=".length));
111
144
  }
112
145
  }
113
- if (!entry) {
114
- throw new Error("ttsx: entry file is required");
115
- }
116
146
  return {
117
- binary,
118
- cacheDir,
119
- 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"),
120
151
  entry,
121
- passthrough,
152
+ noPlugins: (0, parser_1.getBoolean)(result, "--no-plugins") === true,
153
+ passthrough: postEntryArgs,
122
154
  preload,
123
- project,
155
+ project: (0, parser_1.getString)(result, "--tsconfig"),
156
+ singleThreaded: (0, parser_1.getBoolean)(result, "--singleThreaded") === true,
157
+ tsgoFlags: [...result.passthrough, ...preEntryValues],
124
158
  };
125
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
+ }
126
168
  function printHelp() {
127
169
  process.stdout.write([
128
170
  "ttsx — TypeScript runner provided by ttsc.",
@@ -135,10 +177,16 @@ function printHelp() {
135
177
  " --cwd <dir> Resolve entry/project relative to this directory",
136
178
  " --cache-dir <dir> Override the runner and source-plugin cache root",
137
179
  " --binary <path> Use an explicit tsgo binary",
180
+ " --no-plugins Build the project without ttsc plugins",
138
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)",
139
184
  " -h, --help Show this help",
140
185
  " -v, --version Print the runner version",
141
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
+ "",
142
190
  "Examples:",
143
191
  " ttsx src/index.ts",
144
192
  " ttsx --project tsconfig.json src/index.ts -- --port 3000",
@@ -159,19 +207,6 @@ function isRelativeSpecifier(specifier) {
159
207
  specifier.startsWith(".\\") ||
160
208
  specifier.startsWith("..\\"));
161
209
  }
162
- function resolveCacheDir(cwd, cacheDir) {
163
- if (!cacheDir) {
164
- return undefined;
165
- }
166
- return node_path_1.default.isAbsolute(cacheDir) ? cacheDir : node_path_1.default.resolve(cwd, cacheDir);
167
- }
168
- function takeValue(flag, rest) {
169
- const value = rest.shift();
170
- if (!value) {
171
- throw new Error(`ttsx: ${flag} requires a value`);
172
- }
173
- return value;
174
- }
175
210
  function runPreparedEntry(parsed, execution, cwd) {
176
211
  node_fs_1.default.mkdirSync(execution.emitDir, { recursive: true });
177
212
  if (execution.moduleKind === "esm") {
@@ -198,6 +233,12 @@ function runPreparedEntry(parsed, execution, cwd) {
198
233
  }
199
234
  return result.status ?? 1;
200
235
  }
236
+ /**
237
+ * Walk every `.js`/`.mjs`/`.cjs` file in `root` and rewrite bare relative
238
+ * specifiers (e.g. `"./foo"`) to include the resolved file extension so Node
239
+ * can load them with `--input-type=module`. Files that did not change are not
240
+ * written back.
241
+ */
201
242
  function rewriteEsmSpecifiers(root) {
202
243
  const stack = [root];
203
244
  while (stack.length !== 0) {
@@ -366,26 +407,37 @@ function findTemplateExpressionEnd(input, expressionStart) {
366
407
  }
367
408
  return null;
368
409
  }
410
+ /**
411
+ * Append or fix a file extension on a relative specifier so that Node's ESM
412
+ * loader can resolve it. The resolution order mirrors Node's own algorithm:
413
+ * exact file match → directory index → `.js` fallback. Non-relative specifiers
414
+ * and already-extensioned paths are returned unchanged.
415
+ */
369
416
  function withResolvableExtension(fromFile, specifier) {
370
417
  if (!specifier.startsWith(".")) {
418
+ // Bare specifiers (packages, builtins) need no rewriting.
371
419
  return specifier;
372
420
  }
373
421
  if (/\.(?:[cm]?js|json|node)$/i.test(specifier)) {
422
+ // Already has a concrete extension the loader understands.
374
423
  return specifier;
375
424
  }
376
425
  const [pathname, suffix = ""] = splitSpecifierSuffix(specifier);
377
426
  const fromDir = node_path_1.default.dirname(fromFile);
427
+ // 1. Try the specifier as a file path with each JS extension.
378
428
  for (const extension of [".js", ".mjs", ".cjs"]) {
379
429
  if (node_fs_1.default.existsSync(node_path_1.default.resolve(fromDir, pathname + extension))) {
380
430
  return pathname + extension + suffix;
381
431
  }
382
432
  }
433
+ // 2. Try interpreting it as a directory with an index file.
383
434
  const directory = pathname.replace(/\/+$/, "");
384
435
  for (const extension of [".js", ".mjs", ".cjs"]) {
385
436
  if (node_fs_1.default.existsSync(node_path_1.default.resolve(fromDir, directory, "index" + extension))) {
386
437
  return `${directory}/index${extension}${suffix}`;
387
438
  }
388
439
  }
440
+ // 3. Last resort: append `.js` and let Node surface the error if it's wrong.
389
441
  return `${specifier}.js`;
390
442
  }
391
443
  function splitSpecifierSuffix(specifier) {
@@ -479,6 +531,12 @@ function skipRegex(input, start) {
479
531
  }
480
532
  return input.length;
481
533
  }
534
+ /**
535
+ * Determine whether the `/` at `start` opens a regex literal rather than a
536
+ * division operator. This is a conservative approximation: check the preceding
537
+ * non-whitespace token — if it is an operator character or a keyword that must
538
+ * be followed by an expression, we assume regex.
539
+ */
482
540
  function looksLikeRegexStart(input, start) {
483
541
  let i = start - 1;
484
542
  while (i >= 0 && /\s/.test(input[i])) {
@@ -1 +1 @@
1
- {"version":3,"file":"runTtsx.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtsx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runTtsx.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtsx.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,47 @@ export declare function buildSourcePlugin(opts: {
18
18
  ttscVersion: string;
19
19
  tsgoVersion: string;
20
20
  }): string;
21
+ /**
22
+ * Resolve the directory where compiled plugin binaries are cached.
23
+ *
24
+ * Priority order:
25
+ *
26
+ * 1. `cacheDir` option (resolved relative to `projectRoot`).
27
+ * 2. `TTSC_CACHE_DIR` environment variable.
28
+ * 3. Platform-specific global user cache (XDG / AppData / Library/Caches).
29
+ *
30
+ * When falling back to the global cache, a GC pass is triggered
31
+ * opportunistically to evict old or oversized entries before the cache is
32
+ * used.
33
+ */
21
34
  export declare function resolvePluginCacheRoot(projectRoot: string, cacheDir?: string): string;
35
+ /**
36
+ * Return the absolute path to the global plugin binary cache root.
37
+ *
38
+ * The path follows platform conventions (XDG on Linux, AppData on Windows,
39
+ * Library/Caches on macOS) and does not depend on project-local config. Used by
40
+ * `ttsc cache clean` to enumerate cache locations.
41
+ */
22
42
  export declare function resolveGlobalPluginCacheRoot(): string;
43
+ /**
44
+ * Return all directories that `ttsc cache clean` should wipe for a project.
45
+ *
46
+ * Covers three locations where plugin binaries may accumulate: the global user
47
+ * cache, the project-local `node_modules/.ttsc` cache (legacy), and the
48
+ * project-local `.ttsc` cache.
49
+ */
23
50
  export declare function defaultPluginCacheCleanTargets(projectRoot: string): string[];
51
+ /**
52
+ * Compute a deterministic SHA-256 cache key for a plugin build.
53
+ *
54
+ * The key covers every input that can produce a different binary: ttsc/tsgo
55
+ * versions, platform, entry package, Go compiler identity, Go build environment
56
+ * variables, overlay module sources, plugin source files, and contributor
57
+ * source files. Contributors are sorted by name so declaration order does not
58
+ * affect the key.
59
+ *
60
+ * Exposed for testing and for the `ttsc cache` CLI command.
61
+ */
24
62
  export declare function computeCacheKey(inputs: {
25
63
  contributors?: readonly ITtscBuildContributor[];
26
64
  dir: string;
@@ -14,6 +14,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
14
14
  const node_module_1 = require("node:module");
15
15
  const node_os_1 = __importDefault(require("node:os"));
16
16
  const node_path_1 = __importDefault(require("node:path"));
17
+ const paths_1 = require("../../compiler/internal/paths");
17
18
  const GO_MOD_SEARCH_MAX_DEPTH = 3;
18
19
  const TTSC_GO_MODULE_PATH = "github.com/samchon/ttsc/packages/ttsc";
19
20
  const TSGO_GO_MODULE_PATH = "github.com/microsoft/typescript-go";
@@ -328,7 +329,7 @@ function resolveSourceBuildTarget(opts) {
328
329
  if (packageDir === null) {
329
330
  throw new Error(`ttsc: plugin "${opts.pluginName}" source must be a Go package directory or go.mod file: ${source}`);
330
331
  }
331
- const goMod = findNearestGoMod(packageDir, GO_MOD_SEARCH_MAX_DEPTH);
332
+ const goMod = (0, paths_1.findNearestGoMod)(packageDir, GO_MOD_SEARCH_MAX_DEPTH);
332
333
  if (goMod === null) {
333
334
  throw new Error(`ttsc: plugin "${opts.pluginName}" source must be inside a Go module with go.mod within ${GO_MOD_SEARCH_MAX_DEPTH} parent directories: ${source}`);
334
335
  }
@@ -340,22 +341,6 @@ function resolveSourceBuildTarget(opts) {
340
341
  source,
341
342
  };
342
343
  }
343
- function findNearestGoMod(from, maxDepth) {
344
- let current = node_path_1.default.resolve(from);
345
- let depth = 0;
346
- while (true) {
347
- const candidate = node_path_1.default.join(current, "go.mod");
348
- if (node_fs_1.default.existsSync(candidate))
349
- return candidate;
350
- if (depth >= maxDepth)
351
- return null;
352
- const parent = node_path_1.default.dirname(current);
353
- if (parent === current)
354
- return null;
355
- current = parent;
356
- depth += 1;
357
- }
358
- }
359
344
  function materializeScratchDir(source, scratch) {
360
345
  node_fs_1.default.mkdirSync(scratch, { recursive: true });
361
346
  node_fs_1.default.cpSync(source, scratch, {
@@ -620,6 +605,19 @@ function walkForGoMod(dir, out) {
620
605
  walkForGoMod(node_path_1.default.join(dir, entry.name), out);
621
606
  }
622
607
  }
608
+ /**
609
+ * Resolve the directory where compiled plugin binaries are cached.
610
+ *
611
+ * Priority order:
612
+ *
613
+ * 1. `cacheDir` option (resolved relative to `projectRoot`).
614
+ * 2. `TTSC_CACHE_DIR` environment variable.
615
+ * 3. Platform-specific global user cache (XDG / AppData / Library/Caches).
616
+ *
617
+ * When falling back to the global cache, a GC pass is triggered
618
+ * opportunistically to evict old or oversized entries before the cache is
619
+ * used.
620
+ */
623
621
  function resolvePluginCacheRoot(projectRoot, cacheDir) {
624
622
  if (cacheDir) {
625
623
  return node_path_1.default.resolve(projectRoot, cacheDir, PLUGIN_CACHE_DIRNAME);
@@ -631,9 +629,23 @@ function resolvePluginCacheRoot(projectRoot, cacheDir) {
631
629
  maybePruneGlobalPluginCache(root);
632
630
  return root;
633
631
  }
632
+ /**
633
+ * Return the absolute path to the global plugin binary cache root.
634
+ *
635
+ * The path follows platform conventions (XDG on Linux, AppData on Windows,
636
+ * Library/Caches on macOS) and does not depend on project-local config. Used by
637
+ * `ttsc cache clean` to enumerate cache locations.
638
+ */
634
639
  function resolveGlobalPluginCacheRoot() {
635
640
  return node_path_1.default.join(resolveUserCacheRoot(), GLOBAL_CACHE_DIRNAME, PLUGIN_CACHE_DIRNAME);
636
641
  }
642
+ /**
643
+ * Return all directories that `ttsc cache clean` should wipe for a project.
644
+ *
645
+ * Covers three locations where plugin binaries may accumulate: the global user
646
+ * cache, the project-local `node_modules/.ttsc` cache (legacy), and the
647
+ * project-local `.ttsc` cache.
648
+ */
637
649
  function defaultPluginCacheCleanTargets(projectRoot) {
638
650
  return [
639
651
  resolveGlobalPluginCacheRoot(),
@@ -689,6 +701,17 @@ function resolveGoCompiler() {
689
701
  return homeSdk;
690
702
  return "go";
691
703
  }
704
+ /**
705
+ * Compute a deterministic SHA-256 cache key for a plugin build.
706
+ *
707
+ * The key covers every input that can produce a different binary: ttsc/tsgo
708
+ * versions, platform, entry package, Go compiler identity, Go build environment
709
+ * variables, overlay module sources, plugin source files, and contributor
710
+ * source files. Contributors are sorted by name so declaration order does not
711
+ * affect the key.
712
+ *
713
+ * Exposed for testing and for the `ttsc cache` CLI command.
714
+ */
692
715
  function computeCacheKey(inputs) {
693
716
  const hash = node_crypto_1.default.createHash("sha256");
694
717
  hash.update(`ttsc=${inputs.ttscVersion}\n`);