diff --git a/simple-git-hooks.js b/simple-git-hooks.js index 67595eb..7ca259d 100644 --- a/simple-git-hooks.js +++ b/simple-git-hooks.js @@ -114,6 +114,10 @@ function getProjectRootDirectoryFromNodeModules(projectPath) { if (indexOfDenoDir > -1) { return projDir.slice(0, indexOfDenoDir - 1).join('/'); } + const indexOfBunDir = projDir.indexOf('.bun') + if (indexOfBunDir > -1) { + return projDir.slice(0, indexOfBunDir - 1).join('/'); + } const indexOfStoreDir = projDir.indexOf('.store') if (indexOfStoreDir > -1) { diff --git a/simple-git-hooks.test.js b/simple-git-hooks.test.js index f126c8b..113c624 100644 --- a/simple-git-hooks.test.js +++ b/simple-git-hooks.test.js @@ -72,6 +72,14 @@ describe("Simple Git Hooks tests", () => { ) ).toBe("var/my-project"); }); + + it("return correct dir when installed using bun with --linker=isolated", () => { + expect( + simpleGitHooks.getProjectRootDirectoryFromNodeModules( + `var/my-project/node_modules/.bun/simple-git-hooks@${packageVersion}/node_modules/simple-git-hooks` + ) + ).toBe('var/my-project'); + }) }); describe("getGitProjectRoot", () => {