mirror of
https://github.com/chylex/TweetDuck.git
synced 2024-11-10 14:42:49 +01:00
54 lines
1.8 KiB
PowerShell
54 lines
1.8 KiB
PowerShell
Param([Parameter(Mandatory = $True, Position = 1)][string] $dir)
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
Set-Location $dir
|
|
|
|
function Check-Carriage-Return{
|
|
Param([Parameter(Mandatory = $True, Position = 1)] $fname)
|
|
|
|
$file = @(Get-ChildItem -Include $fname -Recurse)[0]
|
|
|
|
if ((Get-Content -Path $file.FullName -Raw).Contains("`r")){
|
|
Throw "$fname cannot contain carriage return"
|
|
}
|
|
|
|
Write-Host "Verified" $file.FullName.Substring($dir.Length)
|
|
}
|
|
|
|
function Rewrite-File{
|
|
[CmdletBinding()]
|
|
Param([Parameter(Mandatory = $True, ValueFromPipeline = $True)][array] $lines, [Parameter(Mandatory = $True, Position = 1)] $file)
|
|
|
|
$lines | Where { $_ -ne '' } | Set-Content -Path $file.FullName
|
|
Write-Host "Processed" $file.FullName.Substring($dir.Length)
|
|
}
|
|
|
|
try{
|
|
Check-Carriage-Return("emoji-ordering.txt")
|
|
|
|
ForEach($file in Get-ChildItem -Filter *.js -Exclude configuration.default.js -Recurse){
|
|
$lines = Get-Content -Path $file.FullName
|
|
$lines = $lines | % { $_.TrimStart() }
|
|
$lines = $lines -Replace '^(.*?)((?<=^|[;{}()])\s?//(?:\s.*|$))?$', '$1'
|
|
$lines = $lines -Replace '(?<!\w)return(\s.*?)? if (.*?);', 'if ($2)return$1;'
|
|
,$lines | Rewrite-File $file
|
|
}
|
|
|
|
ForEach($file in Get-ChildItem -Filter *.css -Recurse){
|
|
$lines = Get-Content -Path $file.FullName
|
|
$lines = $lines -Replace '\s*/\*.*?\*/', ''
|
|
$lines = $lines -Replace '^\s+(.+):\s?(.+?)(?:\s?(!important))?;$', '$1:$2$3;'
|
|
$lines = $lines -Replace '^(\S.*?) {$', '$1{'
|
|
@(($lines | Where { $_ -ne '' }) -Join ' ') | Rewrite-File $file
|
|
}
|
|
|
|
ForEach($file in Get-ChildItem -Filter *.html -Recurse){
|
|
$lines = Get-Content -Path $file.FullName
|
|
,($lines | % { $_.TrimStart() }) | Rewrite-File $file
|
|
}
|
|
}catch{
|
|
Write-Host "Encountered an error while running PostBuild.ps1 on line" $_.InvocationInfo.ScriptLineNumber
|
|
Write-Host $_
|
|
Exit 1
|
|
}
|