diff --git a/eng/common/scripts/typespec/New-EmitterPackageJson.ps1 b/eng/common/scripts/typespec/New-EmitterPackageJson.ps1 index 01e883d06..d9e45038b 100644 --- a/eng/common/scripts/typespec/New-EmitterPackageJson.ps1 +++ b/eng/common/scripts/typespec/New-EmitterPackageJson.ps1 @@ -18,22 +18,24 @@ param ( $packageJson = Get-Content $PackageJsonPath | ConvertFrom-Json -AsHashtable # If we provide OverridesPath, use that to load a hashtable of version overrides -$overrides = @{} +$overrides = [ordered]@{} if ($OverridesPath) { Write-Host "Using overrides from $OverridesPath`:`n" - $overrides = Get-Content $OverridesPath | ConvertFrom-Json -AsHashtable + $overridesJson = Get-Content $OverridesPath | ConvertFrom-Json -AsHashtable + foreach ($key in $overridesJson.Keys | Sort-Object) { + $overrides[$key] = $overridesJson[$key] + } Write-Host ($overrides | ConvertTo-Json) Write-Host "" } - # If there's a peer dependency and a dev dependency for the same package, carry the # dev dependency forward into emitter-package.json -$devDependencies = @{} +$devDependencies = [ordered]@{} -foreach ($package in $packageJson.peerDependencies.Keys) { +foreach ($package in $packageJson.peerDependencies.Keys | Sort-Object) { $pinnedVersion = $packageJson.devDependencies[$package] if ($pinnedVersion -and -not $overrides[$package]) { Write-Host "Pinning $package to $pinnedVersion"