El CDN de sdk.joyeriazafirox.com distribuye cada versión compilada del SDK con sus tipos y su tarball npm. La lista viva está en /cdn y en /cdn/manifest.json.
Rutas
| Ruta | Contenido | Caché |
|---|---|---|
/cdn/<versión>/index.js | Punto de entrada ESM de esa versión (por ejemplo 2.0.3) | public, max-age=31536000, immutable |
/cdn/<versión>/index.d.ts | Tipos TypeScript | inmutable |
/cdn/<versión>/generated/order-policy.generated.js | Módulo de política requerido por SDK 2.x | inmutable |
/cdn/<versión>/zafirox-client-sdk-<versión>.tgz | Paquete instalable con npm install <url> | inmutable |
/cdn/v1/… | Última versión 1.x publicada | max-age=300 + X-Sdk-Version |
/cdn/v2/… | Última versión 2.x publicada | max-age=300 + X-Sdk-Version |
/cdn/latest/… | Última versión de cualquier línea | max-age=300 + X-Sdk-Version |
/cdn/manifest.json | Versiones, canales, archivos, tamaños e integridad | max-age=300 |
Cada versión contiene los módulos ESM, sus .d.ts y mapas de fuente. La línea 2.x incluye generated/order-policy.generated.js y sus tipos. Los import internos son relativos y cada dependencia se sirve desde la misma versión.
Manifiesto
El ejemplo refleja el manifiesto con SDK 2.0.3 en los canales v2 y latest; las versiones anteriores conservan sus entradas y sus archivos inmutables.
{
"package": "@zafirox/client-sdk",
"channels": { "latest": "2.0.3", "v1": "1.1.0", "v2": "2.0.3" },
"versions": {
"2.0.3": {
"published_at": "<fecha UTC de la publicación>",
"entry": "index.js",
"types": "index.d.ts",
"files": {
"index.js": { "size": 1004, "sha384": "…", "integrity": "sha384-…" }
}
}
}
}Cabeceras
Access-Control-Allow-Origin: *,Cross-Origin-Resource-Policy: cross-originyTiming-Allow-Origin: *: el CDN puede importarse desde cualquier origen.ETagpor archivo;If-None-Matchdevuelve304.Content-Type: text/javascript; charset=utf-8para módulos;application/jsonpara el manifiesto y los mapas.X-Content-Type-Options: nosniffen todo.
Política de versiones
- Una versión publicada no cambia nunca. Una corrección se publica como versión nueva.
- Los canales (
v1,v2,latest) avanzan sólo hacia versiones mayores o iguales dentro de su línea. - Las versiones antiguas permanecen disponibles; la retirada de una línea mayor se anuncia en el registro de cambios con antelación.
Recomendación por entorno
| Entorno | Ruta |
|---|---|
| Desarrollo y pruebas de creación v2 | Canal v2 |
| Producción en navegador | Versión exacta + verificación del hash del manifiesto |
| Producción en Node.js | Tarball de versión exacta en package.json ("@zafirox/client-sdk": "https://sdk.joyeriazafirox.com/cdn/2.0.3/zafirox-client-sdk-2.0.3.tgz") |