sass-template-common 0.9.240 → 0.10.0

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`).
@@ -497,7 +497,11 @@ export declare class CommonServices {
497
497
  }, any, {}>> | undefined;
498
498
  getMainMenu: (params: Params) => Promise<AxiosResponse<{
499
499
  data: Array<MenuResponse>;
500
- }, any, {}>> | undefined;
500
+ }, any, {}> | {
501
+ data: {
502
+ data: Array<MenuResponse>;
503
+ };
504
+ } | undefined> | undefined;
501
505
  getNewsListZone: (params: Params) => Promise<AxiosResponse<NewListResponse, any, {}>> | undefined;
502
506
  getNewsListZoneSection: (params: Params) => Promise<AxiosResponse<NewListResponse, any, {}>> | undefined;
503
507
  getNewsList: (params: Params) => Promise<AxiosResponse<NewListResponse, any, {}>> | undefined;
@@ -523,16 +527,20 @@ export declare class CommonServices {
523
527
  }, any, {}>> | undefined;
524
528
  getBanners: (params: Params) => Promise<AxiosResponse<{
525
529
  data: Array<BannerResponse>;
526
- }, any, {}> | undefined>;
530
+ }, any, {}> | {
531
+ data: {
532
+ data: Array<BannerResponse>;
533
+ };
534
+ } | undefined>;
527
535
  getPages: (params: Params) => Promise<AxiosResponse<{
528
536
  data: Array<FreeZoneResponse>;
529
537
  }, any, {}>> | undefined;
530
538
  getRankingS3: (url: string, headers?: {
531
539
  Referer: string;
532
- }) => Promise<void | AxiosResponse<{
540
+ }) => Promise<AxiosResponse<{
533
541
  data: Array<NewListResponseData>;
534
542
  }, any, {}> | {
535
- data: never[];
543
+ data: Array<NewListResponseData>;
536
544
  }>;
537
545
  getNews: (params: Params) => Promise<AxiosResponse<{
538
546
  data: Array<NewListResponseData>;
@@ -553,9 +561,7 @@ export declare class CommonServices {
553
561
  data: Array<NewListResponseData>;
554
562
  }, any, {}>> | undefined;
555
563
  getNewsItemsRelated: (path: string, params?: Params) => Promise<AxiosResponse<NewListResponse, any, {}> | {
556
- data: {
557
- data: never[];
558
- };
564
+ data: NewListResponse;
559
565
  }> | undefined;
560
566
  sendEmail: (data: EmailParams) => Promise<AxiosResponse<{
561
567
  data: Array<ItemList>;
@@ -908,6 +914,12 @@ export declare type EmailParams = {
908
914
  body: string;
909
915
  };
910
916
 
917
+ /**
918
+ * Fallback completo (no solo `{data: []}`) para endpoints tipados `NewListResponse`:
919
+ * algunos consumidores leen `response.data.entity`/`site`/`publication`, no solo `.data.data`.
920
+ */
921
+ export declare function emptyNewListResponse(): NewListResponse;
922
+
911
923
  export declare function encodeApiEnv<T extends Record<string, any>>(env: T): Record<string, any>;
912
924
 
913
925
  export declare interface Entity {
@@ -2974,6 +2986,25 @@ export declare interface ReportCommentParams {
2974
2986
 
2975
2987
  export declare type ReportReasonKey = keyof typeof REPORT_REASONS;
2976
2988
 
2989
+ /**
2990
+ * Reintenta `fn` con backoff exponencial, acotando cada intento con `timeoutMs`
2991
+ * (un fetch a un bucket S3 colgado no debe bloquear el request indefinidamente).
2992
+ * Si se agotan los reintentos (o el error no es reintentable, ej. 404), registra el
2993
+ * fallo en DebugStore y devuelve `fallback` en vez de rechazar: una falla del bucket
2994
+ * no debe tumbar el render del sitio consumidor.
2995
+ */
2996
+ export declare function resilientFetch<T, F>(fn: () => Promise<T> | T, fallback: F, { label, endpoint, params, retries, timeoutMs, baseDelayMs, }: ResilientFetchOptions): Promise<T | F>;
2997
+
2998
+ export declare interface ResilientFetchOptions {
2999
+ /** Identifica el fetch en logs y en el DebugStore (ej. '/news-list-zone', 'bucket:menu'). */
3000
+ label: string;
3001
+ endpoint?: string;
3002
+ params?: Record<string, any>;
3003
+ retries?: number;
3004
+ timeoutMs?: number;
3005
+ baseDelayMs?: number;
3006
+ }
3007
+
2977
3008
  export declare interface RoutePathConfig {
2978
3009
  autor: string | 'autor';
2979
3010
  tema: string | 'tema';