Проверяет понимание типов зависимостей в package.json и их назначения в экосистеме Node.js.
В package.json зависимости делятся на несколько категорий, каждая из которых решает свою задачу. Понимание различий помогает правильно структурировать проект и избежать ошибок при установке и публикации.
Это пакеты, необходимые только на этапе разработки: сборщики, тестовые фреймворки, линтеры. Они не нужны в продакшене, поэтому npm не устанавливает их при установке с флагом --production.
{
"devDependencies": {
"jest": "^29.0.0",
"webpack": "^5.0.0"
}
}Указывают, что пакет ожидает от потребителя определённую версию другого пакета. Это важно для плагинов и библиотек, которые работают вместе с основным пакетом. Например, плагин для React требует, чтобы React был установлен в проекте.
{
"peerDependencies": {
"react": "^18.0.0"
}
}Пакеты, которые не обязательны для работы. Если их установка не удалась, npm продолжит работу без ошибок. Это полезно для платформозависимых пакетов, например, для работы с определёнными ОС.
{
"optionalDependencies": {
"fsevents": "^2.3.2"
}
}Позволяют включить определённые пакеты в архив при публикации. Это удобно, когда нужно гарантировать наличие зависимостей без обращения к реестру npm.
{
"bundledDependencies": [
"my-local-package"
]
}Правильное использование типов зависимостей делает проект чище и предсказуемее. devDependencies отделяют инструменты разработки, peerDependencies обеспечивают совместимость, optionalDependencies добавляют гибкость, а bundledDependencies упрощают распространение. Выбирайте тип в зависимости от роли пакета в проекте.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию