yarn import

Génère le `yarn.lock` depuis un dossier existant `node_modules` d'un npm installé.

yarn import

Cette commande aide à la migration des projets qui s’appuient actuellement sur npm-shrinkwrap.json, en minimisant les différences entre le fichier de verrouillage et l’arborescence de dépendance du mieux qu’il peut.

Motivation

De nombreux projets utilisent actuellement npm shrinkwrap ou vérifient leur ` node_modules dans un fichier source de contrôle car ils ont des arborescences de dépendances fragiles. Ces projets ne peuvent pas migrer facilement vers Yarn, car yarn install pourrait produire une arborescence de dépendance logique très différente. Tous les arborescences ne peuvent pas être représentées par le yarn.lock` de Yarn, et certaines arborescences valides seront automatiquement dédoublonnées lors de l’installation. Ces nuances et d’autres constituent un obstacle majeur à la migration manuelle.

yarn import vise à atténuer ce problème en générant un fichier yarn.lock en utilisant les versions trouvées à l’intérieur de node_modules selon les règles de résolution normale de require.resolve(). Dans les cas où le mécanisme de résolution de Yarn ne peut pas être satisfaisant pour l’arborescence des dépendances existante de manière identique, des alertes se produiront afin que vous puissiez réviser manuellement les modifications. L’arborescence existante de node_modules sera vérifié au préalable pour la validité et le fichier de verrouillage résultant doit être installé (yarn install) sans aucune surprises (échec de la compatibilité, dépendances insolubles, auto-dédoublonnage, etc.)

$ yarn import
yarn import vx.x.x
success Folder in sync.
warning Using version "2.2.4" of "lru-cache" instead of "2.7.3" for "ngstorage > grunt > minimatch"
warning Using version "2.0.6" of "readable-stream" instead of "2.2.9" for "ngstorage > karma > chokidar > readdirp"
[...]
success Saved lockfile.
✨  Done in 11.96s.