This tool solves a problem with running scripts in (specifically) Lerna monorepos. Your monorepo will probably common tools, but each package might have its own specific tools and versions. The package specific tools will be found in
./packages/foo/node_modules/.bin, and the common packages in
./node_modules/.bin. However, npm scripts in the nested package will only reference the local binaries. Packages like
link-parent-bin allow you to override the nested package binaries with the parent, but these prevent the nested package from being able to install and of its own tools.
node-ex is a simple tool which executes a command with all parent
node_module/.bin folders placed in the PATH of the command. Your nested binaries, if present, will override the shared binaries.
npm install -g @mixer/execute-nested-binary
You can run your commands by prefixing them with
$ node-ex prettier --help Usage: prettier [options] [file/glob ...]
You can also pass
--where before the binary to print out its location on your hard drive:
$ node-ex --where prettier /Users/copeet/Github/potatoes/node_modules/.bin