ttsc 0.18.3 → 0.19.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/README.md +5 -6
- package/cmd/graphbench/main.go +1 -1
- package/cmd/platform/main.go +1 -48
- package/cmd/ttsc/build_branches_test.go +5 -1
- package/cmd/ttsc/main.go +0 -50
- package/cmd/ttsc/main_alias_branches_test.go +6 -12
- package/cmd/ttscgraph/dump.go +13 -3
- package/cmd/ttscgraph/main.go +18 -12
- package/cmd/ttscgraph/run_help_version_and_bad_flags_exit_codes_test.go +23 -5
- package/cmd/ttscgraph/serve.go +863 -0
- package/cmd/ttscgraph/serve_protocol_rejects_invalid_request_line_test.go +43 -0
- package/cmd/ttscgraph/serve_protocol_retries_session_creation_test.go +83 -0
- package/cmd/ttscgraph/serve_protocol_reuses_session_test.go +35 -0
- package/cmd/ttscgraph/serve_session_applies_source_edit_incrementally_test.go +55 -0
- package/cmd/ttscgraph/serve_session_fails_closed_on_deleted_config_test.go +68 -0
- package/cmd/ttscgraph/serve_session_fails_closed_on_invalid_config_test.go +50 -0
- package/cmd/ttscgraph/serve_session_keeps_missing_literal_root_unchanged_test.go +46 -0
- package/cmd/ttscgraph/serve_session_rebuilds_import_graph_change_test.go +60 -0
- package/cmd/ttscgraph/serve_session_reloads_created_literal_root_test.go +44 -0
- package/cmd/ttscgraph/serve_session_reloads_extended_config_change_test.go +45 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_conditional_export_test.go +60 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_config_types_test.go +44 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_excluded_import_test.go +62 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_package_export_test.go +46 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_package_import_test.go +46 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_path_alias_test.go +47 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_reference_path_test.go +42 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_root_dirs_target_test.go +46 -0
- package/cmd/ttscgraph/serve_session_reloads_newly_resolved_type_reference_test.go +42 -0
- package/cmd/ttscgraph/serve_session_reloads_root_file_set_test.go +52 -0
- package/cmd/ttscgraph/serve_session_reloads_source_deleted_during_load_test.go +60 -0
- package/cmd/ttscgraph/serve_session_reloads_transitive_project_reference_test.go +55 -0
- package/cmd/ttscgraph/serve_session_reloads_when_program_plugin_linked_test.go +53 -0
- package/cmd/ttscgraph/serve_session_reuses_unchanged_preamble_source_test.go +45 -0
- package/cmd/ttscgraph/serve_session_reuses_unchanged_snapshot_test.go +52 -0
- package/cmd/ttscgraph/serve_session_revisits_source_edited_during_load_test.go +61 -0
- package/cmd/ttscgraph/serve_session_tolerates_os_invalid_resolution_candidate_test.go +56 -0
- package/cmd/ttscgraph/serve_session_tracks_all_module_specifier_forms_test.go +41 -0
- package/cmd/ttscgraph/serve_session_tracks_diamond_project_references_once_test.go +61 -0
- package/cmd/ttscserver/main.go +5 -3
- package/driver/lsp.go +13 -1
- package/driver/plugins.go +56 -5
- package/driver/program.go +25 -10
- package/driver/rewrite.go +381 -21
- package/driver/session.go +11 -3
- package/go.mod +1 -0
- package/internal/graph/build.go +297 -3
- package/internal/graph/build_records_a_node_per_top_level_declaration_test.go +16 -2
- package/internal/graph/diagnostics.go +5 -4
- package/internal/graph/dump.go +60 -4
- package/internal/graph/dump_is_a_function_of_the_source_test.go +71 -0
- package/internal/graph/dump_serializes_the_full_graph_test.go +16 -4
- package/internal/graph/edges.go +122 -11
- package/internal/graph/exports.go +74 -17
- package/internal/graph/graph.go +33 -1
- package/internal/graph/node_identity_is_position_invariant_test.go +4 -2
- package/internal/graph/resolve.go +24 -0
- package/internal/graphsymbols/provider.go +50 -14
- package/internal/lspserver/lsp_native_plugin_source.go +77 -23
- package/internal/lspserver/lsp_plugin.go +19 -2
- package/internal/lspserver/lsp_proxy.go +244 -52
- package/internal/lspserver/lsp_server.go +35 -27
- package/internal/lspserver/lsp_symbols.go +25 -16
- package/lib/TtscCompiler.d.ts +13 -2
- package/lib/TtscCompiler.js +30 -20
- package/lib/TtscCompiler.js.map +1 -1
- package/lib/TtscService.js +9 -7
- package/lib/TtscService.js.map +1 -1
- package/lib/compiler/internal/compileProjectInMemory.js +15 -1
- package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
- package/lib/compiler/internal/project/createNativeProjectContextArgs.d.ts +3 -0
- package/lib/compiler/internal/project/createNativeProjectContextArgs.js +14 -0
- package/lib/compiler/internal/project/createNativeProjectContextArgs.js.map +1 -0
- package/lib/compiler/internal/project/readProjectConfig.js +53 -4
- package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
- package/lib/compiler/internal/project/resolveProjectConfig.d.ts +9 -2
- package/lib/compiler/internal/project/resolveProjectConfig.js +45 -16
- package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
- package/lib/compiler/internal/residentTransformProcess.d.ts +16 -5
- package/lib/compiler/internal/residentTransformProcess.js +68 -20
- package/lib/compiler/internal/residentTransformProcess.js.map +1 -1
- package/lib/compiler/internal/runBuild.d.ts +18 -0
- package/lib/compiler/internal/runBuild.js +220 -24
- package/lib/compiler/internal/runBuild.js.map +1 -1
- package/lib/compiler/internal/runSingleFileEmit.js +7 -4
- package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
- package/lib/compiler/internal/sharedHostHelpers.d.ts +16 -0
- package/lib/compiler/internal/sharedHostHelpers.js +23 -0
- package/lib/compiler/internal/sharedHostHelpers.js.map +1 -1
- package/lib/compiler/internal/startResidentTransform.js +18 -1
- package/lib/compiler/internal/startResidentTransform.js.map +1 -1
- package/lib/compiler/internal/transformProjectInMemory.js +34 -8
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/flags/parser.d.ts +17 -0
- package/lib/flags/parser.js +11 -1
- package/lib/flags/parser.js.map +1 -1
- package/lib/flags/schema.js +7 -0
- package/lib/flags/schema.js.map +1 -1
- package/lib/launcher/internal/prepareExecution.js +21 -2
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/runTtsc.js +13 -53
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtscserver.js +11 -0
- package/lib/launcher/internal/runTtscserver.js.map +1 -1
- package/lib/launcher/internal/runTtsx.js +27 -11
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/launcher/internal/runtimeHooks.d.ts +81 -0
- package/lib/launcher/internal/runtimeHooks.js +632 -43
- package/lib/launcher/internal/runtimeHooks.js.map +1 -1
- package/lib/launcher/internal/servedSourceMap.d.ts +25 -0
- package/lib/launcher/internal/servedSourceMap.js +164 -0
- package/lib/launcher/internal/servedSourceMap.js.map +1 -0
- package/lib/plugin/internal/buildSourcePlugin.d.ts +146 -2
- package/lib/plugin/internal/buildSourcePlugin.js +651 -113
- package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.d.ts +7 -0
- package/lib/plugin/internal/loadProjectPlugins.js +33 -10
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscCompilerContext.d.ts +16 -2
- package/lib/structures/ITtscCompilerResult.d.ts +8 -5
- package/lib/structures/ITtscPluginCapabilities.d.ts +8 -0
- package/lib/structures/ITtscPluginFactoryContext.d.ts +14 -0
- package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +3 -0
- package/lib/structures/internal/ITtscProjectIdentity.d.ts +17 -0
- package/lib/structures/internal/ITtscProjectIdentity.js +3 -0
- package/lib/structures/internal/ITtscProjectIdentity.js.map +1 -0
- package/lib/structures/internal/TtscCommonOptions.d.ts +8 -0
- package/package.json +11 -8
- package/shim/ast/lint.go +10 -0
- package/shim/ast/shim.go +44 -0
- package/shim/checker/enums_gen.go +19 -0
- package/shim/checker/shim.go +130 -0
- package/shim/diagnosticwriter/lint.go +30 -3
- package/shim/printer/shim.go +22 -4
- package/shim/scanner/regexp.go +27 -0
- package/src/TtscCompiler.ts +29 -22
- package/src/TtscService.ts +15 -7
- package/src/compiler/internal/compileProjectInMemory.ts +18 -1
- package/src/compiler/internal/project/createNativeProjectContextArgs.ts +15 -0
- package/src/compiler/internal/project/readProjectConfig.ts +61 -5
- package/src/compiler/internal/project/resolveProjectConfig.ts +51 -21
- package/src/compiler/internal/residentTransformProcess.ts +95 -21
- package/src/compiler/internal/runBuild.ts +313 -32
- package/src/compiler/internal/runSingleFileEmit.ts +7 -4
- package/src/compiler/internal/sharedHostHelpers.ts +24 -0
- package/src/compiler/internal/startResidentTransform.ts +21 -1
- package/src/compiler/internal/transformProjectInMemory.ts +49 -6
- package/src/flags/parser.ts +28 -1
- package/src/flags/schema.ts +8 -0
- package/src/launcher/internal/prepareExecution.ts +22 -2
- package/src/launcher/internal/runTtsc.ts +13 -61
- package/src/launcher/internal/runTtscserver.ts +14 -0
- package/src/launcher/internal/runTtsx.ts +28 -13
- package/src/launcher/internal/runtimeHooks.ts +771 -53
- package/src/launcher/internal/servedSourceMap.ts +183 -0
- package/src/plugin/internal/buildSourcePlugin.ts +859 -122
- package/src/plugin/internal/loadProjectPlugins.ts +36 -6
- package/src/structures/ITtscCompilerContext.ts +17 -2
- package/src/structures/ITtscCompilerResult.ts +8 -5
- package/src/structures/ITtscPluginCapabilities.ts +9 -0
- package/src/structures/ITtscPluginFactoryContext.ts +15 -0
- package/src/structures/internal/ITtscParsedProjectConfig.ts +3 -0
- package/src/structures/internal/ITtscProjectIdentity.ts +17 -0
- package/src/structures/internal/TtscCommonOptions.ts +8 -0
- package/tools/shim_audit/baseline.json +16 -7
- package/tools/shim_audit/main.go +777 -71
- package/tools/shim_audit/main_test.go +28 -1
- package/tools/shim_audit/producer_exemptions_require_rationale_test.go +42 -0
- package/tools/shim_audit/producer_surface_includes_exposed_methods_test.go +154 -0
- package/tools/shim_audit/producer_surface_rejects_unproducible_reference_test.go +142 -0
- package/utility/host.go +46 -20
- package/utility/serve.go +1 -1
- package/shim/checker/signature_api_completeness.go +0 -58
|
@@ -96,9 +96,11 @@ function resolveTtscserverEnv(argv) {
|
|
|
96
96
|
if (lspPlugins.length > 0) {
|
|
97
97
|
env.TTSC_LSP_PLUGINS_JSON = JSON.stringify({
|
|
98
98
|
plugins: serializeNativePlugins(context.nativePlugins),
|
|
99
|
+
projectContext: context.projectContext,
|
|
99
100
|
lspPlugins: lspPlugins.map((plugin) => ({
|
|
100
101
|
binary: plugin.binary,
|
|
101
102
|
name: plugin.name,
|
|
103
|
+
projectContextArgs: plugin.capabilities?.projectContextArgs === true,
|
|
102
104
|
stage: plugin.stage,
|
|
103
105
|
})),
|
|
104
106
|
});
|
|
@@ -108,6 +110,10 @@ function resolveTtscserverEnv(argv) {
|
|
|
108
110
|
function resolveLspExecutionContext(argv) {
|
|
109
111
|
const cwd = node_path_1.default.resolve(optionValue(argv, "--cwd") ?? process.cwd());
|
|
110
112
|
const tsconfig = optionValue(argv, "--tsconfig");
|
|
113
|
+
const pluginConfigOrigin = process.env.TTSC_PLUGIN_CONFIG_DIR === undefined ||
|
|
114
|
+
process.env.TTSC_PLUGIN_CONFIG_DIR === ""
|
|
115
|
+
? undefined
|
|
116
|
+
: node_path_1.default.resolve(cwd, process.env.TTSC_PLUGIN_CONFIG_DIR);
|
|
111
117
|
let project;
|
|
112
118
|
try {
|
|
113
119
|
project = (0, readProjectConfig_1.readProjectConfig)({ cwd, tsconfig });
|
|
@@ -135,12 +141,17 @@ function resolveLspExecutionContext(argv) {
|
|
|
135
141
|
? (0, loadProjectPlugins_1.loadProjectPlugins)({
|
|
136
142
|
binary: (0, resolveBinary_1.resolveBinary)() ?? "",
|
|
137
143
|
cwd,
|
|
144
|
+
pluginConfigDir: pluginConfigOrigin,
|
|
138
145
|
projectRoot: project.root,
|
|
139
146
|
tsconfig: project.path,
|
|
140
147
|
})
|
|
141
148
|
: { nativePlugins: [] };
|
|
142
149
|
return {
|
|
143
150
|
nativePlugins: loaded.nativePlugins,
|
|
151
|
+
projectContext: {
|
|
152
|
+
...project.identity,
|
|
153
|
+
...(pluginConfigOrigin === undefined ? {} : { pluginConfigOrigin }),
|
|
154
|
+
},
|
|
144
155
|
tsgoBinary: tsgo.binary,
|
|
145
156
|
};
|
|
146
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTtscserver.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtscserver.ts"],"names":[],"mappings":";;;;;;;AAAA,2DAA+C;AAC/C,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAE7B,yFAAsF;AACtF,yEAAsE;AACtE,qEAAkE;AAClE,iFAGkD;
|
|
1
|
+
{"version":3,"file":"runTtscserver.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtscserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ const parser_1 = require("../../flags/parser");
|
|
|
12
12
|
const getCompilerVersionText_1 = require("./getCompilerVersionText");
|
|
13
13
|
const prepareExecution_1 = require("./prepareExecution");
|
|
14
14
|
const resolveCacheDir_1 = require("./resolveCacheDir");
|
|
15
|
+
const runtimeHooks_1 = require("./runtimeHooks");
|
|
15
16
|
/**
|
|
16
17
|
* CLI entry point for `ttsx`. Type-checks the owning project via tsgo, emits
|
|
17
18
|
* JavaScript to a PID-isolated temp directory, rewrites ESM specifiers when
|
|
@@ -39,6 +40,16 @@ function run(argv) {
|
|
|
39
40
|
process.stdout.write(`${(0, getCompilerVersionText_1.getCompilerVersionText)().replace(/^ttsc\b/, "ttsx")}\n`);
|
|
40
41
|
return 0;
|
|
41
42
|
}
|
|
43
|
+
// Refuse an unsupported Node.js before type-checking and spawning the child:
|
|
44
|
+
// the child inherits this process's Node version, so an early diagnostic here
|
|
45
|
+
// pre-empts both the Node 18 `--disable-warning` rejection and the Node 20
|
|
46
|
+
// missing-`registerHooks` TypeError with one actionable message. `--help` and
|
|
47
|
+
// `--version` are handled above so they still print on any Node.
|
|
48
|
+
const nodeSupport = (0, runtimeHooks_1.checkNodeRuntimeSupport)(process.versions.node);
|
|
49
|
+
if (nodeSupport !== null) {
|
|
50
|
+
process.stderr.write(`ttsx: ${nodeSupport}\n`);
|
|
51
|
+
return 2;
|
|
52
|
+
}
|
|
42
53
|
const cwd = node_path_1.default.resolve(parsed.cwd ?? process.cwd());
|
|
43
54
|
const entry = node_path_1.default.resolve(cwd, parsed.entry);
|
|
44
55
|
if (!node_fs_1.default.existsSync(entry)) {
|
|
@@ -100,22 +111,27 @@ function parseCLI(argv) {
|
|
|
100
111
|
errorPrefix: "ttsx:",
|
|
101
112
|
forwardAfterFirstPositional: true,
|
|
102
113
|
honorDoubleDashSeparator: true,
|
|
114
|
+
// Only a TypeScript-extensioned bare token is the entry; every other bare
|
|
115
|
+
// token before it (e.g. the `es2020` in `--target es2020 entry.ts`) is a
|
|
116
|
+
// forwarded flag value. Classifying values via the predicate keeps them in
|
|
117
|
+
// `passthrough` in order AND stops a pre-entry value from being mistaken for
|
|
118
|
+
// the first positional sentinel — which previously flipped the parser into
|
|
119
|
+
// tail mode and pushed the real entry into `tail`, failing with
|
|
120
|
+
// "entry file is required".
|
|
121
|
+
isPositional: looksLikeEntryFile,
|
|
103
122
|
subcommand: "ttsx",
|
|
104
123
|
});
|
|
105
124
|
const entry = result.positional.find(looksLikeEntryFile);
|
|
106
125
|
if (entry === undefined) {
|
|
107
126
|
throw new Error("ttsx: entry file is required");
|
|
108
127
|
}
|
|
109
|
-
// With `forwardAfterFirstPositional: true`
|
|
110
|
-
// `result.positional` as just the
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
// --input src/input`
|
|
115
|
-
//
|
|
116
|
-
// that the parser stored positionally; forward those to tsgo with the
|
|
117
|
-
// rest of `passthrough`.
|
|
118
|
-
const preEntryValues = result.positional.filter((token) => token !== entry && !looksLikeEntryFile(token));
|
|
128
|
+
// With `forwardAfterFirstPositional: true` and `isPositional:
|
|
129
|
+
// looksLikeEntryFile`, the parser reports `result.positional` as just the
|
|
130
|
+
// entry, `result.passthrough` as the tsgo-forwarded flags (and their
|
|
131
|
+
// in-order space values) arriving BEFORE the entry, and `result.tail` as
|
|
132
|
+
// every token AFTER the entry — the user program's argv (e.g. the `generate
|
|
133
|
+
// --input src/input` tail of `ttsx typia.ts generate --input src/input`),
|
|
134
|
+
// which MUST NOT reach tsgo.
|
|
119
135
|
const postEntryArgs = [...result.tail];
|
|
120
136
|
const preload = [];
|
|
121
137
|
// `--require` accepts repeated values; the schema engine writes the
|
|
@@ -155,7 +171,7 @@ function parseCLI(argv) {
|
|
|
155
171
|
preload,
|
|
156
172
|
project: (0, parser_1.getString)(result, "--tsconfig"),
|
|
157
173
|
singleThreaded: (0, parser_1.getBoolean)(result, "--singleThreaded") === true,
|
|
158
|
-
tsgoFlags: [...result.passthrough
|
|
174
|
+
tsgoFlags: [...result.passthrough],
|
|
159
175
|
};
|
|
160
176
|
}
|
|
161
177
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTtsx.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtsx.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA+C;AAC/C,sDAAyB;AACzB,0DAA6B;AAE7B,qEAAkE;AAClE,+CAK4B;AAC5B,qEAAkE;AAClE,yDAAsD;AACtD,uDAAoD;
|
|
1
|
+
{"version":3,"file":"runTtsx.js","sourceRoot":"","sources":["../../../src/launcher/internal/runTtsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lowest Node.js the ttsx source runtime supports. The synchronous
|
|
3
|
+
* `module.registerHooks` (Node 22.15.0) is the highest floor among the runtime
|
|
4
|
+
* APIs these hooks depend on — `stripTypeScriptTypes` (22.13.0) and the child's
|
|
5
|
+
* `--disable-warning` flag (20.11.0) are both lower — so it sets the effective
|
|
6
|
+
* minimum. Kept in sync with `packages/ttsc/package.json#engines.node` and the
|
|
7
|
+
* documented requirement in `website/src/content/docs/development/index.mdx`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const TTSX_MINIMUM_NODE_VERSION = "22.15.0";
|
|
10
|
+
/**
|
|
11
|
+
* Report why the running (or a candidate) Node.js version cannot execute the
|
|
12
|
+
* ttsx source runtime, or `null` when it can. Returning an actionable message —
|
|
13
|
+
* rather than letting the child die with an internal `TypeError` on the missing
|
|
14
|
+
* `registerHooks`, or Node 18 rejecting `--disable-warning` with exit 9 — is
|
|
15
|
+
* what turns an opaque internal failure into a clear version diagnostic.
|
|
16
|
+
*
|
|
17
|
+
* Exported for direct exercise by the ttsx e2e suite: the built launcher can
|
|
18
|
+
* only be spawned under the Node version running the tests, so the boundary
|
|
19
|
+
* around the floor cannot otherwise be pinned on CI.
|
|
20
|
+
*/
|
|
21
|
+
export declare function checkNodeRuntimeSupport(version: string): string | null;
|
|
1
22
|
/**
|
|
2
23
|
* Install the source-loading hooks on the current (main) thread. Idempotent:
|
|
3
24
|
* the bootstrap installs them for the entry process, and `NODE_OPTIONS`
|
|
@@ -19,6 +40,13 @@ export declare function installRuntimeHooks(): void;
|
|
|
19
40
|
* `require` or an ESM `import`.
|
|
20
41
|
*/
|
|
21
42
|
export declare function entryModuleFormat(entryFile: string): "module" | "commonjs";
|
|
43
|
+
/** Cache of built projects keyed by owning tsconfig path. */
|
|
44
|
+
interface BuiltProject {
|
|
45
|
+
emitDir: string;
|
|
46
|
+
rootDir: string;
|
|
47
|
+
emittedFiles?: readonly string[];
|
|
48
|
+
moduleOption?: string;
|
|
49
|
+
}
|
|
22
50
|
/**
|
|
23
51
|
* True when `real` is `directory` itself or sits beneath it. Handles a root
|
|
24
52
|
* `directory` (`/`, `C:\`): naively appending a separator would yield `//`,
|
|
@@ -32,3 +60,56 @@ export declare function entryModuleFormat(entryFile: string): "module" | "common
|
|
|
32
60
|
* spawned runs cannot pin the Windows normalization branches on CI.
|
|
33
61
|
*/
|
|
34
62
|
export declare function isWithin(real: string, directory: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Reuse a dependency another process (or an earlier import) already built.
|
|
65
|
+
*
|
|
66
|
+
* The completion marker names the exact emit generation, so this reads metadata
|
|
67
|
+
* and emit as one unit: it returns a hit only when the marker parses to a valid
|
|
68
|
+
* generation AND that generation's directory holds emitted JavaScript. A reader
|
|
69
|
+
* that runs while a replacement build is populating a DIFFERENT generation
|
|
70
|
+
* directory keeps returning the previous complete generation until the atomic
|
|
71
|
+
* marker swap points at the new one — never a mix of old metadata and a partial
|
|
72
|
+
* new emit.
|
|
73
|
+
*
|
|
74
|
+
* Exported for the ttsx dependency-cache regressions.
|
|
75
|
+
*/
|
|
76
|
+
export declare function readDependencyCache(cacheDir: string, metaPath: string): BuiltProject | null;
|
|
77
|
+
/** Ownership token returned only to the process that acquired `current`. */
|
|
78
|
+
export type DependencyBuildLockLease = {
|
|
79
|
+
generation: string;
|
|
80
|
+
};
|
|
81
|
+
/** Opaque identity of one observed lock generation. */
|
|
82
|
+
export type DependencyBuildLockFence = {
|
|
83
|
+
generation: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Atomically acquire the current generation of a dependency build lock, or
|
|
87
|
+
* `null` when another process already holds it. Exported for the deterministic
|
|
88
|
+
* multi-process cache regressions.
|
|
89
|
+
*/
|
|
90
|
+
export declare function acquireDependencyBuildLock(lockDir: string): DependencyBuildLockLease | null;
|
|
91
|
+
/** Retire a held generation during the holder's `finally`. */
|
|
92
|
+
export declare function releaseDependencyBuildLock(lockDir: string, lease: DependencyBuildLockLease): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Retire exactly the generation carried by an abandoned observation. Exported
|
|
95
|
+
* for the deterministic multi-process cache regressions.
|
|
96
|
+
*/
|
|
97
|
+
export declare function reclaimDependencyBuildLock(lockDir: string, fence: DependencyBuildLockFence): boolean;
|
|
98
|
+
/** One observation of a dependency build lock's state. */
|
|
99
|
+
export type DependencyBuildLockObservation = {
|
|
100
|
+
state: "active";
|
|
101
|
+
owner: string;
|
|
102
|
+
fence: DependencyBuildLockFence;
|
|
103
|
+
} | {
|
|
104
|
+
state: "abandoned";
|
|
105
|
+
reason: string;
|
|
106
|
+
fence: DependencyBuildLockFence;
|
|
107
|
+
} | {
|
|
108
|
+
state: "released";
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Classify the current state of a dependency build lock directory. Exported for
|
|
112
|
+
* the deterministic multi-process cache regressions.
|
|
113
|
+
*/
|
|
114
|
+
export declare function inspectDependencyBuildLock(lockDir: string, now: number): DependencyBuildLockObservation;
|
|
115
|
+
export {};
|