feat!: remove embed and mt modes by elringus · Pull Request #203 · elringus/bootsharp · GitHub
Skip to content

feat!: remove embed and mt modes#203

Merged
elringus merged 19 commits into
mainfrom
feat/remove-embed
May 10, 2026
Merged

feat!: remove embed and mt modes#203
elringus merged 19 commits into
mainfrom
feat/remove-embed

Conversation

@elringus

@elringus elringus commented May 9, 2026

Copy link
Copy Markdown
Owner

This removes embedded (single-file) and multi-threading modes.

Embedded mode is removed, as modern bundles provide multiple ways to embed binary resources and combine the ES modules, hence it's better to delegate that to the end-user. This resolves #139 and significantly simplifies our E2E tests, since we don't have to build and test the 2 versions of the package (embedded and side-load). This also removes the dependency on rollup in our MSBuild tasks.

Multi-threading support is removed, because Microsoft decided to remove the possibility of sync interop in WASM MT in a breaking way (dotnet/runtime#111098) and using Bootsharp over strictly async API surface does not make sense. This closes #168 and simplifies the boot resources composition, as we can now statically import the .NET's ES modules.

This also changes the boot signature: it now accepts the root URL string or the full BootOptions directly, for example:

import bootsharp from "./csproj/bin/bootsharp";

await bootsharp.boot("/root"); // boot with the root URL
await bootsharp.boot({ wasm: await fetch(...) }); // boot with preloaded resources
await bootsharp.boot(); // error - embedded mode is removed

@codecov

codecov Bot commented May 9, 2026

Copy link
Copy Markdown

@elringus elringus force-pushed the feat/remove-embed branch 3 times, most recently from 425f13a to c6a9804 Compare May 10, 2026 14:12
@elringus elringus force-pushed the feat/remove-embed branch from c6a9804 to 6994629 Compare May 10, 2026 14:19
@elringus elringus merged commit de1c66d into main May 10, 2026
8 checks passed
@elringus elringus deleted the feat/remove-embed branch May 10, 2026 18:38
OptimusPi added a commit to OptimusPi/bootsharp that referenced this pull request May 11, 2026
commit 40399bc
Author: Artyom Sovetnikov <2056864+Elringus@users.noreply.github.com>
Date:   Mon May 11 00:00:04 2026 +0300

    fix: unresolved export type

commit 3a94c57
Author: Artyom Sovetnikov <2056864+elringus@users.noreply.github.com>
Date:   Sun May 10 23:46:30 2026 +0300

    fix!: remove computed props on serialized types (elringus#204)

commit de1c66d
Author: Artyom Sovetnikov <2056864+elringus@users.noreply.github.com>
Date:   Sun May 10 21:38:44 2026 +0300

    feat!: remove embed and mt modes (elringus#203)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sync interop not possible in multithreaded mode Opt out of monkey patching .NET internals

1 participant