SIGN IN SIGN UP

Settings file creation and validation (#2176)

* Add RuleOptionInfo class and update RuleInfo to include options for configurable rules

* Add Test and New Cmdlets for PSScriptAnalyzer Settings Management

- Implemented `New-ScriptAnalyzerSettingsFile` cmdlet to create a new PSScriptAnalyzer settings file, with options for presets and overwriting existing files.
- Added `Test-ScriptAnalyzerSettingsFile` cmdlet to validate settings files, checking for parseability, rule existence, and valid options.
- Created comprehensive tests for both cmdlets to ensure functionality and error handling.
- Updated module manifest to export the new cmdlets.
- Added documentation for both cmdlets, including usage examples and parameter descriptions.
- Enhanced error messages in the strings resource file for better clarity during validation failures.

* Enhance ScriptAnalyzer settings file validation and documentation

- Update Helper.cs to return null for empty output paths instead of an empty array.
- Add new error message for invalid option types in Strings.resx.
- Extend tests for New-ScriptAnalyzerSettingsFile to check for new keys: CustomRulePath, IncludeDefaultRules, and RecurseCustomRulePath.
- Modify Test-ScriptAnalyzerSettingsFile tests to validate output and error handling for various scenarios, including type mismatches and invalid values.
- Improve documentation for New-ScriptAnalyzerSettingsFile and Test-ScriptAnalyzerSettingsFile to clarify behavior and parameters, including handling of custom rules and output format.

* Apply docs suggestions from Sean's review

Co-authored-by: Sean Wheeler <sean.wheeler@microsoft.com>

* Add Copilot review suggestions

---------

Co-authored-by: Sean Wheeler <sean.wheeler@microsoft.com>
L
Liam Peters committed
9c04a44e36d6ba3ab1dc5fb0431abef592e87054
Parent: 940024a
Committed by GitHub <noreply@github.com> on 5/7/2026, 8:57:23 PM