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