Lsyncer: mała poprawka na bardzo irytujący problem z iCloud
iCloud Drive nie radzi sobie z node_modules. Lsyncer zostawia potrzebną synchronizację, pomija śmieci i nie przeszkadza w pracy.

iCloud działa dobrze, dopóki nie spotka node_modules
Jeśli tworzysz projekty Node.js na Macu i trzymasz foldery robocze w iCloud Drive, pewnie znasz ten moment. Zapisujesz plik, otwierasz Finder albo uruchamiasz npm install, a komputer nagle robi się ciężki. Wentylatory ruszają. Finder łapie plażę. iCloud uznaje, że każdy drobny plik w node_modules wymaga jego uwagi.
Taki folder potrafi mieć dziesiątki tysięcy plików. iCloud Drive traktuje je jak zdjęcia albo dokumenty, więc próbuje je obserwować, indeksować i synchronizować. Technicznie da się to zrozumieć. W praktyce jest to męczące.

Typowe obejścia są niewygodne
Wielu programistów kończy z jednym z tych rozwiązań:
Sam korzystałem z takich hacków. Działają, aż nagle przestają. Najbardziej irytujące jest to, że potrzeba jest prosta: synchronizuj kod, ale nie synchronizuj rzeczy, które można wygenerować ponownie.
Lsyncer zostawia potrzebną synchronizację i pomija śmieci
Lsyncer to mała aplikacja na macOS zbudowana właśnie wokół tego pomysłu. Pomaga trzymać projekty tam, gdzie chcesz, a jednocześnie wykluczać foldery takie jak node_modules, .next, dist, build i .cache z bałaganu iCloud.

Nie musisz przenosić projektów ani pamiętać o ręcznym sprzątaniu. Ustawiasz reguły raz, a Lsyncer pilnuje, żeby hałaśliwe pliki generowane nie wchodziły iCloud w drogę.

Co możesz wykluczyć
Lsyncer pozwala wykluczać foldery według nazwy, typu pliku albo rozmiaru. Najbardziej oczywiste są typowe foldery deweloperskie, ale to samo podejście działa dla cache, wyników builda, logów, artefaktów testów i wszystkiego, czego nie chcesz synchronizować między urządzeniami.
Kilka przykładów:
node_modules w swoich projektach.next, dist, build i .cachePlanowana synchronizacja wtedy, kiedy ma sens
Czasem chcesz zsynchronizować folder, tylko nie w trakcie pracy. Lsyncer potrafi zaplanować cięższe synchronizacje na spokojniejsze godziny, żeby Mac nie walczył z iCloud, kiedy piszesz kod.
Jednorazowa aplikacja na Maca, nie kolejna subskrypcja
Lsyncer jest dostępny w Mac App Store jako jednorazowy zakup. Bez abonamentu, bez konta, bez panelu, którego trzeba pilnować.
Dlaczego go zrobiliśmy
Sami trafiliśmy na ten problem, pracując na kilku Macach z projektami Node.js i Python. iCloud był przydatny dla rzeczy, które faktycznie chcieliśmy mieć pod ręką, ale kiepsko radził sobie z ignorowaniem plików generowanych. Chcieliśmy natywnego narzędzia na Maca, które rozwiązuje jeden konkretny problem i potem siedzi cicho.
Tym jest Lsyncer: konkretną poprawką dla programistów, którzy lubią iCloud Drive, ale nie lubią tego, co robi z folderami zależności.
Jeśli Twój Mac kiedykolwiek zamarł, bo iCloud za bardzo zainteresował się node_modules, zobacz stronę Lsyncer albo pobierz aplikację bezpośrednio z App Store.