Repository navigation
fix: ensure package IDs maintain canonical casing in validation and tests - #16
Merged
Merged
Conversation
Marina-L-Stoyanova
requested review from
onlyexeption
and
a balanced review from Copilot
October 20, 2026 09:07
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The focused changes preserve existing data flow and exclusions, with no blocking issues identified.
No open issues 🎉
What changed in this PR
Preserves canonical NuGet package casing in generated data used by both servers.
Changes:
- Reads and validates package IDs from
.nuspecmetadata. - Keeps package exclusions case-insensitive.
- Adds validation and smoke-test checks against lowercase IDs.
| File | Description |
|---|---|
| scripts/validate-package.ts | Rejects lowercase package IDs in component data. |
| scripts/smoke-test.ts | Checks canonical casing in scaffold commands. |
| scripts/build-api.ts | Extracts canonical IDs and preserves package exclusions. |
Review effort: Balanced
onlyexeption
approved these changes
Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The scaffold,
list_wpf_components,get_wpf_api_referenceandsearch_wpf_apishowed package IDs in lowercase (infragistics.wpf.datagrids.trial), becausebuild-api.tstook them from thenuget/packagesfolder names. Agents copied that casing into users'.csprojfiles.scripts/build-api.ts: reads the ID from each package's.nuspec<id>(e.g.Infragistics.WPF.DataGrids.Trial). The build fails if the.nuspecis missing or its ID doesn't match the folder. This also covers dependency-only packages that aren't listed inWpfDocs.csproj(e.g.Barcodes,CalculationManager).EXCLUDE_PACKAGESis now compared without case.scripts/validate-package.ts: fails ifnamespaces.jsonhas lowercase IDs again.scripts/smoke-test.ts: checks that the scaffold printsdotnet add package Infragistics.WPF.DataGrids.Trial. It runs for both servers.Verified
After
npm run build:all, the casing is the only change in the data: 191 components, 6,907 search entries and 6,907 API files, the same as before, and XamXGrid is still excluded.npm run test:dotnet,npm testandnpm run typecheckpass.