Publica fuentes de Beyond en npm

Publica un paquete como fuentes de Beyond para que el CDN lo reconozca y compile sus módulos públicos mediante Packages.

  • Disponibilidad: Planificado
  • Evidencia: Leído del código fuente
  • Guía práctica

Estado inicial

Tienes un paquete de Beyond con módulos públicos, y quieres que las aplicaciones del CDN puedan depender de él. Hay dos formas de publicación. Esta guía cubre la forma source: publicas tus fuentes, y el CDN compila los módulos públicos que las aplicaciones realmente alcanzan. Para la otra forma, consulta Publica una distribución precompilada.

Elige la forma source cuando quieras que el CDN produzca salidas para las condiciones y los formatos que pide cada aplicación, con la versión del compilador que ejecuta el CDN.

Declara la forma

Un paquete indica cómo fue publicado en el campo beyond.publication de su package.json:

JSON
{
  "name": "@acme/shop",
  "version": "1.4.0",
  "type": "module",
  "beyond": {
    "publication": { "protocol": "beyond-publication/1", "form": "source", "modules": "modules" }
  }
}
Miembro Obligatorio Significado
protocol Sí beyond-publication/1
form Sí source
modules No La raíz, relativa al paquete, de las fuentes de los módulos públicos. Cuando no se indica se aplica el valor predeterminado del paquete.

El campo es el único discriminador. Las extensiones de archivo y la estructura de directorios nunca deciden la forma.

Publica

Publica el paquete en tu registro con tus herramientas habituales de npm, y asegúrate de que el archivo incluya las fuentes de tus módulos públicos.

Úsalo desde una aplicación

Nombra el paquete en un target o en las selections de un registro. Durante la preparación, el CDN descarga la versión fijada, verifica su integridad, lee el campo y compila solo los módulos públicos alcanzables desde las entradas de la aplicación.

Fallos y límites

Situación Resultado
El campo está presente y no es válido: "publication": true, falta protocol, un form desconocido Un error. Nunca se trata como un paquete npm común.
El campo mezcla miembros de ambas formas, como modules junto con compiler Se rechaza: un campo no puede describir las dos formas
protocol es una versión posterior a la que conoce el CDN UNSUPPORTED_INPUT
Un módulo público no compila El trabajo de preparación falla con BUILD_FAILED y sus diagnósticos. El release activo no se toca.
  • Los archivos fuente internos no se convierten en módulos públicos por estar publicados. Solo se pueden direccionar los módulos públicos del paquete.
  • Un import dinámico con un destino calculado debe declararse; de lo contrario el cierre no se puede completar. Consulta Preparación e inventario.
  • Un paquete cuyos módulos públicos comparten archivos privados se informa como no compatible, porque el código se divide solo por módulo público y nada se divide más allá de eso. Los componentes de Svelte y de Shoelace son casos conocidos.