П'ятий тип залежності в цілому схожий на Normal dependencies, але з однією істотною відмінністю — менеджер пакетів не видає помилку, якщо не може їх завантажити.
Насправді це виглядає так: якщо після запуску команди npm install процес з якоїсь причини не може встановити залежності — немає інтернет-з'єднання, не виявлено файл та інше, optional dependencies не заважають менеджеру продовжити роботу. У тій же ситуації, при використанні нормальних залежностей ми отримали б помилку, і установка була б скасована.
Однак, у такому випадку розробнику важливо налагодити процес і переконатися, що код коректно працюватиме у разі відсутності залежностей.
Цей тип має ще один цікавий варіант застосування — інсталяція необов'язкових залежностей. Річ у тім, що з розробці проектів деякі системні залежності може бути опциональными.
Як приклад наведемо сумісність із платформою CI, яку можна встановлювати лише у разі використання цієї платформи, а в інших випадках – ігнорувати.
У подібних ситуаціях, при використанні повного переліку залежностей, ви можете виконувати звичайну установку NPM, а потім за допомогою команди npm install --no-optional пропускати опціональні, що позитивно позначиться на швидкодії коду.