From 603afc19a715cf334d19f070e7efdf5a7997ecd4 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Fri, 21 Apr 2023 16:01:09 +0300 Subject: [PATCH] chore: Make creation of symlinks not fail when parent directory does not exist Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- .../lens-link/src/fs/create-symlink.injectable.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/infrastructure/lens-link/src/fs/create-symlink.injectable.ts b/packages/infrastructure/lens-link/src/fs/create-symlink.injectable.ts index ac8dd29193..7d451f6e43 100644 --- a/packages/infrastructure/lens-link/src/fs/create-symlink.injectable.ts +++ b/packages/infrastructure/lens-link/src/fs/create-symlink.injectable.ts @@ -1,9 +1,15 @@ import { getInjectable } from "@ogre-tools/injectable"; import fse from "fs-extra"; +import { dirname } from "path"; export type CreateSymlink = (target: string, path: string, type: "dir" | "file") => Promise; export const createSymlinkInjectable = getInjectable({ id: "create-symlink", - instantiate: (): CreateSymlink => fse.symlink, + + instantiate: (): CreateSymlink => async (target, path, type) => { + await fse.ensureDir(dirname(path)); + + return fse.symlink(target, path, type); + }, });