ttsc 0.20.1 → 0.22.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/ttscserver/main.go +79 -3
- package/cmd/ttscserver/run_lsp_uses_native_plugin_manifest_source_test.go +96 -16
- package/driver/lsp.go +4 -0
- package/internal/lspserver/lsp_document_diagnostics_omits_cached_project_when_current_result_has_none_test.go +48 -0
- package/internal/lspserver/lsp_executable_project_input_change_requests_launcher_restart_test.go +98 -0
- package/internal/lspserver/lsp_external_watched_change_retains_program_test.go +53 -0
- package/internal/lspserver/lsp_hints_refresh_scheduled_by_editor_events_test.go +9 -0
- package/internal/lspserver/lsp_native_plugin_source.go +171 -55
- package/internal/lspserver/lsp_native_resident.go +110 -9
- package/internal/lspserver/lsp_plugin.go +6 -0
- package/internal/lspserver/lsp_project_context_transport_identity_test.go +43 -0
- package/internal/lspserver/lsp_project_diagnostics.go +235 -0
- package/internal/lspserver/lsp_project_diagnostics_capability_is_independent_test.go +67 -0
- package/internal/lspserver/lsp_project_diagnostics_program_input_overlap_refreshes_all_producers_test.go +78 -0
- package/internal/lspserver/lsp_project_diagnostics_refresh_accumulates_owner_freshness_test.go +65 -0
- package/internal/lspserver/lsp_project_diagnostics_refresh_keeps_each_producer_last_good_test.go +90 -0
- package/internal/lspserver/lsp_project_diagnostics_refreshes_only_input_owners_test.go +62 -0
- package/internal/lspserver/lsp_project_diagnostics_resident_unsupported_falls_back_test.go +123 -0
- package/internal/lspserver/lsp_project_diagnostics_resume_preserves_generation_test.go +52 -0
- package/internal/lspserver/lsp_project_diagnostics_translates_relative_client_project_test.go +90 -0
- package/internal/lspserver/lsp_project_input_ownership_resolves_declared_spellings_test.go +95 -0
- package/internal/lspserver/lsp_project_input_registration.go +504 -0
- package/internal/lspserver/lsp_project_input_registration_rechecks_selection_baseline_test.go +71 -0
- package/internal/lspserver/lsp_project_input_registration_reconciles_rejected_pending_request_test.go +268 -0
- package/internal/lspserver/lsp_project_input_registration_shapes_patterns_test.go +94 -0
- package/internal/lspserver/lsp_project_input_watchers_anchor_missing_paths_test.go +48 -0
- package/internal/lspserver/lsp_project_inputs.go +944 -0
- package/internal/lspserver/lsp_project_inputs_match_missing_exact_and_glob_test.go +129 -0
- package/internal/lspserver/lsp_project_inputs_reject_invalid_and_foreign_snapshots_test.go +110 -0
- package/internal/lspserver/lsp_proxy.go +591 -28
- package/internal/lspserver/lsp_reload_directories_compare_immediate_topology_test.go +188 -0
- package/internal/lspserver/lsp_reload_file_fingerprint_preserves_raw_symlink_target_test.go +47 -0
- package/internal/lspserver/lsp_resident_falls_back_when_serve_unsupported_test.go +1 -1
- package/internal/lspserver/lsp_resident_invalidation_broadcasts_program_input_overlap_test.go +60 -0
- package/internal/lspserver/lsp_resident_invalidation_targets_project_input_owners_test.go +51 -0
- package/internal/lspserver/lsp_same_transport_entries_are_deduplicated_test.go +66 -0
- package/lib/compiler/internal/project/readProjectConfig.d.ts +5 -3
- package/lib/compiler/internal/project/readProjectConfig.js +46 -14
- package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
- package/lib/compiler/internal/residentCheckProcess.d.ts +46 -0
- package/lib/compiler/internal/residentCheckProcess.js +227 -0
- package/lib/compiler/internal/residentCheckProcess.js.map +1 -0
- package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +2 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.js +35 -18
- package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
- package/lib/compiler/internal/runBuild.d.ts +64 -1
- package/lib/compiler/internal/runBuild.js +484 -7
- package/lib/compiler/internal/runBuild.js.map +1 -1
- package/lib/compiler/internal/runSingleFileEmit.js +1 -0
- package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
- package/lib/flags/parser.js +13 -17
- package/lib/flags/parser.js.map +1 -1
- package/lib/flags/schema.d.ts +10 -3
- package/lib/flags/schema.js +99 -0
- package/lib/flags/schema.js.map +1 -1
- package/lib/internal/projectInputPathIdentity.d.ts +23 -0
- package/lib/internal/projectInputPathIdentity.js +222 -0
- package/lib/internal/projectInputPathIdentity.js.map +1 -0
- package/lib/launcher/internal/runTtsc.d.ts +17 -0
- package/lib/launcher/internal/runTtsc.js +121 -88
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtscserver.d.ts +13 -1
- package/lib/launcher/internal/runTtscserver.js +415 -45
- package/lib/launcher/internal/runTtscserver.js.map +1 -1
- package/lib/launcher/internal/singleFileOutput.d.ts +16 -0
- package/lib/launcher/internal/singleFileOutput.js +103 -0
- package/lib/launcher/internal/singleFileOutput.js.map +1 -0
- package/lib/launcher/internal/watchTopology.d.ts +214 -2
- package/lib/launcher/internal/watchTopology.js +1560 -41
- package/lib/launcher/internal/watchTopology.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.d.ts +1 -0
- package/lib/plugin/internal/loadProjectPlugins.js +5 -0
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscPluginCapabilities.d.ts +31 -0
- package/lib/structures/internal/ITtscProjectInputSnapshot.d.ts +29 -0
- package/lib/structures/internal/ITtscProjectInputSnapshot.js +3 -0
- package/lib/structures/internal/ITtscProjectInputSnapshot.js.map +1 -0
- package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +5 -0
- package/package.json +8 -8
- package/src/compiler/internal/project/readProjectConfig.ts +62 -8
- package/src/compiler/internal/residentCheckProcess.ts +279 -0
- package/src/compiler/internal/resolveEmittedJavaScript.ts +43 -21
- package/src/compiler/internal/runBuild.ts +728 -12
- package/src/compiler/internal/runSingleFileEmit.ts +1 -0
- package/src/flags/parser.ts +17 -17
- package/src/flags/schema.ts +111 -3
- package/src/internal/projectInputPathIdentity.ts +273 -0
- package/src/launcher/internal/runTtsc.ts +141 -117
- package/src/launcher/internal/runTtscserver.ts +561 -54
- package/src/launcher/internal/singleFileOutput.ts +133 -0
- package/src/launcher/internal/watchTopology.ts +2008 -59
- package/src/plugin/internal/loadProjectPlugins.ts +8 -0
- package/src/structures/ITtscPluginCapabilities.ts +34 -0
- package/src/structures/internal/ITtscProjectInputSnapshot.ts +29 -0
- package/src/structures/internal/TtscSingleFileEmitOptions.ts +5 -0
|
@@ -4,16 +4,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.runTtscserver = runTtscserver;
|
|
7
|
+
exports.materializeLSPPluginManifest = materializeLSPPluginManifest;
|
|
8
|
+
exports.fingerprintInitialLSPProjectInputSnapshot = fingerprintInitialLSPProjectInputSnapshot;
|
|
9
|
+
exports.initialLSPProjectInputSnapshotIsCurrent = initialLSPProjectInputSnapshotIsCurrent;
|
|
7
10
|
exports.needsStdio = needsStdio;
|
|
8
11
|
const node_child_process_1 = require("node:child_process");
|
|
12
|
+
const node_crypto_1 = require("node:crypto");
|
|
9
13
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
10
14
|
const node_os_1 = __importDefault(require("node:os"));
|
|
11
15
|
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const createNativeProjectContextArgs_1 = require("../../compiler/internal/project/createNativeProjectContextArgs");
|
|
12
17
|
const readProjectConfig_1 = require("../../compiler/internal/project/readProjectConfig");
|
|
13
18
|
const resolveBinary_1 = require("../../compiler/internal/resolveBinary");
|
|
14
19
|
const resolveTsgo_1 = require("../../compiler/internal/resolveTsgo");
|
|
20
|
+
const projectInputPathIdentity_1 = require("../../internal/projectInputPathIdentity");
|
|
15
21
|
const loadProjectPlugins_1 = require("../../plugin/internal/loadProjectPlugins");
|
|
16
22
|
const resolveTtscserverBinary_1 = require("./resolveTtscserverBinary");
|
|
23
|
+
const LSP_SELECTION_STABILITY_ATTEMPTS = 3;
|
|
24
|
+
const LSP_PROJECT_INPUT_TIMEOUT_MS = 30_000;
|
|
25
|
+
const LSP_PROJECT_INPUT_MAX_BUFFER = 4 * 1024 * 1024;
|
|
17
26
|
/**
|
|
18
27
|
* Drive the ttscserver native binary from a node launcher. The launcher is
|
|
19
28
|
* deliberately thin: argument parsing, version banners, and help text are owned
|
|
@@ -22,7 +31,7 @@ const resolveTtscserverBinary_1 = require("./resolveTtscserverBinary");
|
|
|
22
31
|
*
|
|
23
32
|
* - Resolve the platform binary,
|
|
24
33
|
* - Resolve the project TypeScript-Go binary for the native wrapper,
|
|
25
|
-
* - Resolve the project config and
|
|
34
|
+
* - Resolve the project config and materialize the private LSP plugin manifest,
|
|
26
35
|
* - Inject the Node/ttsx helper paths used by disk-backed LSP sidecars,
|
|
27
36
|
* - Inject `--stdio` when the first arg is not a meta-command,
|
|
28
37
|
* - Delegate to the binary with inherited stdio so OS-level signals reach the
|
|
@@ -39,19 +48,25 @@ function runTtscserver(argv = process.argv.slice(2)) {
|
|
|
39
48
|
}
|
|
40
49
|
ensureExecutable(binary);
|
|
41
50
|
const args = needsStdio(argv) ? ["--stdio", ...argv] : [...argv];
|
|
42
|
-
let
|
|
51
|
+
let execution;
|
|
43
52
|
try {
|
|
44
|
-
|
|
53
|
+
execution = resolveTtscserverEnv(args);
|
|
45
54
|
}
|
|
46
55
|
catch (error) {
|
|
47
56
|
process.stderr.write(`ttscserver: ${stripTtscPrefix(formatError(error))}\n`);
|
|
48
57
|
return 1;
|
|
49
58
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
let result;
|
|
60
|
+
try {
|
|
61
|
+
result = (0, node_child_process_1.spawnSync)(binary, [...execution.args, ...args], {
|
|
62
|
+
stdio: "inherit",
|
|
63
|
+
env: execution.env,
|
|
64
|
+
windowsHide: true,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
execution.dispose();
|
|
69
|
+
}
|
|
55
70
|
if (result.error) {
|
|
56
71
|
process.stderr.write(`ttscserver: ${result.error.message}\n`);
|
|
57
72
|
return 1;
|
|
@@ -71,39 +86,91 @@ function runTtscserver(argv = process.argv.slice(2)) {
|
|
|
71
86
|
/**
|
|
72
87
|
* Build the environment for the native binary. In `--stdio` (LSP) mode the Go
|
|
73
88
|
* binary needs the project tsgo binary plus any LSP-capable plugin sidecars the
|
|
74
|
-
* JS loader resolved from config.
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* already provided the variable or passed an explicit `--tsgo` option.
|
|
89
|
+
* JS loader resolved from config. Pass the manifest through a private temporary
|
|
90
|
+
* file and inject canonical helper paths so the native host and every later
|
|
91
|
+
* sidecar refresh use the same launch context.
|
|
78
92
|
*/
|
|
79
93
|
function resolveTtscserverEnv(argv) {
|
|
80
94
|
if (!argv.includes("--stdio")) {
|
|
81
95
|
// Non-LSP invocations (--version, --help) do not shell out to tsgo.
|
|
82
|
-
return process.env;
|
|
96
|
+
return { args: [], dispose() { }, env: process.env };
|
|
83
97
|
}
|
|
84
98
|
const context = resolveLspExecutionContext(argv);
|
|
99
|
+
const env = lspSidecarEnvironment({
|
|
100
|
+
pluginConfigOrigin: context.projectContext?.pluginConfigOrigin,
|
|
101
|
+
tsgoBinary: context.tsgoBinary,
|
|
102
|
+
});
|
|
103
|
+
delete env.TTSC_LSP_PLUGINS_JSON;
|
|
104
|
+
delete env.TTSC_LSP_PLUGINS_FILE;
|
|
105
|
+
const lspPlugins = context.nativePlugins.filter((plugin) => plugin.capabilities?.lsp === true);
|
|
106
|
+
if (lspPlugins.length === 0) {
|
|
107
|
+
// Nothing would be lost by an older native host, so keep it startable.
|
|
108
|
+
return { args: [], dispose() { }, env };
|
|
109
|
+
}
|
|
110
|
+
const transport = materializeLSPPluginManifest({
|
|
111
|
+
initialProjectInputs: Object.fromEntries(context.initialProjectInputs),
|
|
112
|
+
plugins: serializeNativePlugins(context.nativePlugins),
|
|
113
|
+
projectContext: context.projectContext,
|
|
114
|
+
lspPlugins: lspPlugins.map((plugin) => ({
|
|
115
|
+
binary: plugin.binary,
|
|
116
|
+
...(plugin.capabilities?.projectInputs === true
|
|
117
|
+
? { initialProjectInputKey: lspPluginTransportKey(plugin) }
|
|
118
|
+
: {}),
|
|
119
|
+
name: plugin.name,
|
|
120
|
+
projectDiagnostics: plugin.capabilities?.projectDiagnostics === true,
|
|
121
|
+
projectInputs: plugin.capabilities?.projectInputs === true,
|
|
122
|
+
projectContextArgs: plugin.capabilities?.projectContextArgs === true,
|
|
123
|
+
stage: plugin.stage,
|
|
124
|
+
})),
|
|
125
|
+
});
|
|
126
|
+
// Deliver the manifest as an explicit flag rather than an inherited variable.
|
|
127
|
+
// A native host that predates the flag rejects the invocation instead of
|
|
128
|
+
// starting without the plugins this project declared, and nothing downstream
|
|
129
|
+
// of the host inherits either a path to the manifest or its payload.
|
|
130
|
+
return {
|
|
131
|
+
args: ["--lsp-plugins-file", transport.path],
|
|
132
|
+
dispose: transport.dispose,
|
|
133
|
+
env,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function materializeLSPPluginManifest(manifest) {
|
|
137
|
+
const directory = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), "ttsc-lsp-"));
|
|
138
|
+
const location = node_path_1.default.join(directory, "plugins.json");
|
|
139
|
+
try {
|
|
140
|
+
node_fs_1.default.writeFileSync(location, JSON.stringify(manifest), {
|
|
141
|
+
encoding: "utf8",
|
|
142
|
+
flag: "wx",
|
|
143
|
+
mode: 0o600,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
node_fs_1.default.rmSync(directory, { force: true, recursive: true });
|
|
148
|
+
throw error;
|
|
149
|
+
}
|
|
150
|
+
let disposed = false;
|
|
151
|
+
return {
|
|
152
|
+
dispose() {
|
|
153
|
+
if (disposed)
|
|
154
|
+
return;
|
|
155
|
+
disposed = true;
|
|
156
|
+
node_fs_1.default.rmSync(directory, { force: true, recursive: true });
|
|
157
|
+
},
|
|
158
|
+
path: location,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function lspSidecarEnvironment(options) {
|
|
85
162
|
const env = {
|
|
86
163
|
...process.env,
|
|
87
164
|
TTSC_NODE_BINARY: process.env.TTSC_NODE_BINARY ?? process.execPath,
|
|
165
|
+
TTSC_TSGO_BINARY: options.tsgoBinary,
|
|
88
166
|
TTSC_TTSX_BINARY: process.env.TTSC_TTSX_BINARY ??
|
|
89
167
|
node_path_1.default.join(__dirname, "..", "..", "launcher", "ttsx.js"),
|
|
90
168
|
};
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
env.TTSC_TSGO_BINARY = context.tsgoBinary;
|
|
169
|
+
if (options.pluginConfigOrigin === undefined) {
|
|
170
|
+
delete env.TTSC_PLUGIN_CONFIG_DIR;
|
|
94
171
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
env.TTSC_LSP_PLUGINS_JSON = JSON.stringify({
|
|
98
|
-
plugins: serializeNativePlugins(context.nativePlugins),
|
|
99
|
-
projectContext: context.projectContext,
|
|
100
|
-
lspPlugins: lspPlugins.map((plugin) => ({
|
|
101
|
-
binary: plugin.binary,
|
|
102
|
-
name: plugin.name,
|
|
103
|
-
projectContextArgs: plugin.capabilities?.projectContextArgs === true,
|
|
104
|
-
stage: plugin.stage,
|
|
105
|
-
})),
|
|
106
|
-
});
|
|
172
|
+
else {
|
|
173
|
+
env.TTSC_PLUGIN_CONFIG_DIR = options.pluginConfigOrigin;
|
|
107
174
|
}
|
|
108
175
|
return env;
|
|
109
176
|
}
|
|
@@ -114,9 +181,9 @@ function resolveLspExecutionContext(argv) {
|
|
|
114
181
|
process.env.TTSC_PLUGIN_CONFIG_DIR === ""
|
|
115
182
|
? undefined
|
|
116
183
|
: node_path_1.default.resolve(cwd, process.env.TTSC_PLUGIN_CONFIG_DIR);
|
|
117
|
-
let
|
|
184
|
+
let initialProject;
|
|
118
185
|
try {
|
|
119
|
-
|
|
186
|
+
initialProject = (0, readProjectConfig_1.readProjectConfig)({ cwd, tsconfig });
|
|
120
187
|
}
|
|
121
188
|
catch (error) {
|
|
122
189
|
if (tsconfig) {
|
|
@@ -128,16 +195,60 @@ function resolveLspExecutionContext(argv) {
|
|
|
128
195
|
resolveFrom: __filename,
|
|
129
196
|
});
|
|
130
197
|
return {
|
|
198
|
+
initialProjectInputs: new Map(),
|
|
131
199
|
nativePlugins: [],
|
|
132
200
|
tsgoBinary: tsgo.binary,
|
|
133
201
|
};
|
|
134
202
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
203
|
+
let project = initialProject;
|
|
204
|
+
for (let attempt = 1; attempt <= LSP_SELECTION_STABILITY_ATTEMPTS; attempt++) {
|
|
205
|
+
const loaded = loadLSPProjectPlugins(project, cwd, pluginConfigOrigin);
|
|
206
|
+
const selectedProject = loaded.project;
|
|
207
|
+
const tsgo = (0, resolveTsgo_1.resolveTsgo)({
|
|
208
|
+
binary: optionValue(argv, "--tsgo"),
|
|
209
|
+
cwd: selectedProject.root,
|
|
210
|
+
resolveFrom: __filename,
|
|
211
|
+
});
|
|
212
|
+
const initialProjectInputs = captureInitialLSPProjectInputs({
|
|
213
|
+
nativePlugins: loaded.nativePlugins,
|
|
214
|
+
pluginConfigOrigin,
|
|
215
|
+
project: selectedProject,
|
|
216
|
+
tsgoBinary: tsgo.binary,
|
|
217
|
+
});
|
|
218
|
+
const confirmationProject = (0, readProjectConfig_1.readProjectConfig)({ cwd, tsconfig });
|
|
219
|
+
const confirmation = loadLSPProjectPlugins(confirmationProject, cwd, pluginConfigOrigin);
|
|
220
|
+
const confirmedProject = confirmation.project;
|
|
221
|
+
const confirmedTsgo = (0, resolveTsgo_1.resolveTsgo)({
|
|
222
|
+
binary: optionValue(argv, "--tsgo"),
|
|
223
|
+
cwd: confirmedProject.root,
|
|
224
|
+
resolveFrom: __filename,
|
|
225
|
+
});
|
|
226
|
+
const confirmedProjectInputs = captureInitialLSPProjectInputs({
|
|
227
|
+
nativePlugins: confirmation.nativePlugins,
|
|
228
|
+
pluginConfigOrigin,
|
|
229
|
+
project: confirmedProject,
|
|
230
|
+
tsgoBinary: confirmedTsgo.binary,
|
|
231
|
+
});
|
|
232
|
+
if (lspSelectionSignature(selectedProject, loaded.nativePlugins) ===
|
|
233
|
+
lspSelectionSignature(confirmedProject, confirmation.nativePlugins) &&
|
|
234
|
+
initialLSPProjectInputsEqual(initialProjectInputs, confirmedProjectInputs) &&
|
|
235
|
+
[...confirmedProjectInputs.values()].every(initialLSPProjectInputSnapshotIsCurrent)) {
|
|
236
|
+
return {
|
|
237
|
+
initialProjectInputs: confirmedProjectInputs,
|
|
238
|
+
nativePlugins: confirmation.nativePlugins,
|
|
239
|
+
projectContext: {
|
|
240
|
+
...confirmedProject.identity,
|
|
241
|
+
...(pluginConfigOrigin === undefined ? {} : { pluginConfigOrigin }),
|
|
242
|
+
},
|
|
243
|
+
tsgoBinary: confirmedTsgo.binary,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
project = confirmedProject;
|
|
247
|
+
}
|
|
248
|
+
throw new Error(`ttscserver: project plugin selection remained unstable across ${LSP_SELECTION_STABILITY_ATTEMPTS} bounded startup attempts`);
|
|
249
|
+
}
|
|
250
|
+
function loadLSPProjectPlugins(project, cwd, pluginConfigOrigin) {
|
|
251
|
+
return (0, loadProjectPlugins_1.hasProjectPluginEntries)(project)
|
|
141
252
|
? (0, loadProjectPlugins_1.loadProjectPlugins)({
|
|
142
253
|
binary: (0, resolveBinary_1.resolveBinary)() ?? "",
|
|
143
254
|
cwd,
|
|
@@ -145,18 +256,277 @@ function resolveLspExecutionContext(argv) {
|
|
|
145
256
|
projectRoot: project.root,
|
|
146
257
|
tsconfig: project.path,
|
|
147
258
|
})
|
|
148
|
-
: { nativePlugins: [] };
|
|
259
|
+
: { nativePlugins: [], project };
|
|
260
|
+
}
|
|
261
|
+
function captureInitialLSPProjectInputs(options) {
|
|
262
|
+
const snapshots = new Map();
|
|
263
|
+
const pluginsJSON = JSON.stringify(serializeNativePlugins(options.nativePlugins));
|
|
264
|
+
for (const plugin of options.nativePlugins) {
|
|
265
|
+
if (plugin.capabilities?.lsp !== true ||
|
|
266
|
+
plugin.capabilities.projectInputs !== true) {
|
|
267
|
+
continue;
|
|
268
|
+
}
|
|
269
|
+
const transportKey = lspPluginTransportKey(plugin);
|
|
270
|
+
if (snapshots.has(transportKey))
|
|
271
|
+
continue;
|
|
272
|
+
const args = [
|
|
273
|
+
"project-inputs",
|
|
274
|
+
"--tsconfig=" + options.project.path,
|
|
275
|
+
"--plugins-json=" + pluginsJSON,
|
|
276
|
+
"--cwd=" + options.project.root,
|
|
277
|
+
];
|
|
278
|
+
if (plugin.capabilities.projectContextArgs === true) {
|
|
279
|
+
args.push(...(0, createNativeProjectContextArgs_1.createNativeProjectContextArgs)(options.project, options.pluginConfigOrigin));
|
|
280
|
+
}
|
|
281
|
+
const env = lspSidecarEnvironment({
|
|
282
|
+
pluginConfigOrigin: options.pluginConfigOrigin,
|
|
283
|
+
tsgoBinary: options.tsgoBinary,
|
|
284
|
+
});
|
|
285
|
+
const result = (0, node_child_process_1.spawnSync)(plugin.binary, args, {
|
|
286
|
+
cwd: options.project.root,
|
|
287
|
+
encoding: "utf8",
|
|
288
|
+
env,
|
|
289
|
+
maxBuffer: LSP_PROJECT_INPUT_MAX_BUFFER,
|
|
290
|
+
timeout: LSP_PROJECT_INPUT_TIMEOUT_MS,
|
|
291
|
+
windowsHide: true,
|
|
292
|
+
});
|
|
293
|
+
if (result.error) {
|
|
294
|
+
throw new Error(`ttscserver: ${plugin.name ?? plugin.binary} project-inputs failed: ${result.error.message}`);
|
|
295
|
+
}
|
|
296
|
+
const stdout = result.stdout.trim();
|
|
297
|
+
if (result.status !== 0) {
|
|
298
|
+
const detail = result.stderr.trim() || stdout;
|
|
299
|
+
throw new Error(`ttscserver: ${plugin.name ?? plugin.binary} project-inputs failed${detail ? `: ${detail}` : ""}`);
|
|
300
|
+
}
|
|
301
|
+
snapshots.set(transportKey, fingerprintInitialLSPProjectInputSnapshot(parseInitialLSPProjectInputSnapshot(stdout, plugin)));
|
|
302
|
+
}
|
|
303
|
+
return snapshots;
|
|
304
|
+
}
|
|
305
|
+
function lspPluginTransportKey(plugin) {
|
|
306
|
+
return (plugin.binary +
|
|
307
|
+
"\0" +
|
|
308
|
+
(plugin.capabilities?.projectContextArgs === true ? "1" : "0"));
|
|
309
|
+
}
|
|
310
|
+
function initialLSPProjectInputsEqual(left, right) {
|
|
311
|
+
if (left.size !== right.size)
|
|
312
|
+
return false;
|
|
313
|
+
for (const [key, leftSnapshot] of left) {
|
|
314
|
+
const rightSnapshot = right.get(key);
|
|
315
|
+
if (rightSnapshot === undefined ||
|
|
316
|
+
initialLSPProjectInputSnapshotSignature(leftSnapshot) !==
|
|
317
|
+
initialLSPProjectInputSnapshotSignature(rightSnapshot)) {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return true;
|
|
322
|
+
}
|
|
323
|
+
function initialLSPProjectInputSnapshotSignature(snapshot) {
|
|
324
|
+
const sorted = (values) => [...(values ?? [])].sort();
|
|
325
|
+
const reloadDirectories = sorted(snapshot.reloadDirectories);
|
|
326
|
+
const reloadFiles = sorted(snapshot.reloadFiles);
|
|
327
|
+
return JSON.stringify({
|
|
328
|
+
files: sorted(snapshot.files),
|
|
329
|
+
globs: sorted(snapshot.globs),
|
|
330
|
+
reloadDirectories: reloadDirectories.map((directory) => [
|
|
331
|
+
directory,
|
|
332
|
+
snapshot.reloadDirectoryDigests[directory],
|
|
333
|
+
]),
|
|
334
|
+
reloadFiles: reloadFiles.map((file) => [
|
|
335
|
+
file,
|
|
336
|
+
snapshot.reloadFileDigests[file],
|
|
337
|
+
]),
|
|
338
|
+
root: snapshot.root,
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
function parseInitialLSPProjectInputSnapshot(text, plugin) {
|
|
342
|
+
let value;
|
|
343
|
+
try {
|
|
344
|
+
value = JSON.parse(text);
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
throw new Error(`ttscserver: ${plugin.name ?? plugin.binary} project-inputs returned invalid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
348
|
+
}
|
|
349
|
+
if (value === null ||
|
|
350
|
+
typeof value !== "object" ||
|
|
351
|
+
typeof value.root !== "string" ||
|
|
352
|
+
!Array.isArray(value.files) ||
|
|
353
|
+
!Array.isArray(value.globs) ||
|
|
354
|
+
(value.reloadFiles !== undefined &&
|
|
355
|
+
!Array.isArray(value.reloadFiles)) ||
|
|
356
|
+
(value.reloadDirectories !== undefined &&
|
|
357
|
+
!Array.isArray(value.reloadDirectories))) {
|
|
358
|
+
throw new Error(`ttscserver: ${plugin.name ?? plugin.binary} project-inputs returned a malformed snapshot`);
|
|
359
|
+
}
|
|
360
|
+
return value;
|
|
361
|
+
}
|
|
362
|
+
function fingerprintInitialLSPProjectInputSnapshot(snapshot) {
|
|
363
|
+
const reloadDirectoryDigests = {};
|
|
364
|
+
const reloadFileDigests = {};
|
|
365
|
+
for (const directory of snapshot.reloadDirectories ?? []) {
|
|
366
|
+
reloadDirectoryDigests[directory] = lspProjectInputDirectoryDigest(realLSPProjectInputPath(directory));
|
|
367
|
+
}
|
|
368
|
+
for (const file of snapshot.reloadFiles ?? []) {
|
|
369
|
+
reloadFileDigests[file] = lspProjectInputFileDigest(realLSPProjectInputEntryPath(file));
|
|
370
|
+
}
|
|
149
371
|
return {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
...(pluginConfigOrigin === undefined ? {} : { pluginConfigOrigin }),
|
|
154
|
-
},
|
|
155
|
-
tsgoBinary: tsgo.binary,
|
|
372
|
+
...snapshot,
|
|
373
|
+
reloadDirectoryDigests,
|
|
374
|
+
reloadFileDigests,
|
|
156
375
|
};
|
|
157
376
|
}
|
|
158
|
-
function
|
|
159
|
-
return
|
|
377
|
+
function initialLSPProjectInputSnapshotIsCurrent(snapshot) {
|
|
378
|
+
return ((snapshot.reloadDirectories ?? []).every((directory) => snapshot.reloadDirectoryDigests[directory] ===
|
|
379
|
+
lspProjectInputDirectoryDigest(realLSPProjectInputPath(directory))) &&
|
|
380
|
+
(snapshot.reloadFiles ?? []).every((file) => snapshot.reloadFileDigests[file] ===
|
|
381
|
+
lspProjectInputFileDigest(realLSPProjectInputEntryPath(file))));
|
|
382
|
+
}
|
|
383
|
+
function lspSelectionSignature(project, plugins) {
|
|
384
|
+
return JSON.stringify({
|
|
385
|
+
identity: project.identity,
|
|
386
|
+
plugins: plugins.map((plugin) => ({
|
|
387
|
+
binary: plugin.binary,
|
|
388
|
+
capabilities: plugin.capabilities,
|
|
389
|
+
config: plugin.config,
|
|
390
|
+
contributors: plugin.contributors,
|
|
391
|
+
kind: plugin.kind,
|
|
392
|
+
name: plugin.name,
|
|
393
|
+
source: plugin.source,
|
|
394
|
+
stage: plugin.stage,
|
|
395
|
+
})),
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
function lspProjectInputDirectoryDigest(location) {
|
|
399
|
+
const entries = [];
|
|
400
|
+
try {
|
|
401
|
+
if (process.platform === "win32") {
|
|
402
|
+
for (const entry of node_fs_1.default.readdirSync(location, { withFileTypes: true })) {
|
|
403
|
+
let target = Buffer.alloc(0);
|
|
404
|
+
if (entry.isSymbolicLink()) {
|
|
405
|
+
try {
|
|
406
|
+
target = Buffer.from(node_fs_1.default.readlinkSync(node_path_1.default.join(location, entry.name)), "utf8");
|
|
407
|
+
}
|
|
408
|
+
catch {
|
|
409
|
+
target = Buffer.from("<unreadable>");
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
entries.push(lspProjectInputDirectoryRecord(Buffer.from(entry.name), entry, target));
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
for (const entry of node_fs_1.default.readdirSync(location, {
|
|
417
|
+
encoding: "buffer",
|
|
418
|
+
withFileTypes: true,
|
|
419
|
+
})) {
|
|
420
|
+
let target = Buffer.alloc(0);
|
|
421
|
+
if (entry.isSymbolicLink()) {
|
|
422
|
+
try {
|
|
423
|
+
target = node_fs_1.default.readlinkSync(Buffer.concat([
|
|
424
|
+
Buffer.from(location),
|
|
425
|
+
Buffer.from(node_path_1.default.sep),
|
|
426
|
+
entry.name,
|
|
427
|
+
]), { encoding: "buffer" });
|
|
428
|
+
}
|
|
429
|
+
catch {
|
|
430
|
+
target = Buffer.from("<unreadable>");
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
entries.push(lspProjectInputDirectoryRecord(entry.name, entry, target));
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
catch {
|
|
438
|
+
return (0, node_crypto_1.createHash)("sha256").update("missing\0").digest("hex");
|
|
439
|
+
}
|
|
440
|
+
entries.sort(Buffer.compare);
|
|
441
|
+
const serialized = Buffer.concat(entries.flatMap((entry, index) => index === 0 ? [entry] : [Buffer.from([0]), entry]));
|
|
442
|
+
return (0, node_crypto_1.createHash)("sha256").update(serialized).digest("hex");
|
|
443
|
+
}
|
|
444
|
+
function lspProjectInputDirectoryRecord(name, entry, target) {
|
|
445
|
+
const kind = entry.isDirectory()
|
|
446
|
+
? "directory"
|
|
447
|
+
: entry.isFile()
|
|
448
|
+
? "file"
|
|
449
|
+
: entry.isSymbolicLink()
|
|
450
|
+
? "symlink"
|
|
451
|
+
: "other";
|
|
452
|
+
return Buffer.concat([name, Buffer.from("\0" + kind + "\0"), target]);
|
|
453
|
+
}
|
|
454
|
+
function lspProjectInputFileDigest(location) {
|
|
455
|
+
try {
|
|
456
|
+
const info = node_fs_1.default.lstatSync(location);
|
|
457
|
+
if (info.isSymbolicLink()) {
|
|
458
|
+
let target = Buffer.from("<unreadable>");
|
|
459
|
+
try {
|
|
460
|
+
target = node_fs_1.default.readlinkSync(Buffer.from(location), {
|
|
461
|
+
encoding: "buffer",
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
catch {
|
|
465
|
+
// Preserve the same explicit unreadable state as the Go validator.
|
|
466
|
+
}
|
|
467
|
+
let content = Buffer.from("missing\0");
|
|
468
|
+
try {
|
|
469
|
+
content = Buffer.concat([
|
|
470
|
+
Buffer.from("file\0"),
|
|
471
|
+
node_fs_1.default.readFileSync(location),
|
|
472
|
+
]);
|
|
473
|
+
}
|
|
474
|
+
catch {
|
|
475
|
+
// A dangling or unreadable target remains part of the symlink state.
|
|
476
|
+
}
|
|
477
|
+
return (0, node_crypto_1.createHash)("sha256")
|
|
478
|
+
.update(Buffer.concat([
|
|
479
|
+
Buffer.from("symlink\0"),
|
|
480
|
+
target,
|
|
481
|
+
Buffer.from([0]),
|
|
482
|
+
content,
|
|
483
|
+
]))
|
|
484
|
+
.digest("hex");
|
|
485
|
+
}
|
|
486
|
+
if (info.isFile()) {
|
|
487
|
+
return (0, node_crypto_1.createHash)("sha256")
|
|
488
|
+
.update(Buffer.concat([Buffer.from("file\0"), node_fs_1.default.readFileSync(location)]))
|
|
489
|
+
.digest("hex");
|
|
490
|
+
}
|
|
491
|
+
return (0, node_crypto_1.createHash)("sha256").update("other\0").digest("hex");
|
|
492
|
+
}
|
|
493
|
+
catch {
|
|
494
|
+
return (0, node_crypto_1.createHash)("sha256").update("missing\0").digest("hex");
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Physical path of a location whose leaf may not exist yet.
|
|
499
|
+
*
|
|
500
|
+
* Both ends go through the shared spelling rule rather than `path.resolve`
|
|
501
|
+
* alone. Windows hands back extended-length paths from a native realpath, and a
|
|
502
|
+
* record written as `\?\C:\project` never matches a lookup for `C:\project`
|
|
503
|
+
* even though one file is meant — the split identity every other consumer on
|
|
504
|
+
* this branch was taught to avoid.
|
|
505
|
+
*/
|
|
506
|
+
function realLSPProjectInputPath(location) {
|
|
507
|
+
const absolute = (0, projectInputPathIdentity_1.resolveProjectInputPath)(location);
|
|
508
|
+
let probe = absolute;
|
|
509
|
+
const suffix = [];
|
|
510
|
+
for (;;) {
|
|
511
|
+
try {
|
|
512
|
+
let resolved = (0, projectInputPathIdentity_1.resolveProjectInputPath)(node_fs_1.default.realpathSync.native(probe));
|
|
513
|
+
for (let index = suffix.length - 1; index >= 0; index--) {
|
|
514
|
+
resolved = node_path_1.default.join(resolved, suffix[index]);
|
|
515
|
+
}
|
|
516
|
+
return node_path_1.default.normalize(resolved);
|
|
517
|
+
}
|
|
518
|
+
catch {
|
|
519
|
+
const parent = node_path_1.default.dirname(probe);
|
|
520
|
+
if (parent === probe)
|
|
521
|
+
return node_path_1.default.normalize(absolute);
|
|
522
|
+
suffix.push(node_path_1.default.basename(probe));
|
|
523
|
+
probe = parent;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
function realLSPProjectInputEntryPath(location) {
|
|
528
|
+
const absolute = (0, projectInputPathIdentity_1.resolveProjectInputPath)(location);
|
|
529
|
+
return node_path_1.default.join(realLSPProjectInputPath(node_path_1.default.dirname(absolute)), node_path_1.default.basename(absolute));
|
|
160
530
|
}
|
|
161
531
|
function optionValue(argv, name) {
|
|
162
532
|
for (let i = 0; i < argv.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTtscserver.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtscserver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runTtscserver.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtscserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the only file that positional `ttsc <source>` can materialize in the
|
|
3
|
+
* user's tree.
|
|
4
|
+
*
|
|
5
|
+
* The compiler itself emits into a private temporary directory. The launcher
|
|
6
|
+
* then copies one transformed JavaScript file to this path, so project-mode
|
|
7
|
+
* declaration, map, build-info, outFile, and broad outDir products are not
|
|
8
|
+
* positional outputs.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveSingleFileOutput(options: {
|
|
11
|
+
cliOutDir?: string;
|
|
12
|
+
cwd: string;
|
|
13
|
+
file: string;
|
|
14
|
+
passthrough?: readonly string[];
|
|
15
|
+
tsconfig?: string;
|
|
16
|
+
}): string;
|