web-dev-qa-db-fra.com

À quoi sert «dev» true dans package-lock.json?

Qu'est-ce que "dev" true signifie dans package-lock.json fichier?

Dans mon cas, il est automatiquement mis à jour lorsque j'effectue des opérations npm.

Comment pouvons-nous l'enlever?

18
Mustafa bw

Je pense que ce paragraphe essaie d'illustrer comment le dev: true de la dépendance du package est attribué.

  • Dépendance directe du développement -> dev: true
  • Avec seulement une dépendance indirecte au développement -> dev: true
  • Dépendance directe au développement, mais elle a également une dépendance indirecte non développée -> pas de "dev: true"

En d'autres termes, une fois qu'un package de dépendance de développement est indirectement dépendant d'un package de non-développement, il doit être dev: false et donc il sera inclus dans le processus de génération. Le but de cette règle est de s'assurer que les packages requis par le package non développé n'auront pas "dev: true".

De plus, si l'installation via "npm install -D, le package sera installé en tant que package de développement, donc aucune modification" dev: true "ne peut se produire. Cependant, si l'installation via" npm install ", cela peut supprimer de nombreuses dépendances existantes '" dev: true "attribut.

Par exemple, je lance "npm install -D bestzip" dans mon projet et le résultat est:

  • 53 dépendances avec "dev": true ajouté

Exécutez "npm install bestzip" et le résultat est:

  • 53 dépendances sans "dev": true ajouté
  • 43 "dev" des dépendances existantes: les vrais attributs sont supprimés
1
Houcheng

À partir des documents npm sur https://docs.npmjs.com/files/package-lock.json

Si vrai, cette dépendance est soit une dépendance de développement UNIQUEMENT du module de niveau supérieur, soit une dépendance transitive de l'un. Ceci est faux pour les dépendances qui sont à la fois une dépendance de développement du niveau supérieur et une dépendance transitive d'une dépendance de non-développement du niveau supérieur.

1
Kyle Reynolds