From b7bcc662e2ac458b0f67d9882fd2f37f79c25179 Mon Sep 17 00:00:00 2001 From: Srijan Reddy Date: Sat, 5 Jan 2019 20:22:47 +0530 Subject: [PATCH] Allow powershell script to specify version (#19) --- README.md | 6 +++++- install.ps1 | 26 ++++++++++++++++---------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a7c2fca..4baba58 100644 --- a/README.md +++ b/README.md @@ -30,4 +30,8 @@ If you need to install specific version of deno, use the following commands: curl -L https://deno.land/x/install/install.py | python - v0.2.0 ``` -(PowerShell version is not available yet) +**Install with PowerShell:** + +``` +iwr https://deno.land/x/install/install.ps1 -Outfile 'install.ps1'; ./install.ps1 v0.2.0 +``` diff --git a/install.ps1 b/install.ps1 index c0716db..18b3f83 100644 --- a/install.ps1 +++ b/install.ps1 @@ -18,16 +18,22 @@ function Write-Done { Write-Host "." } -# 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 ($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 -Write-Part "Determining latest Deno release: " -$latest_release = ($latest_release_json | ConvertFrom-Json).tag_name -Write-Emphasized $latest_release; Write-Part "... " -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 +} # Create ~\.deno\bin directory if it doesn't already exist $deno_dir = "${Home}\.deno\bin" @@ -40,7 +46,7 @@ if (-not (Test-Path $deno_dir)) { # Download latest Deno release. $zip_file = "${deno_dir}\deno_win_x64.zip" $download_uri = "https://github.com/denoland/deno/releases/download/" + - "${latest_release}/deno_win_x64.zip" + "${release}/deno_win_x64.zip" Write-Part "Downloading "; Write-Emphasized $download_uri; Write-Part "..." Invoke-WebRequest -Uri $download_uri -OutFile $zip_file Write-Done