Releases: HeyItsGilbert/GoodEnoughRules
Releases · HeyItsGilbert/GoodEnoughRules
Release 0.4.0
Added
Measure-GremlinCharacter: New rule to detect invisible or visually
deceptive Unicode characters (gremlins) such as zero-width spaces,
bidirectional overrides, and curly quotes. 19 characters flagged with
per-character severity (Error,Warning, orInformation).
Inspired by vscode-gremlins.- Tests for
Measure-GremlinCharacterwith per-character-ForEach
cases, a negative clean-code case, a fixture-based detection test,
and a suppression test usingSuppressMessageAttribute. CLAUDE.mdwith project guidance for Claude Code.
Changed
Measure-TODOComment: UpdatedTokenparameter type toToken[]
to match how PSScriptAnalyzer invokes token-based rules; renamed
$matchesto$regexMatchesto avoid collision with the automatic
$Matchesvariable; normalized keyword casing to lowercase.tests/PSScriptAnalyzerRules.psm1: Proxy module now loads explicitly
from theOutput\GoodEnoughRulesbuild directory.
[0.3.1] 2025-12-14
Fixed
Measure-BasicWebRequestProperty: AST search modified to fix duplicate errors
due to recursive search.Measure-InvokeWebRequestWithoutBasic: AST search modified to fix duplicate
errors due to recursive search.
[0.3.0] 2025-12-13
Added
Measure-BasicWebRequestProperty: Detects whenInvoke-WebRequestuses
UseBasicParsingwith incompatible properties likeForms,ParsedHtml,
Scripts, orAllElements. Works with both direct property access and
variable assignments.Measure-InvokeWebRequestWithoutBasic: FlagsInvoke-WebRequest(and its
aliasesiwr,curl) when used without theUseBasicParsingparameter.Get-CommandParameter: New private helper function to parse command
parameters from AST, including support for positional parameters.- Documentation for new rules in
docs/en-US/directory. - Comprehensive test coverage for new rules.
Changed
- Updated
about_GoodEnoughRules.help.mdwith complete module documentation
including examples, rule descriptions, and troubleshooting guidance. Measure-SecureStringWithKey: Standardized parameter block formatting and
updated to useGet-CommandParameterhelper function.- Test files: Added BeforeAll checks to ensure module builds before testing.
- Improved code consistency across all rule files (param block formatting,
using consistent helper function names).