This PowerShell script is for build server processes which need to produce Javascript and minified Javascript from TypeScript files. There are enough comments to explain it:
# TSCBulkCompiler.ps1 Powershell script for recursively compiling TypeScript files
# The script finds TypeScript files recursively in a directory and compiles them
# Call from cmd line like this:
# c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -nologo -noninteractive -file C:\Temp\Minify\TSCBulkCompiler.ps1 -rootDir "C:\Temp\Minify"
# Directory argument
param($rootDir)
if ($rootDir -eq $null) {
# Useful for debugging
$rootDir = "C:\Temp\Minify"
}
# Files to include
$include = "*.ts"
# Files to exclude
$exclude = "*.d.ts"
write-host "TSCBulkCompiler.ps1 building TS files under: $rootDir"
# Find files with Regex filename match
$Assemblies = get-childitem $rootDir -include $include -exclude $exclude -recurse
# http://typescript.codeplex.com/
$tsc = "C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.1.1\tsc.exe"
# http://ajaxmin.codeplex.com/
$min = "C:\Program Files (x86)\Microsoft\Microsoft Ajax Minifier\AjaxMin.exe"
# Process each file
$Assemblies | ForEach-Object {
if($_ -ne $null){
$Name = $_.FullName
write-host "$Name"
# Compile TS files
& $tsc -target ES5 $Name
# Get .js and .min.js names
$jsName = $Name.Substring(0, $Name.Length - 2) + "js"
$minName = $Name.Substring(0, $Name.Length - 2) + "min.js"
# Minify
& $min -JS $jsName -out $minName
}
}
write-host "TSCBulkCompiler.ps1 complete."
No comments:
Post a Comment