Improvements to PowerShell install script (#22)

This commit is contained in:
Arutyun Mnatsakanyan 2019-01-07 01:40:53 +03:00 committed by Ryan Dahl
parent 92110a9ee1
commit a47d90e557
2 changed files with 17 additions and 17 deletions

View file

@ -32,6 +32,6 @@ curl -L https://deno.land/x/install/install.py | python - v0.2.0
**Install with PowerShell:** **Install with PowerShell:**
``` ```powershell
iwr https://deno.land/x/install/install.ps1 -out install.ps1; .\install.ps1 v0.2.0 iwr https://deno.land/x/install/install.ps1 -out install.ps1; .\install.ps1 v0.2.0
``` ```

View file

@ -1,5 +1,9 @@
# Copyright 2018 the Deno authors. All rights reserved. MIT license. # Copyright 2018 the Deno authors. All rights reserved. MIT license.
# TODO(everyone): Keep this script simple and easily auditable. # TODO(everyone): Keep this script simple and easily auditable.
param (
[alias("v")]
[string] $version
)
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
@ -18,21 +22,17 @@ function Write-Done {
Write-Host "." Write-Host "."
} }
if ($args.count) { if (-not $version) {
# If specific release is mentioned # Determine latest Deno release via GitHub API.
$release = $args[0] $latest_release_uri = "https://api.github.com/repos/denoland/deno/releases/latest"
} else { Write-Part "Downloading "; Write-Emphasized $latest_release_uri; Write-Part "..."
# Else determine latest Deno release via GitHub API. $latest_release_json = Invoke-WebRequest -Uri $latest_release_uri
$latest_release_uri = "https://api.github.com/repos/denoland/deno/releases/latest" Write-Done
Write-Part "Downloading "; Write-Emphasized $latest_release_uri; Write-Part "..."
$latest_release_json = Invoke-WebRequest -Uri $latest_release_uri
Write-Done
Write-Part "Determining latest Deno release: " Write-Part "Determining latest Deno release: "
$latest_release = ($latest_release_json | ConvertFrom-Json).tag_name $version = ($latest_release_json | ConvertFrom-Json).tag_name
$release = $latest_release Write-Emphasized $version; Write-Part "... "
Write-Emphasized $latest_release; Write-Part "... " Write-Done
Write-Done
} }
# Create ~\.deno\bin directory if it doesn't already exist # Create ~\.deno\bin directory if it doesn't already exist
@ -43,10 +43,10 @@ if (-not (Test-Path $deno_dir)) {
Write-Done Write-Done
} }
# Download latest Deno release. # Download Deno release.
$zip_file = "${deno_dir}\deno_win_x64.zip" $zip_file = "${deno_dir}\deno_win_x64.zip"
$download_uri = "https://github.com/denoland/deno/releases/download/" + $download_uri = "https://github.com/denoland/deno/releases/download/" +
"${release}/deno_win_x64.zip" "${version}/deno_win_x64.zip"
Write-Part "Downloading "; Write-Emphasized $download_uri; Write-Part "..." Write-Part "Downloading "; Write-Emphasized $download_uri; Write-Part "..."
Invoke-WebRequest -Uri $download_uri -OutFile $zip_file Invoke-WebRequest -Uri $download_uri -OutFile $zip_file
Write-Done Write-Done