Chrome Extension
May. 14th, 2022 03:05 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
За прошедшие пару недель моя фулстэковость расширилась. Например, я научился делать Docker-образы и загружать их в Спейс для запуска тестов. Но это мелочи. Интереснее оказалась работа над нашим расширением к браузеру Chrome. Там некоторое время назад сменились форматы, с manifest v2 на manifest v3. Причём Хром уже запретил публиковать расширения для v2, а поддержка v3 ещё оставляет желать много лучшего. На его ограничения жалуются кучи разработчиков разных расширений, начиная с Grammarly и заканчивая мной. Но перевести плагин в новый формат всё равно было надо, чтобы смочь опубликовать обновления.
Оказалось, что такой перевод v2->v3 — неплохая задача для вхождения в контекст для меня. Сразу знакомишься с разными частями кода, понимаешь их устройство и способы взаимодействия. И заодно проникаешься восхищением коллегами, написавшими весь этот немалый код, несмотря на немалую боль от разработки. И там даже тесты есть! В том числе юайные, открывающие браузер и что-то там печатающие! Я с таким в вебе вживую ещё не сталкивался, только в Идее немного.
Разработчиков браузерных расширений вроде и куча, но лишь малая толика среди разработчиков вообще. Поэтому, если случаются проблемы, то обычный метод "загуглить и наверняка ответ найдётся" далеко не всегда спасает. Мне даже впервые в жизни пришлось написать вопрос на StackOverflow! И это даже помогло.
На v3 я в итоге вроде примерно как-то перевёл, не без страшных костылей. Потом перешёл к изучению другой своей мечты: быстро сделать плагины ещё и для других браузеров. Многие из них умеют хромовские расширения запускать, иногда даже никаких изменений не нужно. И тут выяснилось, что, например, Firefox это самое v3 пока совсем не поддерживает. А жаль: хоть доля его среди всех браузеров ничтожна, но в JB, кажется, как раз немало его любителей, которые могли бы потестировать нашу поддержку естественных языков. Но, видимо, не совсем скоро.
Оказалось, что такой перевод v2->v3 — неплохая задача для вхождения в контекст для меня. Сразу знакомишься с разными частями кода, понимаешь их устройство и способы взаимодействия. И заодно проникаешься восхищением коллегами, написавшими весь этот немалый код, несмотря на немалую боль от разработки. И там даже тесты есть! В том числе юайные, открывающие браузер и что-то там печатающие! Я с таким в вебе вживую ещё не сталкивался, только в Идее немного.
Разработчиков браузерных расширений вроде и куча, но лишь малая толика среди разработчиков вообще. Поэтому, если случаются проблемы, то обычный метод "загуглить и наверняка ответ найдётся" далеко не всегда спасает. Мне даже впервые в жизни пришлось написать вопрос на StackOverflow! И это даже помогло.
На v3 я в итоге вроде примерно как-то перевёл, не без страшных костылей. Потом перешёл к изучению другой своей мечты: быстро сделать плагины ещё и для других браузеров. Многие из них умеют хромовские расширения запускать, иногда даже никаких изменений не нужно. И тут выяснилось, что, например, Firefox это самое v3 пока совсем не поддерживает. А жаль: хоть доля его среди всех браузеров ничтожна, но в JB, кажется, как раз немало его любителей, которые могли бы потестировать нашу поддержку естественных языков. Но, видимо, не совсем скоро.