mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-19 22:31:16 -04:00
@@ -24,7 +24,7 @@
|
||||
esbuild
|
||||
```
|
||||
|
||||
This makes sense because `webpack` is used in two projects, and one of the projects doesn't have `esbuild`, so the two projects cannot share the same instance of `webpack`. However, this is not what most developers expect, especially since in a hoisted `node_modules`, there would only be one instance of `webpack`. Therefore, you may now use the `dedupe-peer-dependents` setting to deduplicate `webpack` when it has no conflicting peer dependencies. In this case, if we set `dedupe-peer-dependents` to `true`, both projects will use the same `webpack` instance, which is the one that has `esbuild` resolved:
|
||||
This makes sense because `webpack` is used in two projects, and one of the projects doesn't have `esbuild`, so the two projects cannot share the same instance of `webpack`. However, this is not what most developers expect, especially since in a hoisted `node_modules`, there would only be one instance of `webpack`. Therefore, you may now use the `dedupe-peer-dependents` setting to deduplicate `webpack` when it has no conflicting peer dependencies (explanation at the end). In this case, if we set `dedupe-peer-dependents` to `true`, both projects will use the same `webpack` instance, which is the one that has `esbuild` resolved:
|
||||
|
||||
```
|
||||
node_modules
|
||||
@@ -39,6 +39,26 @@
|
||||
esbuild
|
||||
```
|
||||
|
||||
**What are conflicting peer dependencies?** By conflicting peer dependencies we mean a scenario like the following one:
|
||||
|
||||
```
|
||||
node_modules
|
||||
.pnpm
|
||||
webpack@1.0.0_react@16.0.0_esbuild@1.0.0
|
||||
webpack@1.0.0_react@17.0.0
|
||||
project1
|
||||
node_modules
|
||||
webpack -> ../../node_modules/.pnpm/webpack@1.0.0/node_modules/webpack
|
||||
react (v17)
|
||||
project2
|
||||
node_modules
|
||||
webpack -> ../../node_modules/.pnpm/webpack@1.0.0_esbuild@1.0.0/node_modules/webpack
|
||||
esbuild
|
||||
react (v16)
|
||||
```
|
||||
|
||||
In this case, we cannot dedupe `webpack` as `webpack` has `react` in its peer dependencies and `react` is resolved from two different versions in the context of the two projects.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- The configuration added by `pnpm setup` should check if the pnpm home directory is already in the PATH before adding to the PATH.
|
||||
|
||||
Reference in New Issue
Block a user