8000 feat(config)!: update .editorconfig and .csharpierignore for generated files and migrations by samtrion · Pull Request #325 · dailydevops/defaults · GitHub
[go: up one dir, main page]

Skip to content

feat(config)!: update .editorconfig and .csharpierignore for generated files and migrations#325

Merged
samtrion merged 2 commits intomainfrom
feat/disabled-verified-and-migrations
Mar 11, 2026
Merged

feat(config)!: update .editorconfig and .csharpierignore for generated files and migrations#325
samtrion merged 2 commits intomainfrom
feat/disabled-verified-and-migrations

Conversation

@samtrion
Copy link
Contributor
@samtrion samtrion commented Mar 11, 2026

Summary by CodeRabbit

  • Chores
    • Updated test framework target to .NET 10.0
    • Increased code formatting line length limits to 200 characters across configuration files
    • Configured style rules to exclude generated code and migration files
    • Enhanced code formatter patterns to skip test-related files

@samtrion samtrion self-assigned this Mar 11, 2026
@samtrion samtrion requested a review from a team as a code owner March 11, 2026 09:20
@samtrion samtrion requested review from Spacemonkay and removed request for a team March 11, 2026 09:20
@samtrion samtrion added state:ready for merge Indicates that a pull request has been reviewed and approved, and is ready to be merged into the mai type:feature Indicates a new feature or enhancement to be added. labels Mar 11, 2026
@coderabbitai
Copy link
coderabbitai bot commented Mar 11, 2026

Walkthrough

This PR updates the build configuration system to target .NET 10.0 for tests, refactors MSBuild XML elements from multi-line to single-line formatting across multiple build files, adds csharpier ignore configuration template and patterns, and enhances editor configuration to handle generated code and migration files consistently.

Changes

