sass-template-common 0.10.36 → 0.10.38

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`).
@@ -203,32 +203,6 @@ export declare const bannersReplace: (bannerLineAd: string, replaces?: {
203
203
  [key: string]: string;
204
204
  }) => string;
205
205
 
206
- /**
207
- * Variante metadata: mismo split que `createBatchedFetch` pero devuelve
208
- * `hasNextPage` (último batch lleno) y el primer response crudo, para derivar
209
- * next/prev y el título de sección. Lee el conteo de batches del MISMO
210
- * `CONFIG_batchedFetch` que el render (vía `resolveBatchCount`), de modo que la
211
- * paginación de metadata y la lista visible nunca discrepan.
212
- *
213
- * `ceil` (antes `floor`) alinea la matemática con `createBatchedFetch`; para los
214
- * totales usados en prod (45, 15) ambos coinciden por ser divisibles.
215
- */
216
- export declare function batchedNewsFetch({ fetchFn, baseParams, userPage, newsListLimit, batchCount, }: BatchFetchParams): Promise<BatchFetchResult>;
217
-
218
- declare type BatchFetchParams = {
219
- fetchFn: (params: Params) => Promise<any> | undefined;
220
- baseParams: Params;
221
- userPage: number;
222
- newsListLimit: number;
223
- batchCount?: number;
224
- };
225
-
226
- export declare type BatchFetchResult = {
227
- data: any[];
228
- hasNextPage: boolean;
229
- firstBatchResponse: any;
230
- };
231
-
232
206
  export declare const becomeVideoObject: (video: VideoResponseData, showtime?: boolean, showsubtitle?: boolean, showauthor?: boolean) => NewListResponseData;
233
207
 
234
208
  export declare interface BlockSaasResponse {
@@ -865,6 +839,16 @@ export declare const ContentLayout1: FC<Props_24>;
865
839
 
866
840
  export declare const ContentLayoutTema: FC<Props_38>;
867
841
 
842
+ /**
843
+ * Aviso RUIDOSO de violación de contrato: un campo REQUERIDO por el render llegó
844
+ * ausente. El componente degrada para no romper el stream SSR (evita el "200 OK +
845
+ * HTML de Internal Server Error"), pero deja rastro para detectar el agujero.
846
+ *
847
+ * NO debería dispararse nunca si el consumidor valida el contrato en su frontmatter
848
+ * (ver ENTREGABLE-1). Si aparece en los logs, el contrato tiene un hueco.
849
+ */
850
+ export declare const contractWarn: (component: string, field: string, extra?: unknown) => void;
851
+
868
852
  export declare const createAssessment: ({ projectID, recaptchaKey, token, recaptchaAction, apiKey, userAgent, userIpAddress, }: CreateAssessmentParams) => Promise<number | null>;
869
853
 
870
854
  /**
@@ -889,25 +873,6 @@ declare interface CreateAssessmentParams {
889
873
  userIpAddress?: string;
890
874
  }
891
875
 
892
- /**
893
- * Divide un fetch de lista en `batches` requests paralelos de `ceil(totalSize/
894
- * batches)` ítems cada uno (páginas contiguas del upstream) y concatena los
895
- * resultados en orden, devolviendo el MISMO envelope que un fetch único
896
- * (`{ data: { data: [] } }`) para que caiga directo en un `PromiseArray` con
897
- * `custom_extractData: getResponse`.
898
- *
899
- * Mapeo de páginas (batches=5, totalSize=45 → batchSize=9):
900
- * userPage=1 → API pages 1..5 (ítems 1–45)
901
- * userPage=2 → API pages 6..10 (ítems 46–90)
902
- *
903
- * `fetchFn` recibe `(size, page)` y devuelve la respuesta del CMS o `undefined`.
904
- */
905
- export declare function createBatchedFetch(fetchFn: (size: number, page: number) => Promise<any> | undefined, totalSize: number, userPage: number, batches?: number): Promise<{
906
- data: {
907
- data: any[];
908
- };
909
- }>;
910
-
911
876
  export declare const cutString: (text: string, length?: number) => string;
912
877
 
913
878
  export declare interface DataNews {
@@ -1177,18 +1142,6 @@ export declare type FetchConfig = {
1177
1142
  newsType: string;
1178
1143
  };
1179
1144
 
1180
- /**
1181
- * Envuelve `fetchFn` con batch SI la ruta está activada en config; si no, hace
1182
- * el fetch único (comportamiento de master). Behavior-preserving cuando el batch
1183
- * está off, así que es seguro envolver todas las rutas de lista de una — solo
1184
- * las que estén en `CONFIG_batchedFetch.routes` cambian de comportamiento.
1185
- */
1186
- export declare function fetchMaybeBatched(route: string, fetchFn: (size: number, page: number) => Promise<any> | undefined, totalSize: number, userPage: number): Promise<{
1187
- data: {
1188
- data: any[];
1189
- };
1190
- }>;
1191
-
1192
1145
  /**
1193
1146
  * Cache in-memory + deduplicación de requests en vuelo (misma clave → misma promesa).
1194
1147
  * TTL corto pensado para SSR: evita 4–5 GETs repetidos de menú/banners por instancia.
@@ -1778,14 +1731,6 @@ export declare const isHomePath: (pathname?: string) => boolean;
1778
1731
 
1779
1732
  export declare const isPhotoGallery: (news: NewListResponseData) => boolean | undefined;
1780
1733
 
1781
- /**
1782
- * ¿La ruta tiene batch activo? Precedencia:
1783
- * 1. `CONFIG_batchedFetch.routes[route]` explícito (true/false) gana.
1784
- * 2. Retro-compat: el legacy `CONFIG_sectionBatchedFetch` solo cubría `seccion`.
1785
- * 3. Off por default.
1786
- */
1787
- export declare function isRouteBatched(route: string): boolean;
1788
-
1789
1734
  export declare class IssuuServices {
1790
1735
  private issuuApi;
1791
1736
  private api;
@@ -1891,37 +1836,6 @@ export declare type LibraryConfig = {
1891
1836
  CONFIG_videoClipUrl?: string;
1892
1837
  CONFIG_newNoteBannersIndexing?: boolean;
1893
1838
  CONFIG_buscar_html?: boolean;
1894
- /**
1895
- * @deprecated Reemplazado por `CONFIG_batchedFetch.routes.seccion`. Se mantiene
1896
- * como shim de retro-compatibilidad: si `CONFIG_batchedFetch` no está seteado y
1897
- * este flag es `true`, el batch de sección (solo metadata next/prev) sigue
1898
- * funcionando con el conteo default. Cuando ambos están, `CONFIG_batchedFetch`
1899
- * gana. Remover cuando todos los sitios migren a `CONFIG_batchedFetch`.
1900
- */
1901
- CONFIG_sectionBatchedFetch?: boolean;
1902
- /**
1903
- * [renderizado] Formaliza el fetch de listas de noticias por batches: divide un
1904
- * único fetch de `config.newsListLimit` ítems en `batches` fetches paralelos
1905
- * (páginas contiguas del upstream) y los concatena, devolviendo el MISMO
1906
- * envelope que un fetch único. Es la versión canónica del sistema que vivía
1907
- * suelto en soyfutbol (`newsListBatches` + `batchFetchRoutes`).
1908
- *
1909
- * - `batches`: número de fetches paralelos por lista. Sin la key (o 1) → un
1910
- * único fetch = comportamiento de master (aditivo, cero cambio por default).
1911
- * - `routes`: opt-in por ruta (`home`/`seccion`/`tema`/`ultimas-noticias`/
1912
- * `autor`/...). Solo las rutas en `true` se batchean; el resto hace fetch único.
1913
- *
1914
- * Unifica render y metadata: cuando una ruta está activa acá, tanto la lista
1915
- * visible como la derivación next/prev usan el MISMO `batches`, evitando el
1916
- * desajuste "next dice que hay más pero la página muestra un solo fetch".
1917
- * Reemplaza al legacy `CONFIG_sectionBatchedFetch`.
1918
- */
1919
- CONFIG_batchedFetch?: {
1920
- /** N fetches paralelos por lista. Default efectivo 3 si algo lo activa sin fijarlo. */
1921
- batches?: number;
1922
- /** Opt-in por ruta. Claves = route keys de `MetadataDefaultsKeys`. */
1923
- routes?: Record<string, boolean>;
1924
- };
1925
1839
  /**
1926
1840
  * [render] Cuando es `true`, `LandingTemplate` renderiza las cards de tipo
1927
1841
  * `imagen` con el fast-render HTML-string (`homeCardImagenToHTMLString`) en
@@ -3465,13 +3379,6 @@ export declare interface ResilientFetchOptions {
3465
3379
  maxDelayMs?: number;
3466
3380
  }
3467
3381
 
3468
- /**
3469
- * Conteo de batches efectivo leído de `getConfig().CONFIG_batchedFetch.batches`.
3470
- * Default `3` cuando algo activa el batch sin fijar el número (preserva el
3471
- * comportamiento histórico del path de metadata, cuyo default era 3).
3472
- */
3473
- export declare function resolveBatchCount(): number;
3474
-
3475
3382
  export declare function resolveBucketMenuSubtype(path?: string): string;
3476
3383
 
3477
3384
  /**