2.6 KiB
DateKeys App
Implementación en TypeScript del protocolo DateKeys v0.8.1 y página de prueba en el navegador. Sustituye al prototipo, archivado en ../AppOld (API Quicknet en Go, CLI tlock y cliente Svelte, commit 4d2b0a1).
La implementación de referencia es la librería Go g.activething.com/go/DateKeys, en ../datekeys-go. El plan de trabajo está en docs/PLAN_codec_cbor_y_pagina_svelte.md.
Contenido previsto
| Parte | Ubicación | Paso del plan |
|---|---|---|
Codec CBOR del subconjunto, parsers de schema, DateKey, inspect |
src/lib/dkc/ |
4 |
| Página inspector, sin red | SvelteKit, ruta /inspect |
5 |
| Cifrado y descifrado en el navegador | fase 2 | 6 |
Reglas
- Los fixtures y vectores del Go son la verdad. Este proyecto nunca genera fixtures propios:
testdata/es una copia exacta de un commit de la librería Go. - Dependencias de ejecución: solo
age,drand,tlocky lo que ellas arrastran. Ahora mismo no hay ninguna. - Tooling de desarrollo: solo el de la lista siguiente. Cualquier otra dependencia se propone por escrito y no se instala sin aprobación.
Tooling de desarrollo
| Paquete | Versión | Estado |
|---|---|---|
typescript |
5.9.3 | en package.json; ya usado en el prototipo |
vitest |
5.0.1 | en package.json; ya usado en el prototipo |
@vitest/coverage-v8 |
la de vitest |
pendiente de aprobación; cobertura del 100 % del codec |
@types/node |
24.x | pendiente de aprobación; tests que leen testdata/ desde disco |
svelte, @sveltejs/kit, @sveltejs/vite-plugin-svelte, vite, svelte-check |
las del prototipo | paso 5 |
@sveltejs/adapter-static |
por fijar | paso 5, pendiente de aprobación: la página es estática y no necesita servidor |
Todas las versiones se fijan exactas y package-lock.json se versiona.
testdata
npm run testdata:sync
Copia testdata/ de ../datekeys-go en HEAD, leyendo los blobs con git para no arrastrar cambios sin commit, y escribe testdata/SOURCE.json con el commit completo y el SHA-256 de cada fichero. Para fijar otro commit: node scripts/sync-testdata.mjs sync --commit <rev>.
npm run testdata:check
Comprueba que los ficheros coinciden con SOURCE.json, sin faltantes ni sobrantes, y vuelve a leerlos del repositorio Go en el commit registrado. Sin la opción --against, node scripts/sync-testdata.mjs check verifica solo la copia local. Ambos comandos usan solo Node y git.
.gitattributes marca testdata/** como binario para que git no altere ningún byte.
Copia actual: 22 ficheros de 5719f6a4b3654f608091e32290d9fcfbc7e38062.