Cohort / File(s) Summary
Framework Target Update
Directory.Build.props
Updates test target framework from net8.0 to net10.0.
Csharpier Ignore Configuration
.csharpierignore, src/NetEvolve.Defaults/configurations/template.csharpierignore
Replaces exact pattern with case-insensitive [Nn]u[Gg]et.config, removes legacy snapshot directory ignores, and adds patterns for *.verified.* and *.received.* files.
Editor Configuration
.editorconfig, src/NetEvolve.Defaults/configurations/template.editorconfig
Increases max line length to 200, introduces dedicated blocks to disable style rules for generated code (*.{received,verified}.*) and migrations (**/Migrations/*), and consolidates diagnostic severity settings.
MSBuild Props Formatting
src/NetEvolve.Defaults/buildMultiTargeting/NetEvolve.Defaults.props, SupportPackageInformation.props, SupportGeneral.props, SupportDetectContinuousIntegration.props
Collapses multi-line XML elements to single-line format, consolidating PropertyGroup start tags and property declarations while preserving all conditions and semantics.
MSBuild Targets Formatting
src/NetEvolve.Defaults/buildMultiTargeting/NetEvolve.Defaults.targets, SupportCopyright.targets, SupportDetectContinuousIntegration.targets, SupportNuGetAudit.targets, SupportPackageInformation.targets, SupportSystemRuntimeExperimental.targets
Reformats multi-line Import statements and property elements to single-line syntax, removing whitespace while maintaining identical conditions and control flow.
Build Support Enhancement
src/NetEvolve.Defaults/buildMultiTargeting/SupportAdditionalFiles.targets
Refactors property naming from EditorConfigDir to ConfigDir, adds dedicated csharpier ignore file handling with platform-specific copy commands, and updates template source paths for both editorconfig and csharpierignore.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~28 minutes

Poem

Hop hop! Our build files now so neat,
From eights to tens, the frameworks meet,
With csharpier's patterns standing tall,
And single-line formatting best of all! 🐰✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: updating .editorconfig and .csharpierignore files with new configurations for generated files and migrations, which is clearly reflected in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/NetEvolve.Defaults/buildMultiTargeting/SupportAdditionalFiles.targets (1)

24-30: Inconsistent casing in property names.

The property names use inconsistent casing for "CSharpier":

  • Line 24-25: CSharpierIgnoreSource, CSharpierIgnoreDest (capital S)
  • Lines 27-30: CsharpierIgnoreCopyCommand (lowercase s)

While MSBuild properties are case-insensitive, consistent naming improves readability and maintainability.

✏️ Suggested fix for consistent casing
-      <CsharpierIgnoreCopyCommand Condition="'$(OS)' == 'Windows_NT'"
-        >pwsh -NoProfile -NonInteractive -Command "Copy-Item -Path '$(CSharpierIgnoreSource)' -Destination '$(CSharpierIgnoreDest)' -Force -ErrorAction SilentlyContinue"</CsharpierIgnoreCopyCommand
+      <CSharpierIgnoreCopyCommand Condition="'$(OS)' == 'Windows_NT'"
+        >pwsh -NoProfile -NonInteractive -Command "Copy-Item -Path '$(CSharpierIgnoreSource)' -Destination '$(CSharpierIgnoreDest)' -Force -ErrorAction SilentlyContinue"</CSharpierIgnoreCopyCommand
       >
-      <CsharpierIgnoreCopyCommand Condition="'$(OS)' != 'Windows_NT'">bash -c "cp -f '$(CSharpierIgnoreSource)' '$(CSharpierIgnoreDest)' 2&gt;/dev/null || true"</CsharpierIgnoreCopyCommand>
+      <CSharpierIgnoreCopyCommand Condition="'$(OS)' != 'Windows_NT'">bash -c "cp -f '$(CSharpierIgnoreSource)' '$(CSharpierIgnoreDest)' 2&gt;/dev/null || true"</CSharpierIgnoreCopyCommand>

And update the Exec command on line 34:

-    <Exec Command="$(CsharpierIgnoreCopyCommand)" ContinueOnError="true" IgnoreExitCode="true" />
+    <Exec Command="$(CSharpierIgnoreCopyCommand)" ContinueOnError="true" IgnoreExitCode="true" />
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/NetEvolve.Defaults/buildMultiTargeting/SupportAdditionalFiles.targets`
around lines 24 - 30, The property names are inconsistent: you should
standardize the casing by renaming CsharpierIgnoreCopyCommand to
CSharpierIgnoreCopyCommand (both Windows and non-Windows variants) so they match
CSharpierIgnoreSource and CSharpierIgnoreDest; update any Exec/Task references
that invoke CsharpierIgnoreCopyCommand to use CSharpierIgnoreCopyCommand so all
related MSBuild properties and commands (CSharpierIgnoreSource,
CSharpierIgnoreDest, CSharpierIgnoreCopyCommand) use consistent PascalCase.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.editorconfig:
- Around line 273-283: The analyzer severity setting is in the wrong section:
move the line `dotnet_analyzer_diagnostic.severity = none` out of the
`[*.{received,verified}.*]` block and place it under the
`[**/Migrations/*.{cs,csx,vb,vbx}]` block so that only migration files have
analyzers disabled; keep `generated_code = true` in both sections and ensure the
comment "Disable all style rules for migrations" sits with the migration
section.

---

Nitpick comments:
In `@src/NetEvolve.Defaults/buildMultiTargeting/SupportAdditionalFiles.targets`:
- Around line 24-30: The property names are inconsistent: you should standardize
the casing by renaming CsharpierIgnoreCopyCommand to CSharpierIgnoreCopyCommand
(both Windows and non-Windows variants) so they match CSharpierIgnoreSource and
CSharpierIgnoreDest; update any Exec/Task references that invoke
CsharpierIgnoreCopyCommand to use CSharpierIgnoreCopyCommand so all related
MSBuild properties and commands (CSharpierIgnoreSource, CSharpierIgnoreDest,
CSharpierIgnoreCopyCommand) use consistent PascalCase.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b64c214f-12a2-4937-9d55-a6695564f7a8

📥 Commits

Reviewing files that changed from the base of the PR and between f96cfff and c7cd339.

📒 Files selected for processing (16)
  • .csharpierignore
  • .editorconfig
  • Directory.Build.props
  • src/NetEvolve.Defaults/buildMultiTargeting/NetEvolve.Defaults.props
  • src/NetEvolve.Defaults/buildMultiTargeting/NetEvolve.Defaults.targets
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportAdditionalFiles.targets
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportCopyright.targets
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportDetectContinuousIntegration.props
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportDetectContinuousIntegration.targets
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportGeneral.props
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportNuGetAudit.targets
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportPackageInformation.props
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportPackageInformation.targets
  • src/NetEvolve.Defaults/buildMultiTargeting/SupportSystemRuntimeExperimental.targets
  • src/NetEvolve.Defaults/configurations/template.csharpierignore
  • src/NetEvolve.Defaults/configurations/template.editorconfig

@samtrion samtrion merged commit 11091c5 into main Mar 11, 2026
9 checks passed
@samtrion samtrion deleted the feat/disabled-verified-and-migrations branch March 11, 2026 09:30
@codecov
Copy link
codecov bot commented Mar 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (f96cfff) to head (c7cd339).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@     Coverage Diff     @@
##   main   #325   +/-   ##
===========================
===========================

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:ready for merge Indicates that a pull request has been reviewed and approved, and is ready to be merged into the mai type:feature Indicates a new feature or enhancement to be added.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0