razzle icon indicating copy to clipboard operation
razzle copied to clipboard

Extraneous Additional Dependencies

Open stevengrimaldo opened this issue 3 years ago • 1 comments

❓Question

Something in all my time of installing packages i've never encountered so far is having to install more packages just to be able to use the 1 package i want. Worst case scenario i've had to install 1 at most but when i upgrade to the latest version of razzle I have to install all of the following packages just to get it to work baseline.

webpack html-webpack-plugin mini-css-extract-plugin razzle-dev-utils (specifically complains about razzle-dev-utils/logger) razzle-dev-utils webpack-dev-server babel-preset-razzle webpack-dev-server

I as a development user (would) expect to just download the package, in this case razzle 4+, and use it without additionally installing more let alone 8 more packages.

Is this by design? i this the new trend for packaging?

stevengrimaldo avatar Jul 30 '21 20:07 stevengrimaldo

razzle-dev-utils is a relic from when it was forked from create-react-app, babel-preset-razzle was neccesary, mini-css-extract had to be a dep because scss and less plugin uses it aswell and it has some global state that gets lost if you get multiple copies, the other differ between webpack 4 and 5 so they must be peer deps. Making all parts of razzle plugins would be a way to make anything that is not a razzle module direct deps of razzle or razzle plugins.

fivethreeo avatar Jul 31 '21 00:07 fivethreeo