/linkaroo

Like `npm link`, but it always works. Well, it doesn't anymore, but it did.

Primary LanguageShell

Abandoned, as newer npm / yarn doesn't work will with plain copy pasta tarballs.

"g'day"

linkaroooooooooooooooooooooooooooooooooooooooooooo

Has npm link or yarn link got you down? 😃😭

Does your linked package have troublesome "singleton" dependencies that begin to double-up, like react?

Maybe your code bundler trips up when traversing weird ol' symlinks?

Perhaps you're allergic to or straight up don't trust those `link` commands? 🤷‍

...

👉🦘 Well, give up now and try linkaroo. 🦘👍😉 wink

Install

npm i -g linkaroo

Usage

Step 1.

Paaaaack your package!

$ cd my-pkg && npm run build
$ linkaroo pack

Step 2.

Liiiiiink it up!

$ cd my-app
$ linkaroo link "my-pkg@1.0.0"

Step 3.

Repeat steps 1 & 2 when my-pkg chaaaaanges.

👏 DONE 👏

👏 DONE 👏

Sponsored* by the Australian Government

*: It's not

Problem Background

Using npm/yarn link can be dissapointing in real life, because our node & bundlers get messed up traversing symlinks; they get stuck and find interdependant packages they were NOT suppose to... 😡

So let's just pretend to publish and install during local iterations.

That's what these two commands pretend to do:

  1. pack will prepare your package in a tarball (like publishing) and put it somewhere safe on your machine
  2. link will unpack that tarball into your other dependants node_modules/ directory (like a dirty lazy npm install)

Legal

Thanks to the NPM team for making their CLI easy to use.

MIT