From 5a61f7fa1a5f4132762dd1e20ddb9245b6ffb38d Mon Sep 17 00:00:00 2001 From: Marcin Puc Date: Thu, 5 Aug 2021 11:40:50 +0200 Subject: [PATCH 1/2] Skip deno upgrade unless installed under .deno --- src/main.rs | 2 +- src/steps/node.rs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index ee17606d..3491100a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -302,7 +302,7 @@ fn run() -> Result<()> { runner.execute(Step::Vim, "voom", || vim::run_voom(&base_dirs, run_type))?; runner.execute(Step::Node, "npm", || node::run_npm_upgrade(&ctx))?; runner.execute(Step::Pnpm, "pnpm", || node::pnpm_global_update(run_type))?; - runner.execute(Step::Deno, "deno", || node::deno_upgrade(&ctx))?; + runner.execute(Step::Deno, "deno", || node::deno_upgrade(&base_dirs, &ctx))?; runner.execute(Step::Composer, "composer", || generic::run_composer_update(&ctx))?; runner.execute(Step::Krew, "krew", || generic::run_krew_upgrade(run_type))?; runner.execute(Step::Gem, "gem", || generic::run_gem(&base_dirs, run_type))?; diff --git a/src/steps/node.rs b/src/steps/node.rs index 3f968cf5..66f9a75e 100644 --- a/src/steps/node.rs +++ b/src/steps/node.rs @@ -87,8 +87,14 @@ pub fn pnpm_global_update(run_type: RunType) -> Result<()> { run_type.execute(&pnpm).args(&["update", "-g"]).check_run() } -pub fn deno_upgrade(ctx: &ExecutionContext) -> Result<()> { +pub fn deno_upgrade(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()> { let deno = require("deno")?; + let deno_dir = base_dirs.home_dir().join(".deno"); + + if !deno.canonicalize()?.is_descendant_of(&deno_dir) { + let skip_reason = SkipStep("Deno installed outside of .deno directory".to_string()); + return Err(skip_reason.into()); + } print_separator("Deno"); ctx.run_type().execute(&deno).arg("upgrade").check_run() From 87bd70fe76f178bbfa24dc728b345fd43c37e30f Mon Sep 17 00:00:00 2001 From: Marcin Puc Date: Sun, 8 Aug 2021 14:08:05 +0200 Subject: [PATCH 2/2] Use base_dirs from execution context --- src/main.rs | 2 +- src/steps/node.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 3491100a..ee17606d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -302,7 +302,7 @@ fn run() -> Result<()> { runner.execute(Step::Vim, "voom", || vim::run_voom(&base_dirs, run_type))?; runner.execute(Step::Node, "npm", || node::run_npm_upgrade(&ctx))?; runner.execute(Step::Pnpm, "pnpm", || node::pnpm_global_update(run_type))?; - runner.execute(Step::Deno, "deno", || node::deno_upgrade(&base_dirs, &ctx))?; + runner.execute(Step::Deno, "deno", || node::deno_upgrade(&ctx))?; runner.execute(Step::Composer, "composer", || generic::run_composer_update(&ctx))?; runner.execute(Step::Krew, "krew", || generic::run_krew_upgrade(run_type))?; runner.execute(Step::Gem, "gem", || generic::run_gem(&base_dirs, run_type))?; diff --git a/src/steps/node.rs b/src/steps/node.rs index 66f9a75e..a4ac77a0 100644 --- a/src/steps/node.rs +++ b/src/steps/node.rs @@ -87,9 +87,9 @@ pub fn pnpm_global_update(run_type: RunType) -> Result<()> { run_type.execute(&pnpm).args(&["update", "-g"]).check_run() } -pub fn deno_upgrade(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()> { +pub fn deno_upgrade(ctx: &ExecutionContext) -> Result<()> { let deno = require("deno")?; - let deno_dir = base_dirs.home_dir().join(".deno"); + let deno_dir = ctx.base_dirs().home_dir().join(".deno"); if !deno.canonicalize()?.is_descendant_of(&deno_dir) { let skip_reason = SkipStep("Deno installed outside of .deno directory".to_string());