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.
- package/cmd/platform/main.go +9 -0
- package/cmd/ttsc/api_compile.go +122 -101
- package/cmd/ttsc/api_compile_branches_test.go +55 -57
- package/cmd/ttsc/api_transform.go +67 -49
- package/cmd/ttsc/api_transform_branches_test.go +30 -32
- package/cmd/ttsc/build.go +141 -108
- package/cmd/ttsc/build_branches_test.go +95 -97
- package/cmd/ttsc/filter.go +70 -0
- package/cmd/ttsc/filter_strips_unknown_forwarded_flag_test.go +61 -0
- package/cmd/ttsc/flags_gen.go +30 -0
- package/cmd/ttsc/helpers_test.go +39 -28
- package/cmd/ttsc/main.go +111 -104
- package/cmd/ttsc/main_alias_branches_test.go +21 -23
- package/cmd/ttscserver/main.go +96 -90
- package/cmd/ttscserver/run_lsp_prefers_tsgo_flag_test.go +22 -22
- package/cmd/ttscserver/run_lsp_reports_server_error_test.go +22 -22
- package/cmd/ttscserver/run_lsp_uses_tsgo_environment_test.go +23 -23
- package/cmd/utility-host/main.go +30 -23
- package/driver/lsp.go +53 -7
- package/driver/plugins.go +88 -72
- package/driver/program.go +464 -340
- package/driver/rewrite.go +477 -380
- package/internal/lspserver/lsp_envelope.go +64 -64
- package/internal/lspserver/lsp_frame.go +60 -60
- package/internal/lspserver/lsp_plugin.go +57 -57
- package/internal/lspserver/lsp_proxy.go +265 -251
- package/internal/lspserver/lsp_server.go +155 -144
- package/lib/TtscCompiler.d.ts +7 -0
- package/lib/TtscCompiler.js +7 -0
- package/lib/TtscCompiler.js.map +1 -1
- package/lib/compiler/internal/buildNativeCompiler.d.ts +11 -1
- package/lib/compiler/internal/buildNativeCompiler.js +23 -3
- package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
- package/lib/compiler/internal/compileProjectInMemory.d.ts +9 -0
- package/lib/compiler/internal/compileProjectInMemory.js +36 -21
- package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
- package/lib/compiler/internal/paths.d.ts +27 -0
- package/lib/compiler/internal/paths.js +70 -0
- package/lib/compiler/internal/paths.js.map +1 -0
- package/lib/compiler/internal/project/readProjectConfig.d.ts +9 -1
- package/lib/compiler/internal/project/readProjectConfig.js +80 -1
- package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
- package/lib/compiler/internal/project/resolveProjectConfig.d.ts +13 -1
- package/lib/compiler/internal/project/resolveProjectConfig.js +42 -1
- package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
- package/lib/compiler/internal/resolveBinary.d.ts +9 -1
- package/lib/compiler/internal/resolveBinary.js +17 -1
- package/lib/compiler/internal/resolveBinary.js.map +1 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +16 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.js +42 -10
- package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
- package/lib/compiler/internal/resolveTsgo.d.ts +21 -1
- package/lib/compiler/internal/resolveTsgo.js +23 -1
- package/lib/compiler/internal/resolveTsgo.js.map +1 -1
- package/lib/compiler/internal/runBuild.d.ts +24 -4
- package/lib/compiler/internal/runBuild.js +355 -93
- package/lib/compiler/internal/runBuild.js.map +1 -1
- package/lib/compiler/internal/runSingleFileEmit.d.ts +10 -1
- package/lib/compiler/internal/runSingleFileEmit.js +14 -1
- package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
- package/lib/compiler/internal/sharedHostHelpers.d.ts +5 -0
- package/lib/compiler/internal/sharedHostHelpers.js +6 -2
- package/lib/compiler/internal/sharedHostHelpers.js.map +1 -1
- package/lib/compiler/internal/spawnNative.d.ts +21 -0
- package/lib/compiler/internal/spawnNative.js +59 -0
- package/lib/compiler/internal/spawnNative.js.map +1 -0
- package/lib/compiler/internal/transformProjectInMemory.d.ts +15 -1
- package/lib/compiler/internal/transformProjectInMemory.js +57 -61
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/flags/parser.d.ts +63 -0
- package/lib/flags/parser.js +254 -0
- package/lib/flags/parser.js.map +1 -0
- package/lib/flags/schema.d.ts +147 -0
- package/lib/flags/schema.js +405 -0
- package/lib/flags/schema.js.map +1 -0
- package/lib/launcher/internal/getCompilerVersionText.js +7 -0
- package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
- package/lib/launcher/internal/prepareExecution.js +35 -0
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/resolveCacheDir.d.ts +9 -0
- package/lib/launcher/internal/resolveCacheDir.js +22 -0
- package/lib/launcher/internal/resolveCacheDir.js.map +1 -0
- package/lib/launcher/internal/resolveTtscserverBinary.js +2 -0
- package/lib/launcher/internal/resolveTtscserverBinary.js.map +1 -1
- package/lib/launcher/internal/runTtsc.d.ts +10 -0
- package/lib/launcher/internal/runTtsc.js +90 -153
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtscserver.js +10 -35
- package/lib/launcher/internal/runTtscserver.js.map +1 -1
- package/lib/launcher/internal/runTtsx.d.ts +8 -0
- package/lib/launcher/internal/runTtsx.js +137 -79
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/plugin/internal/buildSourcePlugin.d.ts +38 -0
- package/lib/plugin/internal/buildSourcePlugin.js +40 -17
- package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.d.ts +26 -0
- package/lib/plugin/internal/loadProjectPlugins.js +90 -41
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscCompilerTransformation.d.ts +15 -2
- package/lib/structures/ITtscPlugin.d.ts +24 -0
- package/lib/structures/ITtscPluginCapabilities.d.ts +29 -0
- package/lib/structures/ITtscPluginCapabilities.js +3 -0
- package/lib/structures/ITtscPluginCapabilities.js.map +1 -0
- package/lib/structures/index.d.ts +1 -0
- package/lib/structures/index.js +1 -0
- package/lib/structures/index.js.map +1 -1
- package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +5 -0
- package/lib/structures/internal/TtscCommonOptions.d.ts +19 -0
- package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +0 -2
- package/package.json +9 -9
- package/shim/ast/shim.go +24 -0
- package/shim/checker/shim.go +35 -0
- package/shim/core/shim.go +17 -0
- package/shim/diagnosticwriter/shim.go +4 -0
- package/shim/lsp/shim.go +3 -3
- package/shim/printer/shim.go +20 -0
- package/src/TtscCompiler.ts +7 -0
- package/src/compiler/internal/buildNativeCompiler.ts +23 -3
- package/src/compiler/internal/compileProjectInMemory.ts +34 -25
- package/src/compiler/internal/paths.ts +68 -0
- package/src/compiler/internal/project/readProjectConfig.ts +86 -1
- package/src/compiler/internal/project/resolveProjectConfig.ts +44 -1
- package/src/compiler/internal/resolveBinary.ts +17 -1
- package/src/compiler/internal/resolveEmittedJavaScript.ts +43 -12
- package/src/compiler/internal/resolveTsgo.ts +29 -1
- package/src/compiler/internal/runBuild.ts +398 -112
- package/src/compiler/internal/runSingleFileEmit.ts +14 -1
- package/src/compiler/internal/sharedHostHelpers.ts +7 -7
- package/src/compiler/internal/spawnNative.ts +64 -0
- package/src/compiler/internal/transformProjectInMemory.ts +47 -67
- package/src/flags/parser.ts +367 -0
- package/src/flags/schema.ts +570 -0
- package/src/launcher/internal/getCompilerVersionText.ts +7 -0
- package/src/launcher/internal/prepareExecution.ts +35 -0
- package/src/launcher/internal/resolveCacheDir.ts +19 -0
- package/src/launcher/internal/resolveTtscserverBinary.ts +2 -0
- package/src/launcher/internal/runTtsc.ts +97 -143
- package/src/launcher/internal/runTtscserver.ts +9 -1
- package/src/launcher/internal/runTtsx.ts +149 -82
- package/src/plugin/internal/buildSourcePlugin.ts +40 -14
- package/src/plugin/internal/loadProjectPlugins.ts +116 -45
- package/src/structures/ITtscCompilerTransformation.ts +15 -2
- package/src/structures/ITtscPlugin.ts +26 -1
- package/src/structures/ITtscPluginCapabilities.ts +29 -0
- package/src/structures/index.ts +1 -0
- package/src/structures/internal/ITtscLoadedNativePlugin.ts +5 -0
- package/src/structures/internal/TtscCommonOptions.ts +19 -0
- package/src/structures/internal/TtscSingleFileEmitOptions.ts +0 -2
- package/tools/gen_shims/main.go +43 -8
- package/utility/flags_gen.go +30 -0
- 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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
68
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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`);
|