mirror of
https://github.com/github/spec-kit.git
synced 2026-03-25 23:03:08 +00:00
fix(ps1): replace null-conditional operator for PowerShell 5.1 compatibility (#1975)
The `?.` (null-conditional member access) operator requires PowerShell 7.1+, but Windows ships with PowerShell 5.1 by default. When AI agents invoke .ps1 scripts on Windows, they typically use the system-associated handler (5.1), causing a ParseException: Unexpected token '?.Path'. Replace the single `?.` usage with a 5.1-compatible two-step pattern that preserves the same null-safety behavior. Fixes #1972
This commit is contained in:
@@ -8,7 +8,8 @@ function Find-SpecifyRoot {
|
|||||||
|
|
||||||
# Normalize to absolute path to prevent issues with relative paths
|
# Normalize to absolute path to prevent issues with relative paths
|
||||||
# Use -LiteralPath to handle paths with wildcard characters ([, ], *, ?)
|
# Use -LiteralPath to handle paths with wildcard characters ([, ], *, ?)
|
||||||
$current = (Resolve-Path -LiteralPath $StartDir -ErrorAction SilentlyContinue)?.Path
|
$resolved = Resolve-Path -LiteralPath $StartDir -ErrorAction SilentlyContinue
|
||||||
|
$current = if ($resolved) { $resolved.Path } else { $null }
|
||||||
if (-not $current) { return $null }
|
if (-not $current) { return $null }
|
||||||
|
|
||||||
while ($true) {
|
while ($true) {
|
||||||
|
|||||||
Reference in New Issue
Block a user