It appears that when I run npm link
, it will install the project globally, and it seems to install devDependencies with it.
Is there a way to run npm link without devDependencies, perhaps with the --only=production
flag?
In [email protected]
or lower
When you run npm link
in other_module
then you will get both dependencies and devDependencies symlinked.
The --production
flag doesn't change anything, still creates a symlink to the whole directory
They fixed it!
If you remove node_modules
and then do npm link --only=production
, it runs an install before symlinking, and therefore devDependencies folder are indeed excluded.
This is currently not possible with npm link
. The problem is, if you install only prod dependencies in that dependency, you're able to link it, but you're not able to develop on that dependency anymore (since missing devDependencies). And vice-versa: If you install devDependencies, you can't link anymore.
The solution: A package called npm-local-development at https://github.com/marcj/npm-local-development
It basically does the same thing as npm link
, but works around the devDependency limitation by setting up a file watcher and syncs file changes automatically in the background, excluding all devDependencies/peerDependencies.
.links.json
in your root package.You write every package name with its local relative folder path into it like so
{ "@shared/core": "../../my-library-repo/packages/core" }
npm-local-development
in that root package. Let it run in the background.Disclaimer: I'm the author of this free open-source project.
A workaround I use is npm pack
then point to the packed file in the example
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With