71 lines
1.8 KiB
PowerShell
71 lines
1.8 KiB
PowerShell
|
<#
|
||
|
use this order to reformat json objects:
|
||
|
version
|
||
|
description
|
||
|
homepage
|
||
|
license
|
||
|
notes
|
||
|
depends
|
||
|
suggest
|
||
|
architecture
|
||
|
url
|
||
|
hash
|
||
|
extract_dir
|
||
|
extract_to
|
||
|
pre_install
|
||
|
installer
|
||
|
post_install
|
||
|
env_add_path
|
||
|
env_set
|
||
|
bin
|
||
|
shortcuts
|
||
|
persist
|
||
|
pre_uninstall
|
||
|
uninstaller
|
||
|
post_uninstall
|
||
|
checkver
|
||
|
autoupdate
|
||
|
#>
|
||
|
|
||
|
# Read all json files in the current directory
|
||
|
Get-ChildItem -Filter *.json | ForEach-Object {
|
||
|
# Read the file
|
||
|
$json = Get-Content $_.FullName | ConvertFrom-Json -Depth 9
|
||
|
|
||
|
# Create a new object with the properties in the desired order
|
||
|
$newJson = [ordered]@{
|
||
|
version = $json.version
|
||
|
description = $json.description
|
||
|
homepage = $json.homepage
|
||
|
license = $json.license
|
||
|
notes = $json.notes
|
||
|
depends = $json.depends
|
||
|
suggest = $json.suggest
|
||
|
architecture = $json.architecture
|
||
|
url = $json.url
|
||
|
hash = $json.hash
|
||
|
extract_dir = $json.extract_dir
|
||
|
extract_to = $json.extract_to
|
||
|
pre_install = $json.pre_install
|
||
|
installer = $json.installer
|
||
|
post_install = $json.post_install
|
||
|
env_add_path = $json.env_add_path
|
||
|
env_set = $json.env_set
|
||
|
bin = $json.bin
|
||
|
shortcuts = $json.shortcuts
|
||
|
persist = $json.persist
|
||
|
pre_uninstall = $json.pre_uninstall
|
||
|
uninstaller = $json.uninstaller
|
||
|
post_uninstall = $json.post_uninstall
|
||
|
checkver = $json.checkver
|
||
|
autoupdate = $json.autoupdate
|
||
|
}
|
||
|
# Remove any null properties
|
||
|
$newJson = $newJson | Where-Object { $_.Value -ne $null }
|
||
|
|
||
|
# Convert the new object back to json and write it back to the file
|
||
|
$newJson | ConvertTo-Json -Depth 9 | Set-Content $_.FullName
|
||
|
}
|
||
|
|
||
|
# Run scoop json prettier on all json files in the current directory
|
||
|
~/scoop/apps/scoop/current/bin/formatjson.ps1 -Dir .
|