Sommaire

Shift

Mettre à jour une dépendance, c’est facile, jusqu’à ce que la nouvelle version casse la moitié du code autour.

Chapitre 5Openshift into mainautomatisation pour développeurs

Contexte

Personne n’aime mettre à jour ses dépendances. Changer la version prend une seconde. Ensuite, on passe l’après-midi à courir après chaque breaking change dans tout le code.

Shift doit faire les deux moitiés à votre place, sur n’importe quelle stack, tout en vous laissant le dernier mot.

Plan

  • Détecter la stack : shift status montre ce que vous utilisez et les mises à jour disponibles.
  • Appliquer des codemods basés sur l’AST pour les changements de code que demande chaque mise à jour.
  • Tout afficher dans un merge editor interactif, pour que vous relisiez avant que quoi que ce soit soit appliqué.
  • Prendre un snapshot d’abord, pour que chaque mise à jour puisse être annulée instantanément.
shift init             # scan project, create .shift/ config
shift status           # show stack and available upgrades
shift upgrade react@19 # upgrade with interactive review
shift rollback 1       # instant rollback

Questions ouvertes

C’est encore le début, et je l’écris en Rust. L’ordre dans lequel j’avance : la structure du workspace, la détection de la stack, snapshot et rollback, le moteur de codemods, le merge editor, puis un lancement public.