@mixer/executed-nested-binary

Executes a node binary from this folder or any parent

Usage no npm install needed!

<script type="module">
  import mixerExecutedNestedBinary from 'https://cdn.skypack.dev/@mixer/executed-nested-binary';
</script>

README

node-ex

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.

Usage

npm install -g @mixer/execute-nested-binary

You can run your commands by prefixing them with node-ex:

$ 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