From 6adc0039cdef46aff205a8a898162b71d8277748 Mon Sep 17 00:00:00 2001 From: Jacob Heider Date: Tue, 17 Feb 2026 09:57:13 -0500 Subject: [PATCH 1/2] fix dangling symlinks closes #76 --- pkgm.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgm.ts b/pkgm.ts index f128669..2da8804 100755 --- a/pkgm.ts +++ b/pkgm.ts @@ -41,8 +41,9 @@ const parsedArgs = parseArgs(Deno.args, { v: "version", h: "help", p: "pin", + f: "force", }, - boolean: ["help", "version", "pin"], + boolean: ["help", "version", "pin", "force"], }); if (parsedArgs.help || parsedArgs._[0] == "help") { @@ -506,8 +507,19 @@ function expand_runtime_env( } function symlink_with_overwrite(src: string, dst: string) { - if (existsSync(dst) && Deno.lstatSync(dst).isSymlink) { - Deno.removeSync(dst); + try { + const stat = Deno.lstatSync(dst); + if (stat.isSymlink) { + Deno.removeSync(dst); + } else if (parsedArgs.force) { + Deno.removeSync(dst); + } else { + throw new Error( + `refusing to overwrite non-symlink at: ${dst} (use --force to override)`, + ); + } + } catch (e) { + if (!(e instanceof Deno.errors.NotFound)) throw e; } Deno.symlinkSync(src, dst); } From 1571c5f0fd2d0d6284af92b92107e18170ebccc7 Mon Sep 17 00:00:00 2001 From: Jacob Heider Date: Tue, 17 Feb 2026 10:22:27 -0500 Subject: [PATCH 2/2] fix deno setup --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f009f64..7699bc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: denolib/setup-deno@v2 + - uses: denoland/setup-deno@v2 with: deno-version: v2.x - run: deno fmt --check .