3754abe694
Mismo motor que la app de escritorio, pero client-side: los ficheros nunca salen del navegador. Listar un EAR sólo lee la cola del fichero y las entradas se inflan bajo demanda con DecompressionStream, que es lo que hace usable un archivo grande en una pestaña. - zip.ts: lector del directorio central, ZIP64, detección por firma - content.ts: binario/texto/semántico; JSON por estructura y XML canónico con hermanos repetidos tratados como conjunto - diff.ts: alineación LCS con recorte de prefijo/sufijo y clasificación de la diferencia (espacios / comentario / contenido) - tree.ts: árboles de carpetas y archivos, emparejado por nombre y CRC32 del directorio central para resolver iguales sin leer bytes 34 tests portados de los del motor Swift: existen para probar que ambas implementaciones dan el mismo veredicto. Closes #5 Closes #6 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015hEAYuHRKMYz9sSa9zmbzz
14 lines
297 B
JSON
14 lines
297 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
"module": "ESNext",
|
|
"moduleResolution": "bundler",
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"skipLibCheck": true,
|
|
"types": ["vitest/globals"]
|
|
},
|
|
"include": ["src", "tests"]
|
|
}
|