Created by: perrin4869
Reading through issues, https://github.com/twbs/bootstrap/issues/23204 where it was decided to make jQuery
and popper.js
peer dependencies, I think that the main reason for the decision was to minimize the number of packages installed by npm
. However, peerDependencies
are required too, and emit a warning if they are not found... they are not really optional, so it does not solve the problem.
Also, peer dependencies are mostly designed for cases like when using react-router
, you will inevitably be using react
too... but in this case, chances are that even if you use bootstrap
, you will not be using those other 2 dependencies on their own.
Moreover, both jQuery
and popper.js
are marked as external
in https://github.com/twbs/bootstrap/blob/v4-dev/build/rollup.config.js, so they are not really bundled in. In a way they could even be considered devDependencies
, because neither package is used in practice... but in principle they are imported in the source files, so they are technically normal deps.
This is not a breaking change, since it does not change the usage of the package in any way.