разница не в проде/деве
ну как же так?
К примеру, у меня в проекте react, express, eslint.
Eslint в проде не нужен, пихаю его в devDependencies.
Express нужен в проде, пихаю его в dependencies.
React уже был ранее собран в бандл и более не нужен в проде, оставляю его в devDependencies.
Если мне нужно поднять прод, то запускаю build, получаю бандл (с реактом внутри), загружаю его на сервак вместе с остальными скриптами для экспресса, запускаю на серваке установку только dependencies пакетов, в итоге получаю установленным только express. А если реакт тоже будет в dependencies, то он просто будет болтаться в проде без дела, на него даже никто ссылаться не будет.