Bloque B de la fase SaaS: - @angular/pwa: service worker (solo assets; /api siempre fresco), manifest con identidad recordaLexia (standalone, tema de la paleta) e iconos propios 72-512px (mascota sobre azul de marca). - Pantallas /forgot y /reset (?code=... del email): mensajes neutros que no revelan si una cuenta existe; validación de contraseña repetida. - Política de privacidad ES/CA en /privacidad (pública) y casilla de consentimiento obligatoria en el registro (no premarcada). - AuthService: forgotPassword/resetPassword y registro con privacyAccepted. Verificado E2E en navegador: registro con gating del checkbox, enlace del log, reset, login con la nueva contraseña (la vieja 401), SW 'activated', y familia de prueba borrada con el endpoint RGPD (dogfooding).
41 lines
1.1 KiB
JSON
41 lines
1.1 KiB
JSON
{
|
|
"name": "frontend",
|
|
"version": "0.0.0",
|
|
"scripts": {
|
|
"ng": "ng",
|
|
"start": "ng serve",
|
|
"build": "ng build",
|
|
"watch": "ng build --watch --configuration development",
|
|
"test": "ng test"
|
|
},
|
|
"private": true,
|
|
"dependencies": {
|
|
"@angular/common": "^19.2.0",
|
|
"@angular/compiler": "^19.2.0",
|
|
"@angular/core": "^19.2.0",
|
|
"@angular/forms": "^19.2.0",
|
|
"@angular/platform-browser": "^19.2.0",
|
|
"@angular/platform-browser-dynamic": "^19.2.0",
|
|
"@angular/router": "^19.2.0",
|
|
"@angular/service-worker": "^19.2.0",
|
|
"@fontsource/fredoka": "^5.2.10",
|
|
"@fontsource/nunito": "^5.2.7",
|
|
"@fontsource/opendyslexic": "^5.2.5",
|
|
"rxjs": "~7.8.0",
|
|
"tslib": "^2.3.0",
|
|
"zone.js": "~0.15.0"
|
|
},
|
|
"devDependencies": {
|
|
"@angular-devkit/build-angular": "^19.2.15",
|
|
"@angular/cli": "^19.2.15",
|
|
"@angular/compiler-cli": "^19.2.0",
|
|
"@types/jasmine": "~5.1.0",
|
|
"jasmine-core": "~5.6.0",
|
|
"karma": "~6.4.0",
|
|
"karma-chrome-launcher": "~3.2.0",
|
|
"karma-coverage": "~2.2.0",
|
|
"karma-jasmine": "~5.1.0",
|
|
"karma-jasmine-html-reporter": "~2.1.0",
|
|
"typescript": "~5.7.2"
|
|
}
|
|
} |