Volver

gt-sanity@4.0.0

Fernando Aviles avatarFernando Aviles
gt-sanityv4.0.0sanitycmstranslationmajor

Descripción general

gt-sanity v4 está diseñado para Sanity Studio 6. Sanity pasó de @sanity/ui 3 a @sanity/ui 4 en la versión 6.9.2, y los paquetes de Studio que incorporan ese cambio son singletons de runtime, por lo que el plugin ahora los resuelve desde tu Studio en lugar de incluir sus propias copias.

Los Studios con Sanity 6.0 a 6.8 siguen usando la generación @sanity/ui 3 y deben permanecer en gt-sanity 3.1.x. Primero actualiza Sanity a la versión 6.9.2 o posterior y luego pasa a v4.

La API del plugin y el contenido almacenado no cambian en v4. Si tu Studio usa Sanity 6.9.2 o una versión posterior, la actualización solo requiere instalarla.


Cambios incompatibles

Se requieren Sanity 6.9.2 y @sanity/ui 4

El rango de dependencias entre pares de sanity ahora es ^6.9.2. Antes era >=5.0.0, lo que permitía Sanity 6 aunque las dependencias del plugin fijaban la generación de Sanity 5. Las instalaciones se resolvían sin problemas en lugar de mostrar una advertencia, por lo que podía aparecer un runtime duplicado de Studio sin ninguna señal visible.

Ten en cuenta que se requiere Sanity 6.9.2, no cualquier versión de Sanity 6. @sanity/ui 4 se introdujo en la versión 6.9.2, por lo que los Studios con versiones entre la 6.0 y la 6.8 siguen usando la generación de @sanity/ui 3. Actualiza primero Sanity y luego pasa a gt-sanity 4.

Los paquetes de Studio ahora son dependencias entre pares

@sanity/ui, @sanity/icons, @sanity/schema y @sanity/mutator eran dependencias normales y ahora son dependencias entre pares que se resuelven desde el Studio anfitrión. Instalarlos junto con una versión distinta de Sanity anidaba una segunda copia, lo que generaba registros de esquemas duplicados y contextos de tema duplicados de styled-components. Un Studio con Sanity 6.9.2 o superior ya proporciona los cuatro, por lo que no se requiere ningún paso de instalación adicional.

Las versiones mínimas de @sanity/document-internationalization y sanity-plugin-internationalized-array se elevaron a ^6.2.30 y ^5.1.27. Las versiones mínimas anteriores podían resolverse en versiones que solo admiten Sanity 5, otra vía para acabar con un runtime duplicado. Se eliminó la dependencia sin usar @sanity/util.

Solo ESM

Se eliminaron la compilación de CommonJS y la condición de exportación require, en línea con @sanity/ui 4. Importa el plugin con la sintaxis ESM import.

Node.js 22.12 o posterior

Se sube desde la versión 18 para igualar sanity y @sanity/ui 4.


Seguir usando Sanity 5

gt-sanity 3.1.x sigue siendo la versión compatible con los Studios de Sanity 5 y con Sanity 6.0 a 6.8. No está obsoleta, y mantener esta versión fijada es una opción válida si aún no estás listo para migrar tu Studio.

npm install gt-sanity@^3.1

El conjunto de funcionalidades de v3 no cambia. Cuando actualices Sanity a la versión 6.9.2 o posterior, la migración a v4 no requiere cambios en el código ni en el contenido.


Correcciones

Se corrigieron algunos errores junto con la actualización:

  • Publicar traducciones descartaba grupos completos de traducciones cuando se cambiaba la etiqueta de una configuración regional de origen (por ejemplo, de en a en-US). Al publicar, la entrada de origen se identificaba en translation.metadata mediante su etiqueta de idioma, por lo que un documento de metadatos creado antes del cambio no coincidía con nada y el grupo se omitía sin mostrar ningún error. Ahora las entradas de origen y de traducción se distinguen por el documento al que hacen referencia.
  • Traducir todo e Importar todo ahora muestran el progreso. Antes, ambos parecían inactivos mientras una ejecución seguía en curso, ya que cada uno solo rastreaba su propia solicitud en lugar del trabajo encolado.
  • gtStructureItems fija una versión de la API de Sanity, lo que elimina una advertencia de obsolescencia que, según Sanity, se convertirá en un error.

Enlaces