diff options
Diffstat (limited to 'std/fs/ensure_symlink.ts')
-rw-r--r-- | std/fs/ensure_symlink.ts | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/std/fs/ensure_symlink.ts b/std/fs/ensure_symlink.ts index 2a184bb4f..a07f97220 100644 --- a/std/fs/ensure_symlink.ts +++ b/std/fs/ensure_symlink.ts @@ -28,7 +28,14 @@ export async function ensureSymlink(src: string, dest: string): Promise<void> { await ensureDir(path.dirname(dest)); - await Deno.symlink(src, dest, srcFilePathType); + ensureDirSync(path.dirname(dest)); + if (Deno.build.os === "windows") { + await Deno.symlink(src, dest, { + type: srcFilePathType === "dir" ? "dir" : "file", + }); + } else { + await Deno.symlink(src, dest); + } } /** @@ -54,6 +61,11 @@ export function ensureSymlinkSync(src: string, dest: string): void { } ensureDirSync(path.dirname(dest)); - - Deno.symlinkSync(src, dest, srcFilePathType); + if (Deno.build.os === "windows") { + Deno.symlinkSync(src, dest, { + type: srcFilePathType === "dir" ? "dir" : "file", + }); + } else { + Deno.symlinkSync(src, dest); + } } |