Какая зависимость правильная для установки typesript и других модулей?
Подскажите пожалуйста правильно ли я определил, что эти пакеты должны быть в Dependencies? как научиться понимать куда устанавливать пакет в Dependencies или devDependencies. Если я случайно включу все пакеты в Dependencies по ошибке, увеличится ли размер моей сборки? Может ли компилятор удалить ненужные пакеты?
"dependencies": {
"@types/jest": "^29.4.0",
"@types/node": "^18.11.18",
"@types/react": "^18.0.27",
"@types/react-dom": "^18.0.10",
"babel-preset-es2015": "^6.24.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^4.9.5"
},
Ответы (1 шт):
Понять куда какие зависимости ставить не сложно. Достаточно взглянуть на название. Например:
devDependencies - говорит о том, что сюда устанавливаются те зависимости, которые нужны при разработке, то есть, запуска сборки в режиме dev.
dependencies - говорит о том, что сюда попадут те зависимости, которые будут в окончательной сборке, в режиме production
Если рассматривать ваш случай, то jest вам нужен только на этапе разработки, поскольку используется для тестирования приложения.
Такая же ситуация и с typescript, при сборке приложения, файлы ts конвертируются в файлы js. Таким образом, можно понять, что он тоже относится к dev зависимостям.
Babel точно также должен отправится в dev зависимости.
Компилятор не сможет удалить ненужные. Чтобы так было нужно поставить Tree Shaking. Он поможет избавиться от ненужных файлов.
