Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/feross/zelda
Automatically `npm link` all your packages together!
https://github.com/feross/zelda
javascript link nodejs npm zelda
Last synced: 7 days ago
JSON representation
Automatically `npm link` all your packages together!
- Host: GitHub
- URL: https://github.com/feross/zelda
- Owner: feross
- License: mit
- Created: 2014-03-20T03:54:26.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2020-05-11T17:21:05.000Z (over 4 years ago)
- Last Synced: 2024-12-06T11:40:29.316Z (16 days ago)
- Topics: javascript, link, nodejs, npm, zelda
- Language: JavaScript
- Homepage:
- Size: 811 KB
- Stars: 284
- Watchers: 5
- Forks: 32
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# zelda [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
[travis-image]: https://img.shields.io/travis/feross/zelda/master.svg
[travis-url]: https://travis-ci.org/feross/zelda
[npm-image]: https://img.shields.io/npm/v/zelda.svg
[npm-url]: https://npmjs.org/package/zelda
[downloads-image]: https://img.shields.io/npm/dm/zelda.svg
[downloads-url]: https://npmjs.org/package/zelda
[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
[standard-url]: https://standardjs.com#### Automatically `npm link` all your packages together!
![link spin attack](https://raw.githubusercontent.com/feross/zelda/master/img/link-attack.jpg)
Sometimes Link needs a little help from Zelda.
### usage
1. Install it globally.
```bash
npm install -g zelda
```2. Run `zelda` from your node project directory. For example:
```bash
cd ~/code/my-project
zelda
````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.Zelda assumes that all your code lives in the directory one level up from the
folder where you run `zelda`. So, keep all your packages in a single folder like
`~/code` and run `zelda` inside one of the projects (ex: `~/code/my-project`).### what you might do if you're clever
1. Clone a cool project.
```bash
mkdir ~/code
cd ~/code
git clone [email protected]:feross/webtorrent.git
```2. Clone the project dependencies you plan to work on.
```bash
git clone [email protected]:feross/bittorrent-protocol.git
git clone [email protected]:feross/bittorrent-swarm.git
git clone [email protected]:feross/bittorrent-dht.git
```3. Recursively `npm install` all project dependencies, but `npm link` the ones that are local.
```bash
cd webtorrent
zelda
```Gone are the days of running tons of `npm link` commands by hand!
### features
- 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!### link is better with zelda!
![link](https://raw.githubusercontent.com/feross/zelda/master/img/link-zelda.png)
### license
MIT. Copyright [Feross Aboukhadijeh](https://www.twitter.com/feross).