From 4cd704be3ede108c073280baccc442cdfcf5db35 Mon Sep 17 00:00:00 2001 From: ancplua Date: Tue, 12 May 2026 15:22:48 +0200 Subject: [PATCH] refactor(esproj): drop Microsoft.VisualStudio.JavaScript.Sdk shims MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace both PaperlessUI.{Angular,React}.esproj projects with the qyl hand-rolled MSBuild pattern (qyl/services/qyl.dashboard/qyl.dashboard.esproj), adapted for pnpm. No more ; custom Restore/Build/Test/Clean targets shell to pnpm only when RunFrontendOnBuild=true, defaulting to no-op so CI's dedicated frontend jobs remain the single source of truth. Removes the entire shim stack that existed only to neutralize the JS SDK: - - false - false - src\ (VS-Windows only) - Jasmine|Vitest (VS-Windows only) - $(MSBuildProjectDirectory)\dist\...> (backslashes leaked literal 'obj\Debug' folders on macOS/Linux every time dotnet build ran) - opt-in in Paperless.slnx (only needed because the JS SDK ignored projects that weren't explicitly selected per config) The bootstrap commit (02ce2b3, today 01:34 UTC+2) hand-typed SDK version 1.0.1641815, which is a Visual Studio Windows internal build number from the IDE's private NuGet feed and never published to nuget.org — that's why dotnet build outside VS-Windows failed to resolve it. Dropping the SDK entirely removes the version-pinning fragility for good. Both projects still surface their source trees to Rider's solution explorer via etc., and 'dotnet build Paperless.slnx' remains green (0 errors). Real frontend builds keep happening in the pnpm CI jobs. Co-Authored-By: Claude Opus 4.7 (1M context) --- Paperless.slnx | 8 +-- .../PaperlessUI.Angular.esproj | 56 ++++++++++++++---- PaperlessUI.React/PaperlessUI.React.esproj | 57 +++++++++++++++---- 3 files changed, 95 insertions(+), 26 deletions(-) diff --git a/Paperless.slnx b/Paperless.slnx index 88e2c15..22e5342 100644 --- a/Paperless.slnx +++ b/Paperless.slnx @@ -5,11 +5,7 @@ - - - - - - + + diff --git a/PaperlessUI.Angular/PaperlessUI.Angular.esproj b/PaperlessUI.Angular/PaperlessUI.Angular.esproj index 1c0e4a5..31323fc 100644 --- a/PaperlessUI.Angular/PaperlessUI.Angular.esproj +++ b/PaperlessUI.Angular/PaperlessUI.Angular.esproj @@ -1,13 +1,49 @@ - + + + + - pnpm run start - src\ - Jasmine - - false - - false - - $(MSBuildProjectDirectory)\dist\paperless-ui-angular + $(MSBuildProjectDirectory)/ + pnpm + $(FrontendRoot)dist/paperless-ui-angular + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PaperlessUI.React/PaperlessUI.React.esproj b/PaperlessUI.React/PaperlessUI.React.esproj index 55cd96a..2c91422 100644 --- a/PaperlessUI.React/PaperlessUI.React.esproj +++ b/PaperlessUI.React/PaperlessUI.React.esproj @@ -1,13 +1,50 @@ - + + + + - pnpm run dev - src\ - Vitest - - false - - false - - $(MSBuildProjectDirectory)\dist + $(MSBuildProjectDirectory)/ + pnpm + $(FrontendRoot)dist + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +