diff --git a/NEXT_STEPS.md b/NEXT_STEPS.md index ffccda9..af016dc 100644 --- a/NEXT_STEPS.md +++ b/NEXT_STEPS.md @@ -3,6 +3,7 @@ Estado al cierre: - Suite unitaria verde: `npm test` -> 103 archivos, 1189 tests. +- Typecheck verde: `npm run check` -> 0 errores, 0 warnings. - `fmts` verde: `npx vitest run src/arts/fmts` -> 14 archivos, 39 tests. - `conn` verde: `npx vitest run src/arts/conn` -> 5 archivos, 28 tests. - `auth` verde: `npx vitest run src/arts/auth src/svrs/auth src/libs/auth` -> 4 archivos, 14 tests. @@ -62,7 +63,7 @@ Estado al cierre: - `src/arts/conn/README.md` ampliado: contrato de raíz/conexión/canal, estados, transportes, request/reply, reconnect, heartbeat, sesión, diagnostics/logger, errores y testing. - `src/arts/fmts/README.md` ampliado con guia de uso, `LocaleSource`, contrato auto/manual, submodulos, listeners, integracion con `aapp` y tests. - `fmts` redujo boilerplate activo con helpers `readFrom` / `writeTo` y los engines comparten directamente las funciones de `createFormatsLocaleState`; APIs públicas sin cambios. -- No tocar `src/web/routes/temp/` hasta decidir que hacer con esa pagina. +- `src/web/routes/temp/` corregido: scripts tipados, warnings Svelte eliminados y compatible con `npm run check`. - No commitear `.idea/`, `.claude/` ni `.opencode/`. Pendiente para manana: @@ -71,4 +72,4 @@ Pendiente para manana: - Continuar la reduccion de archivos grandes: prioridad `conn/connection.ts`, extraccion progresiva de runtime read/write en `libs/cach` y separar helpers de test/server auth cuando crezcan. - Ampliar tests de integracion cruzada: `auth + sess + perm + cach + http + stor + fmts + conn + timr + logr`. - Revisar la adopcion final del contrato comun `Logger` / diagnostics en todos los modulos, sin acoplar artefactos a `arts/logr`; primera pasada limpia salvo `aapp` como composition root, `arts/logr` y tests. -- Decidir que hacer con la pagina temporal que bloquea `npm run check`; mientras tanto, validar con `npm test` y tests focalizados. +- Mantener `npm run check` dentro de la validacion regular junto a `npm test`. diff --git a/src/libs/cach/test/runtime-mutation.test.ts b/src/libs/cach/test/runtime-mutation.test.ts index 7caab8b..bed6735 100644 --- a/src/libs/cach/test/runtime-mutation.test.ts +++ b/src/libs/cach/test/runtime-mutation.test.ts @@ -30,7 +30,7 @@ function context(schemaVersion = 'Item:v1'): ResolvedCacheContext { }; } -function envelope(value: unknown, schemaVersion = 'Item:v1'): CacheEnvelope { +function envelope(value: T, schemaVersion = 'Item:v1'): CacheEnvelope { return { value, meta: { @@ -103,10 +103,13 @@ describe('runCacheMutation', () => { contextFor: vi.fn(async () => context()), getEnvelope: vi.fn(async () => envelope(1)), safeDelete: vi.fn(), - createEnvelope: vi.fn(async (value, _ctx, tags) => ({ - ...envelope(value), - meta: { ...envelope(value).meta, tags } - })), + createEnvelope: async (value: T, _ctx: ResolvedCacheContext, tags: string[]) => { + const next = envelope(value); + return { + ...next, + meta: { ...next.meta, tags } + }; + }, writeEnvelope: vi.fn(async (_ctx, next) => { written.push(next); }) diff --git a/src/libs/cach/test/runtime-refresh.test.ts b/src/libs/cach/test/runtime-refresh.test.ts index 116276a..1fb31d2 100644 --- a/src/libs/cach/test/runtime-refresh.test.ts +++ b/src/libs/cach/test/runtime-refresh.test.ts @@ -67,7 +67,7 @@ describe('refreshCacheInBackground', () => { { key: ['item'], scope: CACHE_SCOPE_PUBLIC, fetcher: async () => 'next' }, { singleflight: { has: () => false, run: vi.fn(async (_key, fn) => fn()) }, - fetchAndStore: vi.fn(async () => 'next'), + fetchAndStore: async () => 'next' as T, emit: (type) => { events.push(type); } diff --git a/src/web/routes/temp/c1/+page.svelte b/src/web/routes/temp/c1/+page.svelte new file mode 100644 index 0000000..240e3dd --- /dev/null +++ b/src/web/routes/temp/c1/+page.svelte @@ -0,0 +1,302 @@ + + +
+
+
+ Cortina de fuelle +

Scroll para abrir

+

+ Cada imagen ocupa una lama vertical. El scroll controla la apertura, + la separación y el ángulo de giro. +

+
+ +
+ {#each images as image, index} +
+
+
+
+
+ {/each} +
+ +
+
+
+
+
+ + diff --git a/src/web/routes/temp/c2/+page.svelte b/src/web/routes/temp/c2/+page.svelte new file mode 100644 index 0000000..b9f43b1 --- /dev/null +++ b/src/web/routes/temp/c2/+page.svelte @@ -0,0 +1,92 @@ + + + +
+
+ Solo este fin de semana +

Hasta -40% en toda la colección

+

+ Las piezas más buscadas vuelven con descuento. Cuando la cortina cae, no + vuelve a abrirse. +

+ Comprar ahora +
+
+
+ + diff --git a/src/web/routes/temp/c2/Curtain.svelte b/src/web/routes/temp/c2/Curtain.svelte new file mode 100644 index 0000000..99734b2 --- /dev/null +++ b/src/web/routes/temp/c2/Curtain.svelte @@ -0,0 +1,294 @@ + + +
+
+
+ {@render children?.()} +
+ +
+ +
+ {#each blades as i (i)} +
+
+
+ {/each} +
+
+
+ +