I have a project with root folder and client folder, both having package.json
files.
On the root folder I don't want to install any packages, ever. Instead, I want that running $ yarn add some-package
will automatically add it in the client folder, as if I would do $ yarn add some-package --cwd ./client
I tried doing cd client
and yarn --cwd ./client
in scripts.preinstall
, but it didn't work, which I think it's because preinstall
and install
are different processes.
I also tried running a cusotm bash script on preinstall
but didn't find a way to pass the args from the command line to it, so they get "swollen" by yarn.
Any ideas how to accomplish this?
I'm fairly new with bash, but I can research the solution with some guidance.
Thanks in advance, make it a great day!
PS. I can hack it by hijacking the yarn command on my shell, and check if I'm ot the aforementioned project folder and if the command was yarn add
, but I prefer to have a solution for all our developers, and not to pollute my shell.
The solution is to use a .yarnrc
file in your root project folder next to your package.json
.
Add this line to .yarnrc
:
# install modules in the specified location
--modules-folder ./client
Note: If you already have a node_modules
folder feel free to delete it after creating .yarnrc
and follow it by running yarn install
for all your packages to be downloaded again into your target directory.
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