src/React.MSBuild/tools/install.ps1 (33 lines of code) (raw):

function Resolve-ProjectName { param( [parameter(ValueFromPipelineByPropertyName = $true)] [string[]]$ProjectName ) if($ProjectName) { $projects = Get-Project $ProjectName } else { # All projects by default $projects = Get-Project } $projects } function Get-MSBuildProject { param( [parameter(ValueFromPipelineByPropertyName = $true)] [string[]]$ProjectName ) Process { (Resolve-ProjectName $ProjectName) | % { $path = $_.FullName @([Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($path))[0] } } } $project = Get-Project $buildProject = Get-MSBuildProject $target = $buildProject.Xml.AddTarget("TransformBabel") $target.AfterTargets = "Build" $task = $target.AddTask("Exec") $task.SetParameter("Command", '"$(msbuildtoolspath)\msbuild.exe" $(ProjectDirectory)TransformBabel.proj /p:OutputPath=$(OutputPath) /nr:false') $project.Save()