From a47d90e5579bde89ffba40e62f1f3dd53499d18c Mon Sep 17 00:00:00 2001 From: Arutyun Mnatsakanyan Date: Mon, 7 Jan 2019 01:40:53 +0300 Subject: [PATCH] Improvements to PowerShell install script (#22) --- README.md | 2 +- install.ps1 | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index f2b3c12..5c494f1 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,6 @@ curl -L https://deno.land/x/install/install.py | python - v0.2.0 **Install with PowerShell:** -``` +```powershell iwr https://deno.land/x/install/install.ps1 -out install.ps1; .\install.ps1 v0.2.0 ``` diff --git a/install.ps1 b/install.ps1 index 18b3f83..a1b0ea2 100644 --- a/install.ps1 +++ b/install.ps1 @@ -1,5 +1,9 @@ # Copyright 2018 the Deno authors. All rights reserved. MIT license. # TODO(everyone): Keep this script simple and easily auditable. +param ( + [alias("v")] + [string] $version +) $ErrorActionPreference = "Stop" @@ -18,21 +22,17 @@ function Write-Done { Write-Host "." } -if ($args.count) { - # If specific release is mentioned - $release = $args[0] -} else { - # Else determine latest Deno release via GitHub API. - $latest_release_uri = "https://api.github.com/repos/denoland/deno/releases/latest" - Write-Part "Downloading "; Write-Emphasized $latest_release_uri; Write-Part "..." - $latest_release_json = Invoke-WebRequest -Uri $latest_release_uri - Write-Done +if (-not $version) { + # Determine latest Deno release via GitHub API. + $latest_release_uri = "https://api.github.com/repos/denoland/deno/releases/latest" + 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: " - $latest_release = ($latest_release_json | ConvertFrom-Json).tag_name - $release = $latest_release - Write-Emphasized $latest_release; Write-Part "... " - Write-Done + Write-Part "Determining latest Deno release: " + $version = ($latest_release_json | ConvertFrom-Json).tag_name + Write-Emphasized $version; Write-Part "... " + Write-Done } # Create ~\.deno\bin directory if it doesn't already exist @@ -43,10 +43,10 @@ if (-not (Test-Path $deno_dir)) { Write-Done } -# Download latest Deno release. +# Download Deno release. $zip_file = "${deno_dir}\deno_win_x64.zip" $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 "..." Invoke-WebRequest -Uri $download_uri -OutFile $zip_file Write-Done