Кстати про юзерскрипт [1], который (оказывается) я уже год пишу.
Для осмеров это скрипт, который скрашивает застой в развитии сайта #OpenStreetMap Но для меня это челлендж:
- юзерскрипт это всегда один JavaScript-файл. Мой занимает 7000+ строк кода.
- Без тяжёлых библиотек и фреймворков. Использую только две обёртки для авторизации в OSM и меню настроек скрипта
Итоги:
- Без JSX тяжело. Не понимаю почему в браузерах до сих пор нет нормального декларативного способа описывать элементы. Да, навелосипедить мини-DSL для этого несложно, но блин, 2024 год.
- Webstorm некайф (про vscode вообще молчу). Да, у меня не TypeScript, но почему всё так плохо с выводом типов в очевидных ситуациях?
- 7000к строк, а уже начинает лагать подсветка синтаксиса и проверки кода.
- Все IDE свернули не туда. Невозможно написать несколько строчек, чтобы всё не загорелись красным. Полезные проверки работают с задержкой, но вот если ты написал пустой цикл мы ругнёмся сразу. Смотришь как люди пишут код [2] и понимаешь людей пишущих в виме.
- Full Line code completion — в помойку. Сначала возлагал надежды, что он улучшится, но прогресс очень медленный. Пока сойдёт только Json'ы однотипные заполнять.
- Хоткеи для навигации по коду — наше всё.
- В вебе нельзя управлять prefers-color-scheme для сайта. Даже расширения не могут. И это при том, что в DevTools можно
Вывод:
Надо следующий проектик написать в другой крайности: на каком-то модном фреймворке с блэкджеком.
[1] https://github.com/deevroman/better-osm-org
[2] https://github.com/sizzlemctwizzle/GM_config/blob/master/README.md