Publica una distribución precompilada

Compila tu paquete antes de publicarlo y decláralo como distribución, para que el CDN entregue tus salidas en lugar de compilar tus fuentes.

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

Estado inicial

Quieres controlar la compilación tú: primero compilas el paquete y publicas el resultado. El CDN reconoce el paquete como una distribución y no compila sus fuentes. Para la otra forma, consulta Publica fuentes de Beyond en npm.

Declara la forma

JSON
{
  "name": "@acme/cart",
  "version": "2.0.1",
  "type": "module",
  "exports": { "./summary": "./summary.js", "./checkout": "./checkout.js" },
  "beyond": {
    "publication": {
      "protocol": "beyond-publication/1",
      "form": "distribution",
      "compiler": { "name": "@beyond-js/packages", "version": "0.4.0" },
      "formats": ["esm", "system"],
      "conditions": ["browser", "production"],
      "sourcemaps": true
    }
  }
}
Miembro Obligatorio Significado
protocol Sí beyond-publication/1
form Sí distribution
compiler Sí El name y la version del compilador que produjo las salidas. Es parte de lo que hace comparables dos salidas.
formats Sí Al menos uno de esm y system
conditions No Las condiciones para las que se generaron las salidas
sourcemaps No Si la distribución incluye source maps

Los valores del ejemplo son los del fixture del contrato, no una versión de compilador recomendada.

Incluye el manifiesto de la distribución

La declaración no tiene ningún miembro que nombre un archivo, así que la estructura es fija: una distribución lleva beyond-distribution.json en la raíz del paquete, con el protocolo beyond-distribution/1. Enumera, para cada módulo público, sus referencias (eager, lazy o style), sus recursos y sus variantes; cada variante indica sus conditions, su format y sus archivos de salida con su media, su digest y sus bytes.

El CDN lee una distribución a partir de este manifiesto y nunca la compila. Devuelve los archivos indicados completos o no devuelve nada, después de verificar cada digest.

Publica

Publica el paquete compilado con tus herramientas habituales de npm. Ninguna herramienta de Beyond ejecuta npm publish por ti.

Qué puede servir el CDN a partir de ella

El CDN solo puede entregar lo que la distribución contiene. Una aplicación que pide un formato o una condición para los que la distribución no se generó no puede obtenerlos de este paquete: la preparación informa la entrada que no puede satisfacer en lugar de compilar otra cosa.

Situación Resultado
form: "distribution" sin compiler o sin formats Un error: el campo no es válido
Falta beyond-distribution.json o no se puede leer, falta un archivo indicado o un digest no coincide La distribución se rechaza; no se sirve nada de ella
Ninguna variante coincide con las condiciones y el formato pedidos La preparación nombra las variantes que la distribución tiene
El campo mezcla miembros de ambas formas Se rechaza
La aplicación necesita format=system y la distribución solo indica esm La salida no está disponible desde este paquete

Cómo elegir entre las dos formas

Source Distribution
Quién compila El CDN, mediante Packages Tú, antes de publicar
Formatos y condiciones Lo que prepare cada aplicación Solo lo que generaste
Versión del compilador La que ejecuta el CDN La que declaras
Qué descargan los demás Tus fuentes Tus salidas