in rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostHotReloadConfigurationExtension.kt [32:60]
override suspend fun execute(
executable: DotNetExecutable,
lifetime: Lifetime,
project: Project
): Pair<DotNetExecutable, ProgramRunner.Callback> {
val pipeName = getPipeName()
val browserRefreshHost = BrowserRefreshAgentManager
.getInstance(project)
.startHost(executable.projectTfm, executable.environmentVariables, lifetime)
val hotReloadEnvs = HotReloadEnvironmentBuilder()
.setNamedPipe(pipeName)
.addDeltaApplier()
.addBlazorRefreshClient()
.setBlazorRefreshServerUrls(browserRefreshHost.wsUrls, browserRefreshHost.serverKey)
.build()
val envs = mergeEnvs(executable.environmentVariables, hotReloadEnvs)
val modifiedExecutable = executable.copy(environmentVariables = envs)
val callback = WebHotReloadProgramRunnerCallback(
project,
browserRefreshHost,
pipeName,
null
)
return modifiedExecutable to callback
}