Skip to content

fix(linting): use Write-Error instead of Write-Host for error output#377

Merged
WilliamBerryiii merged 2 commits intomicrosoft:mainfrom
littleKitchen:fix/371-standardize-error-output
Feb 1, 2026
Merged

fix(linting): use Write-Error instead of Write-Host for error output#377
WilliamBerryiii merged 2 commits intomicrosoft:mainfrom
littleKitchen:fix/371-standardize-error-output

Conversation

@littleKitchen
Copy link
Copy Markdown
Contributor

Summary

Resolves #371

Single-line fix to standardize error output in Invoke-YamlLint.ps1.

Change

Replace Write-Host with Write-Error in the catch block (line 179).

Before:

Write-Host "YAML Lint failed: $($_.Exception.Message)"

After:

Write-Error "YAML Lint failed: $($_.Exception.Message)"

Why

  • Write-Error writes to the error stream, which can be captured and redirected
  • Write-Host writes directly to console and cannot be captured in $Error
  • Maintains consistency with other linting scripts (Invoke-PSScriptAnalyzer.ps1, Invoke-LinkLanguageCheck.ps1, Markdown-Link-Check.ps1)

Testing

  • npm run lint:ps - PSScriptAnalyzer passes
  • npm run test:ps - All Pester tests pass

Resolves microsoft#371

Replace Write-Host with Write-Error in Invoke-YamlLint.ps1 catch block
to maintain consistency with other linting scripts.

Write-Error writes to the error stream which can be captured and redirected,
while Write-Host writes directly to console and cannot be captured in $Error.
@littleKitchen littleKitchen requested a review from a team as a code owner January 31, 2026 06:42
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 52.41%. Comparing base (15f7185) to head (da8a515).

Files with missing lines Patch % Lines
scripts/linting/Invoke-YamlLint.ps1 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #377      +/-   ##
==========================================
- Coverage   52.44%   52.41%   -0.04%     
==========================================
  Files          17       17              
  Lines        3110     3110              
==========================================
- Hits         1631     1630       -1     
- Misses       1479     1480       +1     
Flag Coverage Δ
pester 52.41% <0.00%> (-0.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
scripts/linting/Invoke-YamlLint.ps1 93.15% <0.00%> (ø)

... and 1 file with indirect coverage changes

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

@WilliamBerryiii WilliamBerryiii merged commit 2ca766b into microsoft:main Feb 1, 2026
16 checks passed
WilliamBerryiii added a commit that referenced this pull request Feb 4, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.1.0](hve-core-v2.0.1...hve-core-v2.1.0)
(2026-02-04)


### ✨ Features

* add PowerShell script to validate copyright headers
([#370](#370))
([92fce72](92fce72))
* **docs:** Replace deprecated chat.modeFilesLocations with
chat.agentFilesLocations
([#413](#413))
([67fb2ab](67fb2ab))
* **scripts:** add CIHelpers module for CI platform abstraction
([#348](#348))
([23e7a7e](23e7a7e))
* **scripts:** add SecurityHelpers and CIHelpers modules
([#354](#354))
([b93d990](b93d990))
* **workflow:** add copilot-setup-steps.yml for Coding Agent environment
([#398](#398))
([085a38b](085a38b))


### 🐛 Bug Fixes

* **build:** increase release-please search depths to prevent 250-commit
window issue ([#342](#342))
([4bb857d](4bb857d))
* **build:** patch @isaacs/brace-expansion critical vulnerability
([#404](#404))
([292ef51](292ef51))
* **ci:** disable errexit during spell check exit code capture
([#356](#356))
([ed6ed46](ed6ed46))
* **ci:** exclude extension/README.md from frontmatter validation
([#362](#362))
([e0d7378](e0d7378))
* exclude test fixtures from markdown link checker
([#345](#345))
([58147f9](58147f9))
* **extension:** resolve path resolution issues in Windows/WSL
environments ([#407](#407))
([8529725](8529725))
* **linting:** use Write-Error instead of Write-Host for error output
([#377](#377))
([2ca766b](2ca766b))
* **scripts:** apply CI output escaping to infrastructure scripts
([#369](#369))
([251021e](251021e))
* **scripts:** apply CI output escaping to linting scripts
([#367](#367))
([fdd75ed](fdd75ed))
* **scripts:** apply CI output escaping to security scripts
([#368](#368))
([1237c9a](1237c9a))
* **scripts:** ensure reliable array count operations in linting and
security scripts
([#395](#395))
([de43e73](de43e73))
* **scripts:** standardize PowerShell requirements header block
([#385](#385))
([6e26282](6e26282))


### 📚 Documentation

* add doc-ops agent to CUSTOM-AGENTS reference
([#358](#358))
([15f7185](15f7185))
* add memory agent to CUSTOM-AGENTS.md
([#359](#359))
([d92c4e1](d92c4e1))
* add missing agents to extension README
([#357](#357))
([d58541c](d58541c))
* add task-reviewer agent to CUSTOM-AGENTS.md
([#363](#363))
([0efb722](0efb722))
* **contributing:** add copyright header guidelines
([#382](#382))
([881a567](881a567))
* **scripts:** update README.md with missing directory sections
([#355](#355))
([ac2966f](ac2966f))


### ♻️ Refactoring

* **scripts:** align linting and tests with CIHelpers
([#401](#401))
([3587e6a](3587e6a))
* **scripts:** extract Invoke-PackageExtension for testability
([#343](#343))
([858a1be](858a1be))
* **scripts:** extract orchestration function for Prepare-Extension
testability ([#344](#344))
([9fd4bd1](9fd4bd1))
* **scripts:** replace raw GITHUB_OUTPUT with Set-CIOutput in
Package-Extension
([#391](#391))
([74a30bb](74a30bb))
* **security:** move DependencyViolation and ComplianceReport to shared
module ([#378](#378))
([1dd31ad](1dd31ad))


### 🔧 Maintenance

* add copyright headers to PowerShell scripts
([#381](#381))
([d19c9b3](d19c9b3))
* add copyright headers to shell scripts
([#380](#380))
([284b456](284b456))
* **deps-dev:** bump cspell from 9.6.1 to 9.6.2 in the npm-dependencies
group ([#387](#387))
([23c2b9f](23c2b9f))
* **workflows:** simplify Copilot setup steps workflow triggers
([#414](#414))
([492a7b1](492a7b1))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: hve-core-release-please[bot] <254602402+hve-core-release-please[bot]@users.noreply.github.com>
Co-authored-by: Bill Berry <wberry@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Issue]: Standardize error output in linting scripts (Write-Host vs Write-Error)

3 participants