Расширения можно писать на JavaScript (TypeSctipt) и использовать привычные нам фреймворки (Vue, Angular, React, etc). Причем, весь исходный код любого расширения можно увидеть самостоятельно. Да, он чаще всего минифицирован, но открыт. Обфускация запрещена правилами магазина Google Chrome. Для любого расширения должен быть сформирован файл манифеста (текущая версия 3), в котором мы указываем массу параметров нашего приложения и все разрешения, которые пользователь увидит при установке и должен подтвердить, если хочет использовать расширение.