-
-
Notifications
You must be signed in to change notification settings - Fork 253
Update apps to .NET 10 RC 1 (#11371) #11372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughRepository-wide upgrade from .NET 9 to .NET 10 RC1: workflows target net10, projects retarget TFMs, and NuGet package versions move to 10.0. RC lines. ES2019 Blazor runtime assets are now framework-hosted (_framework/*.es2019.js) and packaged per TFM. Boilerplate template updates include data seeding, EF/SQL vector changes, and SDK pinning. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant C as Client (Web/Mobile)
participant API as Server API
participant ES as ProductEmbeddingService
participant DB as Database
U->>C: Enter search query
C->>API: GET /products?query=...
API->>ES: GetProductsBySearchQuery(query)
alt PostgreSQL
ES->>ES: Compute embedding (Pgvector.Vector)
ES->>DB: Query with VectorDistance(embedding)
else SQL Server
ES->>ES: Compute embedding (SqlVector<float>)
ES->>DB: Query with VectorDistance(embedding) using Embedding.HasValue
end
DB-->>ES: Matching products
ES-->>API: Results
API-->>C: JSON products
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60–90 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 18
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (15)
src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj (3)
7-7
: Retarget to net10.0 to match the PR’s objectiveThis project still targets net9.0 while the PR upgrades apps to .NET 10 RC1. Please retarget or explicitly justify leaving this one on 9.0.
Apply this diff:
- <TargetFramework>net9.0</TargetFramework> + <TargetFramework>net10.0</TargetFramework>
1-28
: CI failing: InstallNodejsDependencies target missing — add no-op or centralize itCI invokes InstallNodejsDependencies but src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj has no such target (many client projects do — e.g. src/Websites/Careers/.../Bit.Websites.Careers.Client.csproj). Either add a local no-op target to unblock CI or restore/centralize the target in the shared build props/targets and make the CI step conditional.
Quick unblock (add inside src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj, before the final ):
18-26
: Align Microsoft.Extensions. package versions with .NET 10 RC1*
- Microsoft.Extensions.Hosting → 10.0.0-preview.7.25380.108 (nuget.org)
- Microsoft.Extensions.Configuration.Binder → 10.0.0-preview.6.25358.103 (nuget.org)
- Microsoft.Extensions.Http → 10.0.0-rc.1.25451.107 (nuget.org)
- Microsoft.Extensions.Logging.Console → 10.0.0-preview.6.25358.103 (nuget.org)
- Microsoft.Extensions.Options.DataAnnotations → 10.0.0-rc.1.25451.107 (nuget.org)
- Microsoft.Extensions.AI → stable 9.8.0 (latest on NuGet) (nuget.org)
- Microsoft.Extensions.AI.OpenAI → 9.8.0-preview.1.25412.6 (nuget.org)
- Microsoft.Extensions.AI.AzureAIInference → 9.7.1-preview.1.25365.4 (nuget.org)
src/Templates/Boilerplate/Bit.Boilerplate/.azure-devops/workflows/cd.yml (2)
38-39
: Syntax bug: stray leading quote breaks Bash.The script line starts with a single quote, causing an unterminated string in Bash.
Apply:
- 'cd src && dotnet workload install wasm-tools' + cd src && dotnet workload install wasm-tools
145-149
: Windows job uses Bash with backslashes → path resolution will fail.Bash on Windows interprets backslashes as escapes. Use PowerShell or forward slashes.
Use PowerShell:
- - task: Bash@3 - displayName: 'Publish' - inputs: - targetType: 'inline' - script: | - cd src\Client\Boilerplate.Client.Windows\ - dotnet publish Boilerplate.Client.Windows.csproj -c Release -o .\publish-result -r win-x86 -p:Version="${{ vars.APP_VERSION}}" --self-contained - dotnet tool restore - dotnet vpk pack -u Boilerplate.Client.Windows -v "${{ vars.APP_VERSION }}" -p .\publish-result -e Boilerplate.Client.Windows.exe -r win-x86 --framework webview2 --icon .\wwwroot\favicon.ico --packTitle 'Boilerplate' + - task: PowerShell@2 + displayName: 'Publish' + inputs: + targetType: 'inline' + script: | + Set-StrictMode -Version Latest + cd src\Client\Boilerplate.Client.Windows\ + dotnet publish Boilerplate.Client.Windows.csproj -c Release -o .\publish-result -r win-x86 -p:Version="${{ vars.APP_VERSION}}" --self-contained + dotnet tool restore + dotnet vpk pack -u Boilerplate.Client.Windows -v "${{ vars.APP_VERSION }}" -p .\publish-result -e Boilerplate.Client.Windows.exe -r win-x86 --framework webview2 --icon .\wwwroot\favicon.ico --packTitle 'Boilerplate'Alternatively keep Bash but switch to forward slashes.
.github/workflows/todo-sample.cd.yml (1)
514-522
: Case-sensitive path: use Release, not release, for iOS artifact.On macOS runners, the directory is bin/Release by default.
- path: TodoSample/src/Client/TodoSample.Client.Maui/bin/release/net10.0-ios/ios-arm64/publish/*.ipa + path: TodoSample/src/Client/TodoSample.Client.Maui/bin/Release/net10.0-ios/ios-arm64/publish/*.ipasrc/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj (1)
1-35
: CI failure: InstallNodejsDependencies not available to Platform.Server — restore shared targets or add the targetInstallNodejsDependencies is defined inline in many projects (e.g. src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj; src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj; src/Bswup/Bit.Bswup/Bit.Bswup.csproj) but src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj contains no or ; restore the central .targets import (Directory.Build.targets or equivalent) or add the to Platform.Server to resolve the CI MSB4057.
src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj (1)
112-117
: Typo in glob: package JSON won’t be included as None.
It uses “packagejson” (missing dot). That breaks the transform and may leak package.json into publish.- <None Include="package*json" /> + <None Include="package*.json" />src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj (1)
106-111
: Typo in glob: package JSON include.
Fix “packagejson” to “package.json”.- <None Include="package*json" /> + <None Include="package*.json" />src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/20250912182827_Initial.cs (2)
566-570
: Blocker: migration seeds a privileged “test” user (with password hash) by default.This creates a predictable admin entry in production. Remove user seeding from the initial migration and move dev/demo seeding behind an environment gate (e.g., IHostedService on Development only) or require explicit opt‑in.
Apply this diff to drop the seeded user:
- migrationBuilder.InsertData( - table: "Users", - columns: new[] { "Id", "AccessFailedCount", "BirthDate", "ConcurrencyStamp", "ElevatedAccessTokenRequestedOn", "Email", "EmailConfirmed", "EmailTokenRequestedOn", "FullName", "Gender", "HasProfilePicture", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "OtpRequestedOn", "PasswordHash", "PhoneNumber", "PhoneNumberConfirmed", "PhoneNumberTokenRequestedOn", "ResetPasswordTokenRequestedOn", "SecurityStamp", "TwoFactorEnabled", "TwoFactorTokenRequestedOn", "UserName" }, - values: new object[] { new Guid("8ff71671-a1d6-4f97-abb9-d87d7b47d6e7"), 0, 1306790461440000000L, "315e1a26-5b3a-4544-8e91-2760cd28e231", null, "[email protected]", true, 1306790461440000000L, "Boilerplate test account", 0, false, true, null, "[email protected]", "TEST", null, "AQAAAAIAAYagAAAAEP0v3wxkdWtMkHA3Pp5/JfS+42/Qto9G05p2mta6dncSK37hPxEHa3PGE4aqN30Aag==", "+31684207362", true, null, null, "959ff4a9-4b07-4cc1-8141-c5fc033daf83", false, null, "test" }); + // Intentionally no default user is seeded here. Seed demo users only in Development via a runtime initializer.
639-643
: Blocker: mapping the seeded user to “s-admin” role.Compounds the risk. Remove this link along with the user seed.
Apply this diff:
- migrationBuilder.InsertData( - table: "UserRoles", - columns: new[] { "RoleId", "UserId" }, - values: new object[] { new Guid("8ff71671-a1d6-5f97-abb9-d87d7b47d6e7"), new Guid("8ff71671-a1d6-4f97-abb9-d87d7b47d6e7") }); + // No default admin-user linkage; create on-demand via a secure bootstrap path.src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/20250912182827_Initial.Designer.cs (1)
338-360
: Designer also embeds the default “test” user. Remove to avoid shipping a prod admin.After removing from the migration, re-scaffold to drop this HasData block.
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Boilerplate.Client.Web.csproj (1)
66-72
: Define InstallNodejsDependencies to satisfy CI and make sass available.Current CI fails with MSB4057. Add a target here or at repo‑root to install Node deps for Client.Core before CSS build.
Apply this diff (project‑local option):
<Target Name="BeforeBuildTasks" AfterTargets="CoreCompile"> <CallTarget Targets="BuildCssFiles" /> </Target> + <Target Name="InstallNodejsDependencies" BeforeTargets="BuildCssFiles"> + <Message Text="Installing Node.js dependencies for Boilerplate.Client.Core..." Importance="high" /> + <Exec Command="npm ci" WorkingDirectory="..\Boilerplate.Client.Core" /> + </Target>Alternatively, add the target once in Directory.Build.targets at repo root (preferred).
src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj (1)
1-9
: CI: Add repo-level InstallNodejsDependencies MSBuild target.github/workflows/bit.ci.yml invokes
dotnet build -t:InstallNodejsDependencies
(two steps), and some projects (e.g. src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj) lack that target causing MSB4057. Define a global InstallNodejsDependencies target at the repo root (e.g., Directory.Build.targets or a shared .targets file) so all projects satisfy the workflow.src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj (1)
12-12
: Add no-op InstallNodejsDependencies and guard SASS Exec in MAUI csprojCI fails with MSB4057 because solution-level -t:InstallNodejsDependencies hits projects that don't declare that target (e.g. src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj) and the BuildCssFiles Exec runs even when node_modules is absent. Add a harmless InstallNodejsDependencies target (or define it centrally) and make the SASS Exec conditional on the sass binary existing.
Location: src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj
@@ - <Target Name="BeforeBuildTasks" AfterTargets="CoreCompile"> + <Target Name="BeforeBuildTasks" AfterTargets="CoreCompile"> <Error Text="Enable long paths in Windows. https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later" Condition=" $([MSBuild]::IsOSPlatform('windows')) AND $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem', 'LongPathsEnabled', null, RegistryView.Registry64)) != '1' " /> <CallTarget Targets="BuildCssFiles" /> </Target> @@ - <Target Name="BuildCssFiles"> - <Exec Command="../Boilerplate.Client.Core/node_modules/.bin/sass Components:Components --style compressed --silence-deprecation=import --update --color" StandardOutputImportance="high" StandardErrorImportance="high" LogStandardErrorAsError="true" /> - </Target> + <Target Name="BuildCssFiles"> + <Exec + Condition="Exists('../Boilerplate.Client.Core/node_modules/.bin/sass') OR Exists('../Boilerplate.Client.Core/node_modules/.bin/sass.cmd')" + Command="../Boilerplate.Client.Core/node_modules/.bin/sass Components:Components --style compressed --silence-deprecation=import --update --color" + StandardOutputImportance="high" + StandardErrorImportance="high" + LogStandardErrorAsError="true" /> + </Target> + + <!-- CI sometimes invokes this target; provide a harmless stub in the MAUI app --> + <Target Name="InstallNodejsDependencies"> + <Message Text="InstallNodejsDependencies: no-op in MAUI app (handled in Client.Core or pipeline)." Importance="low" /> + </Target>
♻️ Duplicate comments (5)
src/Besql/Demo/Bit.Besql.Demo.Client/Bit.Besql.Demo.Client.csproj (1)
1-10
: CI note: 'InstallNodejsDependencies' target missing (duplicate).Same root cause as flagged earlier; address centrally.
src/Butil/Demo/Bit.Butil.Demo.Core/Bit.Butil.Demo.Core.csproj (1)
1-6
: CI note: 'InstallNodejsDependencies' target missing (duplicate).Track with the central fix.
src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj (1)
1-1
: CI failure: ‘InstallNodejsDependencies’ target missing.Same MSB4057 issue appears here. See suggested repo-wide search/fix in the Shared project comment.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Boilerplate.Server.Web.csproj (1)
1-1
: CI failure reference: missing ‘InstallNodejsDependencies’.The same MSB4057 error affects the build. Please reconcile the target invocation vs. its definition (see repo-wide search suggestion).
src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj (1)
1-1
: CI failure: ‘InstallNodejsDependencies’ target missing.Seen here as well; address repo-wide by removing the invocation or re-adding the target.
🧹 Nitpick comments (57)
src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj (1)
14-14
: Consolidate WebAssembly RC1 and add DevServer where neededVerified: most client projects reference Microsoft.AspNetCore.Components.WebAssembly 10.0.0-rc.1.25451.107; several projects already include the DevServer package, but Templates/BlazorEmpty (src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj) does not. One multi-targeted project (src/Besql/Bit.Besql/Bit.Besql.csproj) still has net9.0 conditionals pinned to 9.0.0.
- Action: if dotnet run parity is desired, add DevServer to the client csproj(s) that lack it (example diff below).
<ItemGroup> - <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.1.25451.107" /> + <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0-rc.1.25451.107" /> + <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0-rc.1.25451.107" PrivateAssets="all" /> </ItemGroup>
- Recommend moving package versions to Directory.Packages.props to prevent drift; treat net9.0 conditionals explicitly.
src/Bswup/FullDemo/Server/Bit.Bswup.Demo.Server.csproj (1)
11-11
: RC package OK; consider centralizing version.Version looks consistent with other projects. Consider moving RC versions to Directory.Packages.props to avoid drift.
src/Bswup/FullDemo/Client/Bit.Bswup.Demo.Client.csproj (1)
1-26
: CI failure follow-up for client.If CI previously relied on InstallNodejsDependencies, switch to explicit npm ci in the Client directory or add the temporary MSBuild shim as noted in the Server comment.
src/Bswup/Bit.Bswup.Demo/Bit.Bswup.Demo.csproj (2)
11-12
: RC versions consistent.Good alignment with the rest of the PR; consider central package management to prevent drift.
1-23
: Same CI target issue applies.Ensure pipeline no longer calls InstallNodejsDependencies for this project, or add the temporary shim at repo root.
src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/Bit.Bswup.NewDemo.Client.csproj (2)
16-16
: WebAssembly package RC1 set.Looks good. Optional: add DevServer package for local debugging parity (PrivateAssets=all), if that’s part of your usual dev workflow.
+ <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" + Version="10.0.0-rc.1.25451.107" PrivateAssets="all" />
1-23
: Address CI ‘InstallNodejsDependencies’ call.Same recommendation: remove the CI invocation or add the root shim target.
src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.csproj (1)
11-11
: Server package RC1 aligned.All good; consider centralizing version management.
src/Butil/Demo/Bit.Butil.Demo.Maui/Bit.Butil.Demo.Maui.csproj (1)
4-6
: TFM conditions OK; considerChoose/When
for clarity and to avoid accidental overrides.Current setup works; Linux intentionally overwrites to Android-only. Optional readability refactor:
- <TargetFrameworks>net10.0-android;net10.0-ios;net10.0-maccatalyst</TargetFrameworks> - <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net10.0-windows10.0.19041.0</TargetFrameworks> - <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('linux'))">net10.0-android</TargetFrameworks> + <TargetFrameworks>net10.0-android;net10.0-ios;net10.0-maccatalyst</TargetFrameworks> + <Choose> + <When Condition="$([MSBuild]::IsOSPlatform('windows'))"> + <PropertyGroup> + <TargetFrameworks>$(TargetFrameworks);net10.0-windows10.0.19041.0</TargetFrameworks> + </PropertyGroup> + </When> + <When Condition="$([MSBuild]::IsOSPlatform('linux'))"> + <PropertyGroup> + <TargetFrameworks>net10.0-android</TargetFrameworks> + </PropertyGroup> + </When> + </Choose>Please confirm Android min/target SDK requirements for .NET 10 RC1 (Android 14 vs 15) in your workloads to avoid build-time mismatches.
src/Templates/Boilerplate/Bit.Boilerplate/src/Tests/Boilerplate.Tests.csproj (1)
7-7
: Nit: Cross‑platform path separatorConsider using forward slash for portability: $(MSBuildProjectDirectory)/.runsettings.
Apply this minimal change:
- <RunSettingsFilePath>$(MSBuildProjectDirectory)\.runsettings</RunSettingsFilePath> + <RunSettingsFilePath>$(MSBuildProjectDirectory)/.runsettings</RunSettingsFilePath>src/BlazorES2019/README.md (5)
3-3
: Fix grammar and clarify scope.Change “followings” → “following platforms” to improve clarity.
-While .NET can run on the followings: +While .NET can run on the following platforms:
44-56
: Same robustness issues for .NET 10; also verify “ES2024” source value.Use the Node-based retargeting, pin shallow clone, and replace
npm install
withnpm ci
. Also confirm the upstream target before replacement.-git clone https://github.com/dotnet/aspnetcore.git +git clone --depth 1 https://github.com/dotnet/aspnetcore.git cd aspnetcore git switch release/10.0 git submodule update --init --recursive -sed -i 's/"target": "ES2024"/"target": "ES2019"/' src/Components/Shared.JS/tsconfig.json -npm install -npm run-script build -cd src/Components/Web.JS -npm install -npm run-script build:production +node -e "const fs=require('fs');for(const f of ['src/Components/Shared.JS/tsconfig.json','src/Components/Web.JS/tsconfig.json']){const j=JSON.parse(fs.readFileSync(f));(j.compilerOptions??={});j.compilerOptions.target='ES2019';fs.writeFileSync(f, JSON.stringify(j,null,2)+'\n');}" +npm ci +npm run build +cd src/Components/Web.JS +npm ci +npm run build:production
58-58
: Tighten wording, fix spacing/casing.Minor edits: fix stray space, capitalize NuGet, and clarify “pipelines”.
-We're running the above script in [pre-release](https://github.com/bitfoundation/bitplatform/blob/develop/.github/workflows/prerelease.nuget.org.yml) and [release ](https://github.com/bitfoundation/bitplatform/blob/develop/.github/workflows/nuget.org.yml)nuget packages pipelines so you can use these assets published in [nuget.org](https://www.nuget.org/packages/Bit.BlazorES2019/) +We run the above scripts in the [pre-release](https://github.com/bitfoundation/bitplatform/blob/develop/.github/workflows/prerelease.nuget.org.yml) and [release](https://github.com/bitfoundation/bitplatform/blob/develop/.github/workflows/nuget.org.yml) NuGet package pipelines, so you can consume these assets on [NuGet.org](https://www.nuget.org/packages/Bit.BlazorES2019/).
36-42
: Optional: pin to RC tags/commit for reproducibility and add Windows note.
- Prefer checking out the RC tag or a known commit for deterministic outputs.
- Add a PowerShell equivalent (no sed on Windows).
PowerShell example to retarget both files:
$files = @('src/Components/Shared.JS/tsconfig.json','src/Components/Web.JS/tsconfig.json') foreach ($f in $files) { $j = Get-Content $f | ConvertFrom-Json if (-not $j.compilerOptions) { $j | Add-Member -NotePropertyName compilerOptions -NotePropertyValue (@{}) } $j.compilerOptions.target = 'ES2019' ($j | ConvertTo-Json -Depth 10) + "`n" | Set-Content $f -NoNewline }Also applies to: 46-56
17-17
: Validate “ES2022+” claim and align tables.release/9.0 (src/Components/Shared.JS/tsconfig.json) — compilerOptions.target = ES2022; release/10.0 (src/Components/Shared.JS/tsconfig.json) — compilerOptions.target = ES2024. (github.com)
Update src/BlazorES2019/README.md compatibility table to show 9.0 → ES2022 and 10.0 → ES2024.
src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj (1)
14-14
: RollForward likely unnecessary after retargetingIf you move to net10.0, consider removing RollForward; keep it only if you intend net9.0 tool to run on 10.x.
Apply this diff after retargeting:
- <RollForward>Major</RollForward> + <!-- RollForward removed; targeting net10.0 directly -->If you intentionally keep net9.0 for broader tool reach, confirm that RollForward=Major is the desired policy (vs LatestMajor).
src/Templates/Boilerplate/Bit.Boilerplate/.azure-devops/workflows/ci.yml (1)
41-41
: Don’t hardcode TFM/config in Playwright path.Make the script discover the generated playwright.ps1 to avoid future TFM/config drifts.
Apply:
- script: 'pwsh src/Tests/bin/Debug/net10.0/playwright.ps1 install --with-deps' + script: | + pwsh -NoLogo -NoProfile -Command " + $p = Get-ChildItem src/Tests -Recurse -Filter playwright.ps1 | Select-Object -First 1 -Expand FullName; + & $p install --with-deps + "src/Websites/Sales/src/Directory.Build.props (1)
11-11
: Scope HotReloadAutoRestart to Debug builds.Prevents unexpected behavior outside local dev.
Apply:
- <HotReloadAutoRestart>true</HotReloadAutoRestart> + <HotReloadAutoRestart Condition="'$(Configuration)'=='Debug'">true</HotReloadAutoRestart>src/BlazorUI/Demo/Directory.Build.props (1)
27-27
: Verify HotReloadAutoRestart is actually honored; consider using DOTNET_WATCH_RESTART_ON_RUDE_EDIT instead.I can’t find an SDK/MSBuild property named HotReloadAutoRestart in the docs. For auto‑restart on rude edits, dotnet‑watch uses the DOTNET_WATCH_RESTART_ON_RUDE_EDIT env var. Please confirm this property is recognized in your build, or switch to setting the env var via launchSettings or your dev scripts. (learn.microsoft.com)
Example (launchSettings.json):
"environmentVariables": { "DOTNET_WATCH_RESTART_ON_RUDE_EDIT": "true" }src/Templates/Boilerplate/Bit.Boilerplate/global.json (1)
3-4
: Exact RC SDK pin + rollForward=disable is brittle; allow patch roll‑forward (and prerelease).CI/dev boxes must have 10.0.100-rc.1.25451.107 installed exactly or builds will fail. Prefer latestPatch and allowPrerelease to pick patched RCs automatically, or ensure your pipelines install this exact SDK. (learn.microsoft.com)
{ "sdk": { - "version": "10.0.100-rc.1.25451.107", - "rollForward": "disable" + "version": "10.0.100-rc.1.25451.107", + "allowPrerelease": true, + "rollForward": "latestPatch" } }src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Boilerplate.Server.AppHost.csproj (1)
7-7
: Confirm Aspire 9.4.x compatibility with .NET 10 RC1; also consider removing IsAspireHost.Docs say Aspire 9.4 supports .NET 10 (Preview 6). Please verify 9.4.2 works with .NET 10 RC1, or plan to move to the first Aspire release that explicitly supports RC1. Also, IsAspireHost is no longer required since Aspire 9.2—safe to remove to reduce noise. (learn.microsoft.com)
<PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net10.0</TargetFramework> - <IsAspireHost>true</IsAspireHost> <UserSecretsId>AC87AA5B-4B37-4E52-8468-2D5DF24AF256</UserSecretsId> </PropertyGroup>
src/Templates/Boilerplate/Bit.Boilerplate/.github/workflows/ci.yml (1)
38-39
: Make Playwright install path TFM-agnostic to survive future upgrades.Use a wildcard to avoid hardcoding net10.0 and reduce churn on the next TFM bump.
- run: pwsh src/Tests/bin/Debug/net10.0/playwright.ps1 install --with-deps + run: pwsh src/Tests/bin/Debug/*/playwright.ps1 install --with-depssrc/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj (1)
17-19
: These explicit RC package refs may be unnecessary on net10.0.Microsoft.Extensions.* and System.Text.Json are provided by the net10 shared framework. Keeping explicit versions can cause binding drift unless you need out-of-band fixes or cross-targeting.
- <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0-rc.1.25451.107" /> - <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0-rc.1.25451.107" /> - <PackageReference Include="System.Text.Json" Version="10.0.0-rc.1.25451.107" />If you intentionally pin these (e.g., to match other projects), ignore this suggestion.
src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj (1)
8-9
: Gate Composite R2R behind a flag to control publish time/size tradeoffs.Composite R2R increases publish time and size; keep it opt-in for CI and perf testing.
- <PublishReadyToRunComposite>true</PublishReadyToRunComposite> + <PublishReadyToRunComposite Condition="'$(EnableCompositeR2R)'=='true'">true</PublishReadyToRunComposite>Then enable via MSBuild property only where desired:
-p:EnableCompositeR2R=true
..github/workflows/bit.full.ci.yml (2)
65-66
: Avoid hardcoding TFM in Playwright path.Wildcard keeps this step future-proof when TFMs change.
- pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps + pwsh bin/Debug/*/playwright.ps1 install --with-deps
86-87
: Same here—make Playwright path TFM-agnostic.- pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps + pwsh bin/Debug/*/playwright.ps1 install --with-depssrc/Websites/Platform/src/Directory.Build.props (1)
12-13
: HotReloadAutoRestart addition: OK; consider scoping to watch-only.To avoid any unintended behavior in CI/non-watch builds, scope it to dotnet-watch.
- <HotReloadAutoRestart>true</HotReloadAutoRestart> + <HotReloadAutoRestart Condition="'$(DOTNET_WATCH)'=='1'">true</HotReloadAutoRestart>src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj (1)
17-19
: Potentially redundant explicit RC package refs on net10.Same note as Sales.Shared: consider relying on the shared framework unless you need specific OOB fixes.
- <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0-rc.1.25451.107" /> - <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0-rc.1.25451.107" /> - <PackageReference Include="System.Text.Json" Version="10.0.0-rc.1.25451.107" />src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj (1)
15-16
: Centralize Microsoft.AspNetCore.Components.WebAssembly.Server RC version in Directory.Packages.propsManagePackageVersionsCentrally is enabled in src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props and that template already defines the package version at src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props:117 — remove the inline Version from the BlazorEmpty template (src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj:15) and other projects so they use the centralized PackageVersion (move/add to the appropriate Directory.Packages.props — top-level if shared across templates).
src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/appsettings.json (1)
33-35
: Prefer null or omit DSN when disabled.Sentry .NET treats null DSN as disabled; empty string may log warnings. Recommend reverting to null or removing the key in templates.
- "Dsn": "", + "Dsn": null,src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Boilerplate.Server.Api.csproj (1)
1-114
: CI target ‘InstallNodejsDependencies’ still failing repo-wide.If this project (or its referenced projects) used to import a .targets file defining that target, ensure it’s still imported after the template refactors.
- Confirm presence of Directory.Build.targets/props that declares the target.
- If the target was renamed, update pipeline invocations accordingly.
- As a fallback, replace MSBuild target calls with explicit Node/npm steps in CI.
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/service-worker.published.js (1)
69-73
: Exclude new ES2019 web runtime from SW precache.You excluded server/webview ES2019 but not blazor.web.es2019.js, which is now used. Add it to assetsExclude to avoid stale SW-cached runtime.
// https://github.com/orgs/bitfoundation/discussions/10238#discussioncomment-12493737 + /_framework\/blazor\.web\.es2019\.js$/, /_framework\/blazor\.server\/es2019\.js$/, /_framework\/blazor\.webview\/es2019\.js$/, /_framework\/blazor\.web\.js$/, /_framework\/blazor\.webassembly\.js$/
src/Templates/Boilerplate/Bit.Boilerplate/.github/workflows/cd-template.yml (1)
263-269
: Fix iOS artifact path casing and add EOF newline.Use bin/Release (actual output folder casing) to avoid path issues, and add a newline at EOF to satisfy linters.
- path: src/Client/Boilerplate.Client.Maui/bin/release/net10.0-ios/ios-arm64/publish/*.ipa + path: src/Client/Boilerplate.Client.Maui/bin/Release/net10.0-ios/ios-arm64/publish/*.ipasrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razor (1)
54-56
: Switch to _framework/blazor.web.es2019.js: good; sync SW excludes.Since the runtime script changed, ensure service worker excludes blazor.web.es2019.js (see service-worker.published.js suggestion) to avoid stale caching.
.github/workflows/blazorui.demo.cd.yml (1)
239-239
: Fix iOS artifact path casing and add EOF newline.Use bin/Release (consistent with .NET output) and add a newline at EOF (yamllint error).
- path: src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/bin/release/net10.0-ios/ios-arm64/publish/*.ipa + path: src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/bin/Release/net10.0-ios/ios-arm64/publish/*.ipa.github/workflows/nuget.org.yml (3)
46-61
: Net9 ES2019 build step: make cloning/build leaner and deterministicUse shallow clone and npm ci; ensure dest dir exists; guard sed with a check.
- git clone https://github.com/dotnet/aspnetcore.git - cd aspnetcore - git switch release/9.0 - git submodule update --init --recursive - sed -i 's/"target": "ES2022"/"target": "ES2019"/' src/Components/Shared.JS/tsconfig.json - npm install + git clone --depth 1 --filter=blob:none --branch release/9.0 https://github.com/dotnet/aspnetcore.git + cd aspnetcore + git submodule update --init --recursive --depth 1 + grep -q '"target": "ES[0-9]\{4\}"' src/Components/Shared.JS/tsconfig.json || { echo "target field not found"; exit 1; } + sed -i -E 's/"target": "ES[0-9]{4}"/"target": "ES2019"/' src/Components/Shared.JS/tsconfig.json + npm ci npm run-script build cd src/Components/Web.JS - npm install + npm ci npm run-script build:production cd ../../../../ - cp aspnetcore/src/Components/Web.JS/dist/Release/blazor.*.js src/BlazorES2019/Bit.BlazorES2019/wwwroot.net9/ + mkdir -p src/BlazorES2019/Bit.BlazorES2019/wwwroot.net9/ + cp aspnetcore/src/Components/Web.JS/dist/Release/blazor.*.js src/BlazorES2019/Bit.BlazorES2019/wwwroot.net9/ rm -rf aspnetcore
62-76
: Net10 ES2019 build step: same hardening as net9Shallow clone, npm ci, robust sed, ensure destination exists.
- git clone https://github.com/dotnet/aspnetcore.git - cd aspnetcore - git switch release/10.0 - git submodule update --init --recursive - sed -i 's/"target": "ES2024"/"target": "ES2019"/' src/Components/Shared.JS/tsconfig.json - npm install + git clone --depth 1 --filter=blob:none --branch release/10.0 https://github.com/dotnet/aspnetcore.git + cd aspnetcore + git submodule update --init --recursive --depth 1 + sed -i -E 's/"target": "ES[0-9]{4}"/"target": "ES2019"/' src/Components/Shared.JS/tsconfig.json + npm ci npm run-script build cd src/Components/Web.JS - npm install + npm ci npm run-script build:production cd ../../../../ - cp aspnetcore/src/Components/Web.JS/dist/Release/blazor.*.js src/BlazorES2019/Bit.BlazorES2019/wwwroot.net10/ + mkdir -p src/BlazorES2019/Bit.BlazorES2019/wwwroot.net10/ + cp aspnetcore/src/Components/Web.JS/dist/Release/blazor.*.js src/BlazorES2019/Bit.BlazorES2019/wwwroot.net10/
156-156
: Add newline at EOF to satisfy lintersYAMLlint flags missing newline.
- run: dotnet nuget push **/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_ORG_API_KEY}} --skip-duplicate + run: dotnet nuget push **/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_ORG_API_KEY}} --skip-duplicate +src/Websites/Platform/src/Bit.Websites.Platform.Server/Components/App.razor (1)
12-16
: Add cache-busting or integrity for CSS assets.Consider versioned filenames or SRI to harden caching and integrity (Link component doesn’t support asp-append-version). If you already fingerprint at publish, ignore.
src/BlazorES2019/Bit.BlazorES2019/Bit.BlazorES2019.csproj (1)
29-38
: README packaging: OK; consider linking once.Duplicated adds are fine; alternatively, emit once to a TFM-agnostic path or include a single root README alongside assets.
src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj (1)
16-19
: Avoid pinning pre-release BCL packages unless required.On net10.0, System.Text.Json and Microsoft.Extensions.* ship in the framework. If you don’t need specific RC1 fixes, prefer removing these PackageReferences to avoid assembly binding skew.
.github/workflows/prerelease.nuget.org.yml (2)
37-52
: .NET 9 ES2019 generation: pin inputs and cache npm.
- Pin aspnetcore to a commit/tag for reproducibility; relying on the moving release/9.0 branch is brittle.
- Add actions/cache for npm to speed builds.
Example tweaks:
- git clone https://github.com/dotnet/aspnetcore.git - cd aspnetcore - git switch release/9.0 + git clone --filter=blob:none https://github.com/dotnet/aspnetcore.git + cd aspnetcore + git switch --detach <KNOWN_GOOD_COMMIT_FOR_9.0> git submodule update --init --recursive
53-67
: .NET 10 ES2019 generation: same pinning + verify tsconfig path.
- Pin to a specific 10.0 RC1 commit/tag.
- Confirm Shared.JS tsconfig path remains src/Components/Shared.JS/tsconfig.json in 10.0 RC1 (structure changed in the past).
Also consider Node 22 LTS for broader tooling compatibility:
- uses: actions/setup-node@v4 - with: - node-version: 23 + uses: actions/setup-node@v4 + with: + node-version: 22src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj (2)
12-12
: EnableDefaultCssItems=false: confirm no missing default styles.If you rely on MAUI default CSS items anywhere, this may drop them. Otherwise fine.
105-105
: Bit.BlazorES2019 version 0.0.0: placeholder risk.If this project is built outside the mono-repo (without a local nupkg), restore will fail. Consider using a prerelease version and update via Directory.Packages.props or a local source mapping.
src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj (3)
15-18
: Disabling static web asset fingerprinting: verify cache strategy.
Turning off all fingerprinting can cause long‑lived caches to serve stale assets unless your SW/versioning strategy guarantees busting. Confirm Bswup config accounts for this, or consider leaving hashing on.
19-19
: Why is WebAssembly SIMD disabled?
SIMD is broadly supported and improves runtime perf. If no compatibility constraint, enable it.- <WasmEnableSIMD>false</WasmEnableSIMD> + <WasmEnableSIMD>true</WasmEnableSIMD>
89-91
: Prefer deterministic Node installs in CI.
Use npm ci when package-lock.json exists; it’s faster and reproducible.- <Exec Command="npm install" StandardOutputImportance="high" StandardErrorImportance="high" /> + <Exec Condition="Exists('package-lock.json')" Command="npm ci --no-audit --no-fund" StandardOutputImportance="high" StandardErrorImportance="high" /> + <Exec Condition="!Exists('package-lock.json')" Command="npm install --no-audit --no-fund" StandardOutputImportance="high" StandardErrorImportance="high" />src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj (3)
15-18
: Asset fingerprinting disabled: confirm SW/versioning.
Same caching caveat as Platform.Client—verify your invalidation mechanism.
18-19
: Consider enabling WebAssembly SIMD.- <WasmEnableSIMD>false</WasmEnableSIMD> + <WasmEnableSIMD>true</WasmEnableSIMD>
89-91
: Use npm ci when possible.- <Exec Command="npm install" StandardOutputImportance="high" StandardErrorImportance="high" /> + <Exec Condition="Exists('package-lock.json')" Command="npm ci --no-audit --no-fund" StandardOutputImportance="high" StandardErrorImportance="high" /> + <Exec Condition="!Exists('package-lock.json')" Command="npm install --no-audit --no-fund" StandardOutputImportance="high" StandardErrorImportance="high" />src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Boilerplate.Client.Windows.csproj (1)
66-72
: InstallNodejsDependencies: repo scan complete — centralize or guard CI invocation to avoid MSB4057 noiseScan results: InstallNodejsDependencies is defined in multiple client csproj (examples: src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj, src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj, src/Templates/Boilerplate/.../Boilerplate.Client.Core.csproj, src/Bswup/Bit.Bswup/Bit.Bswup.csproj, src/Butil/Bit.Butil/Bit.Butil.csproj, several BlazorUI projects). The CI invokes the target solution‑wide (.github/workflows/bit.ci.yml uses dotnet build -t:InstallNodejsDependencies) and currently sets continue-on-error; MSB4057 is expected for projects that don’t declare the target.
Recommended actions (choose one):
- Add a central InstallNodejsDependencies target (or a no-op stub) in src/Directory.Build.targets so every project exposes it (preferred).
- Restrict the CI dotnet build -t invocation to only the projects/solutions that actually need Node.
- Make the CallTarget conditional (only call when package.json exists) in projects that currently call it.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/AppDbContextModelSnapshot.cs (1)
130-131
: Fix prompt typos and a stray quote in seeded Markdown.
- "You are a assistant" → "You are an assistant".
- Remove the extra quote after [[[ADS_TROUBLE_RULES_BEGIN]]].
Apply this diff:
- Markdown = "You are a assistant for the Boilerplate app. Below, you will find a markdown document ... + Markdown = "You are an assistant for the Boilerplate app. Below, you will find a markdown document ... ... -### Handling advertisement trouble requests: -**[[[ADS_TROUBLE_RULES_BEGIN]]]\" +### Handling advertisement trouble requests: +**[[[ADS_TROUBLE_RULES_BEGIN]]]src/Websites/Careers/src/Directory.Build.props (1)
11-11
: LGTM: enable hot-reload auto-restart.Optional: gate to dev-only to avoid surprising behavior in CI.
Apply this diff:
- <HotReloadAutoRestart>true</HotReloadAutoRestart> + <HotReloadAutoRestart Condition="'$(CI)' == ''">true</HotReloadAutoRestart>src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/20250912182827_Initial.cs (1)
564-565
: Fix prompt typos and stray quote in seed.Same issues as the snapshot; correct here to keep model, designer, and snapshot in sync.
Apply this diff:
- values: new object[] { new Guid("a8c94d94-0004-4dd0-921c-255e0a581424"), new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, "You are a assistant for the Boilerplate app. Below, you will find a markdown document ... + values: new object[] { new Guid("a8c94d94-0004-4dd0-921c-255e0a581424"), new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, "You are an assistant for the Boilerplate app. Below, you will find a markdown document ... ... -**[[[ADS_TROUBLE_RULES_BEGIN]]]\" +**[[[ADS_TROUBLE_RULES_BEGIN]]]src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/20250912182827_Initial.Designer.cs (1)
133-134
: Fix prompt typos and stray quote in designer seed.Keep designer, migration, and snapshot consistent.
Apply this diff:
- Markdown = "You are a assistant for the Boilerplate app. ... + Markdown = "You are an assistant for the Boilerplate app. ... ... -**[[[ADS_TROUBLE_RULES_BEGIN]]]\" +**[[[ADS_TROUBLE_RULES_BEGIN]]]src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Services/ProductEmbeddingService.cs (1)
57-57
: Avoid double-computing VectorDistance; compute once and reuse for filter/order.This reduces SQL work and can help the optimizer.
- .Where(p => p.Embedding.HasValue && EF.Functions.VectorDistance("cosine", p.Embedding.Value, value) < SIMILARITY_THRESHOLD).OrderBy(p => EF.Functions.VectorDistance("cosine", p.Embedding!.Value, value!)); + .Where(p => p.Embedding.HasValue) + .Select(p => new { p, d = EF.Functions.VectorDistance("cosine", p.Embedding.Value, value) }) + .Where(x => x.d < SIMILARITY_THRESHOLD) + .OrderBy(x => x.d) + .Select(x => x.p);Ensure a vector index exists on the Embedding column (HNSW/IVF or provider-equivalent) to avoid table scans under RC1.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base
setting
📒 Files selected for processing (81)
.github/workflows/admin-sample.cd.yml
(2 hunks).github/workflows/bit.full.ci.yml
(3 hunks).github/workflows/blazorui.demo.cd.yml
(2 hunks).github/workflows/nuget.org.yml
(2 hunks).github/workflows/prerelease.nuget.org.yml
(1 hunks).github/workflows/todo-sample.cd.yml
(2 hunks)src/Besql/Demo/Bit.Besql.Demo.Client/Bit.Besql.Demo.Client.csproj
(2 hunks)src/Besql/Demo/Bit.Besql.Demo/Bit.Besql.Demo.csproj
(2 hunks)src/BlazorES2019/Bit.BlazorES2019/Bit.BlazorES2019.csproj
(1 hunks)src/BlazorES2019/README.md
(3 hunks)src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj
(2 hunks)src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razor
(2 hunks)src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj
(2 hunks)src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj
(2 hunks)src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj
(4 hunks)src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/wwwroot/index.html
(1 hunks)src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj
(2 hunks)src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj
(3 hunks)src/BlazorUI/Demo/Directory.Build.props
(1 hunks)src/Bswup/Bit.Bswup.Demo/Bit.Bswup.Demo.csproj
(1 hunks)src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/Bit.Bswup.NewDemo.Client.csproj
(1 hunks)src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.csproj
(1 hunks)src/Bswup/FullDemo/Client/Bit.Bswup.Demo.Client.csproj
(1 hunks)src/Bswup/FullDemo/Server/Bit.Bswup.Demo.Server.csproj
(1 hunks)src/Butil/Demo/Bit.Butil.Demo.Core/Bit.Butil.Demo.Core.csproj
(1 hunks)src/Butil/Demo/Bit.Butil.Demo.Maui/Bit.Butil.Demo.Maui.csproj
(2 hunks)src/Butil/Demo/Bit.Butil.Demo.Web/Bit.Butil.Demo.Web.csproj
(1 hunks)src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj
(2 hunks)src/Templates/BlazorEmpty/Bit.BlazorEmpty.ProjectTemplate.csproj
(1 hunks)src/Templates/BlazorEmpty/Bit.BlazorEmpty/.template.config/template.json
(0 hunks)src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj
(1 hunks)src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj
(2 hunks)src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/Program.Main.cs
(1 hunks)src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/Program.cs
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate.ProjectTemplate.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/.azure-devops/workflows/cd.yml
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/.azure-devops/workflows/ci.yml
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/.github/workflows/cd-template.yml
(2 hunks)src/Templates/Boilerplate/Bit.Boilerplate/.github/workflows/ci.yml
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/global.json
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/settings.VisualStudio.json
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Boilerplate.Client.Core.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj
(3 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/wwwroot/index.html
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Boilerplate.Client.Web.csproj
(2 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/index.html
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/service-worker.published.js
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Boilerplate.Client.Windows.csproj
(2 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props
(0 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props
(6 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/.config/dotnet-tools.json
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Boilerplate.Server.Api.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/20250912182827_Initial.Designer.cs
(2 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/20250912182827_Initial.cs
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Data/Migrations/AppDbContextModelSnapshot.cs
(2 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Models/Products/Product.cs
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Program.Services.cs
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Services/ProductEmbeddingService.cs
(4 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Boilerplate.Server.AppHost.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Boilerplate.Server.Shared.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Boilerplate.Server.Web.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Components/App.razor
(2 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Program.Middlewares.cs
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Boilerplate.Shared.csproj
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/appsettings.json
(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Tests/Boilerplate.Tests.csproj
(1 hunks)src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj
(4 hunks)src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj
(2 hunks)src/Websites/Careers/src/Bit.Websites.Careers.Server/Components/App.razor
(2 hunks)src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj
(2 hunks)src/Websites/Careers/src/Directory.Build.props
(1 hunks)src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj
(4 hunks)src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj
(2 hunks)src/Websites/Platform/src/Bit.Websites.Platform.Server/Components/App.razor
(2 hunks)src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj
(2 hunks)src/Websites/Platform/src/Directory.Build.props
(1 hunks)src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj
(4 hunks)src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj
(2 hunks)src/Websites/Sales/src/Bit.Websites.Sales.Server/Components/App.razor
(2 hunks)src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj
(2 hunks)src/Websites/Sales/src/Directory.Build.props
(1 hunks)
💤 Files with no reviewable changes (2)
- src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props
- src/Templates/BlazorEmpty/Bit.BlazorEmpty/.template.config/template.json
🧰 Additional context used
🪛 GitHub Actions: bit platform CI
src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Boilerplate.Shared.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Boilerplate.Client.Windows.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Besql/Demo/Bit.Besql.Demo.Client/Bit.Besql.Demo.Client.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/ResxTranslator/Bit.ResxTranslator/Bit.ResxTranslator.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Bswup/Bit.Bswup.Demo/Bit.Bswup.Demo.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Butil/Demo/Bit.Butil.Demo.Core/Bit.Butil.Demo.Core.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Bswup/FullDemo/Server/Bit.Bswup.Demo.Server.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Butil/Demo/Bit.Butil.Demo.Maui/Bit.Butil.Demo.Maui.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project. [TargetFramework=net10.0]
src/Bswup/FullDemo/Client/Bit.Bswup.Demo.Client.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Butil/Demo/Bit.Butil.Demo.Web/Bit.Butil.Demo.Web.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Boilerplate.Server.AppHost.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Boilerplate.Server.Shared.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/BlazorES2019/Bit.BlazorES2019/Bit.BlazorES2019.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project. [TargetFramework=net10.0]
src/Besql/Demo/Bit.Besql.Demo/Bit.Besql.Demo.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate.ProjectTemplate.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Boilerplate.Server.Web.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Boilerplate.Client.Web.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/Bit.Bswup.NewDemo.Client.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Boilerplate.Server.Api.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project.
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Boilerplate.Client.Maui.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project. [TargetFramework=net10.0]
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj
[error] 1-1: MSB4057: The target 'InstallNodejsDependencies' does not exist in the project. [TargetFramework=net10.0]
🪛 YAMLlint (1.37.1)
.github/workflows/blazorui.demo.cd.yml
[error] 239-239: no new line character at the end of file
(new-line-at-end-of-file)
src/Templates/Boilerplate/Bit.Boilerplate/.github/workflows/cd-template.yml
[error] 269-269: no new line character at the end of file
(new-line-at-end-of-file)
.github/workflows/nuget.org.yml
[error] 156-156: no new line character at the end of file
(new-line-at-end-of-file)
closes #11371
Summary by CodeRabbit
New Features
Refactor
Documentation
Chores