#webdev #js #tworczoscwlasna

Jestem dużym fanem userscriptów w js do #tampermonkey i zdecydowanie wolę je niż roszerzenia w przeglądarkach. To co lubię w userskryptach to że, z założenia użytkownik ma wiedzieć jaki kod się u niego odpala i na jakich domenach, roszerzenia oferują więcej ale trzeba się nagrzebać żeby czytać ich kod. Też jak padnie roszerzenie trzeba liczyć, że twórca urzymuje i naprawi, a skrypt można sobie samemu na kolanie naprawić jak trzeba.


Przez lata napisałem tych skryptów setki od kilku linijkowych do jakiś mini appek na stronach dodające funkcjonalności. I sobie wypracowałem jakiś flow na live rebuild, testowanie wydawanie etc. ale zawsze jak coś parsowałem to kopiowałem ostatni i czyściłem i stawiałem coś nowego.


I ostatnio się wziąłem za templatkę i wyszedł manager do developmentu wielu skryptów z jednego miejsca, i obecnie szlifuje i testuje ale jest fajnie bardzo. Mam full support dla TypeScripta, lokalnie mi przebudowywuje skrypt i jak klikam F5 to na stronie do której developuje skrypt i odrazu mogę testować update.


Teraz przenoszę parser do wpisów na hejto z 2024 żeby zliczyć roczne wyniki w #diffle i żeby przetestować flow, ale wszystko wskazuje na to, że mam fajną czystą baze pod pisanie skryptów i jak będzie gotowe to zrobe publiczną jako templatka dla innych i niech sobie siedzi na githubie. Github jest też o tyle supper, że jak jest url do repozytorium to linkując do skryptu z paramem do "raw" żeby dostać kod będziemy mieć działający URL do aktualizacji jak ktoś korzysta z naszych skryptów może je aktualizować prosto z repo.

Komentarze (6)

Felonious_Gru

@Deykun to mi napisz, że które dni brakuje mi wpisów xD

Deykun

@Felonious_Gru kolego ja myślę, że będzie większy problem bo chyba jak się wchodzi na strone tagu to powyżej którejś strony pokazuje w kółko 20 strone a nie 21 czy 22. xD

Felonious_Gru

@Deykun znowu @kris popsuł


Już tak sledzenie wyzwań działa, że zawsze pierwszą stronę czytasz

Catharsis

@Deykun O, potrzebowałem coś takiego xD. Też jestem fanem userscriptów do Tampermonkey.
Ja żeby mieć live rebuild zrobiłem tak, że sam skrypt w przeglądarce jest pusty i ma po prostu @require ze ścieżką do lokalnego pliku na dysku (trzeba w ustawieniach włączyć dostęp do plików z dysku). I zwyczajnie podaje ścieżkę do pliku który jest bundlem z Vite.js. W jego configu ustawiłem sobie aby budowało mi ten plik za każdym razem jak edytuje pliki z JS i to działa. Chętnie przetestuje twoje rozwiązanie jak już to upublicznisz. Bo znalazłem kiedyś coś podobnego na GH ale nie chciało mi działać.

Greyman

@Deykun chciałbym umić w programowanie na tyle, żeby zrozumieć. Znaczy się wiem co to userscript, chociaż sam żadnego nie napisałem, to korzystałem kiedyś z Greasemonkey. Jak rozumiem Tampermonkey jest odpowiednikiem w Chromie. Ale clou Twojego dzieła mi umyka. Manager tworzenia usersciptów z szablonów? W sensie że nie musisz zaczynać od zera m tylko korzystasz z wcześniej napisanych skryptów? Dobrze kombinuję?

Deykun

@Greyman

Jak rozumiem Tampermonkey jest odpowiednikiem w Chromie.

Jest na oba, GM też używałem w przeszłości ale ludzie rekomendowali zmianę i Tampermonkey jest popularniejszy wszędzie, tez na FF.

W sensie że nie musisz zaczynać od zera m tylko korzystasz z wcześniej napisanych skryptów?

Obecnie jak się ma TM to się klika dodaj skrypt i droga wolna pisze się czysty "js" i nawet jest jakieś podkreślanie składni, ale jak masz większy skrypt to masz 600 linii ciągiem bez typów czyli z linii 600 wywołujesz funkcję zdefiniowaną w linii 100 i musisz pamiętać jakie parametry przekazać i wszystko. Tak się nie piszę solidnego JS w 2025. Ja mam u siebie jeden index z wywołaniem tej funkcji jak w linii 600, ale u mnie w kodzie to jest importowane z innego pliku i ma informacje co dostaje i co zwraca.


A mówię manager, bo w repo mogę mieć 5 skryptów i wszystkie je mogę z tego 1 repozytorium budować, bo są w swoich folderach, ale mam też funkcję którą chcę użyć kilku to mogę ją dać do folderu nad nimi i wszystkie mogą ją importować.

Zaloguj się aby komentować