Ir al contenido

Migrar de v0.8.x a v1.0.0

Esta guía cubre @mauriciodmo/framekit 0.8.x1.0.0. Actualiza @mauriciodmo/create-framekit de 0.8.x a 1.0.0 solo para crear proyectos nuevos; el creador no actualiza proyectos existentes.

FrameKit 1.0.0 hace que la autenticación sea opcional. Si FRAMEKIT_AUTH_ENABLED no está definida o vale false, /editor y /brand están disponibles sin sesión, /login redirige a /editor, /settings y la API de acceso responden como no encontradas, y el renderizado de imágenes no requiere credenciales. En este modo, cualquier cliente que pueda acceder al servidor puede usar Studio y la API de imágenes.

Define FRAMEKIT_AUTH_ENABLED=true antes de desplegar 1.0.0 si el despliegue debe mantener Studio y el renderizado de imágenes protegidos. No dependas de NODE_ENV, las credenciales existentes ni un archivo SQLite para activar la autenticación.

  1. Haz una copia de seguridad de la configuración del proyecto y de los datos existentes de FrameKit.

  2. Añade esta variable al entorno que utiliza el runtime real, antes de instalar o iniciar 1.0.0:

    FRAMEKIT_AUTH_ENABLED=true
  3. Si la base de datos de autenticación aún no tiene administrador, proporciona también un FRAMEKIT_ADMIN_PASSWORD válido para crear el primer administrador. Las variables de bootstrap no reemplazan a los usuarios de una base de datos existente.

  4. Mantén FRAMEKIT_DATABASE_PATH apuntando a la misma ubicación de base de datos, escribible y persistente, si los datos de autenticación deben sobrevivir a los reinicios. El valor predeterminado es .framekit-data/framekit.sqlite.

  5. Actualiza a 1.0.0 la dependencia @mauriciodmo/framekit del proyecto existente e instala las dependencias. Después, regenera y verifica el proyecto antes del despliegue:

    Ventana de terminal
    pnpm install
    pnpm exec framekit generate
    pnpm exec framekit check
    pnpm build
  6. Después del despliegue, comprueba que una solicitud sin autenticar a /editor redirige a /login, que el administrador configurado puede iniciar sesión y que el renderizado de imágenes rechaza solicitudes sin una sesión o un token de API válidos.

Si necesitas revertir el despliegue, restaura la versión anterior del paquete y la configuración del runtime desde la copia de seguridad. Conserva intacta la base de datos de 1.0.0; no des por hecho que una versión anterior pueda leer datos creados por una versión posterior.

Si Studio y el renderizado de imágenes deben estar disponibles sin iniciar sesión, deja la variable sin definir o establece FRAMEKIT_AUTH_ENABLED=false. Considera públicas ambas superficies para todos los clientes que puedan acceder al proceso. Se mantienen las protecciones del renderizador para entradas, imágenes, navegador, tiempos límite y limpieza; las cargas de assets de desarrollo siguen exigiendo solicitudes del mismo origen.

El modo abierto no inicializa la base de datos de acceso. Desactivar la autenticación más adelante no elimina usuarios, sesiones ni tokens de API. Para activar la autenticación después de usar el modo abierto, define FRAMEKIT_AUTH_ENABLED=true y un FRAMEKIT_ADMIN_PASSWORD válido para poder crear el primer administrador.

Esta guía cubre el cambio del valor predeterminado de autenticación. Si el proyecto aún no adoptó el contrato actual de plantillas o archivos generados, sigue también la lista de comprobación de migración al contrato actual.