I have been using pnpm primarily for more than a year
and lately I've been using it for monorepo's and works quite nice
now something that's funny but you may think it's a pnpm problem sometimes are that you need to install more devDependencies for the project to actually run (not always but I've seen it)
and this is because if a dependency requires lodash for example, with the flat npm node_modules, you can require lodash without even having it on your package.json (you can inspect the node_modules and you'll find it there)
this is not true with pnpm, you need to actually put it on your package.json to have access to it.
I think pnpm is often underrated, but it is actually a nice tool.
Honestly, this feels like the correct behavior to me. The dependencies of another package are an implementation detail and if they change, your project could break.
Not arguing that at all - I'm totally onboard with it. The whole family of dependencies needs to be there (and locked to a version) for things to work repeatably. I just needed some disk space back. As long as you don't mind running yarn or npm install when you come back to working on a given project, this seems to be a perfectly functional way of working to me.
Edit: Just realized you weren't replying directly to my post! Ha - well, seems we may be on the same page anyway. 🍳
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I have been using pnpm primarily for more than a year
and lately I've been using it for monorepo's and works quite nice
now something that's funny but you may think it's a pnpm problem sometimes are that you need to install more
devDependencies
for the project to actually run (not always but I've seen it)and this is because if a dependency requires
lodash
for example, with the flat npm node_modules, you can requirelodash
without even having it on yourpackage.json
(you can inspect the node_modules and you'll find it there)this is not true with pnpm, you need to actually put it on your
package.json
to have access to it.I think pnpm is often underrated, but it is actually a nice tool.
Honestly, this feels like the correct behavior to me. The dependencies of another package are an implementation detail and if they change, your project could break.
Not arguing that at all - I'm totally onboard with it. The whole family of dependencies needs to be there (and locked to a version) for things to work repeatably. I just needed some disk space back. As long as you don't mind running
yarn
ornpm install
when you come back to working on a given project, this seems to be a perfectly functional way of working to me.Edit: Just realized you weren't replying directly to my post! Ha - well, seems we may be on the same page anyway. 🍳