Здравствуйте, Qbit86, Вы писали:
F>>Да никак.
Q>Тогда я бы не называл это «удачный пример такой разбивки». Это огромная дыра.
F>>JS же весь динамический, потому и спокойно будут передаваться работать оба типа.
Q>Только если автор Qux в своём классе переименует поля/свойства и изменит сигнатуры методов, то получим ошибку в рантайме, правильно?
Ну да, я же дальше написал, что в этом случае — ошибка возможна.
Огромность дыры вещь относительная.
По крайней мере дыра проявляется только если библиотеки явно взаимодействуют друг с другом через наше приложение. Если же библиотека использует какую-то зависимость для своих внутренних дел — ни малейшей проблемы нет.
Текущий вариант nuget, как я вижу, может привести к ошибке именно в этом случае, если использование зависимости инкапсулировано в библиотеке и не покидает ее пределов. Потому что ее вдруг заставляют работаь с более новой версией зависимой сборки
Такая дыра мне кажется куда как более возможна, а главное, менее очевидна, чем описанный тобой случай.
С другой стороны, это в ноде случай передачи между библиотеками объекта, структура которого сильно важна — редкость. В .net, пожалуй, такая проблема действительно будет гораздо серьезнее.