# Pi: NPM Pakete analysieren und aufräumen

## 1. Installierte Pakete anzeigen

```bash
# Alle installierten Pakete (Top-Level)
npm list --depth=0

# Inklusive Dev-Dependencies
npm list --depth=0 --all

# Global installierte Pakete
npm list -g --depth=0

# Als JSON für weitere Verarbeitung
npm list --json
```

## 2. Ungenutzte Pakete finden

### Mit `depcheck` (empfohlen)
```bash
# Installation
npm install -g depcheck

# Analyse ausführen
depcheck

# Ausgabe zeigt:
# - Unused dependencies
# - Unused devDependencies
# - Missing dependencies
```

### Mit `npm-check`
```bash
npm install -g npm-check

# Interaktiver Modus
npm-check -u

# Nur ungenutzte anzeigen
npm-check --skip-unused
```

## 3. Pakete restlos entfernen

```bash
# Einzelnes Paket entfernen
npm uninstall paketname

# Mehrere auf einmal
npm uninstall paket1 paket2 paket3

# Dev-Dependency entfernen
npm uninstall paketname --save-dev

# Nach dem Entfernen: Cache leeren
npm cache clean --force
```

## 4. Aufräumen

```bash
# Verwaiste Pakete entfernen (nicht in package.json)
npm prune

# node_modules komplett neu aufbauen
rm -rf node_modules package-lock.json
npm install
```

## 5. Praktischer Workflow

```bash
# 1. Überblick verschaffen
npm list --depth=0

# 2. Ungenutzte finden
depcheck

# 3. Entfernen
npm uninstall <ungenutzte-pakete>

# 4. Testen ob alles noch funktioniert
npm run build
npm test
```

## Tipp: Package.json manuell prüfen

Schau in `dependencies` und `devDependencies`:
- Wird das Paket wirklich importiert?
- Ist es vielleicht durch ein anderes ersetzt worden?
- Sind veraltete Polyfills noch nötig?