gt-sanity@4.0.0
Vue d’ensemble
gt-sanity v4 est compatible avec Sanity Studio 6. Avec la version 6.9.2, Sanity est passé de @sanity/ui 3 à @sanity/ui 4. Les paquets Studio intégrant ce changement sont des singletons d’exécution ; le plugin les résout donc désormais depuis votre Studio au lieu d’inclure ses propres copies.
Les Studios utilisant Sanity 6.0 à 6.8 reposent toujours sur la génération @sanity/ui 3 et doivent rester sur gt-sanity 3.1.x. Mettez d’abord Sanity à niveau vers la version 6.9.2 ou ultérieure, puis passez à la v4.
L’API du plugin et votre contenu stocké ne changent pas dans la v4. Si votre Studio utilise Sanity 6.9.2 ou une version ultérieure, la mise à niveau se limite à une installation.
Changements majeurs
Sanity 6.9.2 et @sanity/ui 4 requis
La plage de versions peer de sanity est désormais ^6.9.2. Elle était auparavant >=5.0.0, ce qui incluait Sanity 6 alors même que les dépendances du plugin épinglaient la génération Sanity 5. Les installations se résolvaient sans erreur au lieu d’émettre un avertissement, de sorte qu’un runtime Studio dupliqué pouvait apparaître sans aucun signe visible.
Il s’agit bien de Sanity 6.9.2, et non de n’importe quelle version de Sanity 6. @sanity/ui 4 a été introduit dans la version 6.9.2 ; les Studios utilisant les versions 6.0 à 6.8 restent donc sur la génération @sanity/ui 3. Mettez d’abord Sanity à niveau, puis passez à gt-sanity 4.
Les paquets Studio sont désormais des dépendances pairs
@sanity/ui, @sanity/icons, @sanity/schema et @sanity/mutator étaient des dépendances classiques et sont désormais des dépendances pairs, résolues à partir du Studio hôte. Leur installation avec une autre génération de Sanity entraînait l’imbrication d’une seconde copie, ce qui créait des registres de schémas et des contextes de thème styled-components dupliqués. Un Studio Sanity 6.9.2 ou version ultérieure fournit déjà les quatre ; aucune nouvelle étape d’installation n’est donc nécessaire.
Les versions minimales de @sanity/document-internationalization et de sanity-plugin-internationalized-array sont désormais ^6.2.30 et ^5.1.27. Les versions minimales précédentes pouvaient résoudre vers des versions ne prenant en charge que Sanity 5, ce qui constituait une autre source de duplication du runtime. La dépendance inutilisée @sanity/util a été supprimée.
ESM uniquement
Le build CommonJS et la condition d’exportation require ont été supprimés, conformément à @sanity/ui 4. Importez le plugin avec la syntaxe ESM import.
Node.js 22.12 ou version ultérieure
Passage de 18 à cette version, pour correspondre à sanity et @sanity/ui 4.
Rester sur Sanity 5
gt-sanity 3.1.x reste la version prise en charge pour les Studios Sanity 5, ainsi que pour Sanity 6.0 à 6.8. Elle n’est pas dépréciée, et la conserver est un choix valable si vous n’êtes pas prêt à migrer votre Studio.
npm install gt-sanity@^3.1Les fonctionnalités de v3 restent inchangées. Une fois Sanity mis à niveau vers la version 6.9.2 ou une version ultérieure, le passage à v4 ne nécessitera aucune modification du code ou du contenu.
Correctifs
Quelques bugs ont été corrigés lors de la mise à niveau :
- Publish Translations supprimait des groupes entiers de traductions lorsqu’un paramètre régional source avait été renommé (
enenen-US, par exemple). La publication identifiait l’entrée source danstranslation.metadataà partir de son libellé de langue ; ainsi, un document de métadonnées créé avant la modification ne correspondait à rien et le groupe était ignoré sans erreur. Les entrées source et de traduction sont désormais distinguées selon le document auquel elles font référence. - Translate All et Import All indiquent désormais leur progression. Auparavant, ils semblaient tous deux inactifs alors qu’une exécution était encore en cours, car chacun ne suivait que sa propre requête plutôt que le travail mis en file d’attente.
gtStructureItemsfixe une version de l’API Sanity, supprimant un avertissement d’obsolescence que Sanity a indiqué qu’il deviendrait une erreur.