diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/tests/System.Runtime.InteropServices.JavaScript.UnitTests/System/Runtime/InteropServices/JavaScript/SecondRuntimeTest.js b/src/libraries/System.Runtime.InteropServices.JavaScript/tests/System.Runtime.InteropServices.JavaScript.UnitTests/System/Runtime/InteropServices/JavaScript/SecondRuntimeTest.js index f711c31c93e27c..9eb5ac2e85c833 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/tests/System.Runtime.InteropServices.JavaScript.UnitTests/System/Runtime/InteropServices/JavaScript/SecondRuntimeTest.js +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/tests/System.Runtime.InteropServices.JavaScript.UnitTests/System/Runtime/InteropServices/JavaScript/SecondRuntimeTest.js @@ -2,7 +2,7 @@ export async function runSecondRuntimeAndTestStaticState(guid) { const { dotnet: dotnet2 } = await import('./_framework/dotnet.js?instance=2-' + guid); const runtime2 = await dotnet2 .withConfig({ - forwardConsoleLogsToWS: false, + forwardConsole: false, diagnosticTracing: false, appendElementOnExit: false, logExitCode: false, diff --git a/src/libraries/sendtohelix-browser.targets b/src/libraries/sendtohelix-browser.targets index 7c37ece047371f..4490122a05e513 100644 --- a/src/libraries/sendtohelix-browser.targets +++ b/src/libraries/sendtohelix-browser.targets @@ -246,7 +246,7 @@ <_WasmSampleZipFile Condition="'$(Scenario)' == 'WasmTestOnV8'" Include="$(TestArchiveRoot)runonly/**/*.Console.V8.*.Sample.zip" /> <_WasmSampleZipFile Condition="'$(Scenario)' == 'WasmTestOnChrome'" Include="$(TestArchiveRoot)runonly/**/*.Browser.*.Sample.zip" /> - diff --git a/src/mono/browser/runtime/interp-pgo.ts b/src/mono/browser/runtime/interp-pgo.ts index 44ea0b0b74e684..88ffae28b4bf87 100644 --- a/src/mono/browser/runtime/interp-pgo.ts +++ b/src/mono/browser/runtime/interp-pgo.ts @@ -190,7 +190,7 @@ export async function getCacheKey (prefix: string): Promise { // timezone is part of env variables, so it is already in the hash // some things are not relevant for config hash - delete inputs.forwardConsoleLogsToWS; + delete inputs.forwardConsole; delete inputs.diagnosticTracing; delete inputs.appendElementOnExit; delete inputs.interopCleanupOnExit; diff --git a/src/mono/browser/runtime/loader/exit.ts b/src/mono/browser/runtime/loader/exit.ts index 8d0140038acceb..f213a2f7654ff5 100644 --- a/src/mono/browser/runtime/loader/exit.ts +++ b/src/mono/browser/runtime/loader/exit.ts @@ -279,12 +279,12 @@ function logOnExit (exit_code: number, reason: any) { } if (!ENVIRONMENT_IS_WORKER && loaderHelpers.config) { if (loaderHelpers.config.logExitCode) { - if (loaderHelpers.config.forwardConsoleLogsToWS) { + if (loaderHelpers.config.forwardConsole) { teardown_proxy_console("WASM EXIT " + exit_code); } else { mono_log_info_no_prefix("WASM EXIT " + exit_code); } - } else if (loaderHelpers.config.forwardConsoleLogsToWS) { + } else if (loaderHelpers.config.forwardConsole) { teardown_proxy_console(); } } diff --git a/src/mono/browser/runtime/loader/run.ts b/src/mono/browser/runtime/loader/run.ts index 307c2bef3a0557..25ff48c5879a75 100644 --- a/src/mono/browser/runtime/loader/run.ts +++ b/src/mono/browser/runtime/loader/run.ts @@ -32,125 +32,6 @@ export class HostBuilder implements DotnetHostBuilder { } } - // internal - withOnConfigLoaded (onConfigLoaded: (config: MonoConfig) => void | Promise): DotnetHostBuilder { - try { - deep_merge_module(emscriptenModule, { - onConfigLoaded - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withConsoleForwarding (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - forwardConsoleLogsToWS: true - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withExitOnUnhandledError (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - exitOnUnhandledError: true - }); - installUnhandledErrorHandler(); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withAsyncFlushOnExit (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - asyncFlushOnExit: true - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withExitCodeLogging (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - logExitCode: true - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withElementOnExit (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - appendElementOnExit: true - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withInteropCleanupOnExit (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - interopCleanupOnExit: true - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - withDumpThreadsOnNonZeroExit (): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - dumpThreadsOnNonZeroExit: true - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - - // internal - // todo fallback later by debugLevel - withWaitingForDebugger (level: number): DotnetHostBuilder { - try { - deep_merge_config(monoConfig, { - waitForDebugger: level - }); - return this; - } catch (err) { - mono_exit(1, err); - throw err; - } - } - withInterpreterPgo (value: boolean, autoSaveDelay?: number): DotnetHostBuilder { try { deep_merge_config(monoConfig, { @@ -393,7 +274,7 @@ async function prepareEmscripten (moduleFactory: DotnetModuleConfig | ((api: Run return; } emscriptenPrepared = true; - if (ENVIRONMENT_IS_WEB && loaderHelpers.config.forwardConsoleLogsToWS && typeof globalThis.WebSocket != "undefined") { + if (ENVIRONMENT_IS_WEB && loaderHelpers.config.forwardConsole && typeof globalThis.WebSocket != "undefined") { setup_proxy_console("main", globalThis.console, globalThis.location.origin); } mono_assert(emscriptenModule, "Null moduleConfig"); @@ -423,6 +304,9 @@ export async function createEmscripten (moduleFactory: DotnetModuleConfig | ((ap mono_log_info(`starting script ${loaderHelpers.scriptUrl}`); mono_log_info(`starting in ${loaderHelpers.scriptDirectory}`); } + if (loaderHelpers.config.exitOnUnhandledError) { + installUnhandledErrorHandler(); + } registerEmscriptenExitHandlers(); diff --git a/src/mono/browser/runtime/loader/worker.ts b/src/mono/browser/runtime/loader/worker.ts index d14d862c05aa6c..c171211c0c6d8f 100644 --- a/src/mono/browser/runtime/loader/worker.ts +++ b/src/mono/browser/runtime/loader/worker.ts @@ -43,7 +43,7 @@ function onMonoConfigReceived (config: MonoConfigInternal, monoThreadInfo: PThre workerMonoConfigReceived = true; loaderHelpers.afterConfigLoaded.promise_control.resolve(loaderHelpers.config); - if (ENVIRONMENT_IS_WEB && config.forwardConsoleLogsToWS && typeof globalThis.WebSocket != "undefined") { + if (ENVIRONMENT_IS_WEB && config.forwardConsole && typeof globalThis.WebSocket != "undefined") { loaderHelpers.setup_proxy_console("worker-idle", console, globalThis.location.origin); } } diff --git a/src/mono/browser/runtime/pthreads/shared.ts b/src/mono/browser/runtime/pthreads/shared.ts index 69137957eeeebe..93e62b0a289191 100644 --- a/src/mono/browser/runtime/pthreads/shared.ts +++ b/src/mono/browser/runtime/pthreads/shared.ts @@ -52,7 +52,7 @@ export function update_thread_info (): void { monoThreadInfo.threadPrefix = `${hexPrefix}${hexPtr}-${threadType}`; loaderHelpers.set_thread_prefix(monoThreadInfo.threadPrefix!); - if (!loaderHelpers.config.forwardConsoleLogsToWS) { + if (!loaderHelpers.config.forwardConsole) { set_thread_prefix(monoThreadInfo.threadPrefix!); } diff --git a/src/mono/browser/runtime/types/internal.ts b/src/mono/browser/runtime/types/internal.ts index 29c6691ffd274e..7f831e8bcde8d1 100644 --- a/src/mono/browser/runtime/types/internal.ts +++ b/src/mono/browser/runtime/types/internal.ts @@ -73,7 +73,6 @@ export function coerceNull (ptr: T | n // when adding new fields, please consider if it should be impacting the config hash. If not, please drop it in the getCacheKey() export type MonoConfigInternal = MonoConfig & { - linkerEnabled?: boolean, assets?: AssetEntryInternal[], runtimeOptions?: string[], // array of runtime options as strings aotProfilerOptions?: AOTProfilerOptions, // dictionary-style Object. If omitted, aot profiler will not be initialized. @@ -83,7 +82,7 @@ export type MonoConfigInternal = MonoConfig & { interopCleanupOnExit?: boolean dumpThreadsOnNonZeroExit?: boolean logExitCode?: boolean - forwardConsoleLogsToWS?: boolean, + forwardConsole?: boolean, asyncFlushOnExit?: boolean exitOnUnhandledError?: boolean loadAllSatelliteResources?: boolean diff --git a/src/mono/browser/test-main.js b/src/mono/browser/test-main.js index 872e14a2ce4cd9..c81416dfa151cf 100644 --- a/src/mono/browser/test-main.js +++ b/src/mono/browser/test-main.js @@ -256,20 +256,20 @@ function configureRuntime(dotnet, runArgs) { .withVirtualWorkingDirectory(runArgs.workingDirectory) .withEnvironmentVariables(runArgs.environmentVariables) .withDiagnosticTracing(runArgs.diagnosticTracing) - .withExitOnUnhandledError() - .withExitCodeLogging() - .withElementOnExit() - .withInteropCleanupOnExit() - .withDumpThreadsOnNonZeroExit() .withConfig({ + appendElementOnExit: true, + logExitCode: true, + exitOnUnhandledError: true, + forwardConsole: runArgs.forwardConsole, + asyncFlushOnExit: ENVIRONMENT_IS_NODE, + interopCleanupOnExit: true, + dumpThreadsOnNonZeroExit: true, loadAllSatelliteResources: true, jsThreadBlockingMode: "ThrowWhenBlockingWait", }); if (ENVIRONMENT_IS_NODE) { - dotnet - .withEnvironmentVariable("NodeJSPlatform", process.platform) - .withAsyncFlushOnExit(); + dotnet.withEnvironmentVariable("NodeJSPlatform", process.platform); const modulesToLoad = runArgs.environmentVariables["NPM_MODULES"]; if (modulesToLoad) { @@ -296,10 +296,9 @@ function configureRuntime(dotnet, runArgs) { } if (runArgs.debugging) { dotnet.withDebugging(-1); - dotnet.withWaitingForDebugger(-1); - } - if (runArgs.forwardConsole) { - dotnet.withConsoleForwarding(); + dotnet.withConfig({ + waitForDebugger: -1 + }); } } diff --git a/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets b/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets index bad785110dabbf..0c1356bf99f28c 100644 --- a/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets +++ b/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets @@ -451,7 +451,6 @@ Copyright (c) .NET Foundation. All rights reserved. Endpoints="@(_WasmResolvedEndpoints)" DebugBuild="true" DebugLevel="$(WasmDebugLevel)" - LinkerEnabled="false" CacheBootResources="$(_BlazorCacheBootResources)" MergeWith="@(_WasmDotnetJsForBuild)" OutputPath="$(_WasmBuildBootJsonPath)" @@ -860,7 +859,6 @@ Copyright (c) .NET Foundation. All rights reserved. Endpoints="@(_WasmResolvedEndpointsForPublish)" DebugBuild="false" DebugLevel="$(WasmDebugLevel)" - LinkerEnabled="$(PublishTrimmed)" CacheBootResources="$(_BlazorCacheBootResources)" MergeWith="@(_WasmDotnetJsForPublish)" OutputPath="$(IntermediateOutputPath)$(_WasmPublishBootConfigFileName)" diff --git a/src/mono/sample/wasm/browser-advanced/wwwroot/main.js b/src/mono/sample/wasm/browser-advanced/wwwroot/main.js index 02996c2f0be950..a025aaecb0f8da 100644 --- a/src/mono/sample/wasm/browser-advanced/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-advanced/wwwroot/main.js @@ -32,11 +32,11 @@ try { return originalFetch(url, fetchArgs); }; dotnet - .withElementOnExit() // 'withModuleConfig' is internal lower level API // here we show how emscripten could be further configured // It is preferred to use specific 'with***' methods instead in all other cases. .withConfig({ + appendElementOnExit: true, maxParallelDownloads: 1, resources: { modulesAfterConfigLoaded: [{ diff --git a/src/mono/sample/wasm/browser-bench/wwwroot/main.js b/src/mono/sample/wasm/browser-bench/wwwroot/main.js index 5c08e83b8db5a4..2182d9aa0f573a 100644 --- a/src/mono/sample/wasm/browser-bench/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-bench/wwwroot/main.js @@ -229,8 +229,7 @@ try { // console to see statistics on how much code it generated and whether any new opcodes // are causing traces to fail to compile .withRuntimeOptions(["--jiterpreter-stats-enabled"]) - .withElementOnExit() - .withExitCodeLogging() + .withConfig({ exitOnUnhandledError: true, logExitCode: true, appendElementOnExit: true }) .create(); await mainApp.init(runtime); diff --git a/src/mono/sample/wasm/browser-eventpipe/wwwroot/main.js b/src/mono/sample/wasm/browser-eventpipe/wwwroot/main.js index e6737c285f1c70..4cffa0d8c76d9b 100644 --- a/src/mono/sample/wasm/browser-eventpipe/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-eventpipe/wwwroot/main.js @@ -27,8 +27,7 @@ try { "--no-jiterpreter-interp-entry-enabled", "--no-jiterpreter-jit-call-enabled", ])*/ - .withElementOnExit() - .withExitOnUnhandledError() + .withConfig({ appendElementOnExit: true, exitOnUnhandledError: true }) .create(); setModuleImports("main.js", { diff --git a/src/mono/sample/wasm/browser-logprofile/wwwroot/main.js b/src/mono/sample/wasm/browser-logprofile/wwwroot/main.js index 0ad2db48d38c87..9f7df02a15af7b 100644 --- a/src/mono/sample/wasm/browser-logprofile/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-logprofile/wwwroot/main.js @@ -19,7 +19,7 @@ function saveProfile(Module) { } function readProfileFile(Module) { - let profileFilePath="output.mlpd"; + let profileFilePath = "output.mlpd"; var stat = Module.FS.stat(profileFilePath); @@ -33,10 +33,11 @@ function readProfileFile(Module) { } try { - const { INTERNAL, Module, getAssemblyExports: getAssemblyExports } = await dotnet - .withElementOnExit() - .withExitCodeLogging() + const { Module, getAssemblyExports: getAssemblyExports } = await dotnet .withConfig({ + appendElementOnExit: true, + exitOnUnhandledError: true, + logExitCode: true, logProfilerOptions: { takeHeapshot: "Sample.Test::TakeHeapshot", configuration: "log:alloc,output=output.mlpd" diff --git a/src/mono/sample/wasm/browser-profile/wwwroot/main.js b/src/mono/sample/wasm/browser-profile/wwwroot/main.js index aa31ff50dd8c6c..4fbbfed9e4fe78 100644 --- a/src/mono/sample/wasm/browser-profile/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-profile/wwwroot/main.js @@ -20,9 +20,9 @@ function saveProfile(aotProfileData) { } try { const { INTERNAL, getAssemblyExports: getAssemblyExports } = await dotnet - .withElementOnExit() - .withExitCodeLogging() .withConfig({ + appendElementOnExit: true, + logExitCode: true, aotProfilerOptions: { writeAt: "Sample.Test::StopProfile", sendTo: "System.Runtime.InteropServices.JavaScript.JavaScriptExports::DumpAotProfileData" diff --git a/src/mono/sample/wasm/browser-shutdown/wwwroot/main.js b/src/mono/sample/wasm/browser-shutdown/wwwroot/main.js index e3141c08976c1d..60054e9d7a4d77 100644 --- a/src/mono/sample/wasm/browser-shutdown/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-shutdown/wwwroot/main.js @@ -11,14 +11,14 @@ window.addEventListener("load", onLoad); try { const { setModuleImports, getAssemblyExports, setEnvironmentVariable, getConfig } = await dotnet .withModuleConfig() - .withExitOnUnhandledError() - .withExitCodeLogging() - .withElementOnExit() - .withOnConfigLoaded(() => { - // you can test abort of the startup by opening http://localhost:8000/?throwError=true - const params = new URLSearchParams(location.search); - if (params.get("throwError") === "true") { - throw new Error("Error thrown from OnConfigLoaded"); + .withConfig({ appendElementOnExit: true, exitOnUnhandledError: true, logExitCode: true }) + .withModuleConfig({ + onConfigLoaded: () => { + // you can test abort of the startup by opening http://localhost:8000/?throwError=true + const params = new URLSearchParams(location.search); + if (params.get("throwError") === "true") { + throw new Error("Error thrown from OnConfigLoaded"); + } } }) .create(); diff --git a/src/mono/sample/wasm/browser-threads/wwwroot/main.js b/src/mono/sample/wasm/browser-threads/wwwroot/main.js index ea97a5ce200c8c..9befe7d600c693 100644 --- a/src/mono/sample/wasm/browser-threads/wwwroot/main.js +++ b/src/mono/sample/wasm/browser-threads/wwwroot/main.js @@ -14,10 +14,10 @@ try { const { setModuleImports, getAssemblyExports, runMain } = await dotnet .withEnvironmentVariable("MONO_LOG_LEVEL", "debug") - .withElementOnExit() - .withExitCodeLogging() - .withExitOnUnhandledError() .withConfig({ + appendElementOnExit: true, + exitOnUnhandledError: true, + logExitCode: true, jsThreadBlockingMode: "WarnWhenBlockingWait", }) .create(); diff --git a/src/mono/sample/wasm/browser/wwwroot/main.js b/src/mono/sample/wasm/browser/wwwroot/main.js index 20fd268d65b9ac..0674df67a6329b 100644 --- a/src/mono/sample/wasm/browser/wwwroot/main.js +++ b/src/mono/sample/wasm/browser/wwwroot/main.js @@ -8,9 +8,8 @@ function displayMeaning(meaning) { } try { - const { setModuleImports } = await dotnet - .withElementOnExit() - .withExitOnUnhandledError() + const { setModuleImports, getAssemblyExports, runMain } = await dotnet + .withConfig({ appendElementOnExit: true, exitOnUnhandledError: true, forwardConsole: true, logExitCode: true }) .create(); setModuleImports("main.js", { diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 31b38d420d405a..89526bd3a81a7d 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -291,8 +291,8 @@ protected void UpdateBrowserMainJs(string? targetFramework = null, string runtim mainJsContent, ".create()", (targetFrameworkVersion.Major >= 8) - ? ".withConsoleForwarding().withElementOnExit().withExitCodeLogging().withExitOnUnhandledError().create()" - : ".withConsoleForwarding().withElementOnExit().withExitCodeLogging().create()" + ? ".withConfig({ forwardConsole: true, appendElementOnExit: true, logExitCode: true, exitOnUnhandledError: true }).create()" + : ".withConfig({ forwardConsole: true, appendElementOnExit: true, logExitCode: true }).create()" ); // dotnet.run() is used instead of runMain() in net9.0+ diff --git a/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js b/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js index 74b9bed45db269..31744c560ae3b8 100644 --- a/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js +++ b/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js @@ -21,10 +21,7 @@ function countChars(str) { } // Prepare base runtime parameters -dotnet - .withElementOnExit() - .withExitCodeLogging() - .withExitOnUnhandledError(); +dotnet.withConfig({ appendElementOnExit: true, exitOnUnhandledError: true, logExitCode: true }); const logLevel = params.get("MONO_LOG_LEVEL"); const logMask = params.get("MONO_LOG_MASK"); @@ -115,7 +112,7 @@ switch (testCase) { break; case "InterpPgoTest": dotnet - .withConsoleForwarding() + .withConfig({ forwardConsole: true }) .withRuntimeOptions(['--interp-pgo-logging']) .withInterpreterPgo(true); break; diff --git a/src/mono/wasm/testassets/WasmOnAspNetCore/WasmBrowserClient/wwwroot/main.js b/src/mono/wasm/testassets/WasmOnAspNetCore/WasmBrowserClient/wwwroot/main.js index f182fd9eff9919..4aab08f736a7cc 100644 --- a/src/mono/wasm/testassets/WasmOnAspNetCore/WasmBrowserClient/wwwroot/main.js +++ b/src/mono/wasm/testassets/WasmOnAspNetCore/WasmBrowserClient/wwwroot/main.js @@ -5,9 +5,7 @@ import { dotnet, exit } from './_framework/dotnet.js' try { const dotnetRuntime = await dotnet - .withElementOnExit() - .withExitCodeLogging() - .withExitOnUnhandledError() + .withConfig({ appendElementOnExit: true, exitOnUnhandledError: true, logExitCode: true }) .create(); const config = dotnetRuntime.getConfig(); var url = window.location.origin + window.location.pathname; diff --git a/src/native/libs/Common/JavaScript/types/internal.ts b/src/native/libs/Common/JavaScript/types/internal.ts index f71ff8c3ba83e8..19205af0f74dfa 100644 --- a/src/native/libs/Common/JavaScript/types/internal.ts +++ b/src/native/libs/Common/JavaScript/types/internal.ts @@ -78,13 +78,14 @@ export interface AssetEntryInternal extends AssetEntry { } export type LoaderConfigInternal = LoaderConfig & { - linkerEnabled?: boolean, runtimeOptions?: string[], // array of runtime options as strings appendElementOnExit?: boolean logExitCode?: boolean exitOnUnhandledError?: boolean loadAllSatelliteResources?: boolean - resourcesHash?: string, + forwardConsole?: boolean, + asyncFlushOnExit?: boolean + interopCleanupOnExit?: boolean }; diff --git a/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/BootJsonData.cs b/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/BootJsonData.cs index 16563259a399d9..fb257d0669ab9d 100644 --- a/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/BootJsonData.cs +++ b/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/BootJsonData.cs @@ -58,11 +58,6 @@ public class BootJsonData /// public int debugLevel { get; set; } - /// - /// Gets a value that determines if the linker is enabled. - /// - public bool? linkerEnabled { get; set; } - /// /// Config files for the application /// diff --git a/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/GenerateWasmBootJson.cs b/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/GenerateWasmBootJson.cs index f7021c6f6f67c1..5906e1f009e1f4 100644 --- a/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/GenerateWasmBootJson.cs +++ b/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/GenerateWasmBootJson.cs @@ -42,9 +42,6 @@ public class GenerateWasmBootJson : Task public string DebugLevel { get; set; } - [Required] - public bool LinkerEnabled { get; set; } - [Required] public bool CacheBootResources { get; set; } @@ -134,14 +131,10 @@ private void WriteBootConfig(string entryAssemblyName) if (CacheBootResources) result.cacheBootResources = CacheBootResources; } - - if (LinkerEnabled) - result.linkerEnabled = LinkerEnabled; } else { result.cacheBootResources = CacheBootResources; - result.linkerEnabled = LinkerEnabled; result.config = new(); result.debugBuild = DebugBuild; result.entryAssembly = entryAssemblyName; diff --git a/src/tests/FunctionalTests/WebAssembly/Browser/HotReload/main.js b/src/tests/FunctionalTests/WebAssembly/Browser/HotReload/main.js index b1ca242684f915..9c982accaac544 100644 --- a/src/tests/FunctionalTests/WebAssembly/Browser/HotReload/main.js +++ b/src/tests/FunctionalTests/WebAssembly/Browser/HotReload/main.js @@ -11,7 +11,7 @@ function wasm_exit(exit_code) { try { const { getAssemblyExports } = await dotnet - .withElementOnExit() + .withConfig({ appendElementOnExit: true }) .withEnvironmentVariable("DOTNET_MODIFIABLE_ASSEMBLIES", "debug") .create();