
rev-dep v3.0.0
Toolkit di analisi e ottimizzazione delle dipendenze per codebase JavaScript e TypeScript moderne. Applica l'igiene del grafo delle dipendenze e rimuove il codice inutilizzato con una CLI molto veloce.
Rev-dep
Funzionalità • Installazione • Documentazione • Toolkit Esplorativo • Riferimento CLI
Toolkit di analisi e ottimizzazione delle dipendenze per codebase JavaScript e TypeScript moderne.
Applica l'igiene del grafo delle dipendenze e rimuovi il codice inutilizzato con una CLI molto veloce.
Informazioni 📣
Man mano che le codebase crescono, mantenere una mappa mentale delle dipendenze diventa impossibile. Rev-dep è uno strumento di analisi statica ad alta velocità progettato per applicare l'integrità architetturale e l'igiene delle dipendenze in progetti JS/TS su larga scala.
Pensa a Rev-dep come a un linter ad alta velocità per il tuo grafo delle dipendenze.
Consolida controlli frammentati e sequenziali provenienti da più strumenti lenti in un unico motore ad alte prestazioni. Rev-dep esegue una suite completa di controlli di governance - inclusi circolarità, orfani, confini tra moduli e altro, in un'unica passata parallelizzata. Implementato in Go per aggirare i colli di bottiglia prestazionali dell'analisi basata su Node, può analizzare un progetto da oltre 500k LoC in circa 150ms. Vedi il confronto delle prestazioni
Governance automatizzata della codebase
Rev-dep va oltre la scansione passiva per arrivare all'applicazione attiva, rispondendo (e facendo fallire la CI) alle domande difficili:
- Integrità architetturale: "Il mio 'Dominio A' sta importando illegalmente da 'Dominio B'?".
- Codice morto e gonfiore: "Questi file sono irraggiungibili, o questi
node_modulessono inutilizzati?". - Sicurezza del refactoring: "Quali entry point usano effettivamente questa utility, e ci sono catene circolari?".
- Igiene del workspace: "Le mie importazioni sono coerenti e tutte le dipendenze sono dichiarate?".
Rev-dep funge da guardiano ad alta velocità per la tua CI, garantendo che il tuo grafo delle dipendenze rimanga snello e la tua architettura rimanga intatta mentre iteri.
Perché Rev-dep? 🤔
🏗️ Supporto monorepo di prima classe
Progettato per workspace moderni (pnpm, yarn, npm). Rev-dep risolve nativamente le mappe exports/imports di package.json, gli alias TypeScript e traccia le dipendenze attraverso i confini dei pacchetti.
🛡️ Governance della codebase basata su configurazione
Vai oltre la scansione passiva. Usa il motore di configurazione per applicare Confini tra Moduli e Convenzioni di Importazione. Esegui una suite completa di controlli di igiene (circolarità, orfani, moduli inutilizzati e altro) in un'unica passata parallelizzata che funge da guardiano ad alta velocità per la tua CI.
🔍 Toolkit Esplorativo
Toolkit CLI che aiuta a fare debug di problemi con le dipendenze tra file. Comprendi le relazioni transitive tra i file e risolvi i problemi.
⚡ Progettato per la velocità e l'efficienza della CI
Implementato in Go per eliminare il costo prestazionale dell'analisi basata su Node. Elaborando i file in parallelo, Rev-dep offre un'esecuzione da 17x a 90x più veloce rispetto alle alternative, riducendo significativamente i costi della CI e i tempi di attesa degli sviluppatori.
Rev-dep può analizzare un progetto da oltre 500k LoC in circa 150ms. Vedi il confronto delle prestazioni
Funzionalità 🚀
Governance e manutenzione (basate su configurazione) 🛡️
Usa rev-dep config run per eseguire più controlli in un'unica passata per tutti i pacchetti.
Controlli disponibili:
moduleBoundaries- applica i confini architetturali tra i moduli.importConventions- applica le convenzioni di stile delle importazioni (offre autofix).unusedExportsDetection- rileva le esportazioni che non vengono mai usate (offre autofix).orphanFilesDetection- rileva file morti/orfani (offre autofix).unusedNodeModulesDetection- rileva dipendenze dichiarate ma non utilizzate.missingNodeModulesDetection- rileva importazioni mancanti dal package json.unresolvedImportsDetection- rileva richieste di importazione non risolte.circularImportsDetection- rileva importazioni circolari.duplicatedCodeDetection- rileva codice copiato e incollato (blocchi ripetuti ed elementi JSX).devDepsUsageOnProdDetection- rileva dipendenze di sviluppo usate nel codice di produzione.restrictedImportsDetection- blocca l'importazione di file/moduli vietati da entry point selezionati.restrictedImportersDetection- whitelist di quali entry point possono raggiungere transitivamente un insieme di file/moduli.restrictedDirectImportersDetection- vincola quali file possono importare direttamente un insieme di file/moduli (non transitivo).
Analisi esplorativa (basata su CLI) 🔍
Usa i comandi CLI per l'esplorazione ad-hoc delle dipendenze:
entry-points- scopri gli entry point del progetto.files- elenca i file dell'albero delle dipendenze per un dato entry point.resolve- traccia i percorsi delle dipendenze tra i file (chi importa questo file).imported-by- elenca gli importatori diretti di un file.circular- elenca le catene di dipendenze circolari.duplicated-code- trova blocchi di codice copiati e incollati ed elementi JSX.node-modules- ispeziona i moduli nodeused,unused,missingeinstalled.lines-of-code- conta le LOC effettive.unresolved- elenca le importazioni che non è stato possibile risolvere, raggruppate per file.list-cwd-files- elenca tutti i file di codice sorgente nella CWDdebug- ispeziona cosa rev-dep analizza, risolve e scopre internamente.
Installazione 📦
Documentazione completa: rev-dep.com/docs/intro
Installa localmente per configurare gli script di controllo del progetto``` yarn add -D rev-dep
## Funzionalità
- **Scansione di rete**: Scopri host attivi e porte aperte su reti locali o remote.
- **Rilevamento del sistema operativo**: Identifica il sistema operativo di destinazione tramite fingerprinting TCP/IP.
- **Rilevamento del servizio**: Determina il servizio e la versione in esecuzione sulle porte aperte.
- **Scansione SYN stealth**: Esegui scansioni half-open per evitare il rilevamento.
- **Scansione UDP**: Scopri i servizi UDP in esecuzione sulle porte di destinazione.
- **Supporto IPv6**: Scansiona host e reti IPv6.
- **Output flessibile**: Esporta i risultati in formati normali, XML o JSON.
- **Scripting**: Utilizza NSE (Nmap Scripting Engine) per rilevare vulnerabilità e automatizzare attività.
## Installazione
### Prerequisiti
- **Linux/macOS**: `nmap` può essere installato tramite il gestore di pacchetti.
- **Windows**: Scarica il programma di installazione dal sito ufficiale di Nmap.
### Linux (Debian/Ubuntu)
```bash
sudo apt update
sudo apt install nmap
macOS (Homebrew)
brew install nmap
Windows