I ran into a problem writing my own practice binding package. But before I could even ask the question for my own package a problem came up with GitHub - glennsl/bs-jest: BuckleScript bindings for Jest
Using bs-jest as a test binding/framework for my own project I noticed that the command jest was not found, even though it was installed as a dependency for bs-jest.
You see, I use pnpm, not npm or yarn. When using npm or yarn, a link is created in node_modules/.bin for jest. But with pnpm nothing is created.
I created an issue Does not install links to binaries of dependencies · Issue #3566 · pnpm/pnpm · GitHub
I was schooled that dependencies should not be exposed through node_modules/.bin , but only peerDependencies, and that yarn and npm were doing the wrong thing.
Aside from the brokenness, it raised the question for me, should a binding automatically install its target or use the newer peerDependencies to prompt the user to install the subject of the bindings separately?