хочу разглашать) допустим сделал какую то либу, которая тянет за собой ещё одну либу, чтобы пользователи могли ей пользоваться из коробки, но я понимаю что далеко не всем она будет полезна при использовании моей. Сам я её использую но не везде и не на 100%. Это нарушает Single responsibility principle / CCP / CRP?
эти принципы про твой модуль, нельзя сказать что эти принципы нарушаются без анализа причин изменений модуля. Скорее всего у тебя не корректный пример (там явно не совсем зависимость или есть нюансы платформы с которой ты работаешь) и сложно ответить на вопрос
Окей, а если рассмотреть на примере такой платформы как Deno (аналог node.js), они поставляют вместе с пакетом сразу поддержку Typescript, плюс дополнительные фичи для удобства (тайп чекинг для рантайма вроде есть, при разработке). Скорее всего их и юзают из за этого, но правильно ли делать так?
в этом разница между "компонентами" и "платформой".
можно отделить вообще. Одно дело внутренняя зависимость либы, а другое - то что поставляешь. Ну то есть зачем конечному пользователю понимать как оно там внутри работает? Если это так сильно надо - может стоит сделать всё таки это отдельно мол ставьте вот этот пакет, такие-то версии этого пакета поддерживаются такой-то версией моего
Обсуждают сегодня