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.
- package/README.md +3 -0
- package/cmd/ttsc/api_compile.go +15 -2
- package/cmd/ttsc/api_transform.go +15 -2
- package/cmd/ttsc/build.go +34 -4
- 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/driver/program.go +105 -4
- package/driver/rewrite.go +39 -4
- package/lib/compiler/internal/project/resolveProjectConfig.js +18 -0
- package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
- package/lib/compiler/internal/runBuild.d.ts +5 -4
- package/lib/compiler/internal/runBuild.js +358 -51
- package/lib/compiler/internal/runBuild.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 +146 -0
- package/lib/flags/schema.js +423 -0
- package/lib/flags/schema.js.map +1 -0
- package/lib/launcher/internal/prepareExecution.js +3 -0
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/runTtsc.js +71 -147
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtsx.js +104 -72
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.js +58 -23
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscPlugin.d.ts +24 -0
- package/lib/structures/ITtscPluginCapabilities.d.ts +40 -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/package.json +9 -9
- package/shim/ast/lint.go +6 -0
- package/src/compiler/internal/project/resolveProjectConfig.ts +20 -0
- package/src/compiler/internal/runBuild.ts +463 -56
- package/src/flags/parser.ts +367 -0
- package/src/flags/schema.ts +589 -0
- package/src/launcher/internal/prepareExecution.ts +3 -0
- package/src/launcher/internal/runTtsc.ts +78 -136
- package/src/launcher/internal/runTtsx.ts +116 -74
- package/src/plugin/internal/loadProjectPlugins.ts +74 -27
- package/src/structures/ITtscPlugin.ts +26 -0
- package/src/structures/ITtscPluginCapabilities.ts +41 -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/utility/flags_gen.go +30 -0
- 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
|
|
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");
|
|
@@ -27,6 +28,62 @@ function mergeEnv(extra) {
|
|
|
27
28
|
return base;
|
|
28
29
|
return { ...base, ...extra };
|
|
29
30
|
}
|
|
31
|
+
function createBuildTiming(options) {
|
|
32
|
+
return {
|
|
33
|
+
enabled: hasDiagnosticsFlag(options),
|
|
34
|
+
lines: [],
|
|
35
|
+
startedAt: process.hrtime.bigint(),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function hasDiagnosticsFlag(options) {
|
|
39
|
+
return (hasEnabledPassthroughFlag(options, "--diagnostics") ||
|
|
40
|
+
hasEnabledPassthroughFlag(options, "--extendedDiagnostics"));
|
|
41
|
+
}
|
|
42
|
+
function hasEnabledPassthroughFlag(options, flag) {
|
|
43
|
+
const passthrough = options.passthrough ?? [];
|
|
44
|
+
for (let i = 0; i < passthrough.length; i++) {
|
|
45
|
+
const token = passthrough[i];
|
|
46
|
+
if (token.startsWith(`${flag}=`)) {
|
|
47
|
+
return token.slice(flag.length + 1).toLowerCase() !== "false";
|
|
48
|
+
}
|
|
49
|
+
if (token === flag) {
|
|
50
|
+
if (i + 1 < passthrough.length &&
|
|
51
|
+
isBooleanLiteral(passthrough[i + 1])) {
|
|
52
|
+
return passthrough[i + 1].toLowerCase() !== "false";
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
function recordTiming(timing, label, startedAt) {
|
|
60
|
+
if (!timing.enabled)
|
|
61
|
+
return;
|
|
62
|
+
timing.lines.push(`${label}: ${formatTimingSeconds(hrtimeMs(startedAt))}`);
|
|
63
|
+
}
|
|
64
|
+
function appendTimingOutput(result, timing) {
|
|
65
|
+
if (!timing.enabled)
|
|
66
|
+
return result;
|
|
67
|
+
const lines = [
|
|
68
|
+
...timing.lines,
|
|
69
|
+
`ttsc total time: ${formatTimingSeconds(hrtimeMs(timing.startedAt))}`,
|
|
70
|
+
];
|
|
71
|
+
return {
|
|
72
|
+
...result,
|
|
73
|
+
stdout: appendStdout(result.stdout, lines.join("\n") + "\n"),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function appendStdout(stdout, text) {
|
|
77
|
+
if (stdout.length === 0 || stdout.endsWith("\n"))
|
|
78
|
+
return stdout + text;
|
|
79
|
+
return `${stdout}\n${text}`;
|
|
80
|
+
}
|
|
81
|
+
function hrtimeMs(startedAt) {
|
|
82
|
+
return Number(process.hrtime.bigint() - startedAt) / 1e6;
|
|
83
|
+
}
|
|
84
|
+
function formatTimingSeconds(ms) {
|
|
85
|
+
return `${(ms / 1000).toFixed(3)}s`;
|
|
86
|
+
}
|
|
30
87
|
/**
|
|
31
88
|
* Build the environment for a native plugin spawn. Injects `TTSC_TSGO_BINARY`
|
|
32
89
|
* and `TTSC_TTSX_BINARY` alongside the base env from `mergeEnv`. For
|
|
@@ -53,15 +110,25 @@ function nativePluginEnv(extra, execution, plugin) {
|
|
|
53
110
|
* decide how to surface diagnostics. Does not throw on non-zero exit.
|
|
54
111
|
*/
|
|
55
112
|
function runBuild(options = {}) {
|
|
113
|
+
const timing = createBuildTiming(options);
|
|
114
|
+
const result = runBuildTimed(options, timing);
|
|
115
|
+
return appendTimingOutput(result, timing);
|
|
116
|
+
}
|
|
117
|
+
function runBuildTimed(options, timing) {
|
|
118
|
+
const setupStartedAt = process.hrtime.bigint();
|
|
56
119
|
const execution = resolveExecutionContext(options);
|
|
120
|
+
if (execution.nativePlugins.length > 0) {
|
|
121
|
+
recordTiming(timing, "ttsc plugin setup time", setupStartedAt);
|
|
122
|
+
}
|
|
123
|
+
const buildOptions = applyProjectNoEmit(options, execution);
|
|
57
124
|
if (execution.nativePlugins.length > 0) {
|
|
58
125
|
const compilers = execution.nativePlugins.filter((plugin) => plugin.stage === "transform");
|
|
59
|
-
const checked = runNativeCheckPlugins(
|
|
126
|
+
const checked = runNativeCheckPlugins(buildOptions, execution, timing);
|
|
60
127
|
if (checked.status !== 0) {
|
|
61
128
|
return checked;
|
|
62
129
|
}
|
|
63
|
-
if (
|
|
64
|
-
if (
|
|
130
|
+
if (buildOptions.emit === false) {
|
|
131
|
+
if (buildOptions.format === true) {
|
|
65
132
|
// Format mode is write-only by contract: the lint sidecar
|
|
66
133
|
// already rewrote source files and reported nothing. Running
|
|
67
134
|
// tsgo --noEmit OR a transform compiler afterwards would either
|
|
@@ -78,31 +145,36 @@ function runBuild(options = {}) {
|
|
|
78
145
|
}
|
|
79
146
|
if (compilers.length !== 0) {
|
|
80
147
|
(0, sharedHostHelpers_1.assertSharedHostCompatibility)(compilers, "emit");
|
|
81
|
-
return appendBuildOutput(checked, buildWithNativeCompilerPlugins(
|
|
148
|
+
return appendBuildOutput(checked, buildWithNativeCompilerPlugins(buildOptions, execution, compilers, timing));
|
|
149
|
+
}
|
|
150
|
+
if (checkPluginsReportTypeScriptDiagnostics(execution.nativePlugins)) {
|
|
151
|
+
return checked;
|
|
82
152
|
}
|
|
83
|
-
return appendBuildOutput(checked, runTsgo(execution, ["--noEmit"],
|
|
153
|
+
return appendBuildOutput(checked, runTsgo(execution, ["--noEmit"], buildOptions));
|
|
84
154
|
}
|
|
85
155
|
let result;
|
|
86
156
|
if (compilers.length !== 0) {
|
|
87
157
|
(0, sharedHostHelpers_1.assertSharedHostCompatibility)(compilers, "emit");
|
|
88
|
-
result = appendBuildOutput(checked, buildWithNativeCompilerPlugins(
|
|
158
|
+
result = appendBuildOutput(checked, buildWithNativeCompilerPlugins(buildOptions, execution, compilers, timing));
|
|
89
159
|
}
|
|
90
160
|
else {
|
|
91
|
-
if (
|
|
92
|
-
|
|
161
|
+
if (buildOptions.skipDiagnosticsCheck !== true &&
|
|
162
|
+
!checkPluginsReportTypeScriptDiagnostics(execution.nativePlugins) &&
|
|
163
|
+
!forwardsTerminalTsgoFlag(buildOptions)) {
|
|
164
|
+
const tsgoChecked = runTsgo(execution, ["--noEmit"], buildOptions);
|
|
93
165
|
if (tsgoChecked.status !== 0) {
|
|
94
166
|
return appendBuildOutput(checked, tsgoChecked);
|
|
95
167
|
}
|
|
96
168
|
}
|
|
97
|
-
const args = createTsgoBuildArgs(execution,
|
|
98
|
-
listEmittedFiles:
|
|
169
|
+
const args = createTsgoBuildArgs(execution, buildOptions, {
|
|
170
|
+
listEmittedFiles: buildOptions.forceListEmittedFiles === true,
|
|
99
171
|
});
|
|
100
|
-
const emitted = runTsgoBuild(execution,
|
|
172
|
+
const emitted = runTsgoBuild(execution, buildOptions, args);
|
|
101
173
|
result = appendBuildOutput(checked, emitted);
|
|
102
174
|
}
|
|
103
175
|
return result;
|
|
104
176
|
}
|
|
105
|
-
if (
|
|
177
|
+
if (buildOptions.format === true) {
|
|
106
178
|
// Format mode is write-only by contract — see the matching
|
|
107
179
|
// short-circuit in the with-native-plugins branch above. When no
|
|
108
180
|
// native plugin is loaded there is nothing for `ttsc format` to
|
|
@@ -116,25 +188,89 @@ function runBuild(options = {}) {
|
|
|
116
188
|
stderr: "",
|
|
117
189
|
};
|
|
118
190
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const args = createTsgoBuildArgs(execution, options, {
|
|
126
|
-
listEmittedFiles: options.emit !== false && options.forceListEmittedFiles === true,
|
|
191
|
+
const args = createTsgoBuildArgs(execution, buildOptions, {
|
|
192
|
+
listEmittedFiles: buildOptions.emit !== false &&
|
|
193
|
+
buildOptions.forceListEmittedFiles === true,
|
|
194
|
+
noEmitOnError: buildOptions.emit !== false &&
|
|
195
|
+
buildOptions.skipDiagnosticsCheck !== true &&
|
|
196
|
+
!forwardsTerminalTsgoFlag(buildOptions),
|
|
127
197
|
});
|
|
128
|
-
return runTsgoBuild(execution,
|
|
198
|
+
return runTsgoBuild(execution, buildOptions, args);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* A tsconfig-level `noEmit: true` is an analysis-only build unless the user
|
|
202
|
+
* explicitly asks `ttsc --emit` to override it. Treat it like CLI `--noEmit`
|
|
203
|
+
* before composing tsgo/native-host arguments so ttsc does not add emit-only
|
|
204
|
+
* guards around projects that cannot emit.
|
|
205
|
+
*/
|
|
206
|
+
function applyProjectNoEmit(options, execution) {
|
|
207
|
+
if (options.emit !== undefined || execution.projectNoEmit !== true) {
|
|
208
|
+
return options;
|
|
209
|
+
}
|
|
210
|
+
return { ...options, emit: false };
|
|
211
|
+
}
|
|
212
|
+
function checkPluginsReportTypeScriptDiagnostics(plugins) {
|
|
213
|
+
return plugins.some((plugin) => plugin.stage === "check" && plugin.reportsTypeScriptDiagnostics === true);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Tsgo CLI flags that make `tsgo` print something and exit instead of building
|
|
217
|
+
* (`--showConfig`, `--listFilesOnly`, `--help`, …). ttsc must not add
|
|
218
|
+
* build-only guard flags around these because the forwarded flag asks tsgo to
|
|
219
|
+
* print something and exit instead of compiling the project.
|
|
220
|
+
*
|
|
221
|
+
* Schema-derived: the set is computed from `FLAG_SCHEMA[*].terminal === true`,
|
|
222
|
+
* not hand-maintained next to runBuild. Adding a new terminal flag now means
|
|
223
|
+
* editing `schema.ts` and re-running `pnpm format` — every layer learns about
|
|
224
|
+
* it automatically.
|
|
225
|
+
*/
|
|
226
|
+
const TERMINAL_TSGO_FLAGS = (() => {
|
|
227
|
+
// Mirror the legacy hand-list: schema's terminal flags ∪ the `-?` alias
|
|
228
|
+
// tsgo accepts (kept here because it is a tsgo synonym, not a ttsc flag).
|
|
229
|
+
const out = new Set(schema_1.TERMINAL_FLAGS);
|
|
230
|
+
out.add("-?");
|
|
231
|
+
return out;
|
|
232
|
+
})();
|
|
233
|
+
/**
|
|
234
|
+
* Report whether the caller forwarded a print-and-exit tsgo flag, so ttsc can
|
|
235
|
+
* avoid adding compile-only flags to a command that is not going to compile.
|
|
236
|
+
*/
|
|
237
|
+
function forwardsTerminalTsgoFlag(options) {
|
|
238
|
+
return (options.passthrough?.some((flag) => TERMINAL_TSGO_FLAGS.has(flag)) ?? false);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Report whether the caller forwarded a flag ttsc adds to tsgo internally —
|
|
242
|
+
* e.g. `--listEmittedFiles` (ttsc adds it to learn emitted paths) or `--noEmit`
|
|
243
|
+
* (ttsc adds it for the pre-emit type-check). When the user also forwards the
|
|
244
|
+
* same flag, post-processing must keep the user-visible effect intact instead
|
|
245
|
+
* of stripping it as ttsc-internal noise.
|
|
246
|
+
*
|
|
247
|
+
* Schema-derived: `FLAG_SCHEMA[*].internalShadow === true`. RC-2 from the RCA
|
|
248
|
+
* (RCA section 3, `--listEmittedFiles` / `--showConfig` swallowed): the
|
|
249
|
+
* per-flag `passthrough.includes("…")` check is now one structural lookup
|
|
250
|
+
* against the schema, not one bespoke `if` per shadow flag.
|
|
251
|
+
*/
|
|
252
|
+
function forwardsInternalShadowFlag(options, flag) {
|
|
253
|
+
if (!schema_1.INTERNAL_SHADOW_FLAGS.has(flag))
|
|
254
|
+
return false;
|
|
255
|
+
const passthrough = options.passthrough;
|
|
256
|
+
if (passthrough === undefined)
|
|
257
|
+
return false;
|
|
258
|
+
// Match both the bare form (`--pretty`) and the inline-value form
|
|
259
|
+
// (`--pretty=true`). The launcher's parser preserves these shapes
|
|
260
|
+
// verbatim, so a tolerant prefix compare is what we want — `passthrough`
|
|
261
|
+
// never holds a stray substring that happens to start with the flag
|
|
262
|
+
// because parser positional/passthrough sinks split on whitespace.
|
|
263
|
+
const inlinePrefix = `${flag}=`;
|
|
264
|
+
return passthrough.some((token) => token === flag || token.startsWith(inlinePrefix));
|
|
129
265
|
}
|
|
130
266
|
/**
|
|
131
267
|
* Dispatch a build through the shared-host native plugin. The host plugin is
|
|
132
268
|
* the one that owns the process (non-linked); all other transform plugins ride
|
|
133
269
|
* inside it via the `--plugins-json` flag.
|
|
134
270
|
*/
|
|
135
|
-
function buildWithNativeCompilerPlugins(options, execution, plugins) {
|
|
271
|
+
function buildWithNativeCompilerPlugins(options, execution, plugins, timing) {
|
|
136
272
|
const host = (0, sharedHostHelpers_1.selectSharedHostPlugin)(plugins);
|
|
137
|
-
return runNativePluginCommand(host, createNativeBuildArgs(execution, options, plugins), options, execution, "ttsc.build");
|
|
273
|
+
return runNativePluginCommand(host, createNativeBuildArgs(execution, options, plugins), options, execution, "ttsc.build", timing, transformHostTimingLabel(plugins));
|
|
138
274
|
}
|
|
139
275
|
/**
|
|
140
276
|
* Run `tsgo -p <tsconfig> [extraArgs]` and return the normalized result. Used
|
|
@@ -146,6 +282,8 @@ function runTsgo(execution, extraArgs, options) {
|
|
|
146
282
|
execution.tsconfig,
|
|
147
283
|
...extraArgs,
|
|
148
284
|
...createTsgoDiagnosticArgs(options),
|
|
285
|
+
...createTsgoThreadingArgs(options),
|
|
286
|
+
...(options.passthrough ?? []),
|
|
149
287
|
], {
|
|
150
288
|
cwd: execution.projectRoot,
|
|
151
289
|
env: mergeEnv(options.env),
|
|
@@ -186,7 +324,15 @@ function runTsgoBuild(execution, options, args) {
|
|
|
186
324
|
stderr: (0, spawnNative_1.outputText)(res.stderr),
|
|
187
325
|
};
|
|
188
326
|
const emittedFiles = parseEmittedFiles(result.stdout);
|
|
189
|
-
|
|
327
|
+
// The `TSFILE:` lines are tsgo's `--listEmittedFiles` output. ttsc adds that
|
|
328
|
+
// flag internally to learn the emitted paths and strips the lines back out
|
|
329
|
+
// as noise — but when the user themselves forwarded `--listEmittedFiles`,
|
|
330
|
+
// the listing is what they asked for, so it must survive to stdout.
|
|
331
|
+
// The lookup is schema-driven (FLAG_SCHEMA marks `--listEmittedFiles` with
|
|
332
|
+
// `internalShadow: true`); see `forwardsInternalShadowFlag` for the RC-2
|
|
333
|
+
// background.
|
|
334
|
+
const userListedEmitted = forwardsInternalShadowFlag(options, "--listEmittedFiles");
|
|
335
|
+
if (emittedFiles.length !== 0 && !userListedEmitted) {
|
|
190
336
|
result.stdout = stripEmittedFileLines(result.stdout);
|
|
191
337
|
}
|
|
192
338
|
return normalizeBuildOutput({ ...result, emittedFiles }, execution.projectRoot);
|
|
@@ -196,6 +342,9 @@ function createTsgoBuildArgs(execution, options, flags) {
|
|
|
196
342
|
const args = ["-p", execution.tsconfig];
|
|
197
343
|
if (options.emit === true) {
|
|
198
344
|
args.push("--noEmit", "false", "--emitDeclarationOnly", "false");
|
|
345
|
+
if (execution.rewriteRelativeImportExtensionsForEmit) {
|
|
346
|
+
args.push("--rewriteRelativeImportExtensions");
|
|
347
|
+
}
|
|
199
348
|
}
|
|
200
349
|
else if (options.emit === false) {
|
|
201
350
|
args.push("--noEmit");
|
|
@@ -207,14 +356,49 @@ function createTsgoBuildArgs(execution, options, flags) {
|
|
|
207
356
|
args.push("--listEmittedFiles");
|
|
208
357
|
}
|
|
209
358
|
args.push(...createTsgoDiagnosticArgs(options));
|
|
359
|
+
args.push(...createTsgoThreadingArgs(options));
|
|
360
|
+
args.push(...(options.passthrough ?? []));
|
|
361
|
+
if (flags.noEmitOnError === true) {
|
|
362
|
+
args.push("--noEmitOnError");
|
|
363
|
+
}
|
|
210
364
|
return args;
|
|
211
365
|
}
|
|
212
366
|
/**
|
|
213
367
|
* Return `["--pretty", "false"]` when structured diagnostics are requested so
|
|
214
368
|
* that the output can be parsed line-by-line, or an empty array otherwise.
|
|
369
|
+
*
|
|
370
|
+
* When the user explicitly forwarded `--pretty` (any value), the internal
|
|
371
|
+
* `--pretty false` shadow is dropped so the user wins on the surface. ttsc's
|
|
372
|
+
* own diagnostic parser will then see pretty-formatted output and fall back to
|
|
373
|
+
* surfacing it verbatim — the RC-2 contract that `--pretty`'s `internalShadow:
|
|
374
|
+
* true` flag in `FLAG_SCHEMA` declares. Without this guard the order in
|
|
375
|
+
* `runTsgo` (internal flags first, passthrough last) would still let the user's
|
|
376
|
+
* `--pretty true` override at the tsgo level, but ttsc would have already
|
|
377
|
+
* committed to a structured-diagnostics post-process that no longer matches the
|
|
378
|
+
* actual output.
|
|
215
379
|
*/
|
|
216
380
|
function createTsgoDiagnosticArgs(options) {
|
|
217
|
-
|
|
381
|
+
if (options.structuredDiagnostics !== true)
|
|
382
|
+
return [];
|
|
383
|
+
if (forwardsInternalShadowFlag(options, "--pretty"))
|
|
384
|
+
return [];
|
|
385
|
+
return ["--pretty", "false"];
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Forward the `--singleThreaded` / `--checkers` knobs to a `tsgo` invocation.
|
|
389
|
+
* tsgo accepts both flags natively, so the no-plugin build lane only has to
|
|
390
|
+
* pass them through; the type-check and emit passes share this so the checker
|
|
391
|
+
* pool size stays consistent across both.
|
|
392
|
+
*/
|
|
393
|
+
function createTsgoThreadingArgs(options) {
|
|
394
|
+
const args = [];
|
|
395
|
+
if (options.singleThreaded === true) {
|
|
396
|
+
args.push("--singleThreaded");
|
|
397
|
+
}
|
|
398
|
+
if (options.checkers !== undefined) {
|
|
399
|
+
args.push("--checkers", String(options.checkers));
|
|
400
|
+
}
|
|
401
|
+
return args;
|
|
218
402
|
}
|
|
219
403
|
/** Build the argument list for a native plugin `build`/`check` invocation. */
|
|
220
404
|
function createNativeBuildArgs(execution, options, plugins) {
|
|
@@ -227,22 +411,25 @@ function createNativeBuildArgs(execution, options, plugins) {
|
|
|
227
411
|
if (options.emit === true) {
|
|
228
412
|
args.push("--emit");
|
|
229
413
|
}
|
|
230
|
-
else if (options.emit === false) {
|
|
231
|
-
args.push("--noEmit");
|
|
232
|
-
}
|
|
233
414
|
if (options.outDir) {
|
|
234
415
|
args.push("--outDir=" + node_path_1.default.resolve(execution.cwd, options.outDir));
|
|
235
416
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
417
|
+
// Third-party transform hosts already treat the `check` subcommand as a
|
|
418
|
+
// quiet no-emit pass. Keep ttsc-owned build modifiers off that lane so older
|
|
419
|
+
// strict hosts do not reject unknown optional flags before analysis starts.
|
|
420
|
+
if (options.emit !== false) {
|
|
421
|
+
if (options.quiet === false) {
|
|
422
|
+
args.push("--verbose");
|
|
423
|
+
}
|
|
424
|
+
else if (options.quiet === true) {
|
|
425
|
+
args.push("--quiet");
|
|
426
|
+
}
|
|
241
427
|
}
|
|
428
|
+
args.push(...createNativeTsgoArgs(options));
|
|
242
429
|
return args;
|
|
243
430
|
}
|
|
244
431
|
/** Build the argument list for a native plugin check/fix/format invocation. */
|
|
245
|
-
function createNativeCheckArgs(execution, options) {
|
|
432
|
+
function createNativeCheckArgs(execution, options, plugin) {
|
|
246
433
|
const args = [
|
|
247
434
|
nativeCheckSubcommand(options),
|
|
248
435
|
"--tsconfig=" + execution.tsconfig,
|
|
@@ -258,8 +445,121 @@ function createNativeCheckArgs(execution, options) {
|
|
|
258
445
|
else if (options.quiet === true) {
|
|
259
446
|
args.push("--quiet");
|
|
260
447
|
}
|
|
448
|
+
args.push(...createNativeCheckThreadingArgs(options, plugin));
|
|
449
|
+
args.push(...createNativeCheckDiagnosticsArgs(options, plugin));
|
|
450
|
+
args.push(...createNativeTsgoArgs(options));
|
|
451
|
+
return args;
|
|
452
|
+
}
|
|
453
|
+
// `--singleThreaded` / `--checkers` are forwarded to native check-stage hosts
|
|
454
|
+
// only when the host is one ttsc itself owns (currently `@ttsc/lint`). #113
|
|
455
|
+
// forwarded both flags as bare CLI tokens to every native sidecar, then
|
|
456
|
+
// commit ad3443a reverted that across the board because a third-party host
|
|
457
|
+
// built before #113 has no `singleThreaded` / `checkers` flag in its
|
|
458
|
+
// `flag.FlagSet` and would exit 2 on the unknown flag — so
|
|
459
|
+
// `ttsc --singleThreaded` failed deterministically on every typia/nestia
|
|
460
|
+
// transform-plugin project.
|
|
461
|
+
//
|
|
462
|
+
// The performance ceiling that caused, though, is real: format/check passes
|
|
463
|
+
// through the lint sidecar are dominated by parallel parse + parallel rule
|
|
464
|
+
// walk, and with the threading knob silently dropped, MT and ST runs of
|
|
465
|
+
// `ttsc format` produced identical wall-clock numbers — the benchmark cell
|
|
466
|
+
// became a non-measurement. The lint sidecar is built and shipped from this
|
|
467
|
+
// repo, accepts both flags via `parseSubcommandFlags`, and threads them down
|
|
468
|
+
// to `loadProgram` (parse phase) and `engine.SetSerial` (rule walk). The host
|
|
469
|
+
// opts in through `capabilities.threadingArgs`, so a third-party check-stage
|
|
470
|
+
// plugin keeps the strict-host behavior from ad3443a unless it declares the
|
|
471
|
+
// same contract. Transform-stage hosts are never reached by this path (they go
|
|
472
|
+
// through `createNativeBuildArgs`), so the typia/nestia regression remains
|
|
473
|
+
// pinned by `test_plugin_corpus_single_threaded_flag_does_not_break_a_native_plugin_build`.
|
|
474
|
+
function createNativeCheckThreadingArgs(options, plugin) {
|
|
475
|
+
if (!nativeHostAcceptsThreadingArgs(plugin))
|
|
476
|
+
return [];
|
|
477
|
+
const args = [];
|
|
478
|
+
if (options.singleThreaded === true) {
|
|
479
|
+
args.push("--singleThreaded");
|
|
480
|
+
}
|
|
481
|
+
if (options.checkers !== undefined) {
|
|
482
|
+
args.push("--checkers=" + String(options.checkers));
|
|
483
|
+
}
|
|
261
484
|
return args;
|
|
262
485
|
}
|
|
486
|
+
/**
|
|
487
|
+
* Return true when the loaded native check-stage host has declared
|
|
488
|
+
* `capabilities.threadingArgs` in its plugin descriptor.
|
|
489
|
+
*
|
|
490
|
+
* The lint sidecar (`packages/lint/src/index.ts::createTtscPlugin`) opts in
|
|
491
|
+
* because its `parseSubcommandFlags` handler accepts `--singleThreaded` and
|
|
492
|
+
* `--checkers` directly and threads them into `loadProgram` (parse phase) and
|
|
493
|
+
* `engine.SetSerial` (rule walk). Any other check-stage host that has not
|
|
494
|
+
* declared the capability is treated as a third-party binary whose flag set is
|
|
495
|
+
* unknown, matching the conservative default from commit ad3443a.
|
|
496
|
+
*
|
|
497
|
+
* The capability flag replaces the prior `plugin.name === "@ttsc/lint"` string
|
|
498
|
+
* check: routing on a descriptor field instead of the plugin name lets the next
|
|
499
|
+
* first-party check-stage plugin opt in without ttsc needing to learn its name.
|
|
500
|
+
* See `ITtscPluginCapabilities` and issue #125 for the broader CLI-parser
|
|
501
|
+
* cleanup this is the quick-win step of.
|
|
502
|
+
*/
|
|
503
|
+
function nativeHostAcceptsThreadingArgs(plugin) {
|
|
504
|
+
return plugin.capabilities?.threadingArgs === true;
|
|
505
|
+
}
|
|
506
|
+
function createNativeCheckDiagnosticsArgs(options, plugin) {
|
|
507
|
+
if (!nativeHostAcceptsDiagnosticsTiming(plugin))
|
|
508
|
+
return [];
|
|
509
|
+
if (!hasDiagnosticsFlag(options))
|
|
510
|
+
return [];
|
|
511
|
+
return ["--diagnostics"];
|
|
512
|
+
}
|
|
513
|
+
function nativeHostAcceptsDiagnosticsTiming(plugin) {
|
|
514
|
+
return plugin.capabilities?.diagnosticsTiming === true;
|
|
515
|
+
}
|
|
516
|
+
function transformHostTimingLabel(plugins) {
|
|
517
|
+
return (`ttsc transform host [` +
|
|
518
|
+
`${plugins.map((plugin) => plugin.name).join(", ")}] time`);
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Forward the tsgo flags ttsc did not recognize to a native sidecar as one
|
|
522
|
+
* JSON-encoded `--tsgo-args` flag. The sidecar replays them through tsgo's own
|
|
523
|
+
* option parser onto `CompilerOptions`, so a flag like `ttsc --strict` reaches
|
|
524
|
+
* a plugin build the same way it reaches the plain tsgo lane. Encoded as a
|
|
525
|
+
* single token so the sidecars' unknown-flag filters keep it intact.
|
|
526
|
+
*/
|
|
527
|
+
function createNativeTsgoArgs(options) {
|
|
528
|
+
const passthrough = nativeTsgoPassthroughArgs(options);
|
|
529
|
+
if (passthrough === undefined || passthrough.length === 0) {
|
|
530
|
+
return [];
|
|
531
|
+
}
|
|
532
|
+
return ["--tsgo-args=" + JSON.stringify(passthrough)];
|
|
533
|
+
}
|
|
534
|
+
function nativeTsgoPassthroughArgs(options) {
|
|
535
|
+
const passthrough = options.passthrough;
|
|
536
|
+
if (passthrough === undefined)
|
|
537
|
+
return undefined;
|
|
538
|
+
const out = [];
|
|
539
|
+
for (let i = 0; i < passthrough.length; i++) {
|
|
540
|
+
const token = passthrough[i];
|
|
541
|
+
if (isDiagnosticsPassthroughFlag(token)) {
|
|
542
|
+
if (!token.includes("=") &&
|
|
543
|
+
i + 1 < passthrough.length &&
|
|
544
|
+
isBooleanLiteral(passthrough[i + 1])) {
|
|
545
|
+
i++;
|
|
546
|
+
}
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
549
|
+
out.push(token);
|
|
550
|
+
}
|
|
551
|
+
return out;
|
|
552
|
+
}
|
|
553
|
+
function isDiagnosticsPassthroughFlag(token) {
|
|
554
|
+
return (token === "--diagnostics" ||
|
|
555
|
+
token.startsWith("--diagnostics=") ||
|
|
556
|
+
token === "--extendedDiagnostics" ||
|
|
557
|
+
token.startsWith("--extendedDiagnostics="));
|
|
558
|
+
}
|
|
559
|
+
function isBooleanLiteral(token) {
|
|
560
|
+
const normalized = token.toLowerCase();
|
|
561
|
+
return normalized === "true" || normalized === "false";
|
|
562
|
+
}
|
|
263
563
|
/**
|
|
264
564
|
* Decide which native plugin subcommand the lint sidecar should run for the
|
|
265
565
|
* current `runBuild` invocation. The launcher selects exactly one of `fix` /
|
|
@@ -288,7 +588,7 @@ function serializeNativePlugins(plugins) {
|
|
|
288
588
|
* Run every check-stage plugin in order, short-circuiting on the first non-zero
|
|
289
589
|
* exit. Aggregates diagnostics and output across all check plugins.
|
|
290
590
|
*/
|
|
291
|
-
function runNativeCheckPlugins(options, execution) {
|
|
591
|
+
function runNativeCheckPlugins(options, execution, timing) {
|
|
292
592
|
let out = {
|
|
293
593
|
diagnostics: [],
|
|
294
594
|
status: 0,
|
|
@@ -296,7 +596,7 @@ function runNativeCheckPlugins(options, execution) {
|
|
|
296
596
|
stderr: "",
|
|
297
597
|
};
|
|
298
598
|
for (const plugin of execution.nativePlugins.filter((plugin) => plugin.stage === "check")) {
|
|
299
|
-
const result = runNativePluginCommand(plugin, createNativeCheckArgs(execution, options), options, execution, "ttsc.check");
|
|
599
|
+
const result = runNativePluginCommand(plugin, createNativeCheckArgs(execution, options, plugin), options, execution, "ttsc.check", timing, `ttsc check plugin ${plugin.name} time`);
|
|
300
600
|
out = appendBuildOutput(out, result);
|
|
301
601
|
if (result.status !== 0) {
|
|
302
602
|
return out;
|
|
@@ -309,12 +609,14 @@ function runNativeCheckPlugins(options, execution) {
|
|
|
309
609
|
* normalized build result. `label` is used in the thrown error message so the
|
|
310
610
|
* caller's context (e.g. `"ttsc.check"` or `"ttsc.build"`) is preserved.
|
|
311
611
|
*/
|
|
312
|
-
function runNativePluginCommand(plugin, args, options, execution, label) {
|
|
612
|
+
function runNativePluginCommand(plugin, args, options, execution, label, timing, timingLabel) {
|
|
613
|
+
const startedAt = process.hrtime.bigint();
|
|
313
614
|
const res = (0, spawnNative_1.spawnNative)(plugin.binary, args, {
|
|
314
615
|
cwd: execution.projectRoot,
|
|
315
616
|
env: nativePluginEnv(options.env, execution, plugin),
|
|
316
617
|
encoding: "utf8",
|
|
317
618
|
});
|
|
619
|
+
recordTiming(timing, timingLabel, startedAt);
|
|
318
620
|
if (res.error) {
|
|
319
621
|
throw new Error(`${label}: failed to spawn ${plugin.binary}: ${res.error.message}`);
|
|
320
622
|
}
|
|
@@ -348,27 +650,32 @@ function appendBuildOutput(left, right) {
|
|
|
348
650
|
*/
|
|
349
651
|
function resolveExecutionContext(options) {
|
|
350
652
|
const cwd = node_path_1.default.resolve(options.cwd ?? process.cwd());
|
|
351
|
-
const
|
|
653
|
+
const project = (0, readProjectConfig_1.readProjectConfig)({
|
|
352
654
|
cwd,
|
|
655
|
+
projectRoot: options.projectRoot,
|
|
353
656
|
tsconfig: options.tsconfig,
|
|
354
657
|
});
|
|
355
|
-
const
|
|
356
|
-
|
|
357
|
-
: node_path_1.default.dirname(tsconfig);
|
|
658
|
+
const tsconfig = project.path;
|
|
659
|
+
const projectRoot = project.root;
|
|
358
660
|
const tsgo = (0, resolveTsgo_1.resolveTsgo)({ ...options, cwd: projectRoot });
|
|
359
|
-
const
|
|
360
|
-
const loaded =
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
661
|
+
const hasPlugins = (0, loadProjectPlugins_1.hasProjectPluginEntries)(project, options.plugins);
|
|
662
|
+
const loaded = hasPlugins
|
|
663
|
+
? (0, loadProjectPlugins_1.loadProjectPlugins)({
|
|
664
|
+
binary: (0, resolveBinary_1.resolveBinary)(options) ?? "",
|
|
665
|
+
cacheDir: options.cacheDir ?? options.env?.TTSC_CACHE_DIR,
|
|
666
|
+
cwd,
|
|
667
|
+
entries: options.plugins,
|
|
668
|
+
projectRoot,
|
|
669
|
+
tsconfig,
|
|
670
|
+
})
|
|
671
|
+
: { nativePlugins: [] };
|
|
368
672
|
return {
|
|
369
673
|
cwd,
|
|
370
674
|
nativePlugins: loaded.nativePlugins,
|
|
675
|
+
projectNoEmit: project.compilerOptions.noEmit === true,
|
|
371
676
|
projectRoot,
|
|
677
|
+
rewriteRelativeImportExtensionsForEmit: options.emit === true &&
|
|
678
|
+
project.compilerOptions.allowImportingTsExtensions === true,
|
|
372
679
|
tsgo,
|
|
373
680
|
tsconfig,
|
|
374
681
|
};
|
|
@@ -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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"}
|