I didn't know about `npm link`. Can you elaborate on the issues you've had with it? Because honestly it sounds better to me. When I modify a dependency I don't want to have to "publish" that modification before my app sees it. Am I right in thinking that with `npm link` there is no publish step?
If you're working on a React-based library, you'd normally have React installed in the lib repo as a dev dependency. But, when you go to test out that lib in a sample app repo, you don't want to accidentally have both the app repo's copy of React _and_ the lib repo's copy of React - you want just the app repo's copy.
So yeah, using Yalc technically requires a couple of additional steps ( `yalc publish` in the lib repo, `yalc add my-lib && yarn` in the sample repo), but it's consistent and it _works_. It also correctly handles the fact that you are doing both a build step and only publishing certain folders. I've caught a couple bugs that I would have otherwise shipped to NPM as a result of using Yalc for local testing.