Я работал над архитектурой LibreDB Studio — IDE для баз данных на TypeScript, которая поддерживает несколько SQL/NoSQL баз данных.Работая над слоем провайдеров, я пришёл к довольно строгой архитектуре провайдеров, чтобы сделать добавление новых баз данных безопаснее и сократить объём основного кода, который нужно менять.Я написал об этой архитектуре здесь:https://libredb.org/blog/building-universal-database-provider-typescript/Текущий процесс добавления провайдера задокументирован здесь:https://github.com/libredb/libredb-studio/blob/main/docs/ADDING_A_PROVIDER.mdАрхитектура работает достаточно хорошо, но у меня возник более широкий вопрос.Сейчас добавление нового провайдера по-прежнему означает добавление его в основную кодовую базу Libredb-Studio. В конечном итоге я хотел бы перейти к чему-то более похожему на экосистему плагинов: Читать далее