Automatisierte Sicherheitsüberwachung und Aktualisierung von npm-Abhängigkeiten
GitHub bietet mit Dependabot ein Werkzeug, das deine JavaScript-/TypeScript-Projekte mit npm kontinuierlich auf veraltete Pakete oder Sicherheitslücken überwacht. Die Kombination aus regelmäßigen Updates und transparenter Kontrolle sorgt dafür, dass deine Anwendungen stabil und sicher bleiben.
a) Dependabot aktivieren
Um Dependabot für dein Repository zu aktivieren:
- Navigiere auf GitHub zu deinem Repository.
- Gehe zu Einstellungen > Sicherheit > Erweiterte Sicherheit.
- Aktiviere die Optionen:
- ✅ Dependabot alerts
- ✅ Dependabot security updates
- ✅ Dependabot version updates
Weitere Informationen findest du in der offiziellen Schnellstartanleitung für Dependabot.
b) Dependabot konfigurieren
Lege eine Datei .github/dependabot.yml im Root deines Repositories an, um das Verhalten von Dependabot zu steuern.
🔒 Minimal sichere Konfiguration für npm, ohne Auto-Merge oder doppelte Trigger
version: 2
updates:
- package-ecosystem: "npm"
directory: "/" # root-Verzeichnis mit package.json
schedule:
interval: "weekly" # oder "daily", "monthly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps"
c) Pull Requests prüfen und Updates lokal übernehmen
Dependabot erstellt bei verfügbaren Updates jeweils einen eigenen Branch mit Pull Request, z. B. dependabot/npm_and_yarn/vuetify-3.8.2.
Wenn du die Änderungen zuerst lokal testen willst:
git fetch origin
git checkout -b test-vuetify origin/dependabot/npm_and_yarn/vuetify-3.8.2
npm install
npm run dev
Danach kannst du entscheiden:
- Merge auf GitHub
- oder manuelles Update direkt in deinem
main
d) Manuelles, selektives Update via npm
Wenn du Pull Requests vermeiden willst, kannst du auch gezielt Pakete selbst aktualisieren:
npm outdated
npm install <paket>@<version> # für ein bestimmtes Paket
npm update # für alle Pakete
Beispiel:
npm install vuetify@3.8.2
Danach ggf. Lockfile prüfen und Versionsstand mit Git committen.
Ob du Dependabot automatisch oder nur zur Information nutzt – durch klare Konfiguration und gezielte Kontrolle bleibt dein Projekt sicher, sauber und aktuell.
0 Kommentare