mirror of
https://github.com/ScoopInstaller/Scoop.git
synced 2025-10-30 06:07:56 +00:00
45 lines
1.0 KiB
PowerShell
45 lines
1.0 KiB
PowerShell
<#
|
|
.SYNOPSIS
|
|
Format manifest.
|
|
.PARAMETER App
|
|
Manifest to format.
|
|
|
|
Wildcards are supported.
|
|
.PARAMETER Dir
|
|
Where to search for manifest(s).
|
|
.EXAMPLE
|
|
PS BUCKETROOT> .\bin\formatjson.ps1
|
|
Format all manifests inside bucket directory.
|
|
.EXAMPLE
|
|
PS BUCKETROOT> .\bin\formatjson.ps1 7zip
|
|
Format manifest '7zip' inside bucket directory.
|
|
#>
|
|
param(
|
|
[String] $App = '*',
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidateScript( {
|
|
if (!(Test-Path $_ -Type Container)) {
|
|
throw "$_ is not a directory!"
|
|
} else {
|
|
$true
|
|
}
|
|
})]
|
|
[String] $Dir
|
|
)
|
|
|
|
. "$PSScriptRoot\..\lib\core.ps1"
|
|
. "$PSScriptRoot\..\lib\manifest.ps1"
|
|
. "$PSScriptRoot\..\lib\json.ps1"
|
|
|
|
$Dir = Convert-Path $Dir
|
|
|
|
Get-ChildItem $Dir -Filter "$App.json" -Recurse | ForEach-Object {
|
|
$file = $_.FullName
|
|
# beautify
|
|
$json = parse_json $file | ConvertToPrettyJson
|
|
|
|
# convert to 4 spaces
|
|
$json = $json -replace "`t", ' '
|
|
[System.IO.File]::WriteAllLines($file, $json)
|
|
}
|