-
-
Notifications
You must be signed in to change notification settings - Fork 0
chore: use .NET10 only #165
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
WalkthroughThe pull request consolidates .NET 10.0 targeting across the project by updating devcontainer configuration to support only .NET 10.0, introducing dotnet version environment variables in CI workflows, centralizing target framework definitions in Directory.Build.props files, and removing explicit TargetFramework entries from individual project files to inherit from build props instead. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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: 0
🧹 Nitpick comments (1)
.github/workflows/test.yaml (1)
41-42: Consider addingdotnet cleanbefore build to avoid stale generator caches.Based on learnings, this project requires a clean build to avoid stale generator caches. The current build step does not include a clean phase. While CI workflows often skip clean for performance, the learnings explicitly recommend:
dotnet clean && dotnet build --no-incremental.Can you confirm whether this is a pre-existing gap in the workflow, or if a clean build should be included as part of this PR? If needed, apply this diff:
- name: Build - run: dotnet build --no-restore + run: dotnet clean && dotnet build --no-restore
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
.devcontainer/devcontainer.json(1 hunks).github/workflows/test.yaml(2 hunks)examples/Directory.Build.props(1 hunks)examples/Linqraft.ApiSample/Linqraft.ApiSample.csproj(0 hunks)examples/Linqraft.Benchmark/Linqraft.Benchmark.csproj(0 hunks)examples/Linqraft.MinimumSample/Linqraft.MinimumSample.csproj(0 hunks)examples/Linqraft.Sample/Linqraft.Sample.csproj(0 hunks)tests/Directory.Build.props(1 hunks)tests/Linqraft.Analyzer.Tests/Linqraft.Analyzer.Tests.csproj(0 hunks)
💤 Files with no reviewable changes (5)
- examples/Linqraft.Benchmark/Linqraft.Benchmark.csproj
- examples/Linqraft.ApiSample/Linqraft.ApiSample.csproj
- examples/Linqraft.Sample/Linqraft.Sample.csproj
- examples/Linqraft.MinimumSample/Linqraft.MinimumSample.csproj
- tests/Linqraft.Analyzer.Tests/Linqraft.Analyzer.Tests.csproj
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-11-25T12:08:35.836Z
Learnt from: CR
Repo: arika0093/Linqraft PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-25T12:08:35.836Z
Learning: Always perform a clean build to avoid stale generator caches; run: `dotnet clean && dotnet build --no-incremental`
Applied to files:
.github/workflows/test.yaml
🔇 Additional comments (4)
.github/workflows/test.yaml (1)
14-15: Environment variable consolidation aligns well with PR objectives.Introducing
DOTNET_VERSIONas a centralized environment variable and replacing the hard-coded version list with a reference to it is a clean approach. This eliminates maintenance friction when the target version needs to be updated in the future.Also applies to: 34-34
.devcontainer/devcontainer.json (1)
12-12: Devcontainer now aligned to .NET 10 onlyUsing
"additionalVersions": "10.0"matches the repo’s move to .NET 10; just make sure the devcontainers dotnet feature currently provides a 10.0 install so container creation doesn’t break.examples/Directory.Build.props (1)
3-3: Centralized example TFM on net10.0Setting
<TargetFramework>net10.0</TargetFramework>here is a good centralization and lines up with the repo’s single-TFM strategy; just ensure local/CI SDKs are new enough to understandnet10.0.tests/Directory.Build.props (1)
3-4: TFMS-based test targeting with net10.0 default looks solidThe conditional
<TargetFrameworks>setup (TFMS override, net10.0 fallback) is a clean way to keep multi-targeting flexibility while standardizing on .NET 10; just confirm individual test projects aren’t redefiningTargetFramework/TargetFrameworksin a conflicting way.
* chore: update projects to use only .NET 10.0 * chore: update devcontainer to use only .NET 10.0 (cherry picked from commit 19c02fd)
* chore: use .NET10 only (#165) * chore: update projects to use only .NET 10.0 * chore: update devcontainer to use only .NET 10.0 (cherry picked from commit 19c02fd) * Update GitHub repository link in README (cherry picked from commit 27bc288) * Fix badge links in README.md (cherry picked from commit b0b98e4) * Add Linqraft Playground web application (#166) * Initial plan * feat: add Linqraft Playground web application - Create Blazor WebAssembly project for interactive Linqraft demo - Add Monaco Editor for C# syntax highlighting - Implement template selection sidebar with sample code - Add file navigation pane - Create query expression preview pane (readonly) - Create DTO class preview pane (readonly) - Add resizable pane layout - Include 4 sample templates from examples - Add GitHub Pages deployment workflow Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * refactor: address review feedback - Remove GitHub Actions workflow (to be prepared separately) - Replace Bootstrap with Tailwind CSS custom utilities - Break Home.razor into Sidebar, EditorPane, PreviewPane components - Add JetBrains Mono font for Monaco editor - Add .monaco-editor-container height fix - Update code generation to be per template unit - Update TemplateService with clearer documentation Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * feat: integrate Roslyn and add collapse buttons - Integrate Linqraft.Core with Roslyn for actual code generation - Add collapse buttons to preview panes (▲/▼) - Use Visual Studio theme for preview panes - Remove HttpClient from services - Use custom Tailwind CSS utilities (build-time generated CSS) - Handle WebAssembly environment for metadata references Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * fix: code generation now works with proper Roslyn compilation - Add using directives and SelectExpr stub to templates for Roslyn analysis - Default to file containing SelectExpr when template is selected - Use dark theme for all editor panes - Make collapse buttons less conspicuous - Add IsHidden property to ProjectFile for internal stub files - Use Basic.Reference.Assemblies.Net90 for Roslyn compilation Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * feat: add debounce, settings dialog, and fix collapse behavior - Add 300ms debounce for code generation after input stops - Add settings dialog for LinqraftConfiguration with all options - Set CommentOutput to None by default - Fix collapse button behavior to preserve generated content - Remove hardcoded file names from query conditions - Add Settings button to sidebar Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * fix: address code review feedback - Fix CommentOutput default value fallback to None (0) - Extract debounce delay to named constant DebounceDelayMs Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * fix: properly parse multiple source files for code generation - Parse each file into its own syntax tree for correct Roslyn compilation - This fixes type resolution issues where all types became 'object' - Add bracket pair colorization to Monaco editors - DTO classes now show correct types (int, DateTime, string, List<T>, etc.) Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * fix: cache semantic models to avoid redundant GetSemanticModel calls Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * some fixes * space fix * feat: add home page and improve UX - Rename Home.razor to Playground.razor at /playground route - Create new Home.razor at / with intro to Linqraft and Playground link - Move settings into sidebar as collapsible section like Templates/Files - Make preview pane headers fully clickable to toggle collapse - Remove resize cursor from dividers (visual only) - Delete SettingsDialog.razor (no longer needed) - Update navigation in MainLayout Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * template update * small fix * use Tailwind.Hosting * feat: add semantic syntax highlighting with Roslyn - Create SemanticHighlightingService using Roslyn to extract tokens - Add JavaScript for applying Monaco decorations via JSInterop - Apply CSS styling matching Visual Studio dark theme colors - Highlight class names (cyan), methods (yellow), properties (light blue) - Apply highlighting to both editor and preview panes - Debounce highlighting updates to 200ms Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * fix: address code review feedback - Fix array bounds check in getClassName JS function - Replace System.Timers.Timer with CancellationTokenSource for debouncing - Extract magic number 100ms to InitialHighlightDelayMs constant Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * feat: improve semantic highlighting for generics and keywords - Add highlighting for generic type arguments (e.g., Order in List<Order>) - Add highlighting for contextual keywords (required, init) - Add record declaration highlighting - Handle nullable types and array types in generics - Add CSS style for keyword highlighting - Fixed ProcessNode to process TypeArgumentListSyntax Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * feat: share CSharpCompilation between code generation and semantic highlighting - Create SharedCompilationService for consistent compilation across services - Include SelectExpr extension methods source (from ConstSourceCodes) for Roslyn recognition - Add generated code to compilation for accurate highlighting - Update CodeGenerationService to use shared compilation - Update SemanticHighlightingService to use shared compilation - Add IsExpressionPane parameter to PreviewPane for correct highlighting context Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * superfix * format * feat: add TargetFramework to Linqraft.MinimumSample project * test sdk deps update * path changed --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> Co-authored-by: Arika Ishinami <delete0093@gmail.com> (cherry picked from commit 663c4ce) * chore: apply formatting (cherry picked from commit 8e104be) * wip (cherry picked from commit 1a4a276) * wip (cherry picked from commit 32c9e82) * Add LinqraftNestedDtoNamespace option for namespace-based child DTO naming (#168) * Initial plan * Add LinqraftNestedDtoNamespace configuration option Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * option name renamed * testcase merged * option name changed and use new generate logic in playground * Remove hash suffix from generated nested DTO class names and add configuration option --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> Co-authored-by: Arika Ishinami <delete0093@gmail.com> (cherry picked from commit a6395aa) * chore: apply formatting (cherry picked from commit d11684c) * style: enhance typography and spacing across components (cherry picked from commit 7db5008) * Refactor Playground Home page with component separation, Prism.js syntax highlighting, and vertical layout (#169) * Initial plan * Improve Playground Home page with rotating features, sticky tabs, code comparison, syntax highlighting, and NuGet icon Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Fix code review issues: accessibility, HttpClient usage, and error handling Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Fix extra closing brackets and use HttpRequestMessage for thread-safe API calls Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Improve timer handling with CancellationToken and proper disposal Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * fix * fix * Refactor Home page into separate components with Prism.js syntax highlighting and lazy loading Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Fix Playground page by restoring service registration Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Fix code review issues: clarify auto-generated DTOs and fix Prism.js bugs Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Improve Prism.js regex handling for global flag Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * wip * small fix * style updated * wip * Update Key Features section: replace "Production-Ready Performance" with "Escape Anytime" and revise description for clarity * smallfix * Add GitHub Actions workflow for deploying to GitHub Pages and update project dependencies --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> Co-authored-by: Arika Ishinami <delete0093@gmail.com> (cherry picked from commit f904a31) * chore: apply formatting (cherry picked from commit bf330e2) * some fixed (cherry picked from commit a7a8ce6) * update (cherry picked from commit eb09770) * fix: downgrade .NET version to 9.0 in playground because PublishSPAforGitHubPages.Build is not support .NET 10 yet (maybe...) (cherry picked from commit 498dfe9) * Revert "fix: downgrade .NET version to 9.0 in playground" This reverts commit 498dfe9. (cherry picked from commit 42609f6) * fix: update links to use relative paths in FaqSection, HeroSection, and MainLayout (cherry picked from commit 7724e05) * add bg to hero section (cherry picked from commit 9caadf1) * website visual update (cherry picked from commit baa4b38) * style updated (cherry picked from commit 24b1c0d) * refactor: improve layout and styling in HeroSection, EditorPane, Sidebar, and Playground components; update package references (cherry picked from commit 9e459a5) * fix (cherry picked from commit 211f7b5) * feat: implement C# syntax highlighting and update layout styles across components (cherry picked from commit 68784a0) * fix: update property names in order DTO generation for clarity (cherry picked from commit 86f4fcc) * fix: update Tailwind CDN usage to conditional rendering based on build configuration (cherry picked from commit 60c337f) * feat: enhance C# syntax highlighting to include property and field declarations (cherry picked from commit 6155e8f) * feat: update KeyFeaturesSection layout and styles for improved readability and consistency (cherry picked from commit 1b5c17d) * feat: enhance C# syntax highlighting to differentiate between type and property declarations (cherry picked from commit b10a002) * feat: implement collapsible editor pane and sidebar for improved UI/UX (cherry picked from commit 61b249e) * feat: add links to web page and online playground in README; improve layout in EditorPane and PreviewPane (cherry picked from commit 115ec4a) * feat: simplify Playground layout by removing unused CSS classes and improving responsiveness (cherry picked from commit ebe2a02) * feat: Add Min Repro template and URL sharing for issue reporting (#174) * Initial plan * Initial plan for issue reporting template Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * feat: Add Min Repro template and URL sharing for issue reporting Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * feat: Enhance Min Repro template with additional sample classes for better issue reproduction * feat: Refactor UrlStateService to streamline navigation manager usage and improve code readability * feat: Update Sidebar buttons and styles for improved UI consistency --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> Co-authored-by: Arika Ishinami <delete0093@gmail.com> (cherry picked from commit a57f41a) * Fix documentation comment extraction for nested properties and Select expressions (#175) close #172 * Initial plan * Fix documentation extraction for nested properties and Select expressions Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Improve documentation comments in DtoProperty.cs Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> (cherry picked from commit cd4a277) * chore: apply formatting (cherry picked from commit a942995) * feat: update Sidebar UI and enhance Tailwind CSS styles for improved aesthetics (cherry picked from commit fe339ca) * Integrate LQRS004 ternary null check transformation into LQRS002/LQRS003 (#171) * Initial plan * Initial plan for integrating LQRS004 into LQRS002/LQRS003 Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Integrate LQRS004 transformation into LQRS002/LQRS003 code fixes Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Add support for inverted null check conditions in ternary simplification Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Update LQRS003 options: remove RootOnly, add Struct option Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Fix terminology: update 'struct' to 'strict' in LQRS003 documentation and related code fix provider * Re-enable LQRS004 and remove ternary simplification from Predefined option Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> * Update LQRS004 documentation to reflect relationship with LQRS002/LQRS003 Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> Co-authored-by: Arika Ishinami <delete0093@gmail.com> (cherry picked from commit f551f00) * chore: apply formatting (cherry picked from commit da9aa16) * fix: update PackageProjectUrl to point to the correct GitHub Pages URL (cherry picked from commit 360e750) * refactor: rename DTO classes for clarity and improve null handling in queries (cherry picked from commit 5336f54) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: arika0093 <4524647+arika0093@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This pull request updates the project's .NET version support and streamlines related configuration files. The main focus is to standardize on .NET 10.0 for builds, tests, and examples, while cleaning up obsolete or redundant settings.
.NET Version Standardization:
.devcontainer/devcontainer.json).DOTNET_VERSIONto10.0.xand updating the setup step to reference this environment variable (.github/workflows/test.yaml). [1] [2]Project and Test Configuration:
examples/Directory.Build.propsto explicitly targetnet10.0.TargetFrameworksettings from individual example project files, relying on the shared props file instead (Linqraft.ApiSample.csproj,Linqraft.Benchmark.csproj,Linqraft.MinimumSample.csproj,Linqraft.Sample.csproj). [1] [2] [3] [4]net10.0unless overridden, and removed legacy multi-targeting and Windows-specific settings (tests/Directory.Build.props).Newtonsoft.Jsonpackage reference from test dependencies (tests/Directory.Build.props).TargetFrameworksproperty fromLinqraft.Analyzer.Tests.csprojto rely on the shared configuration.Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.