I have the following folder structure:
~ (user home folder)
- api
...
- package.json
- lib
- libA
...
package.json
- libB
...
package.json
In libA/package.json
I have the following local dependency
"dependencies": {
"libB": "../libB",
},
So libA depends on libB.
Now I want inside api
project to add as local package libA
. I execute cd api && yarn add ../lib/libA
and I get the following error/Users/a_user/libB doesn't exist
. I understand that yarn sees as current director ~/api
so when is reading the dependency of libA
it sees ../libB
and translate it as ~/libB
and not as ~/lib/libB
Is there anyway to achieve it without absolute paths ?
Yes, there is, using yarn link. Basically, yarn link allows you to create symlinks to local projects.
Go to the folder libB
and run:
yarn link
Then go to the folder libA
and run:
yarn link libB
NOTE: that libB
must be the name on the package.json
inside the libB
folder
Then you can require your libB
code as usual:
const libB = require('libB')