Какая зависимость правильная для установки typesript и других модулей?

Рейтинг: 0Ответов: 1Опубликовано: 01.02.2023

Подскажите пожалуйста правильно ли я определил, что эти пакеты должны быть в 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"
  },

введите сюда описание изображения

Ответы

▲ 2Принят

Понять куда какие зависимости ставить не сложно. Достаточно взглянуть на название. Например:

devDependencies - говорит о том, что сюда устанавливаются те зависимости, которые нужны при разработке, то есть, запуска сборки в режиме dev.

dependencies - говорит о том, что сюда попадут те зависимости, которые будут в окончательной сборке, в режиме production

Если рассматривать ваш случай, то jest вам нужен только на этапе разработки, поскольку используется для тестирования приложения.

Такая же ситуация и с typescript, при сборке приложения, файлы ts конвертируются в файлы js. Таким образом, можно понять, что он тоже относится к dev зависимостям.

Babel точно также должен отправится в dev зависимости.

Компилятор не сможет удалить ненужные. Чтобы так было нужно поставить Tree Shaking. Он поможет избавиться от ненужных файлов.