This causes our production build, (with yarn workspaces focus --production or npm prune --production) which needs to be as small as possible, to also include the entire node-gyp package and all it's dependencies.
If you read the yarn code, as long as node-gyp gets listed as a peer dependency, it's good. I can add it as a dev dependency to my repo.
Hopefully this doesn't affect those using npm either - I understand node-gyp is just bundled in with npm anyways.
This is a bit of an edge case, but we use yarn as our package manager, and it annoyingly has this code in it: https://github.com/yarnpkg/berry/blob/9c3dc22b7e3c2a2c0782ee1222b4cf9ac6a2846f/packages/plugin-npm/sources/NpmSemverResolver.ts#L144-L155
Basically it will always add
node-gyp
as a production dependency in the lock file:This causes our production build, (with
yarn workspaces focus --production
ornpm prune --production
) which needs to be as small as possible, to also include the entirenode-gyp
package and all it's dependencies.If you read the yarn code, as long as
node-gyp
gets listed as a peer dependency, it's good. I can add it as a dev dependency to my repo.Hopefully this doesn't affect those using
npm
either - I understandnode-gyp
is just bundled in with npm anyways.