sass-template-common 0.10.15 → 0.10.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,36 +1,36 @@
1
- # sass-template-common
2
-
3
- Librería web, maqueta de configuración y componentes para proyectos sass.
4
-
5
- ## Publicar nueva versión
6
-
7
- Para que los cambios se reflejen al publicar:
8
-
9
- 1. **Subir versión** (obligatorio; si no, npm rechaza o se usa la misma versión):
10
- ```bash
11
- pnpm version:patch # 0.3.21 → 0.3.22
12
- # o
13
- pnpm version:minor # 0.3.21 → 0.4.0
14
- pnpm version:major # 0.3.21 → 1.0.0
15
- ```
16
-
17
- 2. **Build limpio + publicar**:
18
- ```bash
19
- pnpm run clean && pnpm run build && pnpm publish
20
- ```
21
- O en un solo paso (patch):
22
- ```bash
23
- pnpm release:patch
24
- ```
25
-
26
- 3. **`prepublishOnly`**: Antes de cada `pnpm publish` se ejecuta `clean` + `build`, así siempre se publica un build nuevo.
27
-
28
- 4. **En proyectos que consumen la lib**: Actualizar la dependencia y reinstalar:
29
- ```bash
30
- pnpm update sass-template-common
31
- # o cambiar la versión en package.json y luego
32
- pnpm install
33
- ```
34
- Si usan versión fija (`"0.3.21"`), hay que actualizarla a la nueva (p. ej. `"0.3.22"`).
35
-
36
- **Si no ves los cambios:** comprueba que subiste la versión (`version:patch` o similar), que hiciste `clean` + `build` antes de publicar, y que el proyecto consumidor tiene actualizada la dependencia (o `^0.3.21` y ha ejecutado `pnpm update`).
1
+ # sass-template-common
2
+
3
+ Librería web, maqueta de configuración y componentes para proyectos sass.
4
+
5
+ ## Publicar nueva versión
6
+
7
+ Para que los cambios se reflejen al publicar:
8
+
9
+ 1. **Subir versión** (obligatorio; si no, npm rechaza o se usa la misma versión):
10
+ ```bash
11
+ pnpm version:patch # 0.3.21 → 0.3.22
12
+ # o
13
+ pnpm version:minor # 0.3.21 → 0.4.0
14
+ pnpm version:major # 0.3.21 → 1.0.0
15
+ ```
16
+
17
+ 2. **Build limpio + publicar**:
18
+ ```bash
19
+ pnpm run clean && pnpm run build && pnpm publish
20
+ ```
21
+ O en un solo paso (patch):
22
+ ```bash
23
+ pnpm release:patch
24
+ ```
25
+
26
+ 3. **`prepublishOnly`**: Antes de cada `pnpm publish` se ejecuta `clean` + `build`, así siempre se publica un build nuevo.
27
+
28
+ 4. **En proyectos que consumen la lib**: Actualizar la dependencia y reinstalar:
29
+ ```bash
30
+ pnpm update sass-template-common
31
+ # o cambiar la versión en package.json y luego
32
+ pnpm install
33
+ ```
34
+ Si usan versión fija (`"0.3.21"`), hay que actualizarla a la nueva (p. ej. `"0.3.22"`).
35
+
36
+ **Si no ves los cambios:** comprueba que subiste la versión (`version:patch` o similar), que hiciste `clean` + `build` antes de publicar, y que el proyecto consumidor tiene actualizada la dependencia (o `^0.3.21` y ha ejecutado `pnpm update`).
@@ -1165,7 +1165,10 @@ export declare function fetchMaybeBatched(route: string, fetchFn: (size: number,
1165
1165
  * Cache in-memory + deduplicación de requests en vuelo (misma clave → misma promesa).
1166
1166
  * TTL corto pensado para SSR: evita 4–5 GETs repetidos de menú/banners por instancia.
1167
1167
  */
1168
- export declare function fetchWithConfigCache<T>(cacheKey: string, fetchFn: () => Promise<T>, ttlMs?: number): Promise<T>;
1168
+ export declare function fetchWithConfigCache<T>(cacheKey: string, fetchFn: () => Promise<T>, options?: number | {
1169
+ ttlMs?: number;
1170
+ shouldCache?: (value: T) => boolean;
1171
+ }): Promise<T>;
1169
1172
 
1170
1173
  export declare const Font: ({ config }: {
1171
1174
  config: Config;
@@ -3360,22 +3363,42 @@ export declare type ReportReasonKey = keyof typeof REPORT_REASONS;
3360
3363
  export declare type RequiredGroup = Exclude<keyof ImageSizesContract, 'squareLg'>;
3361
3364
 
3362
3365
  /**
3363
- * Reintenta `fn` con backoff exponencial, acotando cada intento con `timeoutMs`
3364
- * (un fetch a un bucket S3 colgado no debe bloquear el request indefinidamente).
3366
+ * Defaults alineados con AWS SDK JS v3 (`standard` retry + NodeHttpHandler):
3367
+ * - maxAttempts 3 1 intento + 2 reintentos (`retries = 2`)
3368
+ * - backoff exponencial con full jitter (base 100ms, cap 20s)
3369
+ * - timeout por intento (SSR): el SDK no lo pone por defecto; acá sí para no
3370
+ * colgar el render si el bucket no responde.
3371
+ */
3372
+ export declare const RESILIENT_FETCH_DEFAULTS: {
3373
+ readonly retries: 2;
3374
+ readonly timeoutMs: 2500;
3375
+ readonly baseDelayMs: 100;
3376
+ readonly maxDelayMs: 20000;
3377
+ };
3378
+
3379
+ /**
3380
+ * Reintenta `fn` con backoff exponencial + jitter (paridad SDK `standard`),
3381
+ * acotando cada intento con `timeoutMs` (un fetch a un bucket S3 colgado no
3382
+ * debe bloquear el request indefinidamente).
3365
3383
  * Si se agotan los reintentos (o el error no es reintentable, ej. 404), registra el
3366
3384
  * fallo en DebugStore y devuelve `fallback` en vez de rechazar: una falla del bucket
3367
3385
  * no debe tumbar el render del sitio consumidor.
3368
3386
  */
3369
- export declare function resilientFetch<T, F>(fn: () => Promise<T> | T, fallback: F, { label, endpoint, params, retries, timeoutMs, baseDelayMs, }: ResilientFetchOptions): Promise<T | F>;
3387
+ export declare function resilientFetch<T, F>(fn: () => Promise<T> | T, fallback: F, { label, endpoint, params, retries, timeoutMs, baseDelayMs, maxDelayMs, }: ResilientFetchOptions): Promise<T | F>;
3370
3388
 
3371
3389
  export declare interface ResilientFetchOptions {
3372
3390
  /** Identifica el fetch en logs y en el DebugStore (ej. '/news-list-zone', 'bucket:menu'). */
3373
3391
  label: string;
3374
3392
  endpoint?: string;
3375
3393
  params?: Record<string, any>;
3394
+ /**
3395
+ * Reintentos adicionales tras el primer intento.
3396
+ * Default 2 → 3 intentos totales (paridad con `maxAttempts: 3` del SDK).
3397
+ */
3376
3398
  retries?: number;
3377
3399
  timeoutMs?: number;
3378
3400
  baseDelayMs?: number;
3401
+ maxDelayMs?: number;
3379
3402
  }
3380
3403
 
3381
3404
  /**