Automatically npm link all your packages together!


Sometimes Link needs a little help from Zelda.

  1. Install it globally.
npm install -g zelda
  1. Run zelda from your node project directory. Pass it a single argument -- the directory where all your code lives.
zelda ~/code

zelda finds all the node packages in your code folder (~/code/ in the example). If any of these packages are listed as a dependency in the nearest package.json of your working directory, it automatically symlinks it for you.

  1. Clone a cool project.
cd ~/code
git clone git@github.com:feross/webtorrent.git
  1. Clone the project dependencies you plan to work on.
git clone git@github.com:feross/bittorrent-protocol.git
git clone git@github.com:feross/bittorrent-swarm.git
git clone git@github.com:feross/bittorrent-dht.git
  1. Recursively npm install all project dependencies, but npm link the ones that are local.
cd webtorrent
zelda ~/code

Gone are the days of running tons of npm link commands by hand!

  • Automatically npm link all your modules together
  • Supports dependencies, devDependencies, and optionalDependencies
  • Recursively runs npm install so your freshly cloned projects are ready to go!

MIT. Copyright Feross Aboukhadijeh.