Vorsicht: Verwenden Sie nicht package.json
als Ordnernamen, wenn Sie dieses Projekt auf Ihren Computer klonen möchten. Dadurch wird yarn
unterbrochen ( An unexpected error occurred: "EISDIR: illegal operation on a directory, read".
).
Originalversion dieses Dokuments, kopiert von Yarnpkg.
Siehe auch npm-Dokumentation, std-pkg, clean-publish, package-json-validator, cosmiconfig, rc (als Gegenansatz zu cosmiconfig).
name
version
description
keywords
license
homepage
bugs
repository
author
contributors
files
main
bin
man
directories
scripts
scripts
config
dependencies
devDependencies
peerDependencies
optionalDependencies
bundledDependencies
engines
os
cpu
libc
private
publishConfig
flat
resolutions
workspaces
bolt
unpkg
types
flow:main
browserslist
module
browser
esnext
es2015
esm
module-browser
modules.root
jsnext:main
react-native
sideEffects
source
, umd:main
source
@std/esm
jspm
ignore
format
registry
shim
map
browserify.transform
proxy
homepage
babel
eslintConfig
jest
stylelint
size-limit
pwmetrics
ava
nyc
preferGlobal
style
less
standard
Die beiden wichtigsten Felder in Ihrer package.json
sind name
und version
. Ohne diese Felder kann Ihr Paket nicht installiert werden. Die Felder name
und version
werden zusammen verwendet, um eine eindeutige ID zu erstellen.
name
{
"name" : " my-awesome-package "
}
Dies ist der Name Ihres Pakets. Es wird in URLs, als Argument in der Befehlszeile und als Verzeichnisname in node_modules
verwendet.
yarn add [name]
node_modules/[name]
https://registry.npmjs.org/[name]/-/[name]-[version].tgz
Regeln
@scope/
für Pakete mit Gültigkeitsbereich)..
) oder einem Unterstrich ( _
) beginnen.Tipps
js
noch node
in den Namen ein.require()
-Aufrufen verwendet.version
{
"version" : " 1.0.0 "
}
Die aktuelle Version Ihres Pakets.
description
{
"description" : " My short description of my awesome package "
}
Die Beschreibung ist lediglich eine Zeichenfolge, die den Leuten hilft, den Zweck des Pakets zu verstehen. Es kann auch bei der Suche nach Paketen in einem Paketmanager verwendet werden.
keywords
{
"keywords" : [ " short " , " relevant " , " keywords " , " for " , " searching " ]
}
Schlüsselwörter sind eine Reihe von Zeichenfolgen, die bei der Suche nach Paketen in einem Paketmanager nützlich sind.
license
{
"license" : " MIT " ,
"license" : " (MIT or GPL-3.0) " ,
"license" : " SEE LICENSE IN LICENSE_FILENAME.txt " ,
"license" : " UNLICENSED "
}
Alle Pakete sollten eine Lizenz angeben, damit Benutzer wissen, wie sie sie verwenden dürfen und welche Einschränkungen Sie ihr auferlegen.
Wir empfehlen Ihnen, eine Open-Source-Lizenz (OSI-genehmigt) zu verwenden, es sei denn, Sie haben einen bestimmten Grund dagegen. Wenn Sie Ihr Paket im Rahmen Ihrer Arbeit erstellt haben, ist es wahrscheinlich am besten, sich bei Ihrem Unternehmen zu erkundigen, bevor Sie sich für eine Lizenz entscheiden.
Muss einer der folgenden sein:
SEE LICENSE IN <filename>
-Zeichenfolge, die auf einen <filename>
in der obersten Ebene Ihres Pakets verweist, wenn Sie eine nicht standardmäßige Lizenz verwenden.UNLICENSED
-Zeichenfolge, wenn Sie anderen nicht das Recht einräumen möchten, ein privates oder unveröffentlichtes Paket unter irgendwelchen Bedingungen zu nutzen. Verschiedene Links zur Dokumentation, Orte zum Melden von Problemen und wo sich Ihr Paketcode tatsächlich befindet.
homepage
{
"homepage" : " https://your-package.org "
}
Die Homepage ist die URL zur Zielseite oder Dokumentation für Ihr Paket.
Wird auch von Create React App verwendet
bugs
{
"bugs" : " https://github.com/user/repo/issues "
}
Die URL zum Issue-Tracker Ihres Projekts. Dies kann auch so etwas wie eine E-Mail-Adresse sein. Es bietet Benutzern die Möglichkeit, herauszufinden, wohin sie Probleme mit Ihrem Paket senden können.
repository
{
"repository" : { "type" : " git " , "url" : " https://github.com/user/repo.git " },
"repository" : " github:user/repo " ,
"repository" : " gitlab:user/repo " ,
"repository" : " bitbucket:user/repo " ,
"repository" : " gist:a1b2c3d4e5f "
}
Das Repository ist der Ort, an dem sich der eigentliche Code für Ihr Paket befindet.
Die Betreuer Ihres Projekts.
author
{
"author" : { "name" : " Your Name " , "email" : " [email protected] " , "url" : " http://your-website.com " },
"author" : " Your Name <[email protected]> (http://your-website.com) "
}
Informationen zum Paketautor. Ein Autor ist eine Person.
contributors
{
"contributors" : [
{ "name" : " Your Friend " , "email" : " [email protected] " , "url" : " http://friends-website.com " }
{ "name" : " Other Friend " , "email" : " [email protected] " , "url" : " http://other-website.com " }
],
"contributors" : [
" Your Friend <[email protected]> (http://friends-website.com) " ,
" Other Friend <[email protected]> (http://other-website.com) "
]
}
Diejenigen, die zu Ihrem Paket beigetragen haben. Bei den Mitwirkenden handelt es sich um eine Reihe von Personen.
Sie können Dateien angeben, die in Ihr Projekt einbezogen werden sollen, sowie den Haupteinstiegspunkt für Ihr Projekt.
files
{
"files" : [
" filename.js " ,
" directory/ " ,
" glob/*.{js,json} "
]
}
Dabei handelt es sich um Dateien, die in Ihrem Projekt enthalten sind. Sie können einzelne Dateien oder ganze Verzeichnisse angeben oder Platzhalter verwenden, um Dateien einzuschließen, die bestimmte Kriterien erfüllen.
main
{
"main" : " filename.js "
}
Dies ist der primäre Einstiegspunkt für die Funktionalität Ihres Projekts.
bin
{
"bin" : " bin.js " ,
"bin" : {
"command-name" : " bin/command-name.js " ,
"other-command" : " bin/other-command "
}
}
Ausführbare Dateien, die in Ihrem Projekt enthalten sind und installiert werden.
man
{
"man" : " ./man/doc.1 " ,
"man" : [ " ./man/doc.1 " , " ./man/doc.2 " ]
}
Wenn Ihrem Projekt Manpages zugeordnet sind, fügen Sie diese hier hinzu.
directories
{
"directories" : {
"lib" : " path/to/lib/ " ,
"bin" : " path/to/bin/ " ,
"man" : " path/to/man/ " ,
"doc" : " path/to/doc/ " ,
"example" : " path/to/example/ "
}
}
Bei der Installation Ihres Pakets können Sie genaue Speicherorte für Binärdateien, Manpages, Dokumentationen, Beispiele usw. angeben.
Ihr Paket kann ausführbare Skripte oder andere Konfigurationen enthalten.
scripts
{
"scripts" : {
"build-project" : " node build-project.js "
}
}
Skripte sind eine großartige Möglichkeit, Aufgaben im Zusammenhang mit Ihrem Paket zu automatisieren, z. B. einfache Build-Prozesse oder Entwicklungstools. Mithilfe des Felds "scripts"
können Sie verschiedene Skripte definieren, die als yarn run <script>
ausgeführt werden sollen. Das obige build-project
Skript kann beispielsweise mit yarn run build-project
aufgerufen werden und führt node build-project.js
aus.
Bestimmte Skriptnamen sind etwas Besonderes. Falls definiert, wird das preinstall
von Garn aufgerufen, bevor Ihr Paket installiert wird. Aus Kompatibilitätsgründen werden alle Skripts mit den Namen install
, postinstall
und prepublish
aufgerufen, nachdem die Installation Ihres Pakets abgeschlossen ist.
Der Wert des start
ist standardmäßig node server.js
.
"scripts": {"start": "node server.js"}
. Wenn sich im Stammverzeichnis Ihres Pakets eine server.js-Datei befindet, verwendet npm standardmäßig den Startbefehl für den Knoten server.js.
"scripts":{"preinstall": "node-gyp rebuild"}
. Wenn sich im Stammverzeichnis Ihres Pakets eine binding.gyp-Datei befindet, verwendet npm standardmäßig den Preinstall-Befehl zum Kompilieren mit node-gyp.-- NPM-Dokumente
scripts
npm unterstützt die Eigenschaft scripts
der Datei package.json
für die folgenden Skripts:
prepublish
: Wird ausgeführt, BEVOR das Paket gepackt und veröffentlicht wird, sowie bei der lokalen npm-Installation ohne Argumente. (Siehe unten)prepare
: Führen Sie beides aus, BEVOR das Paket gepackt und veröffentlicht wird, und bei der lokalen npm-Installation ohne Argumente (siehe unten). Dies wird NACH der Vorveröffentlichung, aber VOR der Vorveröffentlichung ausgeführt.prepublishOnly
: Wird ausgeführt, BEVOR das Paket vorbereitet und gepackt wird, NUR bei der npm-Veröffentlichung. (Siehe unten.)prepack
: ausführen, BEVOR ein Tarball gepackt wird (auf npm pack, npm Publish und bei der Installation von Git-Abhängigkeiten)postpack
: Wird ausgeführt, NACHDEM der Tarball generiert und an sein endgültiges Ziel verschoben wurde.publish
, postpublish
: Wird ausgeführt, NACHDEM das Paket veröffentlicht wurde.preinstall
: Ausführen, BEVOR das Paket installiert wirdinstall
, postinstall
: Ausführen, NACHDEM das Paket installiert ist.preuninstall
, uninstall
: Ausführen, BEVOR das Paket deinstalliert wird.postuninstall
: Ausführen, NACHDEM das Paket deinstalliert wurde.preversion
: Vor dem Erhöhen der Paketversion ausführen.version
: Führen Sie NACH dem Erhöhen der Paketversion aus, aber VOR dem Festschreiben.postversion
: Wird NACH dem Erhöhen der Paketversion und NACH dem Festschreiben ausgeführt.pretest
, test
, posttest
: Wird mit dem Befehl npm test ausgeführt.prestop
, stop
, poststop
: Wird mit dem Befehl npm stop ausgeführt.prestart
, start
, poststart
: Wird mit dem Befehl npm start ausgeführt.prerestart
, restart
, postrestart
: Wird mit dem Befehl npm restart ausgeführt. Hinweis: npm restart führt die Stopp- und Startskripte aus, wenn kein Neustartskript bereitgestellt wird.preshrinkwrap
, shrinkwrap
, postshrinkwrap
: Wird vom Befehl npm Shrinkwrap ausgeführt.Quelle: npm-Dokumente.
config
{
"config" : {
"port" : " 8080 "
}
}
Konfigurationsoptionen oder Parameter, die in Ihren Skripten verwendet werden.
Ihr Paket wird höchstwahrscheinlich von anderen Paketen abhängig sein. Sie können diese Abhängigkeiten in Ihrer package.json
Datei angeben.
dependencies
{
"dependencies" : {
"package-1" : " ^3.1.4 "
}
}
Hierbei handelt es sich um Abhängigkeiten, die sowohl bei der Entwicklung als auch bei der Produktion Ihres Pakets erforderlich sind.
Sie können eine genaue Version, eine Mindestversion (z. B.
>=
) oder einen Versionsbereich (z. B.>= ... <
) angeben.
devDependencies
{
"devDependencies" : {
"package-2" : " ^0.4.2 "
}
}
Dies sind Pakete, die nur bei der Entwicklung Ihres Pakets erforderlich sind, aber nicht in der Produktion installiert werden.
peerDependencies
{
"peerDependencies" : {
"package-3" : " ^2.7.18 "
}
}
Mithilfe von Peer-Abhängigkeiten können Sie die Kompatibilität Ihres Pakets mit Versionen anderer Pakete angeben.
optionalDependencies
{
"optionalDependencies" : {
"package-5" : " ^1.6.1 "
}
}
Optionale Abhängigkeiten können mit Ihrem Paket verwendet werden, sind aber nicht erforderlich. Wenn das optionale Paket nicht gefunden wird, wird die Installation trotzdem fortgesetzt.
bundledDependencies
{
"bundledDependencies" : [
" package-4 "
]
}
Gebündelte Abhängigkeiten sind eine Reihe von Paketnamen, die beim Veröffentlichen Ihres Pakets gebündelt werden.
Sie können mit Ihrem Paket verknüpfte Informationen auf Systemebene bereitstellen, z. B. Betriebssystemkompatibilität usw.
engines
{
"engines" : {
"node" : " >=4.4.7 <7.0.0 " ,
"zlib" : " ^1.2.8 " ,
"yarn" : " ^0.14.0 "
}
}
Die Engines geben Versionen von Clients an, die mit Ihrem Paket verwendet werden müssen. Dies prüft sowohl die Datei process.versions
als auch die aktuelle Garnversion.
os
{
"os" : [ " darwin " , " linux " ],
"os" : [ " !win32 " ]
}
Dies gibt die Betriebssystemkompatibilität für Ihr Paket an. Es prüft gegen process.platform
.
cpu
{
"cpu" : [ " x64 " , " ia32 " ],
"cpu" : [ " !arm " , " !mips " ]
}
Verwenden Sie diese Option, um anzugeben, dass Ihr Paket nur auf bestimmten CPU-Architekturen ausgeführt werden soll. Dies prüft gegen process.arch
.
libc
{
"libc" : [ " glibc " ],
"libc" : [ " musl " ]
}
Verwenden Sie dies, um anzugeben, dass Ihr Paket nur auf einer bestimmten libc-Variante läuft. Dies prüft anhand des Ergebnisses von detect-libc
.
private
{
"private" : true
}
Wenn Sie nicht möchten, dass Ihr Paket in einem Paketmanager veröffentlicht wird, setzen Sie dies auf true
.
publishConfig
{
"publishConfig" : {
...
}
}
Diese Konfigurationswerte werden beim Veröffentlichen Ihres Pakets verwendet. Sie können beispielsweise Ihr Paket mit einem Tag versehen.
flat
{
"flat" : true
}
Wenn Ihr Paket nur eine Version einer bestimmten Abhängigkeit zulässt und Sie dasselbe Verhalten wie yarn install --flat
in der Befehlszeile erzwingen möchten, legen Sie dies auf true
fest.
Beachten Sie, dass, wenn Ihre package.json
"flat": true
enthält und andere Pakete von Ihrem Paket abhängen (z. B. Sie erstellen eine Bibliothek statt einer Anwendung), diese anderen Pakete ebenfalls "flat": true
in ihrer package.json
benötigen oder sein wird mit yarn install --flat
in der Befehlszeile installiert.
resolutions
{
"resolutions" : {
"transitive-package-1" : " 0.0.29 " ,
"transitive-package-2" : " file:./local-forks/transitive-package-2 " ,
"dependencies-package-1/transitive-package-3" : " ^2.1.1 "
}
}
Ermöglicht Ihnen, eine Version einer bestimmten verschachtelten Abhängigkeit zu überschreiben. Die vollständige Spezifikation finden Sie im RFC „Selective Versions Resolutions“.
Beachten Sie, dass durch die Installation von Abhängigkeiten über [ yarn install --flat
] automatisch ein resolutions
zu Ihrer package.json
-Datei hinzugefügt wird.
workspaces
Wenn --use-workspaces
wahr ist, werden packages
durch den Wert aus package.json/workspaces
überschrieben.
Quelle: --use-workspaces.
bolt
Siehe Konfiguration
{
"bolt" : {
"workspaces" : [
" utils/* " ,
" apps/* "
]
}
}
unpkg
Wenn Sie den Dateipfad weglassen (d. h. eine „nackte“ URL verwenden), stellt unpkg die im unpkg
Feld in package.json
angegebene Datei bereit oder greift auf main
(Quelle) zurück.
types
Wenn Ihr Paket über eine .js
Hauptdatei verfügt, müssen Sie die Hauptdeklarationsdatei auch in Ihrer package.json
Datei angeben. Legen Sie die Eigenschaft types
so fest, dass sie auf Ihre gebündelte Deklarationsdatei verweist. Zum Beispiel:
{
"main" : " ./lib/main.js " ,
"types" : " ./lib/main.d.ts "
}
Beachten Sie, dass das Feld typings
gleichbedeutend mit types
ist und ebenfalls verwendet werden kann.
Beachten Sie außerdem, dass Sie die Eigenschaft types
nicht markieren müssen, wenn Ihre Hauptdeklarationsdatei index.d.ts
heißt und sich im Stammverzeichnis des Pakets (neben index.js
) befindet. Dies ist jedoch ratsam.
Quelle: TypeScript-Dokumentation
Hinweis: In Flow verwenden sie einen anderen Ansatz
flow:main
Nicht offiziell unterstützt. Vorschlag ist da.
browserslist
? Bibliothek zur gemeinsamen Nutzung von Zielbrowsern zwischen verschiedenen Front-End-Tools. Es wird verwendet in:
package.json
oder browserslist
Dateien, die in 2.0 unterstützt werden) Alle Tools, die auf Browserslist basieren, finden ihre Konfiguration automatisch, wenn Sie Folgendes zu package.json
hinzufügen:
{
"browserslist" : [
" > 1% " ,
" last 2 versions "
]
}
Quelle: Browserliste.
Siehe auch: React-App-Unterstützung erstellen.
Eine Einführung finden Sie unter „Einrichten von plattformübergreifenden NPM-Paketen“.
module
pkg.module
verweist auf ein Modul mit ES2015-Modulsyntax, ansonsten jedoch nur Syntaxfunktionen, die von den Zielumgebungen unterstützt werden. Die vollständige Beschreibung finden Sie hier.
Unterstützt durch: Rollup, Webpack
browser
Das browser
wird von einem Modulautor als Hinweis für Javascript-Bundler oder Komponententools bereitgestellt, wenn Module für die clientseitige Verwendung gepackt werden. Vorschlag ist da.
Unterstützt von: Rollup, Webpack, Browserify
Unterstützung angefordert: babel-plugin-module-resolver
esnext
Der vollständige Vorschlag ist hier. Kurze Erklärung:
esnext
: Quellcode mit Funktionen der Stufe 4 (oder älter), nicht transpiliert, in ES-Modulen.main
: verweist auf ein CommonJS-Modul (oder UMD-Modul) mit JavaScript, das so modern ist, wie Node.js derzeit verarbeiten kann.module
sollten über esnext
behandelbar sein.browser
kann über eine erweiterte Version von esnext
verwaltet werden {
"main" : " main.js " ,
"esnext" : {
"main" : " main-esnext.js " ,
"browser" : " browser-specific-main-esnext.js "
}
}
Siehe auch: Bereitstellung von untranspiliertem Quellcode über npm
es2015
Untranspilierter ES6-Code. Quelle: Angular Package Format (APF) v5.0
esm
Vorschlag ist hier: angepasster Vorschlag: ES-Modul „esm“: true package.json Flag
Siehe auch:
module-browser
Siehe dieses Problem
Wird auch als moduleBrowser
, jsnext:browser
bezeichnet.
modules.root
Erwähnt in „In Defense of .js“.
Es gibt auch modules.resolver
.
jsnext:main
VERALTET
jsnext:main
wurde durch pkg.module
ersetzt, das den Speicherort einer Datei mit Import-/Export-Deklarationen angibt. Der Originalvorschlag ist hier.
Unterstützt von: rollup.
react-native
Funktioniert ähnlich wie browser
, jedoch für reaktionsnative spezifische Module. Quelle.
sideEffects
Zeigt an, dass die Module des Pakets keine Nebenwirkungen haben (bei der Evaluierung) und nur Exporte verfügbar machen. Dadurch können Tools wie Webpack Re-Exporte optimieren.
Siehe auch: Beispiel sideEffects
, Vorschlag zum Markieren von Funktionen als rein, eslint-plugin-tree-shaking.
source
, umd:main
Siehe Angeben von Builds in package.json.
source
Siehe packet-bundler/parcel#1652.
@std/esm
Entwickler haben zu fast allem eine klare Meinung. Um dies zu berücksichtigen, ermöglicht @std/esm
das Freischalten zusätzlicher Funktionen mit dem Feld "@std/esm"
oder "@std":{"esm":{}}
in Ihrer package.json
.
Quelle: @std/esm Unlockables
jspm
Sie können alle Paketeigenschaften an der Basis von package.json schreiben. Wenn Sie vorhandene Eigenschaften, die Sie speziell für npm
verwenden möchten, nicht ändern möchten, können Sie Ihre jspm-spezifische Konfiguration in die jspm
-Eigenschaft von schreiben package.json und jspm verwenden diese Optionen anstelle der Konfigurationsoptionen auf Root-Ebene.
Zum Beispiel:
{
"name" : " my-package " ,
"jspm" : {
"main" : " jspm-main "
}
}
Vollständige Spezifikation ansehen.
ignore
Wenn bestimmte Dateien oder Ordner ignoriert werden sollen, können diese in einem Array aufgelistet werden.
format
Optionen sind esm
, amd
, cjs
und global
.
Beim Laden von Modulen aus
npm
wird das Modulformat standardmäßig alscjs
behandelt und es wird keine automatische Erkennung ausgeführt. Um Module eines anderen Formats zu laden, müssen Sie diese Eigenschaft manuell überschreiben.
Das Modulformat
esm
(ECMAScript-Modul) wird derzeit nicht in package.json verwendet.
registry
jspm versteht Abhängigkeiten im Kontext einer Registrierung.
Beim Laden von Paketen von npm setzt jspm die Standardregistrierung auf npm
und behandelt die Abhängigkeiten entsprechend.
Beim Laden von Paketen von GitHub wird die Abhängigkeitseigenschaft ignoriert, ohne dass eine Registrierungseigenschaft vorhanden ist, da jspm nicht wissen kann, was die Abhängigkeiten für vorhandene GitHub-Repos bedeuten.
Das Festlegen der Registrierungseigenschaft bestimmt auch, wie jspm das Paket interpretiert. Beispielsweise wird ein GitHub-Paket mit registry: "npm"
zusammen mit dem Abrufen seiner Abhängigkeiten von npm als CommonJS interpretiert und unterstützt Funktionen wie Verzeichnis und JSON, genau so, als ob es zunächst vom npm-Endpunkt installiert worden wäre.
Die Abhängigkeiten eines Pakets auf GitHub, dessen Registrierungseigenschaft auf registry: "jspm"
festgelegt ist, werden als Abhängigkeiten im jspm-Stil behandelt.
shim
Als globale Pakete geschriebene Pakete benötigen eine Shim-Konfiguration, um in einer modularen Umgebung ordnungsgemäß zu funktionieren. Um eine Datei some/global.js
innerhalb des Pakets zu unterteilen, können wir schreiben:
{
"shim" : {
"some/global" : {
"deps" : [ " jquery " ],
"exports" : " globalExportName "
}
}
}
Sowohl deps
als auch exports
sind optional.
exports
werden vom SystemJS-Loader automatisch als alle vom Skript geschriebenen Globals erkannt. In den meisten Fällen wird diese Erkennung korrekt funktionieren.
Die Kurzform von "some/global": ["jquery"]
wird auch unterstützt, wenn keine exports
vorhanden sind.
map
Durch die Kartenkonfiguration werden interne Anforderungen neu geschrieben, um auf verschiedene lokale oder externe Module zu verweisen.
Stellen Sie sich ein Paket vor, das seine eigene Abhängigkeit enthält, dep
die sich third_party/dep
befindet. Es könnte intern eine require-Anweisung geben, etwa so:
require ( 'dep' ) ;
Um die lokale Version zu verwenden, können wir schreiben:
{
"map" : {
"dep" : " ./third_party/dep "
}
}
Es kann auch nützlich sein, ein Paket innerhalb von Submodulen mit seinem eigenen Namen zu referenzieren:
{
"map" : {
"thispackage" : " . "
}
}
Wir können dann interne Anforderungen haben, um import 'thispackage/module'
.
Die Kartenkonfiguration kann auch auf Abhängigkeitssubmodule verweisen.
Wir können Module auch vollständig ausschließen, indem wir sie dem leeren Modul zuordnen:
{
"map" : {
"jquery" : " @empty "
}
}
Der zurückgegebene Wert ist dann ein Modulobjekt ohne Exporte.
browserify.transform
Die Dokumentation finden Sie hier
proxy
Benutzer stellen die Front-End-React-App häufig über denselben Host und Port wie ihre Backend-Implementierung bereit.
Quelle: Proxying von API-Anfragen in der Entwicklung
homepage
Quelle: Building for Relative Paths
babel
Siehe dieses Problem.
eslintConfig
jest
{
"jest" : {
"verbose" : true
}
}
Quelle: Scherzdokumente
stylelint
Siehe: Neuer Konfigurationslader
size-limit
Wenn Sie diese Bibliothek verwenden, können Sie ihre Konfiguration in package.json
definieren:
{
"size-limit" : [
{
"limit" : " 9 KB " ,
"path" : " index.js "
}
]
}
Quelle: Größenbeschränkung
pwmetrics
Sie können Optionen in package.json
angeben:
{
"pwmetrics" : {
"url" : " http://example.com/ " ,
"expectations" : {
"ttfcp" : {
"warn" : " >=1500 " ,
"error" : " >=2000 "
}
}
}
}
Alle verfügbaren Optionen finden Sie hier
Quelle: pwmetrics
ava
Beispiel:
"ava" : {
"require" : [ " @std/esm " ]
}
Quelle: ava
nyc
Beispiel:
"nyc" : {
"extension" : [ " .js " , " .mjs " ],
"require" : [ " @std/esm " ]
}
Quelle: New York
preferGlobal
VERALTET
Mit dieser Option wurde früher eine NPM-Warnung ausgelöst, es wird jedoch keine Warnung mehr ausgegeben. Es dient ausschließlich Informationszwecken. Es wird jetzt empfohlen, alle Binärdateien nach Möglichkeit als lokale devDependencies zu installieren.
style
Das style
Attribut in package.json
ist nützlich zum Importieren von CSS-Paketen. Vorschlag ist da.
Unterstützt von: packetify, npm-less, rework-npm, npm-css.
Siehe auch: istf-spec.
less
Wie style
, aber günstiger.
Unterstützt von: npm-less.
Die folgenden Felder sind für zukünftige Erweiterungen reserviert: build
, default
, email
, external
, files
, imports
, maintainer
, paths
, platform
, require
, summary
, test
, using
, downloads
, uid
.
Die folgenden Felder sind für Paketregistrierungen reserviert und können nach eigenem Ermessen verwendet werden: id
, type
.
Alle Eigenschaften, die mit _
oder $
beginnen, sind ebenfalls für die Verwendung durch Paketregistrierungen nach eigenem Ermessen reserviert.
Quelle: CommonJS-Wiki
standard
Standard JS ist ein JavaScript-Styleguide, Linter und Formatter. Sie können einige Eigenschaften zu package.json hinzufügen, z. B. parser
, ignore
, globals
, plugins
.
Beispiel:
"standard" : {
"parser" : " babel-eslint " ,
"ignore" : [
" **/out/ " ,
" /lib/select2/ " ,
" /lib/ckeditor/ " ,
" tmp.js "
]
}
Siehe auch: Standard-JS