Cli: [BUG] npm update --depth casse les dépendances

Créé le 17 déc. 2019  ·  4Commentaires  ·  Source: npm/cli

Quoi / Pourquoi

NPM signale une dépendance non satisfaite après avoir effectué une mise à jour récursive/profonde

Lorsque




  • n / A

Comment

Comportement actuel

Étapes pour reproduire

  1. Créez un dossier localement et exécutez npm init
  2. Installez un paquet avec plus d'un niveau de dépendances, par exemple npm i -D @semantic-release/exec
  3. Attendez que l'une de leurs dépendances profondes obtienne une version plus récente
  4. Courir npm --depth 9999 update

Comportement prévisible

  • Il ne devrait pas y avoir de dépendances non satisfaites. Les mises à jour sont effectuées selon le fichier package.json de leur parent ou tout npm-shrinkwrap.json de leur ancêtre.
  • En d'autres termes, il doit agir comme s'il n'y avait pas de package-lock.json et procéder à la résolution de toutes les dépendances, installer/mettre à jour/supprimer si nécessaire, puis mettre à jour le fichier de verrouillage avec l'arborescence résolue.

Qui



  • n / A

Les références



  • n / A

Bug

Commentaire le plus utile

On dirait que j'ai préparé un problème en double

Quoi / Pourquoi

La commande npm update --depth <number> perd dev: true pour les dépendances devDependencies mises à jour.

Lorsque

  • Chaque fois que j'utilise npm update --depth <number> pour des packages avec des dépendances devDependencies pas récentes

  • registre public npm

Comment

Comportement actuel

Il perd dev: true pour les dépendances devDependencies mises à jour

Étapes pour reproduire

  1. Prenez ce repo https://github.com/pahan35/npm-bugs
  2. Succursale de caisse loses-dev-for-dev-deps
  3. Courir npm i
  4. Courir npm update --depth 7

Comportement prévisible

Je m'attends à ce que cette action conserve dev: true pour les dépendances devDependencies mises à jour

Les références

Peut-être lié au #944

Tous les 4 commentaires

On dirait que j'ai préparé un problème en double

Quoi / Pourquoi

La commande npm update --depth <number> perd dev: true pour les dépendances devDependencies mises à jour.

Lorsque

  • Chaque fois que j'utilise npm update --depth <number> pour des packages avec des dépendances devDependencies pas récentes

  • registre public npm

Comment

Comportement actuel

Il perd dev: true pour les dépendances devDependencies mises à jour

Étapes pour reproduire

  1. Prenez ce repo https://github.com/pahan35/npm-bugs
  2. Succursale de caisse loses-dev-for-dev-deps
  3. Courir npm i
  4. Courir npm update --depth 7

Comportement prévisible

Je m'attends à ce que cette action conserve dev: true pour les dépendances devDependencies mises à jour

Les références

Peut-être lié au #944

Je constate également que npm update oublie le drapeau dev pour les dépendances lorsque --depth est supérieur à 0. Peut-être que ce n'est pas nécessaire pour une profondeur inférieure ?

J'ai découvert que le drapeau dev est restauré après la réinstallation des modules de nœud ( rm -rf node_modules; npm install )

Je vois le même problème de perdre le drapeau dev après avoir utilisé npm update --depth mais uniquement pour les dépendances de développement de mon projet qui sont de vraies dépendances à une autre dépendance.

Dans mon cas, une autre dépendance ajoute "@types/node" comme dépendance mais dans mon projet l'a comme dépendance dev :

package.json de la dépendance "a":

{
  name: "a",
  dependencies: {
    "@types/node": ">=5.10"
  }
}

mon projet:

{
  dependencies: {
    "a": "1.0.0"
  },

  devDependencies: {
    "@types/node": "^12.0.0",
    "somethingElse": "1.0.0"
  }
}

après npm update --depth=99 le drapeau dev est ok pour somethingElse mais il est faux pour @type/node

edit: npm install semble stocker le @types/node tant que dépendance dev à la racine + en tant que dépendance au node_module imbriqué au composant "a".
npm update installe une seule fois en tant que dépendance à la racine

Cette page vous a été utile?
0 / 5 - 0 notes