Décrivez le bogue
Lorsque vous ajoutez l'étiquette "mineur" ou "majeur" dans votre PR, et avec lerna en mode indépendant, on s'attendrait à ce que la gestion des versions des composants soit indépendante. Cela ne se reflète pas dans la gestion des versions pour le moment, où une balise semver vx.xx pour l'ensemble du projet est créée, au lieu de la balise f,ex @org-name/ component@xxx
Reproduire
voir https://github.com/LEGO/poc-yarn-lerna-workspaces-auto-typescript-tags
Comportement attendu
la possibilité de spécifier la gestion des versions (car cela pourrait être un changement radical par rapport au comportement actuel, ou même une réécriture majeure à en juger par ce que je demande ici) de la même manière que nous le ferions pour les versions auxquelles des packages sont attachés.
si ce n'est pas l'intention d'utiliser le plugin git-tag, nous examinons un scénario dans lequel nous avons un monorepo avec des projets npm dans un monorepo qui n'a pas besoin d'être publié sur npm/packages, mais nécessite toujours un compte indépendant gestion des versions
Ainsi, tous les plugins de « publication » sont destinés à n'être utilisés qu'un seul à la fois. Donc, vous utilisez soit npm
soit git-tag
.
nous examinons un scénario dans lequel nous avons un monorepo avec des projets npm dans un monorepo qui n'ont pas besoin d'être publiés sur npm/packages, mais qui nécessitent toujours un versionnage indépendant
Je pense que vous pouvez accomplir cela simplement en définissant private
sur true sur les packages que vous ne souhaitez pas publier. Ils seront toujours versionnés, ils n'arriveront tout simplement pas au registre
J'ai ajouté quelques documents pour dissiper cette confusion pour les futurs utilisateurs. https://github.com/intuit/auto/pull/1465/files
avez-vous d'autres questions?
Cela clarifie les choses par rapport à votre vision de l'automobile, très utile
Ainsi, tous les plugins de « publication » sont destinés à n'être utilisés qu'un seul à la fois. Donc, vous utilisez soit
npm
soitgit-tag
.nous examinons un scénario dans lequel nous avons un monorepo avec des projets npm dans un monorepo qui n'ont pas besoin d'être publiés sur npm/packages, mais qui nécessitent toujours un versionnage indépendant
Je pense que vous pouvez accomplir cela simplement en définissant
private
sur true sur les packages que vous ne souhaitez pas publier. Ils seront toujours versionnés, ils n'arriveront tout simplement pas au registre
Bonjour! J'ai essayé la suggestion en définissant private sur true dans les packages, mais j'obtiens cette erreur ici (c'est sous Create Release)
Ce n'est en fait pas un bug. La sortie verbeuse est cependant un peu trompeuse. Parfois, auto
exécutera une commande pour voir le résultat. Parfois, ce résultat est un échec. En mode verbeux, nous enregistrons de nombreuses réponses, notamment des éléments contenant du texte indiquant « erreur ».
Dans ce cas, le plugin npm
exécutera lerna updated
pour vérifier s'il y aura des packages à publier pendant l'exécution de shipit
. S'il n'y en a pas, nous quittons tôt pour que la publication n'échoue pas plus tard. si vous aviez exécuté sans -v, la dernière ligne imprimée aurait été
⚠ warning Lerna detected no changes in project. Aborting release since nothing would be published.
Cela étant dit, je vois une situation où cela ne fonctionne pas. Supposons qu'un PR n'affecte qu'un package privé, vous voudriez toujours que le package soit versionné, mais pas publié. Voir si je peux améliorer ça maintenant
Pensez que cela devrait être corrigé maintenant!
:rocket: Le numéro est sorti en v9.50.8
:rocket:
Commentaire le plus utile
Cela étant dit, je vois une situation où cela ne fonctionne pas. Supposons qu'un PR n'affecte qu'un package privé, vous voudriez toujours que le package soit versionné, mais pas publié. Voir si je peux améliorer ça maintenant