Utilitar nativ macOS
Vezi ce server a rămas pornit din greșeală și ce port ocupă — apoi cât spațiu îți mănâncă node_modules.
Găsește procesele Node rămase în fundal și porturile pe care le țin ocupate, cu un buton ca să le eliberezi. În plus, scanează un folder, îți arată fiecare node_modules cu dimensiunea și data ultimei folosiri, și le șterge pe cele de care nu mai ai nevoie.
Portul 3000 e ocupat și nu știi de la ce proces. Alternativa e lsof -i :3000 urmat de kill, de fiecare dată.
node_modules nu se curăță singur. Se adună în fiecare proiect la care ai lucrat vreodată, iar Finder-ul nu-ți spune care e vechi și care e în uz.
De la deschidere până la portul eliberat — fiecare pas rulează local, pe Mac-ul tău.
Ai primit Error: listen EADDRINUSE: address already in use :::3000 și nu știi ce proces ține portul ocupat. PortClear rezolvă asta dintr-o privire — și, în plus, curăță și zecile de foldere node_modules uitate prin proiecte vechi.
PortClear găsește procesele Node de pe Mac — Next.js, Vite, NestJS, nodemon, npm — cu PID-ul, porturile ascultate, de cât timp rulează și cât consumă. Le poți opri de acolo, fără să cauți în terminal ce ține ocupat portul 3000.
Al doilea modul rezolvă o problemă înrudită: zecile de foldere node_modules uitate prin directoare la care nu te-ai mai întors de luni de zile, fiecare cu sute de megabytes. PortClear scanează un folder ales și îți arată fiecare node_modules găsit: cât ocupă, când a fost accesat ultima dată, și în ce proiect stă. Le poți sorta, grupa pe proiect, deschide în Finder, și șterge — individual sau în masă, cu confirmarea spațiului recuperat.
Al treilea îți arată un grafic cu distribuția spațiului pe proiecte, ca să vezi dintr-o privire unde s-a adunat.
Găsește procesele Node rămase pornite: PID, porturi, uptime, memorie
Oprește procesele direct din aplicație, fără terminal
Scanare recursivă cu dimensiune și dată de ultim acces per folder
Grupare pe proiect, cu subtotaluri și sortare pe coloane
Ștergere individuală sau în masă, cu spațiul recuperat confirmat înainte
Grafic cu distribuția spațiului pe proiecte
Sare peste directoare ascunse și legături simbolice, ca să nu intre în bucle
Rulează local, fără cont, fără telemetrie, fără dependențe externe
Cinci lucruri care se pot verifica direct în sursa aplicației.
Fiecare confirmare de oprire listează procesele vizate — tip, PID, uptime, port, folder de lucru — și motivul exact pentru care fiecare a fost semnalat, înainte să apeși pe oprește.
Sources/PortClear/UI/PortsView.swift — commit 404791b
Scanarea, ștergerea și verificarea licenței rulează în întregime pe Mac-ul tău: nu există niciun apel de rețea în codul aplicației, deci nici telemetrie, nici cont. Singura conexiune pe care o poate face e căutarea de actualizări, pornită de tine din meniu — verificarea automată e oprită implicit.
Sources/ — zero URLSession, NWConnection sau socket; Sparkle în App/Updater.swift, SUEnableAutomaticChecks = false
Un `node_modules` găsit nu mai e parcurs pe dinăuntru, iar o scanare oprită se oprește chiar acolo — amândouă sunt fixate de teste care lucrează pe foldere reale, create și șterse în test, nu pe obiecte simulate.
Tests/PortClearTests/ScannerTests.swift — neverDescendsIntoAFoundNodeModules, aCancelledScanStopsEarly
Ștergerea unui node_modules care e o legătură simbolică elimină doar legătura; folderul țintă rămâne intact — verificat, în ambele moduri de ștergere.
Tests/PortClearTests/DeletionTests.swift
Build-ul livrat rulează nativ pe Intel și pe Apple Silicon, fără emulare Rosetta.
`lipo -archs` pe PortClear.app din DMG-ul servit — x86_64 și arm64; Package.swift:10
Build-ul pe care îl descarci de aici e semnat cu Developer ID și notarizat de Apple — se deschide cu un dublu-clic obișnuit la prima rulare, fără clic-dreapta și fără avertisment de la macOS.
`spctl -a -t exec` pe PortClear.app din DMG-ul servit → accepted, Notarized Developer ID (83S677R8NP)
Un instrument care spune ce nu poate face e mai ușor de crezut pe ce poate.
Verificat în build-ul servit — aplicația și Info.plist din PortClear 0.3.2, 11 septembrie 2026 — nu e o promisiune pentru o versiune viitoare.
Detectorul e o euristică și poate greși — de-asta fiecare confirmare de oprire arată procesul (tip, PID, uptime, folder) și motivul exact al semnalării, nu doar un buton „oprește tot”.
Nu. Nu există niciun apel de rețea în cod, la nicio etapă. Tot ce vezi vine din `ps` și `lsof`, rulate local, pe Mac-ul tău.
Se șterge doar legătura; folderul țintă rămâne intact. E marcat separat în listă și numără 0 B recuperabil, ca să nu te înșele cifra.
Le poate raporta dacă țin un port cunoscut, dar nu le poate opri — aplicația oprește doar procese din ecosistemul Node. Pentru restul, `lsof -i :PORT` rămâne calea.
Nu. Aplicația e semnată cu Developer ID și notarizată de Apple, deci un dublu-clic obișnuit o deschide de prima dată — fără clic-dreapta și fără avertisment de la macOS.
Aplicație nativă de macOS — niciun browser, niciun server intermediar.
+ TVA, calculat la finalizare după țara ta
Deschide aplicația, mergi la Preferințe → Licență și lipește cheia primită pe email.