"dependencies": { "bcrypt": "^6.0.0", "better-sqlite3": "^13.0.3", "body-parser": "^1.20.2", "express": "^4.19.2", "express-session": "^1.17.3", "multer": "^2.4.0", "qs": "^6.15.0", "session-file-store": "^1.5.0", "sharp": "^0.35.4" } "devDependencies": { "@eslint/js": "^10.0.1", "eslint": "^10.11.0", "globals": "^17.12.0" }
Node.js Dependencies – Übersicht
bcrypt (^6.0.0)
Bibliothek zum sicheren Hashen und Verifizieren von Passwörtern mit dem bcrypt-Algorithmus. Erzeugt automatisch einen Salt und erlaubt über einen konfigurierbaren Cost-Faktor eine Anpassung der Rechenintensität, um Brute-Force-Angriffe zu erschweren.
better-sqlite3 (^13.0.3)
Native, synchrone Bindings für SQLite3. Bietet eine einfache, performante API ohne Callbacks oder Promises für Datenbankoperationen – ideal für eingebettete, dateibasierte Datenbanken in Node-Anwendungen.
body-parser (^1.20.2)
Express-Middleware zum Parsen von eingehenden Request-Bodies (z. B. JSON oder URL-encoded Formulardaten), bevor sie an die Route-Handler weitergereicht werden. Seit Express 4.16+ ist ein Teil der Funktionalität auch direkt in Express integriert (express.json(), express.urlencoded()).
express (^4.19.2)
Minimalistisches, weit verbreitetes Web-Framework für Node.js. Stellt Routing, Middleware-Handling und grundlegende HTTP-Server-Funktionalität bereit und bildet die Basis vieler Node-Webanwendungen und -APIs.
express-session (^1.17.3)
Middleware zur Verwaltung von Benutzer-Sessions in Express-Anwendungen. Speichert eine Session-ID im Cookie des Clients und verknüpft sie serverseitig mit den zugehörigen Session-Daten (Speicherort konfigurierbar über einen Store, z. B. session-file-store).
multer (^2.4.0)
Middleware zur Verarbeitung von multipart/form-data-Requests, hauptsächlich verwendet für Datei-Uploads. Ermöglicht das Speichern hochgeladener Dateien auf der Festplatte oder im Arbeitsspeicher.
qs (^6.15.0)
Bibliothek zum Parsen und Erzeugen von Query-Strings. Unterstützt im Gegensatz zum nativen querystring-Modul auch verschachtelte Objekte und Arrays.
session-file-store (^1.5.0)
Dateibasierter Session-Store für express-session. Persistiert Session-Daten auf der Festplatte statt im flüchtigen Arbeitsspeicher, wodurch Sessions z. B. Server-Neustarts überstehen.
sharp (^0.35.4)
Hochperformante Bildverarbeitungsbibliothek auf Basis von libvips. Wird u. a. zum Resizing, Zuschneiden, Konvertieren und Optimieren von Bildern (JPEG, PNG, WebP, AVIF u. a.) direkt in Node.js verwendet.
Node.js DevDependencies – Übersicht
@eslint/js (^10.0.1)
Offizielles Paket von ESLint mit den grundlegenden JavaScript-Regelsets (u. a. recommended). Wird im neuen Flat-Config-Format (eslint.config.js) importiert, um Basis-Linting-Regeln für JavaScript bereitzustellen, ohne diese manuell einzeln definieren zu müssen.
npx eslint project-dir/ file.js
eslint (^10.11.0)
Der eigentliche Linter – statisches Analyse-Tool für JavaScript (und via Plugins auch TypeScript). Prüft Code auf Syntaxfehler, potenzielle Bugs, Anti-Patterns und Style-Verstöße anhand konfigurierbarer Regeln. Bildet die Grundlage der Linting-Pipeline im Projekt.
globals (^17.12.0)
Sammlung vordefinierter globaler Variablen für verschiedene Laufzeitumgebungen (z. B. process, require, __dirname für Node.js oder window, document für Browser). Wird in der ESLint-Konfiguration genutzt, damit der Linter Standard-Globals korrekt erkennt und keine falschen „undefined variable"-Fehler meldet.