Skip to content

Remove dead code: BlazorWebApp, Application Insights, and the CI Publish step #79

Description

@wormeyman

Three things measured as unused. Each is independent; they are grouped because they are all removals.

1. src/BlazorWebApp - the whole project

Nothing references it. No CI or deploy workflow touches it. The only mentions outside its own directory are two lines in CLAUDE.md and one in docker-build.sh, both just noting that it forces the wasm-tools workload on full-solution builds.

It is the "alternate Blazor host" from before the Vue app existed. It is also actively costly: together with BrowserWasm it is why dotnet build fails on a machine without wasm-tools.

Its only touchpoint into the planner is Pages/Index.razor calling ParseBlueprint.Execute.

2. Application Insights in WebApp

Microsoft.ApplicationInsights.AspNetCore 2.22.0, wired up at Program.cs:50 with a custom AddClientInfoInitializer.cs and an appsettings.json block. That is Azure telemetry for an app whose Azure target was retired. It reports nowhere.

Removing it also shrinks Renovate's surface.

3. The trailing CI Publish step

ci.yml:259 runs dotnet publish src/WebApp --runtime linux-x64 /p:PublishReadyToRun=true. It is the last step in its job and nothing consumes the output - no artifact upload, no deploy. A leftover from the Azure era. ReadyToRun publishing is not fast, so this is CI time spent for a build check dotnet build already provides.

Deliberately NOT in scope

src/WebApp itself stays. It is not deployed, but it generates swagger.json, which feeds the Vue app's TypeScript types, and CI fails if the committed swagger.json drifts. It is load-bearing infrastructure for a type pipeline despite serving no traffic.

Also considered and declined: adding --no-client to swagger-gen. The generated FactorioToolsApi.ts is 757 lines of which the HttpClient and Api classes (roughly lines 506-757) are never instantiated - only the types are imported. Leaving as is for now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions