facet1#400
Conversation
WalkthroughAdds a new “Facet” example (RSCG #229) across data, docs, and site. Updates counts/dates, inserts Facet into catalogs and categories, removes it from “NoExamples,” and includes a complete sample project (mapperDemo) with code, tour, and docs. Build config and export datasets are updated to include the new page/item. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant CS as C# Compiler
participant FacetSG as Facet Source Generator
participant Gen as Generated Mapping Code
participant App as mapperDemo (Program)
Dev->>CS: Build mapperDemo.csproj (Facet package)
CS->>FacetSG: Analyze attributes (Facet on PersonDTO)
FacetSG-->>CS: Emit generated DTO/mapping code
CS-->>Dev: Build succeeds (GX outputs)
Dev->>App: Run
App->>Gen: new PersonDTO(person)
Gen-->>App: Mapped DTO (FullName available)
App-->>Dev: Console.WriteLine(dto.FullName)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. 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.
Pull Request Overview
This PR adds "Facet", a new Roslyn Source Code Generator (RSCG) example to the documentation. Facet is a C# source generator that creates lightweight projections (DTOs, API models) from domain models with minimal boilerplate code.
- Updates the site to show 229 total examples (up from 228)
- Adds Facet as the newest example in the Mapper category
- Includes complete documentation with usage examples and generated code samples
Reviewed Changes
Copilot reviewed 27 out of 29 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| RSCG.json | Added Facet entry to the main data file |
| HomepageFeatures/index.js | Updated total count from 228 to 229 examples |
| indexRSCG.md | Updated counts and added Facet to the chronological list |
| about.md | Updated total count reference |
| RSCG-Examples/index.md | Added Facet to mapper category and flowchart |
| RSCG-Examples/Facet.md | Complete documentation page for Facet |
| NoExamples.md | Removed Facet from the "no examples" list |
| _PrimitiveMapper.mdx | Added Facet to mapper category listing |
| Mapper.md | Added Facet to mapper category page |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Nitpick comments (24)
v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1)
7-7: Avoid hard-coding the example count; derive it from exported data to prevent drift.Apply:
+const examplesCount = require('@site/static/exports/RSCG.json').All.length; const FeatureList = [ { - title: '229 Examples (14 from MSFT)', + title: `${examplesCount} Examples (14 from MSFT)`,v2/rscg_examples/Facet/nuget.txt (1)
1-1: Add a trailing newline for POSIX/text tooling hygiene.-Generate lean DTOs, slim views, or faceted projections of your models with a single attribute. +Generate lean DTOs, slim views, or faceted projections of your models with a single attribute. +v2/rscg_examples/Facet/src/mapperDemo/mapperDemo.csproj (1)
11-13: Use forward slash in paths for better cross‑platform compatibility.- <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> + <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)/GX</CompilerGeneratedFilesOutputPath>v2/rscg_examples_site/docs/NoExamples.md (2)
357-365: Fix markdownlint MD034: wrap bare URLs in angle brackets (repeat for changed lines).-88)https://github.com/wieslawsoltes/ReactiveGenerator https://github.com/wieslawsoltes/ReactiveGenerator +88)<https://github.com/wieslawsoltes/ReactiveGenerator> <https://github.com/wieslawsoltes/ReactiveGenerator>Tip: apply the same pattern to other updated lines (361, 365, …) flagged by MD034.
357-705: Manual numbering is brittle; prefer Markdown auto-numbering.Use “1.” for each list item so renumbering after removals is automatic.
v2/rscg_examples/Facet/src/mapperDemo.sln (1)
6-7: Optional: use the SDK-style C# project type GUID.-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mapperDemo", "mapperDemo\mapperDemo.csproj", "{184A6543-E3EE-4397-B830-A165D7978DB3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mapperDemo", "mapperDemo\mapperDemo.csproj", "{184A6543-E3EE-4397-B830-A165D7978DB3}"Harmless either way; this aligns with modern SDK projects.
v2/rscg_examples/Facet/description.json (1)
15-16: Use empty arrays instead of arrays with empty stringsEmpty-string entries are noisy and may confuse consumers that expect file/dir paths.
Apply this diff:
- "excludeDirectoryGenerated":[""], - "includeAdditionalFiles":[""] + "excludeDirectoryGenerated":[], + "includeAdditionalFiles":[]v2/rscg_examples/Facet/src/.tours/Facet.tour (1)
15-16: Replace non-matching “pattern” with a stable locator
"this is the code"likely won’t match and breaks step focus. Use a line anchor for robustness.Apply this diff:
- "description": "File PersonDTO.cs ", - "pattern": "this is the code" + "description": "File PersonDTO.cs ", + "line": 1 @@ - "description": "File Person.cs ", - "pattern": "this is the code" + "description": "File Person.cs ", + "line": 1 @@ - "description": "File Program.cs \r\n>> dotnet run --project mapperDemo/mapperDemo.csproj ", - "pattern": "this is the code" + "description": "File Program.cs \r\n>> dotnet run --project mapperDemo/mapperDemo.csproj ", + "line": 1Also applies to: 21-23, 27-29
v2/rscg_examples/Facet/readme.txt (1)
227-228: Fix attribute syntax in snippetMissing closing
)makes the example invalid.Apply this diff:
-[Facet(typeof(User)] +[Facet(typeof(User))]later.md (1)
89-131: Avoid bare URLs (MD034) — wrap or remove duplicatesEach line repeats the same URL; either remove the duplicate or wrap it in angle brackets.
Apply this diff (wrap duplicates):
-14) [Maui.BindableProperty.Generator]( https://github.com/rrmanzano/maui-bindableproperty-generator) , https://github.com/rrmanzano/maui-bindableproperty-generator +14) [Maui.BindableProperty.Generator]( https://github.com/rrmanzano/maui-bindableproperty-generator) , <https://github.com/rrmanzano/maui-bindableproperty-generator> @@ -15) [Minerals.AutoCQRS]( https://github.com/SzymonHalucha/Minerals.AutoCQRS) , https://github.com/SzymonHalucha/Minerals.AutoCQRS +15) [Minerals.AutoCQRS]( https://github.com/SzymonHalucha/Minerals.AutoCQRS) , <https://github.com/SzymonHalucha/Minerals.AutoCQRS> @@ -16) [Minerals.AutoDomain]( https://github.com/SzymonHalucha/Minerals.AutoDomain) , https://github.com/SzymonHalucha/Minerals.AutoDomain +16) [Minerals.AutoDomain]( https://github.com/SzymonHalucha/Minerals.AutoDomain) , <https://github.com/SzymonHalucha/Minerals.AutoDomain> @@ -17) [observable]( https://github.com/notanaverageman/Bindables) , https://github.com/notanaverageman/Bindables +17) [observable]( https://github.com/notanaverageman/Bindables) , <https://github.com/notanaverageman/Bindables> @@ -18) [RazorGen]( https://github.com/dartk/RazorGen) , https://github.com/dartk/RazorGen +18) [RazorGen]( https://github.com/dartk/RazorGen) , <https://github.com/dartk/RazorGen> @@ -19) [SourceCrafter.HttpServiceClientGenerator]( https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/) , https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/ +19) [SourceCrafter.HttpServiceClientGenerator]( https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/) , <https://github.com/pedro-gilmora/SourceCrafter.HttpServiceClientGenerator/> @@ -20) [ST.NSwag.ServerSourceGenerator]( https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator) , https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator +20) [ST.NSwag.ServerSourceGenerator]( https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator) , <https://github.com/s-tarasov/ST.NSwag.ServerSourceGenerator> @@ -21) [StrongInject]( https://github.com/YairHalberstadt/stronginject/) , https://github.com/YairHalberstadt/stronginject/ +21) [StrongInject]( https://github.com/YairHalberstadt/stronginject/) , <https://github.com/YairHalberstadt/stronginject/>v2/book/examples/Facet.html (3)
5-11: Add rel="noopener noreferrer" to external links opened in a new tab.Prevents reverse‑tabnabbing and is a standard security best practice for target="_blank".
-Nuget : <a href="https://www.nuget.org/packages/Facet/" target="_blank">https://www.nuget.org/packages/Facet/</a> +NuGet: <a href="https://www.nuget.org/packages/Facet/" target="_blank" rel="noopener noreferrer">https://www.nuget.org/packages/Facet/</a> -<p>You can find more details at : <a href="https://github.com/Tim-Maes/Facet/" target="_blank"> https://github.com/Tim-Maes/Facet/</a></p> +<p>You can find more details at: <a href="https://github.com/Tim-Maes/Facet/" target="_blank" rel="noopener noreferrer"> https://github.com/Tim-Maes/Facet/</a></p> -<p>Source: <a href="https://github.com/Tim-Maes/Facet/" target="_blank">https://github.com/Tim-Maes/Facet/</a> </p> +<p>Source: <a href="https://github.com/Tim-Maes/Facet/" target="_blank" rel="noopener noreferrer">https://github.com/Tim-Maes/Facet/</a> </p> - <a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet'> + <a target="_blank" rel="noopener noreferrer" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet'> - <a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG'> + <a target="_blank" rel="noopener noreferrer" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG'>Also applies to: 78-80, 86-88
9-9: Fix minor copy edits (brand casing, spacing, clarity).-<p>Author :Tim Maes</p> +<p>Author: Tim Maes</p> -Nuget : <a href="https://www.nuget.org/packages/Facet/" target="_blank">https://www.nuget.org/packages/Facet/</a> +NuGet: <a href="https://www.nuget.org/packages/Facet/" target="_blank" rel="noopener noreferrer">https://www.nuget.org/packages/Facet/</a> - Add reference to the <a href="https://www.nuget.org/packages/Facet/" target="_blank">Facet</a> in the csproj + Add a reference to the <a href="https://www.nuget.org/packages/Facet/" target="_blank" rel="noopener noreferrer">Facet</a> package in the .csprojAlso applies to: 5-5, 21-22
23-74: Add alt text and lazy‑loading to images for a11y and performance.Every
should have descriptive alt and loading="lazy" (plus decoding="async").
-<img src="images/Facet/mapperDemo.csproj.png" width="580" height="580" /> +<img src="images/Facet/mapperDemo.csproj.png" width="580" height="580" alt="mapperDemo.csproj with Facet package reference" loading="lazy" decoding="async" /> -<img src="images/Facet/csFiles/Program.cs.png" width="580" height="580" /> +<img src="images/Facet/csFiles/Program.cs.png" width="580" height="580" alt="Program.cs source" loading="lazy" decoding="async" /> -<img src="images/Facet/csFiles/Person.cs.png" width="580" height="580" /> +<img src="images/Facet/csFiles/Person.cs.png" width="580" height="580" alt="Person.cs source" loading="lazy" decoding="async" /> -<img src="images/Facet/csFiles/PersonDto.cs.png" width="580" height="580" /> +<img src="images/Facet/csFiles/PersonDto.cs.png" width="580" height="580" alt="PersonDto.cs source" loading="lazy" decoding="async" /> -<img src="images/Facet/generated/PersonDTO.g.cs.png" width="580" height="580" /> +<img src="images/Facet/generated/PersonDTO.g.cs.png" width="580" height="580" alt="Generated file PersonDTO.g.cs" loading="lazy" decoding="async" /> -<img src="images/Facet/generated/Extensions.Generated.cs.png" width="580" height="580" /> +<img src="images/Facet/generated/Extensions.Generated.cs.png" width="580" height="580" alt="Generated file Extensions.Generated.cs" loading="lazy" decoding="async" /> -<img src="images/Facet/generated/LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs.png" width="580" height="580" /> +<img src="images/Facet/generated/LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs.png" width="580" height="580" alt="Generated LightweightObjectMapper pre-codes" loading="lazy" decoding="async" /> -<img src="images/Facet/generated/LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs.png" width="580" height="580" /> +<img src="images/Facet/generated/LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs.png" width="580" height="580" alt="Generated predefined special type mapping" loading="lazy" decoding="async" /> -<img src="images/Facet/generated/LOMMapExtensions_mapperDemo_Person.g.cs.png" width="580" height="580" /> +<img src="images/Facet/generated/LOMMapExtensions_mapperDemo_Person.g.cs.png" width="580" height="580" alt="Generated LOM map extensions for Person" loading="lazy" decoding="async" /> -<img src="images/Facet/generated/PredefinedSpecialTypeMapping.Generated.cs.png" width="580" height="580" /> +<img src="images/Facet/generated/PredefinedSpecialTypeMapping.Generated.cs.png" width="580" height="580" alt="Generated predefined special type mapping (final)" loading="lazy" decoding="async" />v2/rscg_examples_site/docs/RSCG-Examples/index.md (1)
1056-1102: Mapper section updated (9 items) and Facet linked/diagrammed — OK.Consider auto‑generating counts to avoid future drift, but not blocking.
Also applies to: 1798-1799
README.md (2)
47-49: Wrong category for mvvmgen entry.mvvmgen is an MVVM library; listing it under the Serializer category is misleading.
Apply this diff:
-### 228. [mvvmgen](https://ignatandrei.github.io/RSCG_Examples/v2/docs/mvvmgen) , in the [Serializer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#serializer) category +### 228. [mvvmgen](https://ignatandrei.github.io/RSCG_Examples/v2/docs/mvvmgen) , in the [MVVM](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvvm) category
23-25: Consistency: Microsoft count phrase appears twice; keep one canonical location.The “( including 14 from Microsoft )” repeats info from the header; consider keeping it only in the header for brevity.
v2/rscg_examples_site/docs/RSCG-Examples/Facet.md (5)
101-103: Double slash in GitHub doc links.Docs links contain a double slash before docs; clean it to avoid redirects.
Apply this diff:
-- **[Documentation & Guides](https://github.com/Tim-Maes/Facet//docs/README.md)** -- [What is being generated?](https://github.com/Tim-Maes/Facet//docs/07_WhatIsBeingGenerated.md) +- **[Documentation & Guides](https://github.com/Tim-Maes/Facet/docs/README.md)** +- [What is being generated?](https://github.com/Tim-Maes/Facet/docs/07_WhatIsBeingGenerated.md)
134-151: Missing fenced-code language on shell snippets.Add bash for the dotnet commands to satisfy MD040 and enable syntax highlighting.
Apply this diff:
-``` +```bash dotnet add package FacetFor LINQ helpers:
-+bash
dotnet add package Facet.ExtensionsFor EF Core support: -``` +```bash dotnet add package Facet.Extensions.EFCoreFor expression transformation utilities:
-+bash
dotnet add package Facet.Mapping.Expressions
278-281: Syntax error in attribute sample.Missing closing parenthesis in [Facet(typeof(User))].
Apply this diff:
-[Facet(typeof(User)] +[Facet(typeof(User))] public partial class UpdateUserDto { }
441-467: Hard tabs in XML snippet (MD010).Replace tabs with spaces for consistency and to pass markdownlint.
Apply this diff (tabs → spaces):
- <PropertyGroup> - <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> - <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> - </PropertyGroup> + <PropertyGroup> + <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> + <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> + </PropertyGroup> - <ItemGroup> - <PackageReference Include="Facet" Version="2.7.0" /> - </ItemGroup> + <ItemGroup> + <PackageReference Include="Facet" Version="2.7.0" /> + </ItemGroup>
1096-1104: Bare URL and legacy “Twitter” label.
- Replace bare URL with a markdown link.
- Consider “X (Twitter)” or just “Share on X” if you want current naming.
Apply this diff:
-https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet +[Facet page](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet)v2/rscg_examples/Facet/src/mapperDemo/Program.cs (1)
1-6: LGTM for minimal demo.Code shows the generated constructor and a computed property; works as a concise smoke test.
Optional: use an object initializer to keep it on one line.
-var p=new Person(); -p.FirstName = "Andrei"; -p.LastName = "Ignat"; +var p = new Person { FirstName = "Andrei", LastName = "Ignat" };v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs (2)
1-1: File starts with a BOM character.The leading BOM can cause diffs/noise in some tooling; consider saving as UTF‑8 without BOM.
7-12: Null-safety for FullName.Concatenation is fine (nulls become empty), but interpolated formatting reads cleaner and avoids double spaces.
Apply this diff:
- public string FullName { - get - { - return FirstName + " " + LastName; - } - } + public string FullName => + string.Join(' ', new[] { FirstName, LastName }.Where(s => !string.IsNullOrWhiteSpace(s)));
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (3)
v2/Generator/all.csvis excluded by!**/*.csvv2/rscg_examples_site/static/exports/RSCG.xlsxis excluded by!**/*.xlsxv2/rscg_examples_site/static/sources/Facet.zipis excluded by!**/*.zip
📒 Files selected for processing (26)
README.md(3 hunks)later.md(2 hunks)v2/RSCGExamplesData/GeneratorDataRec.json(1 hunks)v2/RSCGExamplesData/NoExample.json(0 hunks)v2/book/examples/Facet.html(1 hunks)v2/book/list.html(2 hunks)v2/book/pandocHTML.yaml(1 hunks)v2/rscg_examples/Facet/description.json(1 hunks)v2/rscg_examples/Facet/nuget.txt(1 hunks)v2/rscg_examples/Facet/readme.txt(1 hunks)v2/rscg_examples/Facet/src/.tours/Facet.tour(1 hunks)v2/rscg_examples/Facet/src/mapperDemo.sln(1 hunks)v2/rscg_examples/Facet/src/mapperDemo/Person.cs(1 hunks)v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs(1 hunks)v2/rscg_examples/Facet/src/mapperDemo/Program.cs(1 hunks)v2/rscg_examples/Facet/src/mapperDemo/mapperDemo.csproj(1 hunks)v2/rscg_examples/Facet/video.json(1 hunks)v2/rscg_examples_site/docs/Categories/Mapper.md(1 hunks)v2/rscg_examples_site/docs/Categories/_PrimitiveMapper.mdx(1 hunks)v2/rscg_examples_site/docs/NoExamples.md(1 hunks)v2/rscg_examples_site/docs/RSCG-Examples/Facet.md(1 hunks)v2/rscg_examples_site/docs/RSCG-Examples/index.md(4 hunks)v2/rscg_examples_site/docs/about.md(1 hunks)v2/rscg_examples_site/docs/indexRSCG.md(2 hunks)v2/rscg_examples_site/src/components/HomepageFeatures/index.js(1 hunks)v2/rscg_examples_site/static/exports/RSCG.json(1 hunks)
💤 Files with no reviewable changes (1)
- v2/RSCGExamplesData/NoExample.json
🧰 Additional context used
🧬 Code graph analysis (2)
v2/rscg_examples/Facet/src/mapperDemo/Program.cs (1)
v2/rscg_examples/Facet/src/mapperDemo/Person.cs (1)
Person(2-7)
v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs (1)
v2/rscg_examples/Facet/src/mapperDemo/Person.cs (1)
Person(2-7)
🪛 Biome (2.1.2)
v2/rscg_examples/Facet/video.json
[error] 35-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
Remove " "
(parse)
[error] 36-36: expected : but instead found }
Remove }
(parse)
[error] 37-38: Expected an array, an object, or a literal but instead found ']'.
Expected an array, an object, or a literal here.
(parse)
🪛 markdownlint-cli2 (0.17.2)
later.md
89-89: Bare URL used
(MD034, no-bare-urls)
95-95: Bare URL used
(MD034, no-bare-urls)
101-101: Bare URL used
(MD034, no-bare-urls)
107-107: Bare URL used
(MD034, no-bare-urls)
113-113: Bare URL used
(MD034, no-bare-urls)
119-119: Bare URL used
(MD034, no-bare-urls)
125-125: Bare URL used
(MD034, no-bare-urls)
131-131: Bare URL used
(MD034, no-bare-urls)
v2/rscg_examples_site/docs/NoExamples.md
357-357: Bare URL used
(MD034, no-bare-urls)
357-357: Bare URL used
(MD034, no-bare-urls)
361-361: Bare URL used
(MD034, no-bare-urls)
365-365: Bare URL used
(MD034, no-bare-urls)
369-369: Bare URL used
(MD034, no-bare-urls)
373-373: Bare URL used
(MD034, no-bare-urls)
377-377: Bare URL used
(MD034, no-bare-urls)
381-381: Bare URL used
(MD034, no-bare-urls)
385-385: Bare URL used
(MD034, no-bare-urls)
389-389: Bare URL used
(MD034, no-bare-urls)
393-393: Bare URL used
(MD034, no-bare-urls)
397-397: Bare URL used
(MD034, no-bare-urls)
401-401: Bare URL used
(MD034, no-bare-urls)
405-405: Bare URL used
(MD034, no-bare-urls)
409-409: Bare URL used
(MD034, no-bare-urls)
413-413: Bare URL used
(MD034, no-bare-urls)
417-417: Bare URL used
(MD034, no-bare-urls)
421-421: Bare URL used
(MD034, no-bare-urls)
425-425: Bare URL used
(MD034, no-bare-urls)
429-429: Bare URL used
(MD034, no-bare-urls)
433-433: Bare URL used
(MD034, no-bare-urls)
437-437: Bare URL used
(MD034, no-bare-urls)
441-441: Bare URL used
(MD034, no-bare-urls)
445-445: Bare URL used
(MD034, no-bare-urls)
449-449: Bare URL used
(MD034, no-bare-urls)
453-453: Bare URL used
(MD034, no-bare-urls)
457-457: Bare URL used
(MD034, no-bare-urls)
461-461: Bare URL used
(MD034, no-bare-urls)
465-465: Bare URL used
(MD034, no-bare-urls)
469-469: Bare URL used
(MD034, no-bare-urls)
473-473: Bare URL used
(MD034, no-bare-urls)
477-477: Bare URL used
(MD034, no-bare-urls)
481-481: Bare URL used
(MD034, no-bare-urls)
485-485: Bare URL used
(MD034, no-bare-urls)
489-489: Bare URL used
(MD034, no-bare-urls)
493-493: Bare URL used
(MD034, no-bare-urls)
497-497: Bare URL used
(MD034, no-bare-urls)
501-501: Bare URL used
(MD034, no-bare-urls)
505-505: Bare URL used
(MD034, no-bare-urls)
509-509: Bare URL used
(MD034, no-bare-urls)
513-513: Bare URL used
(MD034, no-bare-urls)
517-517: Bare URL used
(MD034, no-bare-urls)
521-521: Bare URL used
(MD034, no-bare-urls)
525-525: Bare URL used
(MD034, no-bare-urls)
529-529: Bare URL used
(MD034, no-bare-urls)
533-533: Bare URL used
(MD034, no-bare-urls)
537-537: Bare URL used
(MD034, no-bare-urls)
541-541: Bare URL used
(MD034, no-bare-urls)
545-545: Bare URL used
(MD034, no-bare-urls)
549-549: Bare URL used
(MD034, no-bare-urls)
553-553: Bare URL used
(MD034, no-bare-urls)
557-557: Bare URL used
(MD034, no-bare-urls)
561-561: Bare URL used
(MD034, no-bare-urls)
565-565: Bare URL used
(MD034, no-bare-urls)
569-569: Bare URL used
(MD034, no-bare-urls)
573-573: Bare URL used
(MD034, no-bare-urls)
577-577: Bare URL used
(MD034, no-bare-urls)
581-581: Bare URL used
(MD034, no-bare-urls)
585-585: Bare URL used
(MD034, no-bare-urls)
589-589: Bare URL used
(MD034, no-bare-urls)
593-593: Bare URL used
(MD034, no-bare-urls)
597-597: Bare URL used
(MD034, no-bare-urls)
601-601: Bare URL used
(MD034, no-bare-urls)
605-605: Bare URL used
(MD034, no-bare-urls)
609-609: Bare URL used
(MD034, no-bare-urls)
613-613: Bare URL used
(MD034, no-bare-urls)
617-617: Bare URL used
(MD034, no-bare-urls)
621-621: Bare URL used
(MD034, no-bare-urls)
625-625: Bare URL used
(MD034, no-bare-urls)
629-629: Bare URL used
(MD034, no-bare-urls)
633-633: Bare URL used
(MD034, no-bare-urls)
637-637: Bare URL used
(MD034, no-bare-urls)
641-641: Bare URL used
(MD034, no-bare-urls)
645-645: Bare URL used
(MD034, no-bare-urls)
649-649: Bare URL used
(MD034, no-bare-urls)
653-653: Bare URL used
(MD034, no-bare-urls)
657-657: Bare URL used
(MD034, no-bare-urls)
661-661: Bare URL used
(MD034, no-bare-urls)
665-665: Bare URL used
(MD034, no-bare-urls)
669-669: Bare URL used
(MD034, no-bare-urls)
673-673: Bare URL used
(MD034, no-bare-urls)
677-677: Bare URL used
(MD034, no-bare-urls)
681-681: Bare URL used
(MD034, no-bare-urls)
685-685: Bare URL used
(MD034, no-bare-urls)
689-689: Bare URL used
(MD034, no-bare-urls)
693-693: Bare URL used
(MD034, no-bare-urls)
697-697: Bare URL used
(MD034, no-bare-urls)
701-701: Bare URL used
(MD034, no-bare-urls)
705-705: Bare URL used
(MD034, no-bare-urls)
v2/rscg_examples_site/docs/indexRSCG.md
23-23: Spaces inside link text
(MD039, no-space-in-links)
README.md
5498-5498: Bare URL used
(MD034, no-bare-urls)
5502-5502: Bare URL used
(MD034, no-bare-urls)
5505-5505: Bare URL used
(MD034, no-bare-urls)
5509-5509: Bare URL used
(MD034, no-bare-urls)
5512-5512: Bare URL used
(MD034, no-bare-urls)
5516-5516: Bare URL used
(MD034, no-bare-urls)
5519-5519: Bare URL used
(MD034, no-bare-urls)
5523-5523: Bare URL used
(MD034, no-bare-urls)
5526-5526: Bare URL used
(MD034, no-bare-urls)
5530-5530: Bare URL used
(MD034, no-bare-urls)
5533-5533: Bare URL used
(MD034, no-bare-urls)
5537-5537: Bare URL used
(MD034, no-bare-urls)
5540-5540: Bare URL used
(MD034, no-bare-urls)
5544-5544: Bare URL used
(MD034, no-bare-urls)
5547-5547: Bare URL used
(MD034, no-bare-urls)
5551-5551: Bare URL used
(MD034, no-bare-urls)
5554-5554: Bare URL used
(MD034, no-bare-urls)
5558-5558: Bare URL used
(MD034, no-bare-urls)
5561-5561: Bare URL used
(MD034, no-bare-urls)
5565-5565: Bare URL used
(MD034, no-bare-urls)
5568-5568: Bare URL used
(MD034, no-bare-urls)
5572-5572: Bare URL used
(MD034, no-bare-urls)
5575-5575: Bare URL used
(MD034, no-bare-urls)
5579-5579: Bare URL used
(MD034, no-bare-urls)
5582-5582: Bare URL used
(MD034, no-bare-urls)
5586-5586: Bare URL used
(MD034, no-bare-urls)
5589-5589: Bare URL used
(MD034, no-bare-urls)
5593-5593: Bare URL used
(MD034, no-bare-urls)
5596-5596: Bare URL used
(MD034, no-bare-urls)
5600-5600: Bare URL used
(MD034, no-bare-urls)
5603-5603: Bare URL used
(MD034, no-bare-urls)
5607-5607: Bare URL used
(MD034, no-bare-urls)
5610-5610: Bare URL used
(MD034, no-bare-urls)
5614-5614: Bare URL used
(MD034, no-bare-urls)
5617-5617: Bare URL used
(MD034, no-bare-urls)
5621-5621: Bare URL used
(MD034, no-bare-urls)
5624-5624: Bare URL used
(MD034, no-bare-urls)
5628-5628: Bare URL used
(MD034, no-bare-urls)
5631-5631: Bare URL used
(MD034, no-bare-urls)
5635-5635: Bare URL used
(MD034, no-bare-urls)
5638-5638: Bare URL used
(MD034, no-bare-urls)
5642-5642: Bare URL used
(MD034, no-bare-urls)
5645-5645: Bare URL used
(MD034, no-bare-urls)
5649-5649: Bare URL used
(MD034, no-bare-urls)
5652-5652: Bare URL used
(MD034, no-bare-urls)
5656-5656: Bare URL used
(MD034, no-bare-urls)
5659-5659: Bare URL used
(MD034, no-bare-urls)
5663-5663: Bare URL used
(MD034, no-bare-urls)
5666-5666: Bare URL used
(MD034, no-bare-urls)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.md
34-34: Bare URL used
(MD034, no-bare-urls)
37-37: Bare URL used
(MD034, no-bare-urls)
39-39: Bare URL used
(MD034, no-bare-urls)
134-134: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
139-139: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
144-144: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
149-149: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
454-454: Hard tabs
Column: 1
(MD010, no-hard-tabs)
455-455: Hard tabs
Column: 1
(MD010, no-hard-tabs)
456-456: Hard tabs
Column: 1
(MD010, no-hard-tabs)
457-457: Hard tabs
Column: 1
(MD010, no-hard-tabs)
459-459: Hard tabs
Column: 1
(MD010, no-hard-tabs)
460-460: Hard tabs
Column: 1
(MD010, no-hard-tabs)
461-461: Hard tabs
Column: 1
(MD010, no-hard-tabs)
463-463: Hard tabs
Column: 1
(MD010, no-hard-tabs)
464-464: Hard tabs
Column: 1
(MD010, no-hard-tabs)
465-465: Hard tabs
Column: 1
(MD010, no-hard-tabs)
552-552: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
591-591: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
635-635: No space after hash on atx style heading
(MD018, no-missing-space-atx)
647-647: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
833-833: No space after hash on atx style heading
(MD018, no-missing-space-atx)
835-835: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
947-947: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
963-963: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
1089-1089: Spaces inside link text
(MD039, no-space-in-links)
1103-1103: Bare URL used
(MD034, no-bare-urls)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: call-workflow-passing-data / build (24.3.0)
🔇 Additional comments (18)
v2/rscg_examples_site/docs/about.md (1)
9-9: Count verified: 229 — no action required.
jq reports 229 entries and v2/rscg_examples_site/docs/about.md contains "of 229 Roslyn Source Code Generator (RSCG)".v2/rscg_examples_site/docs/Categories/Mapper.md (1)
3-21: Facet route confirmed (slug present).
Found "slug: /Facet" in v2/rscg_examples_site/docs/RSCG-Examples/Facet.md (line 5).v2/RSCGExamplesData/GeneratorDataRec.json (1)
1380-1386: Facet exported 8× — confirm uniqueness and dedupe if unintended.
v2/RSCGExamplesData/GeneratorDataRec.json:1382 (source entry).
v2/rscg_examples_site/static/exports/RSCG.json — 8 records with Name == "Facet".
Action: remove/merge duplicate source entries or adjust exporter to emit a single Facet; if duplicates are intentional, document the reason in the code/export.v2/rscg_examples_site/docs/Categories/_PrimitiveMapper.mdx (1)
9-19: LGTM — Facet correctly added and ordering updatedLooks consistent. Please ensure Mapper.md reflects the same order.
v2/rscg_examples_site/docs/indexRSCG.md (1)
10-13: Count bump to 229 — OKHeader and intro text align with the new entry.
v2/rscg_examples/Facet/src/mapperDemo/Person.cs (1)
2-7: LGTMSimple POCO is fine for the demo.
v2/book/list.html (3)
20-21: List count and row addition look correct.Also applies to: 941-944
949-951: Add rel to external link opened in new tab.
[raise_nitpick_refactor]- <a target="_blank" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG'> + <a target="_blank" rel="noopener noreferrer" href='https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG'>
20-21: Sanity‑check: header total matches table rows — verified.
v2/book/list.html has 229 data rows (counted via pairs), which matches the header value 229.v2/book/pandocHTML.yaml (1)
245-245: Facet added to input-files — good.No issues; resource paths already include examples/images, so screenshots will resolve.
v2/rscg_examples_site/static/exports/RSCG.json (2)
1829-1836: Facet entry looks consistent (name, links, category, date).
1829-1836: Facet entry present and unique — verification passed.
jq returned length 1 and printed the Facet record (AddedOn: 2025-08-17T00:00:00).v2/rscg_examples_site/docs/RSCG-Examples/index.md (2)
3-4: Counts updated to 229 — OK.
1056-1102: Verified: declared Mapper count equals the number of links (9). Counted 9 markdown links in the Mapper block; matches expected 9.v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs (1)
5-6: Verified — Person is declared in the global namespace; no change required.
v2/rscg_examples/Facet/src/mapperDemo/Person.cs contains "public partial class Person" with no namespace declaration, so [Facet(typeof(Person))] resolving to global::Person is correct.v2/rscg_examples_site/docs/RSCG-Examples/Facet.md (2)
10-10: Incorrect suggested replacement — _Mapper.mdx not presentv2/rscg_examples_site/docs/Categories/_PrimitiveMapper.mdx exists; v2/rscg_examples_site/docs/Categories/_Mapper.mdx is missing. Keep the current import in v2/rscg_examples_site/docs/RSCG-Examples/Facet.md:10 or add/rename the intended _Mapper.mdx.
Likely an incorrect or invalid review comment.
107-115: Marketing bullets: confirmed for Facet v2.7.0+.Verified — CRUD DTO generation via [GenerateDtos], expression transforms (Facet.Mapping.Expressions), DI-based async mapping (Facet.Mapping), and EF Core async helpers (Facet.Extensions / Facet.Extensions.EFCore) are present in v2.7.0+ (NuGet/libraries.io sources).
README.md (1)
5498-5666: Fix markdownlint MD034/MD046/MD040 in the "Contributors Welcome" sectionConvert bare URLs to autolinks (https://...) or markdown links and ensure fenced code blocks include a language. The earlier auto-fix failed because gawk's inplace option wasn't available — run the corrected script below locally and re-run lint.
#!/bin/bash # 1) Wrap bare URLs in angle brackets in the Contributors section start=$(rg -n --fixed-strings '## Contributors Welcome for those' README.md | head -n1 | cut -d: -f1) end=$(rg -n --fixed-strings '## Do not want to test' README.md | head -n1 | cut -d: -f1) sed -n "1,${start}p" README.md > /tmp/README.head.md sed -n "$((start+1)),$((end-1))p" README.md | \ sed -E 's#(^|[^<\[](https?://[^\s)]+)#\1<\2>#g' > /tmp/README.contrib.md sed -n "${end},\$p" README.md > /tmp/README.tail.md cat /tmp/README.head.md /tmp/README.contrib.md /tmp/README.tail.md > README.md # 2) Add `bash` language to fenced code blocks that currently lack a language awk 'BEGIN{in=0} /^\s*```$/{ if(in==0){ print "```bash"; in=1 } else { print "```"; in=0 } next } { print }' README.md > /tmp/README.tmp && mv /tmp/README.tmp README.md
| I have <b>coded</b> the file PersonDto.cs | ||
| <br /> | ||
| <img src="images/Facet/csFiles/PersonDto.cs.png" width="580" height="580" /> | ||
| <hr /> | ||
| <h3>And here are the <i>generated</i> files</h3> | ||
|
|
||
| <br /> | ||
| The file <i>generated</i> is PersonDTO.g.cs | ||
| <br /> | ||
| <img src="images/Facet/generated/PersonDTO.g.cs.png" width="580" height="580" /> |
There was a problem hiding this comment.
🧩 Analysis chain
Verify DTO file name casing consistency (PersonDto vs PersonDTO).
Screenshots and generated files mix PersonDto.cs and PersonDTO.g.cs. Ensure filenames and case match the actual repo assets and image paths on case‑sensitive hosts.
🏁 Script executed:
#!/bin/bash
# Check for mixed casing across repo and images for PersonDto/PersonDTO
rg -nP 'PersonD(TO|to)\b' -C2
fd -e png -I | rg -nP 'PersonD(TO|to)'Length of output: 293575
Fix filename-casing inconsistency: PersonDto vs PersonDTO
Docs/metadata reference PersonDto.cs while source/generated files use PersonDTO(.g).cs — on case‑sensitive hosts this will break images/links. Pick one casing (recommend PersonDTO) and make it consistent: rename files or update doc/image paths and description.json.
Locations:
- v2/book/examples/Facet.html (lines 40–49) — images/Facet/csFiles/PersonDto.cs.png vs images/Facet/generated/PersonDTO.g.cs.png
- v2/rscg_examples/Facet/description.json — lists "PersonDto.cs"
- v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs (actual source)
|
|
||
| | No | Name | Date | Category | | ||
| | --------- | ----- | ---- | -------- | | ||
| |229| [Facet by Tim Maes ](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) | |
There was a problem hiding this comment.
🛠️ Refactor suggestion
🧩 Analysis chain
Remove trailing space inside link text (MD039)
Markdownlint flags the space before ] in “Facet by Tim Maes ”.
Apply this diff:
-|229| [Facet by Tim Maes ](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) |
+|229| [Facet by Tim Maes](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) |Check for other instances:
🏁 Script executed:
#!/bin/bash
rg -nP '\[[^]\n]+ \]' v2/rscg_examples_site/docs/indexRSCG.mdLength of output: 35478
Remove trailing space inside link text (MD039) across v2/rscg_examples_site/docs/indexRSCG.md
rg found multiple occurrences; remove the space before ] in each markdown link and apply the same change everywhere.
-|229| [Facet by Tim Maes ](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) |
+|229| [Facet by Tim Maes](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| |229| [Facet by Tim Maes ](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) | | |
| |229| [Facet by Tim Maes](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) | |
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
23-23: Spaces inside link text
(MD039, no-space-in-links)
🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/indexRSCG.md around line 23, several markdown
links contain a trailing space before the closing bracket (e.g. "[Facet by Tim
Maes ]"); remove the space so the link text becomes "[Facet by Tim Maes]".
Search the whole file for other occurrences of " ](" or " ]" inside link text
and remove the extra space before each closing bracket to fix MD039 consistently
across the file.
| "data":{ | ||
| "goodFor":["Custom generation and mapper"], | ||
| "csprojDemo":"mapperDemo.csproj", | ||
| "csFiles":["Program.cs","Person.cs","PersonDto.cs"], |
There was a problem hiding this comment.
🧩 Analysis chain
Fix filename case: PersonDTO.cs vs PersonDto.cs
The repo adds PersonDTO.cs (upper DTO). This mismatch will break on case‑sensitive filesystems and in tooling that relies on this manifest.
Apply this diff:
- "csFiles":["Program.cs","Person.cs","PersonDto.cs"],
+ "csFiles":["Program.cs","Person.cs","PersonDTO.cs"],Run to verify filenames:
🏁 Script executed:
#!/bin/bash
fd -a -i 'PersonDto.cs' v2/rscg_examples/Facet || true
fd -a -i 'PersonDTO.cs' v2/rscg_examples/FacetLength of output: 139
Fix filename case: PersonDTO.cs vs PersonDto.cs
description.json lists "PersonDto.cs" but the actual file is v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs — update the manifest to match the real filename.
File: v2/rscg_examples/Facet/description.json (line 14)
- "csFiles":["Program.cs","Person.cs","PersonDto.cs"],
+ "csFiles":["Program.cs","Person.cs","PersonDTO.cs"],📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "csFiles":["Program.cs","Person.cs","PersonDto.cs"], | |
| "csFiles":["Program.cs","Person.cs","PersonDTO.cs"], |
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet/description.json around line 14, the csFiles entry
lists "PersonDto.cs" but the actual file in the repo is named "PersonDTO.cs";
update the manifest entry to "PersonDTO.cs" so the filename casing matches the
real file path (v2/rscg_examples/Facet/src/mapperDemo/PersonDTO.cs) and commit
the corrected description.json.
| ,{ | ||
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/PredefinedSpecialTypeMapping.Generated.cs", | ||
| "description": "Generated File 6 from 6 : PredefinedSpecialTypeMapping.Generated.cs ", | ||
| "line": 1 | ||
| } | ||
|
|
||
| ,{ | ||
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LOMMapExtensions_mapperDemo_Person.g.cs", | ||
| "description": "Generated File 5 from 6 : LOMMapExtensions_mapperDemo_Person.g.cs ", | ||
| "line": 1 | ||
| } | ||
|
|
||
| ,{ | ||
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs", | ||
| "description": "Generated File 4 from 6 : LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs ", | ||
| "line": 1 | ||
| } | ||
|
|
||
| ,{ | ||
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs", | ||
| "description": "Generated File 3 from 6 : LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs ", | ||
| "line": 1 | ||
| } | ||
|
|
||
| ,{ | ||
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/Extensions.Generated.cs", | ||
| "description": "Generated File 2 from 6 : Extensions.Generated.cs ", | ||
| "line": 1 | ||
| } |
There was a problem hiding this comment.
Remove unrelated LightweightObjectMapper steps
These point to LOM artifacts and will mislead users in the Facet tour.
Apply this diff to drop them:
- ,{
- "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/PredefinedSpecialTypeMapping.Generated.cs",
- "description": "Generated File 6 from 6 : PredefinedSpecialTypeMapping.Generated.cs ",
- "line": 1
- }
-
- ,{
- "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LOMMapExtensions_mapperDemo_Person.g.cs",
- "description": "Generated File 5 from 6 : LOMMapExtensions_mapperDemo_Person.g.cs ",
- "line": 1
- }
-
- ,{
- "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs",
- "description": "Generated File 4 from 6 : LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs ",
- "line": 1
- }
-
- ,{
- "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs",
- "description": "Generated File 3 from 6 : LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs ",
- "line": 1
- }
-
- ,{
- "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/Extensions.Generated.cs",
- "description": "Generated File 2 from 6 : Extensions.Generated.cs ",
- "line": 1
- }📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ,{ | |
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/PredefinedSpecialTypeMapping.Generated.cs", | |
| "description": "Generated File 6 from 6 : PredefinedSpecialTypeMapping.Generated.cs ", | |
| "line": 1 | |
| } | |
| ,{ | |
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LOMMapExtensions_mapperDemo_Person.g.cs", | |
| "description": "Generated File 5 from 6 : LOMMapExtensions_mapperDemo_Person.g.cs ", | |
| "line": 1 | |
| } | |
| ,{ | |
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs", | |
| "description": "Generated File 4 from 6 : LightweightObjectMapper.PreCodes.PredefinedSpecialTypeMapping.cs ", | |
| "line": 1 | |
| } | |
| ,{ | |
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs", | |
| "description": "Generated File 3 from 6 : LightweightObjectMapper.PreCodes.LightweightObjectMapperPreCodes.cs ", | |
| "line": 1 | |
| } | |
| ,{ | |
| "file": "mapperDemo/obj/GX/LightweightObjectMapper/LightweightObjectMapper.LightweightObjectMapperSourceGenerator/Extensions.Generated.cs", | |
| "description": "Generated File 2 from 6 : Extensions.Generated.cs ", | |
| "line": 1 | |
| } |
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet/src/.tours/Facet.tour around lines 32 to 60, the tour
includes unrelated LightweightObjectMapper entries that will confuse users;
remove the entire objects for the six LOM-generated files shown (the
mapperDemo/obj/... entries) from the tour JSON array, ensuring you delete their
comma-separated blocks and then fix punctuation so the remaining array items
have correct commas and valid JSON/JS formatting; save the file with the updated
list so only Facet-relevant steps remain.
| <ItemGroup> | ||
| <PackageReference Include="Facet" Version="2.7.0" /> | ||
| </ItemGroup> |
There was a problem hiding this comment.
🧩 Analysis chain
Source generators should be PrivateAssets=all to avoid leaking transitively.
- <PackageReference Include="Facet" Version="2.7.0" />
+ <PackageReference Include="Facet" Version="2.7.0">
+ <PrivateAssets>all</PrivateAssets>
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+ </PackageReference>🌐 Web query:
What is the latest stable version of the "Facet" NuGet package?
💡 Result:
Latest stable version: 2.6.0 (checked September 16, 2025). [1]
Sources
[1] NuGet package page — Facet 2.6.0.
Make Facet PackageReference PrivateAssets=all and correct package version
Facet should be PrivateAssets=all to avoid leaking; the project references Version="2.7.0" but NuGet's latest stable is 2.6.0 (checked September 16, 2025) — change to 2.6.0 or confirm a private/pre-release source.
File: v2/rscg_examples/Facet/src/mapperDemo/mapperDemo.csproj Lines: 15-17
- <PackageReference Include="Facet" Version="2.7.0" />
+ <PackageReference Include="Facet" Version="2.6.0">
+ <PrivateAssets>all</PrivateAssets>
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+ </PackageReference>Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet/src/mapperDemo/mapperDemo.csproj around lines 15-17,
the PackageReference for Facet must not be exposed transitively and the version
is incorrect; change the PackageReference to include PrivateAssets="all" and
update Version="2.7.0" to the stable NuGet version Version="2.6.0" (or, if you
intentionally depend on a private/pre-release 2.7.0, confirm and document the
private feed source instead of pushing a public transitive reference). Ensure
the attribute is added to the existing PackageReference element and the version
string adjusted accordingly.
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet#download-example-net--c-", | ||
| SpeakTest=" "}, |
There was a problem hiding this comment.
Invalid JSON: stray property syntax breaks parsing
SpeakTest=" " is not valid JSON and causes the file to fail parse.
Apply this diff:
-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet#download-example-net--c-",
-SpeakTest=" "},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet#download-example-net--c-"},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet#download-example-net--c-", | |
| SpeakTest=" "}, | |
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet#download-example-net--c-"}, |
🧰 Tools
🪛 Biome (2.1.2)
[error] 35-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
Remove " "
(parse)
[error] 36-36: expected : but instead found }
Remove }
(parse)
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet/video.json around lines 35 to 36, the JSON contains an
invalid property syntax `SpeakTest=" "` which breaks parsing; replace it with a
valid JSON key/value pair (e.g., "SpeakTest": " " or remove the property if
unused) so the object conforms to JSON syntax and the file can be parsed.
Summary by CodeRabbit
New Features
Documentation
Chores