package.json erstellen
package.json erstellen mit Prüfung: Paketname nach npm-Regeln, Version, Lizenz, type module, npm-Skripte und Abhängigkeiten als fertige Datei.
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Was in die package.json gehört
Die package.json beschreibt ein JavaScript-Projekt: Name, Version, Abhängigkeiten und Befehle. Mit diesem Generator können Sie eine package.json erstellen, die von Anfang an vollständig ist, statt nach npm init oder npm init -y die Felder einzeln nachzutragen. Der package.json Generator prüft dabei den Paketnamen nach den Regeln von npm (Kleinbuchstaben, höchstens 214 Zeichen, keine Leerzeichen, kein Punkt oder Unterstrich am Anfang, optional mit Scope wie @firma/paket) und die Version nach Semantic Versioning.
npm-Skripte tragen Sie zeilenweise als name: befehl ein. npm start und npm test funktionieren ohne run, alle anderen rufen Sie mit npm run name auf. Im Skript stehen die Programme aus node_modules/.bin direkt zur Verfügung, deshalb genügt eslint . statt eines langen Pfads. Abhängigkeiten geben Sie als paket@version an; fehlt die Version, setzt der Generator latest ein und weist darauf hin, dass Sie nach dem ersten npm install eine feste Version eintragen sollten.
Mit "type": "module" behandelt Node.js alle .js-Dateien des Pakets als ES-Module mit import und export; ohne das Feld oder mit commonjs gilt require. Das Feld exports legt fest, welche Einstiegspunkte von außen importiert werden dürfen, und hat Vorrang vor main; der Generator setzt beide, damit auch ältere Werkzeuge den Einstieg finden. files begrenzt, was bei npm publish im Paket landet. Bereiche wie ^1.2.0 prüfen Sie mit dem Semver-Rechner.
Anleitung: package.json erstellen in 4 Schritten
- „Paketname“ und „Version“ eintragen; der Name wird sofort gegen die npm-Regeln geprüft.
- Beschreibung, Autor, Lizenz und Modulsystem unter „type“ wählen.
- Unter „Skripte“ je Zeile
name: befehleintragen, unter „Abhängigkeiten“ je Zeilepaket@version. - Ergebnis kopieren, als
package.jsonspeichern undnpm installausführen.
Typische Anwendungsfälle
- Ein neues Node.js-Projekt mit vollständigen Angaben anlegen, statt nach
npm init -yalles von Hand nachzutragen. - Eine Bibliothek veröffentlichen: Name, Lizenz, Einstiegspunkt und
exportskorrekt setzen. - Interne Projekte mit
private: truevor versehentlichem Veröffentlichen schützen.
Häufige Fragen
Welche Felder sind Pflicht?
Für ein veröffentlichtes Paket nur name und version. Für Anwendungen, die nie veröffentlicht werden, ist auch das nicht zwingend; dann empfiehlt sich "private": true, damit ein versehentliches npm publish abgelehnt wird.
Was ist der Unterschied zwischen dependencies und devDependencies?
dependencies braucht das Programm zur Laufzeit, devDependencies nur beim Entwickeln, etwa Linter, Testframeworks oder TypeScript. Mit npm ci --omit=dev werden nur die ersten installiert.
Warum wird mein Paketname abgelehnt?
Häufige Gründe sind Großbuchstaben, Leerzeichen, ein Punkt oder Unterstrich am Anfang oder Sonderzeichen wie ! oder *. Ob der Name auf npm noch frei ist, prüft das Werkzeug nicht; das zeigt npm view name.
Welche Lizenzangabe ist richtig?
Ein SPDX-Bezeichner wie MIT oder Apache-2.0. Für Code, den niemand verwenden darf, ist UNLICENSED vorgesehen. Die Lizenzdatei selbst gehört zusätzlich ins Repository.
Kann ich die Datei mit Kommentaren versehen?
Nein, die package.json ist reines JSON und erlaubt keine Kommentare. Erklärungen gehören in die README oder in ein eigenes Feld, das npm ignoriert.
Was bedeuten ^ und ~ vor einer Versionsnummer?
^1.2.3 erlaubt Updates bis unter 2.0.0, ~1.2.3 nur bis unter 1.3.0. Welche Version tatsächlich installiert ist, hält die package-lock.json fest.
Muss die package-lock.json ins Repository?
Bei Anwendungen ja, damit alle mit denselben Versionen arbeiten und npm ci in der CI reproduzierbar installiert. Bei Bibliotheken wird sie beim Veröffentlichen ohnehin nicht mitgeliefert.
Das könnte auch helfen
Cron-Ausdruck erklären
Crontab-Zeilen mit 5 oder 6 Feldern auf Deutsch erklärt, mit den nächsten 10 Ausführungen.
ÖffnenCron-Generator
Zeitplan im Formular wählen und die fertige Crontab-Zeile kopieren.
ÖffnenUnix-Zeitstempel umrechnen
Timestamp in Datum und zurück, Sekunden und Millisekunden erkannt, UTC und Berlin.
ÖffnenUUID-Generator
UUID v4 und v7 erzeugen, bis zu 1.000 auf einmal, und vorhandene UUIDs prüfen.
ÖffnenULID-Generator
Sortierbare IDs in Crockford Base32 erzeugen, dekodieren und in UUID umwandeln.
ÖffnenTexte vergleichen (Diff)
Unterschiede zwischen zwei Texten zeilen-, wort- oder zeichenweise finden.
Öffnen