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); + }, });