@ttsc/wasm 0.30.3 → 0.31.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 +3 -3
- package/build/build-wasm.cjs +5 -4
- package/build/go-build-cache.cjs +347 -0
- package/build/pack-prepare.cjs +3 -2
- package/cmd/ttsc-wasm/main.go +22 -10
- package/cmd/ttsc-wasm/main_wasm.go +2 -2
- package/dist/.ttsc-wasm-build.json +138 -58
- package/dist/go.mod +7 -5
- package/dist/ttsc.wasm +2 -2
- package/go.mod +7 -5
- package/go.sum +10 -10
- package/host/api.go +34 -41
- package/host/doc.go +7 -6
- package/host/expose.go +42 -0
- package/host/fountain.go +192 -22
- package/host/host.go +10 -25
- package/host/host_native.go +3 -5
- package/host/invoke.go +133 -0
- package/host/plugin.go +37 -72
- package/host/result.go +108 -0
- package/lib/src/BootTtscWorkerTerminationError.d.ts +20 -0
- package/lib/src/BootTtscWorkerTerminationError.js +20 -0
- package/lib/src/BootTtscWorkerTerminationError.js.map +1 -1
- package/lib/src/MemFSError.d.ts +21 -2
- package/lib/src/MemFSError.js +25 -2
- package/lib/src/MemFSError.js.map +1 -1
- package/lib/src/bootTtsc.d.ts +49 -2
- package/lib/src/bootTtsc.js +89 -23
- package/lib/src/bootTtsc.js.map +1 -1
- package/lib/src/createMemFS.d.ts +45 -0
- package/lib/src/createMemFS.js +269 -66
- package/lib/src/createMemFS.js.map +1 -1
- package/lib/src/parseResult.d.ts +19 -0
- package/lib/src/parseResult.js +19 -0
- package/lib/src/parseResult.js.map +1 -1
- package/lib/src/structures/IBootResult.d.ts +20 -2
- package/lib/src/structures/IBootTtscOptions.d.ts +28 -6
- package/lib/src/structures/IFileStats.d.ts +51 -0
- package/lib/src/structures/IMemFSHost.d.ts +89 -0
- package/lib/src/structures/ITtscApi.d.ts +154 -9
- package/lib/src/structures/ITtscBuildOpts.d.ts +18 -1
- package/lib/src/structures/ITtscCompileResult.d.ts +20 -2
- package/lib/src/structures/ITtscDiagnostic.d.ts +25 -1
- package/lib/src/structures/ITtscFileQuery.d.ts +19 -1
- package/lib/src/structures/ITtscFountainDiagnosticsResult.d.ts +20 -1
- package/lib/src/structures/ITtscNodeAtPositionResult.d.ts +18 -1
- package/lib/src/structures/ITtscNodeInfo.d.ts +23 -2
- package/lib/src/structures/ITtscPluginOpts.d.ts +24 -3
- package/lib/src/structures/ITtscPositionQuery.d.ts +21 -4
- package/lib/src/structures/ITtscReleaseSnapshotResult.d.ts +22 -2
- package/lib/src/structures/ITtscResult.d.ts +31 -5
- package/lib/src/structures/ITtscSnapshotHandle.d.ts +19 -1
- package/lib/src/structures/ITtscSnapshotResult.d.ts +22 -1
- package/lib/src/structures/ITtscSnapshotsResult.d.ts +19 -1
- package/lib/src/structures/ITtscSourceFileTextResult.d.ts +19 -1
- package/lib/src/structures/ITtscSourceFilesResult.d.ts +23 -2
- package/lib/src/structures/ITtscSymbolAtPositionResult.d.ts +18 -1
- package/lib/src/structures/ITtscSymbolDeclaration.d.ts +25 -2
- package/lib/src/structures/ITtscSymbolInfo.d.ts +19 -1
- package/lib/src/structures/ITtscTransformResult.d.ts +21 -3
- package/lib/src/structures/ITtscTypeAtPositionResult.d.ts +18 -1
- package/lib/src/structures/ITtscTypeInfo.d.ts +19 -1
- package/lib/src/structures/ITtscVersion.d.ts +28 -1
- package/lib/src/structures/IWasmExecFS.d.ts +310 -0
- package/package.json +4 -2
- package/shim-vendor/shim/ast/enums_gen.go +4 -2
- package/shim-vendor/shim/ast/go.mod +5 -5
- package/shim-vendor/shim/ast/go.sum +10 -10
- package/shim-vendor/shim/ast/lint.go +1088 -20
- package/shim-vendor/shim/ast/parent.go +38 -22
- package/shim-vendor/shim/ast/safe_text.go +48 -26
- package/shim-vendor/shim/ast/shim.go +1307 -20
- package/shim-vendor/shim/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
- package/shim-vendor/shim/ast/test/node_text_joins_multi_hop_qualified_name_test.go +24 -9
- package/shim-vendor/shim/ast/test/node_text_joins_one_hop_qualified_name_test.go +9 -5
- package/shim-vendor/shim/ast/test/node_text_returns_empty_for_nil_test.go +13 -5
- package/shim-vendor/shim/ast/test/node_text_returns_identifier_text_test.go +12 -5
- package/shim-vendor/shim/ast/test/node_text_skips_empty_qualified_left_test.go +35 -5
- package/shim-vendor/shim/astnav/go.mod +5 -5
- package/shim-vendor/shim/astnav/go.sum +12 -10
- package/shim-vendor/shim/astnav/shim.go +9 -0
- package/shim-vendor/shim/bundled/go.mod +7 -1
- package/shim-vendor/shim/bundled/go.sum +12 -0
- package/shim-vendor/shim/checker/enums_gen.go +4 -2
- package/shim-vendor/shim/checker/extra-shim.json +6 -0
- package/shim-vendor/shim/checker/go.mod +5 -5
- package/shim-vendor/shim/checker/go.sum +10 -10
- package/shim-vendor/shim/checker/node_builder_fields_gen.go +19 -0
- package/shim-vendor/shim/checker/shim.go +827 -114
- package/shim-vendor/shim/compiler/emit_sourcemap.go +68 -29
- package/shim-vendor/shim/compiler/emitassemble.go +36 -2
- package/shim-vendor/shim/compiler/emithook.go +13 -3
- package/shim-vendor/shim/compiler/go.mod +5 -5
- package/shim-vendor/shim/compiler/go.sum +10 -10
- package/shim-vendor/shim/compiler/incremental.go +56 -20
- package/shim-vendor/shim/compiler/resolution.go +92 -9
- package/shim-vendor/shim/core/enums_gen.go +2 -2
- package/shim-vendor/shim/core/go.mod +6 -1
- package/shim-vendor/shim/core/go.sum +10 -0
- package/shim-vendor/shim/core/modulekind.go +9 -0
- package/shim-vendor/shim/core/shim.go +157 -6
- package/shim-vendor/shim/diagnosticwriter/go.mod +10 -1
- package/shim-vendor/shim/diagnosticwriter/go.sum +20 -0
- package/shim-vendor/shim/diagnosticwriter/lint.go +188 -10
- package/shim-vendor/shim/diagnosticwriter/shim.go +14 -0
- package/shim-vendor/shim/lsp/go.mod +5 -5
- package/shim-vendor/shim/lsp/go.sum +10 -10
- package/shim-vendor/shim/lsp/shim.go +78 -2
- package/shim-vendor/shim/parser/go.mod +10 -1
- package/shim-vendor/shim/parser/go.sum +22 -0
- package/shim-vendor/shim/printer/emithost.go +46 -1
- package/shim-vendor/shim/printer/go.mod +5 -5
- package/shim-vendor/shim/printer/go.sum +10 -10
- package/shim-vendor/shim/printer/shim.go +114 -7
- package/shim-vendor/shim/printer/sourcemap.go +55 -0
- package/shim-vendor/shim/scanner/go.mod +10 -1
- package/shim-vendor/shim/scanner/go.sum +20 -0
- package/shim-vendor/shim/scanner/regexp.go +19 -4
- package/shim-vendor/shim/scanner/shim.go +3 -0
- package/shim-vendor/shim/stringutil/extra-shim.json +1 -0
- package/shim-vendor/shim/stringutil/go.mod +5 -0
- package/shim-vendor/shim/stringutil/go.sum +2 -0
- package/shim-vendor/shim/stringutil/shim.go +119 -0
- package/shim-vendor/shim/transformers/go.mod +5 -5
- package/shim-vendor/shim/transformers/go.sum +12 -10
- package/shim-vendor/shim/transformers/shim.go +12 -3
- package/shim-vendor/shim/tsoptions/command_line_raw.go +44 -0
- package/shim-vendor/shim/tsoptions/go.mod +10 -1
- package/shim-vendor/shim/tsoptions/go.sum +22 -0
- package/shim-vendor/shim/tsoptions/shim.go +1 -1
- package/shim-vendor/shim/tspath/go.mod +1 -1
- package/shim-vendor/shim/tspath/go.sum +6 -0
- package/shim-vendor/shim/vfs/cachedvfs/go.mod +3 -1
- package/shim-vendor/shim/vfs/cachedvfs/go.sum +12 -0
- package/shim-vendor/shim/vfs/decode.go +26 -0
- package/shim-vendor/shim/vfs/decode_test.go +42 -0
- package/shim-vendor/shim/vfs/go.mod +7 -1
- package/shim-vendor/shim/vfs/go.sum +12 -0
- package/shim-vendor/shim/vfs/osvfs/go.mod +7 -1
- package/shim-vendor/shim/vfs/osvfs/go.sum +12 -0
- package/src/BootTtscWorkerTerminationError.ts +22 -0
- package/src/MemFSError.ts +29 -2
- package/src/bootTtsc.ts +104 -28
- package/src/createMemFS.ts +291 -64
- package/src/parseResult.ts +19 -0
- package/src/structures/IBootResult.ts +21 -2
- package/src/structures/IBootTtscOptions.ts +32 -6
- package/src/structures/IFileStats.ts +65 -0
- package/src/structures/IMemFSHost.ts +97 -0
- package/src/structures/ITtscApi.ts +154 -9
- package/src/structures/ITtscBuildOpts.ts +19 -1
- package/src/structures/ITtscCompileResult.ts +21 -2
- package/src/structures/ITtscDiagnostic.ts +32 -1
- package/src/structures/ITtscFileQuery.ts +19 -1
- package/src/structures/ITtscFountainDiagnosticsResult.ts +20 -1
- package/src/structures/ITtscNodeAtPositionResult.ts +18 -1
- package/src/structures/ITtscNodeInfo.ts +27 -2
- package/src/structures/ITtscPluginOpts.ts +28 -3
- package/src/structures/ITtscPositionQuery.ts +21 -4
- package/src/structures/ITtscReleaseSnapshotResult.ts +22 -2
- package/src/structures/ITtscResult.ts +34 -5
- package/src/structures/ITtscSnapshotHandle.ts +19 -1
- package/src/structures/ITtscSnapshotResult.ts +22 -1
- package/src/structures/ITtscSnapshotsResult.ts +19 -1
- package/src/structures/ITtscSourceFileTextResult.ts +19 -1
- package/src/structures/ITtscSourceFilesResult.ts +23 -2
- package/src/structures/ITtscSymbolAtPositionResult.ts +18 -1
- package/src/structures/ITtscSymbolDeclaration.ts +27 -2
- package/src/structures/ITtscSymbolInfo.ts +23 -1
- package/src/structures/ITtscTransformResult.ts +22 -3
- package/src/structures/ITtscTypeAtPositionResult.ts +18 -1
- package/src/structures/ITtscTypeInfo.ts +20 -1
- package/src/structures/ITtscVersion.ts +33 -1
- package/src/structures/IWasmExecFS.ts +336 -0
package/lib/src/bootTtsc.js
CHANGED
|
@@ -12,6 +12,14 @@ exports.bootTtsc = bootTtsc;
|
|
|
12
12
|
// downstream consumers pick their own (e.g. "ttscPlayground", "ttscTypia").
|
|
13
13
|
const BootTtscWorkerTerminationError_1 = require("./BootTtscWorkerTerminationError");
|
|
14
14
|
const createMemFS_1 = require("./createMemFS");
|
|
15
|
+
/**
|
|
16
|
+
* Per-(apiName, wasmUrl) single-flight cache for boots. Keying on apiName alone
|
|
17
|
+
* would let a second call with the same apiName but a different wasmUrl
|
|
18
|
+
* silently return the cached IBootResult of the first wasm. The caller would
|
|
19
|
+
* think they booted a fresh binary while the cached one stayed in place. The
|
|
20
|
+
* composite key lets HMR / cache-busting query strings get a fresh boot while
|
|
21
|
+
* still single-flighting genuine concurrent duplicate calls.
|
|
22
|
+
*/
|
|
15
23
|
const bootsInFlight = new Map();
|
|
16
24
|
/**
|
|
17
25
|
* Terminal failures keyed by the global API bridge they own. A failed runtime
|
|
@@ -20,23 +28,21 @@ const bootsInFlight = new Map();
|
|
|
20
28
|
*/
|
|
21
29
|
const terminalBootFailuresByApiName = new Map();
|
|
22
30
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* - "Ready"]`resolver — they would race and the second would overwrite the first,
|
|
27
|
-
* stranding the first boot's await. The chain serializes them so one boot's
|
|
28
|
-
* Go-side`Ready.Invoke()` always lands on the resolver that boot installed.
|
|
31
|
+
* Serialize boots sharing an API name because each installs the same
|
|
32
|
+
* `globalThis[apiName + "Ready"]` resolver. Serialization prevents a later
|
|
33
|
+
* attempt from overwriting the resolver before the earlier attempt settles.
|
|
29
34
|
*/
|
|
30
35
|
const bootChainByApiName = new Map();
|
|
31
36
|
function bootKey(apiName, wasmUrl) {
|
|
32
|
-
return
|
|
37
|
+
return JSON.stringify([apiName, resolveWasmUrl(wasmUrl)]);
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
35
|
-
* Resolve `wasmUrl` against the current
|
|
40
|
+
* Resolve `wasmUrl` against the current location before keying so that
|
|
36
41
|
* `./playground.wasm`, `/compiler/playground.wasm`, and the fully qualified
|
|
37
42
|
* absolute href all collapse to the same cache entry instead of spawning
|
|
38
|
-
* duplicate boots.
|
|
39
|
-
*
|
|
43
|
+
* duplicate boots. In environments without a location, such as Node-side tests,
|
|
44
|
+
* relative URLs use the synthetic `http://local/` base. If parsing fails, the
|
|
45
|
+
* input retains its original spelling.
|
|
40
46
|
*/
|
|
41
47
|
function resolveWasmUrl(wasmUrl) {
|
|
42
48
|
try {
|
|
@@ -59,26 +65,88 @@ function resolveWasmUrl(wasmUrl) {
|
|
|
59
65
|
* stop the old runtime; replace the Worker before retrying.
|
|
60
66
|
*
|
|
61
67
|
* **Single-Worker caveat.** Even with the chain, a second boot loaded into the
|
|
62
|
-
*
|
|
63
|
-
* of the first
|
|
68
|
+
* same Worker after a first boot completes will overlay its Go runtime on top
|
|
69
|
+
* of the first. `importScripts(wasmExecUrl)` rebinds `globalThis.Go`, and the
|
|
64
70
|
* first wasm's keepalive goroutine keeps running through the new runtime's
|
|
65
71
|
* js-bridge tables. The serialization is sufficient for the typical use case
|
|
66
72
|
* (one boot per Worker over the page's lifetime) but DOES NOT make a Worker
|
|
67
73
|
* safe to host two wasm instances at once. Create a fresh Worker per concurrent
|
|
68
74
|
* wasm.
|
|
75
|
+
*
|
|
76
|
+
* @evidence contracts/common.md#principled-implementation
|
|
77
|
+
* The documented Go wasm_exec bridge is installed before streaming
|
|
78
|
+
* instantiation, and Promise sharing coordinates calls that use its global
|
|
79
|
+
* readiness slot. This follows the host.Expose integration rather than
|
|
80
|
+
* inventing a second runtime protocol.
|
|
81
|
+
*
|
|
82
|
+
* @evidence contracts/common.md#clear-and-simple-design
|
|
83
|
+
* The entry owns one attempt's host and cancellation, the per-API chain owns
|
|
84
|
+
* readiness-slot serialization, and bootTtscOnce owns setup and cleanup.
|
|
85
|
+
* These separate identities are needed because duplicate calls may join,
|
|
86
|
+
* distinct binary URLs may queue, and a started runtime cannot be retried.
|
|
87
|
+
*
|
|
88
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts
|
|
89
|
+
* The ttsc default API name and Ready/Failed slots are the host protocol,
|
|
90
|
+
* not consumer or fixture matches. The attempt installs missing Go host
|
|
91
|
+
* shims and removes only its own failed installation; it does not replace an
|
|
92
|
+
* existing foreign filesystem. The documented one-runtime-per-Worker
|
|
93
|
+
* limitation is retained rather than hidden beneath retries after go.run.
|
|
94
|
+
*
|
|
95
|
+
* @evidence contracts/common.md#meaningful-documentation
|
|
96
|
+
* JSDoc explains why same-URL calls share a boot, why API-slot serialization
|
|
97
|
+
* is needed and why post-start failure requires Worker replacement. Separate
|
|
98
|
+
* paragraphs state purpose and the shared-runtime caveat under the
|
|
99
|
+
* documentation skill; option and result interfaces document cancellation
|
|
100
|
+
* and host ownership.
|
|
101
|
+
*
|
|
102
|
+
* @evidence contracts/performance.md#efficient-algorithms
|
|
103
|
+
* Cache lookup uses normalized URL length U and expected constant-time Map
|
|
104
|
+
* access; fetch/streaming compilation process the B binary bytes without a
|
|
105
|
+
* second JavaScript binary buffer. C joined callers add O(C) abort listeners,
|
|
106
|
+
* and cancellation uses events rather than a polling scan.
|
|
107
|
+
*
|
|
108
|
+
* @evidence contracts/performance.md#reuse-equivalent-work
|
|
109
|
+
* One API/normalized-URL pair shares fetch and instantiation only with the same
|
|
110
|
+
* runtime-script URL and an identical supplied host. Omitted hosts reuse the
|
|
111
|
+
* entry's actual host. Per-API Promise
|
|
112
|
+
* chains serialize access to the global readiness slot; distinct URLs are
|
|
113
|
+
* distinct boot identities. The URL must identify immutable binary content
|
|
114
|
+
* for successful-result reuse to remain valid within the Worker lifetime.
|
|
115
|
+
*
|
|
116
|
+
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
117
|
+
* Each entry owns its controller, host and result; settlement removes joined
|
|
118
|
+
* caller listeners and internal cancellation listeners. Successful boot keys,
|
|
119
|
+
* API chain heads and terminal failures remain until Worker termination, with
|
|
120
|
+
* no fixed key or retained-byte bound. Failed pre-start entries are removed;
|
|
121
|
+
* started runtimes cannot be stopped here and require Worker replacement.
|
|
69
122
|
*/
|
|
70
123
|
function bootTtsc(options) {
|
|
71
124
|
const apiName = options.apiName ?? "ttsc";
|
|
72
|
-
|
|
125
|
+
let wasmUrl;
|
|
126
|
+
let wasmExecUrl;
|
|
127
|
+
try {
|
|
128
|
+
wasmUrl = resolveWasmUrl(options.wasmUrl);
|
|
129
|
+
wasmExecUrl = resolveWasmUrl(options.wasmExecUrl ?? defaultWasmExecUrl(wasmUrl));
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return Promise.reject(error);
|
|
133
|
+
}
|
|
134
|
+
const key = bootKey(apiName, wasmUrl);
|
|
73
135
|
const terminalFailure = terminalBootFailuresByApiName.get(apiName);
|
|
74
136
|
if (terminalFailure)
|
|
75
137
|
return Promise.reject(terminalFailure);
|
|
76
138
|
const inflight = bootsInFlight.get(key);
|
|
77
139
|
if (inflight) {
|
|
140
|
+
if ((options.host !== undefined && options.host !== inflight.host) ||
|
|
141
|
+
wasmExecUrl !== inflight.wasmExecUrl) {
|
|
142
|
+
return Promise.reject(new Error(`bootTtsc: ${apiName} is already bound to a different host or wasm_exec.js URL; use the original boot options or replace the Worker.`));
|
|
143
|
+
}
|
|
78
144
|
attachBootCancellation(inflight, options.signal);
|
|
79
145
|
return inflight.promise;
|
|
80
146
|
}
|
|
81
147
|
const controller = new AbortController();
|
|
148
|
+
const host = options.host ?? (0, createMemFS_1.createMemFS)();
|
|
149
|
+
const bootOptions = { ...options, host, wasmUrl, wasmExecUrl };
|
|
82
150
|
const prior = bootChainByApiName.get(apiName) ?? Promise.resolve();
|
|
83
151
|
const queuedCancellation = createBootCancellationPromise(controller.signal, apiName, () => "waiting for an earlier boot");
|
|
84
152
|
const queued = prior
|
|
@@ -89,7 +157,7 @@ function bootTtsc(options) {
|
|
|
89
157
|
throwIfBootWorkerTerminated(apiName);
|
|
90
158
|
throwIfBootCanceled(controller.signal, apiName, "waiting for an earlier boot");
|
|
91
159
|
queuedCancellation.dispose();
|
|
92
|
-
return bootTtscOnce(
|
|
160
|
+
return bootTtscOnce(bootOptions, apiName, controller.signal);
|
|
93
161
|
});
|
|
94
162
|
let entry;
|
|
95
163
|
const promise = Promise.race([queued, queuedCancellation.promise])
|
|
@@ -99,7 +167,7 @@ function bootTtsc(options) {
|
|
|
99
167
|
throw err;
|
|
100
168
|
})
|
|
101
169
|
.finally(queuedCancellation.dispose);
|
|
102
|
-
entry = { controller, promise };
|
|
170
|
+
entry = { controller, promise, host, wasmExecUrl };
|
|
103
171
|
bootsInFlight.set(key, entry);
|
|
104
172
|
attachBootCancellation(entry, options.signal);
|
|
105
173
|
// Track the chain head for this apiName so the next boot waits on it.
|
|
@@ -147,6 +215,9 @@ async function bootTtscOnce(options, apiName, signal) {
|
|
|
147
215
|
delete globalAny.process;
|
|
148
216
|
};
|
|
149
217
|
try {
|
|
218
|
+
if (globalAny.fs !== host.fs) {
|
|
219
|
+
throw new Error("bootTtsc: globalThis.fs belongs to a different host; supply its original MemFS host or boot in a fresh Worker.");
|
|
220
|
+
}
|
|
150
221
|
throwIfBootCanceled(signal, apiName, phase);
|
|
151
222
|
// wasm_exec.js installs `globalThis.Go`. It also reads globalThis.fs at
|
|
152
223
|
// module-eval time, so this import must follow the assignment above.
|
|
@@ -302,16 +373,11 @@ function bootCancellationError(signal, apiName, phase) {
|
|
|
302
373
|
return error;
|
|
303
374
|
}
|
|
304
375
|
/**
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
* If `wasmUrl` has no directory component, returns `"wasm_exec.js"` (same
|
|
308
|
-
* directory as the caller's base URL).
|
|
376
|
+
* Resolve the sibling runtime script using URL path semantics, dropping the
|
|
377
|
+
* binary's query and fragment so slashes in either cannot become directories.
|
|
309
378
|
*/
|
|
310
379
|
function defaultWasmExecUrl(wasmUrl) {
|
|
311
|
-
|
|
312
|
-
if (slash < 0)
|
|
313
|
-
return "wasm_exec.js";
|
|
314
|
-
return wasmUrl.slice(0, slash + 1) + "wasm_exec.js";
|
|
380
|
+
return new URL("wasm_exec.js", resolveWasmUrl(wasmUrl)).href;
|
|
315
381
|
}
|
|
316
382
|
/**
|
|
317
383
|
* Minimal `process` shim required by `wasm_exec.js` in non-Node environments.
|
package/lib/src/bootTtsc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootTtsc.js","sourceRoot":"","sources":["../../src/bootTtsc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootTtsc.js","sourceRoot":"","sources":["../../src/bootTtsc.ts"],"names":[],"mappings":"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"}
|
package/lib/src/createMemFS.d.ts
CHANGED
|
@@ -13,5 +13,50 @@ import type { IMemFSHost } from "./structures/IMemFSHost";
|
|
|
13
13
|
* descendants. An operation that cannot satisfy that throws (`writeFile`,
|
|
14
14
|
* `mkdirp`) or reports a POSIX error through its callback, having changed no
|
|
15
15
|
* node, byte, or descriptor.
|
|
16
|
+
*
|
|
17
|
+
* @evidence contracts/common.md#principled-implementation
|
|
18
|
+
* The owned Node-shaped fs bridge uses maps for virtual node/descriptor
|
|
19
|
+
* identity and preserves opened nodes independently from paths. The Go js/wasm
|
|
20
|
+
* callback interface is the authority; unsupported link and metadata mutation
|
|
21
|
+
* capabilities are explicit in IWasmExecFS.
|
|
22
|
+
* @evidence contracts/common.md#clear-and-simple-design
|
|
23
|
+
* One closure owns the tree, indexes and descriptor identities. Shared helpers
|
|
24
|
+
* centralize path validation, insertion/removal and byte mutation; separate
|
|
25
|
+
* stream captures and pipe queues reflect non-seekable lifetimes rather than
|
|
26
|
+
* adding filesystem nodes that would blur their operation contracts.
|
|
27
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts
|
|
28
|
+
* Virtual flag/errno values are bridge constants, not native-host guesses.
|
|
29
|
+
* The implementation owns its maps rather than patching foreign filesystem
|
|
30
|
+
* methods. Directory indexes, geometric file growth and linked pipe queues
|
|
31
|
+
* correct repeated global scans, full-buffer copies and queue shifts at their
|
|
32
|
+
* owners, without size exceptions or benchmark-specific paths.
|
|
33
|
+
* @evidence contracts/common.md#meaningful-documentation
|
|
34
|
+
* Native paragraphs explain installation, copying and tree ownership; helper
|
|
35
|
+
* and interface comments state cost and unsupported capabilities. This follows
|
|
36
|
+
* the documentation skill's paragraph, units and rationale guidance.
|
|
37
|
+
* @evidence contracts/performance.md#efficient-algorithms
|
|
38
|
+
* Directory lookup visits D direct entries and sorts them in O(D log D),
|
|
39
|
+
* emptiness uses the indexed child count, and rename visits only S subtree
|
|
40
|
+
* nodes plus F open descriptors. Growing file writes amortize copying through
|
|
41
|
+
* geometric capacity; pipe enqueue/dequeue change linked endpoints in O(1).
|
|
42
|
+
* Path normalization costs O(P) path characters; ancestor validation builds
|
|
43
|
+
* d prefixes with total length K, costing O(K + d) time and temporary space
|
|
44
|
+
* under expected constant-time map access after hashing each prefix. Output fragments
|
|
45
|
+
* append without flattening prior text; reading a dirty B-byte capture costs
|
|
46
|
+
* O(B), while an unchanged capture read reuses its materialized string.
|
|
47
|
+
* @evidence contracts/performance.md#reuse-equivalent-work
|
|
48
|
+
* Child membership is maintained once by node insertion/deletion rather than
|
|
49
|
+
* reconstructed for every listing. Text decoding is cached on node identity
|
|
50
|
+
* and invalidated by every content mutation. Open descriptors share their
|
|
51
|
+
* actual inode; public byte reads still copy to preserve caller isolation.
|
|
52
|
+
* Each output stream keeps its own incremental UTF-8 decoder, so a split
|
|
53
|
+
* character is decoded once and capture reads reuse the materialized string
|
|
54
|
+
* until another fragment arrives.
|
|
55
|
+
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
56
|
+
* Each host owns its tree, indexes, captures and descriptors. Unlink/rmdir
|
|
57
|
+
* remove tree entries, close releases descriptors, and consumed pipe entries
|
|
58
|
+
* are detached. File write capacity stays at most twice logical length; truncate
|
|
59
|
+
* and replacement release spare storage. Total input and captured output have
|
|
60
|
+
* no fixed bound, so the caller owns deletion, resetStdio and host lifetime.
|
|
16
61
|
*/
|
|
17
62
|
export declare function createMemFS(): IMemFSHost;
|