В любом случае, другие разработчики должны будут предоставить самодостаточный компонент. Пусть это будет веб-компонент или угловой модуль, они должны создать его, чтобы он мог работать сам по себе.
Так что оба решения приемлемы.
Чтобы избежать максимального риска, вы действительно должны предоставить общедоступный API, который они могут использовать, и защитить ваш код, не объясняя часть «под капотом».
Вы не можете использовать другой способ, так как Angular - это скомпилированный язык. Это означает, что код должен присутствовать перед сборкой приложения (за исключением веб-компонентов, но, поскольку вы находитесь в Angular, с тем же успехом можно использовать модули Angular).
Наконец, это веб-приложение, и в любом случае, если они захотят, они могут получить доступ ко всему вашему приложению, просто перейдя по его URL. Я бы не стал слишком долго ломать голову над этим: просто попросите самостоятельные модули и интегрируйте их в свое приложение как угловые модули.