npmlinxxx
v1.0.0
Published
a kinder, gentler alternative to npm link
Downloads
3
Readme
npmlinxxx
a kinder, gentler alternative to npm link
install
$ npm install npmlinxxx
usage
josh@koffing:~/dev/jesusabdullah/korben-twitter$ npmlinxxx
linxxx info hello YES THIS IS NPMLINXXX
linxxx ERR! wat Error: USAGE: npmlinxxx [dependency]
linxxx ERR! wat
linxxx ERR! wat (dependency is path to project root)
linxxx ERR! wat
linxxx ERR! bye better luck next time!
josh@koffing:~/dev/jesusabdullah/korben-twitter$ ls
README.md korben.js npm-debug.log seed.txt
creds.json node_modules package.json
josh@koffing:~/dev/jesusabdullah/korben-twitter$ ls ../kenny-loggins/
README.md colorize.js loggins.jpg package.json
browser.js index.js loggins.js test.js
colorize-browser.js log-browser.js loggins.xcf test.sh
josh@koffing:~/dev/jesusabdullah/korben-twitter$ npmlinxxx ../kenny-loggins
linxxx info hello YES THIS IS NPMLINXXX
linxxx WARN derf Looks like /Users/josh/dev/jesusabdullah/korben-twitter/node_modules/kenny-loggins already exists!
linxxx ??!? rm -rf Nuke it? [y/N] y
linxxx info ln -s Linking kenny-loggins
linxxx info ln -s /Users/josh/dev/jesusabdullah/kenny-loggins -> /Users/josh/dev/jesusabdullah/korben-twitter/node_modules/kenny-loggins
linxxx info bye good job!
josh@koffing:~/dev/jesusabdullah/korben-twitter$
rationale
npm link
is a nifty little tool that will symlink arbitrary node libraries on
the filesystem directly into your project. This is really useful for developing
a dependent and dependency concurrently.
However, there's a small but important wrinkle: Linking works in two parts.
npm link
exposes the module as installable by first linking it globally.
Then, npm link [dependency]
links the global version of the module into
your project. Usually this isn't a deal-breaker, but there are some less
savoury ramifications:
- Running
npm link
as a priveleged user (not technically necessary, but the default behavior) requires unsettlingly high permissions given the task at hand - You expose a development version of potential module bins to all your shells
- git+ssh urls can cause problems because ssh doesn't properly inherit your known hosts when ran with sudo.
npmlinxxx
is used to symlink other modules directly into node_modules
, thus
avoiding some of these issues.
Tests
Right now, just me using it.
License
MIT.