Conceptos

Manifiesto del sitio

Cómo Showly describe rutas, comandos de compilación y necesidades de tiempo de ejecución.

El manifiesto del sitio es el documento que Showly utiliza para saber cómo crear, implementar y servir su sitio. Vive en la raíz de su espacio de trabajo importado como showly.json. Es la fuente de verdad para cada compilación: la detección automática produce una versión inicial al importar; puedes editarlo a mano en cualquier momento.

Todos los campos son opcionales excepto rootDirectory, que por defecto es .. Showly completa los valores predeterminados sensibles de la detección automática, por lo que un manifiesto válido mínimo puede ser un objeto vacío.

Forma

{
  "rootDirectory": ".",
  "runtime": "node",
  "runtimeVersion": "22",
  "packageManager": "pnpm",
  "installCommand": "pnpm install",
  "buildCommand": "pnpm build",
  "output": {
    "type": "static",
    "directory": "dist"
  },
  "startCommand": "node server.js"
}

Referencia de campo

rootDirectory: el directorio dentro del repositorio que contiene el sitio. El valor predeterminado es .. Establezca esto cuando un único repositorio contenga un sitio en un subdirectorio.

runtime: el tiempo de ejecución del sitio implementado. Uno de static, node, rust, go o docker. Si se omite, Showly lo infiere del marco detectado.

runtimeVersion: la versión del tiempo de ejecución (por ejemplo, la versión principal de Node). Showly admite las líneas Active LTS actuales; el set en vivo es a las GET /admin/platform/runtime-catalog.

packageManager: el administrador de paquetes que se utilizará (por ejemplo, pnpm, npm o yarn). El valor predeterminado es el detectado en el archivo de bloqueo.

installCommand: el comando de shell que instala las dependencias. El valor predeterminado es el comando de instalación estándar del administrador de paquetes.

buildCommand: el comando de shell que produce un artefacto implementable. El valor predeterminado es el comando de compilación estándar del marco, pero puede proporcionar el suyo propio.

output — Dónde y cómo la compilación emite su artefacto. Un objeto anidado con dos claves opcionales: type (el tipo de artefacto) y directory (la ruta en la que escribe la compilación, en relación con rootDirectory).

startCommand: el comando que inicia el servidor para tiempos de ejecución que ejecutan un proceso de larga duración (por ejemplo, node). Los sitios estáticos no lo necesitan.

Detección de marco

framework no es una entrada de manifiesto: Showly lo detecta automáticamente desde package.json, el archivo de bloqueo y otras convenciones del repositorio. El valor detectado es uno de astro, vite, next-export, static-html, custom o unknown. Si el marco se resuelve en unknown, la compilación falla con un UnsupportedFrameworkError; establezca runtime y los comandos relevantes explícitamente para implementar un proyecto Showly no se pueden clasificar.

Cuándo editar manualmente

  • Cambiaste tu comando de compilación y quieres que Showly te siga.
  • Su repositorio tiene el sitio en un subdirectorio: establezca rootDirectory.
  • La detección automática adivinó mal el tiempo de ejecución: establezca runtime explícitamente.
  • Su comando de instalación o inicio difiere del predeterminado del administrador de paquetes.

Modos de validación y falla

  • Si showly.json no es válido JSON, o se analiza a algo que no sea un objeto, la compilación falla con un InvalidManifestError.
  • Si el marco no se puede clasificar (se resuelve en unknown), la compilación falla con un UnsupportedFrameworkError.

Lo que el manifiesto no controla

  • Valores de variables de entorno: se establecen por entorno en la interfaz de usuario Showly y se encuentran en el almacén de secretos.
  • Reglas de aprobación: son políticas del espacio de trabajo.
  • Destino de implementación (contenedor sin servidor versus estático CDN): esa es una configuración de destino de implementación.

El manifiesto es _cómo se ve la compilación_. La configuración del espacio de trabajo es _quién puede hacer qué con el resultado_.