diff --git a/apps/portal-shell/project.json b/apps/portal-shell/project.json index 40ee8a6..9868da0 100644 --- a/apps/portal-shell/project.json +++ b/apps/portal-shell/project.json @@ -112,8 +112,7 @@ "options": { "buildTarget": "portal-shell:build", "port": 4200, - "staticFilePath": "dist/apps/portal-shell/browser", - "spa": true + "staticFilePath": "dist/apps/portal-shell/browser" } } } diff --git a/lighthouserc.js b/lighthouserc.js index d8a2575..0faf438 100644 --- a/lighthouserc.js +++ b/lighthouserc.js @@ -4,20 +4,23 @@ * Thresholds match the Google "Good" Core Web Vitals values plus the * Lighthouse Performance score floor we set as the project bar. * - * Critical-routes list grows as features land. v1 only checks the - * static-served portal-shell bundle (which today shows the Nx Welcome - * placeholder); meaningful per-route assertions land alongside the - * features that introduce those routes. + * Critical-routes list grows as features land. v1 checks the + * static-served portal-shell bundle on both locale entry points + * (`/fr/` is the default served at the production root via the smart + * redirect; `/en/` is the alternate). ADR-0019 mandates that both + * locales clear the same bar. Per-route assertions land alongside + * the features that introduce those routes. */ module.exports = { ci: { collect: { // Serve the production bundle statically (no BFF needed for v1 - // measurements). When real auth / routes exist, the URL list - // expands to the critical-routes list documented in ADR-0017. + // measurements). With `--localize` the build emits per-locale + // folders (`browser/en/`, `browser/fr/`); we serve their parent + // and Lighthouse hits each locale's root index.html directly. startServerCommand: 'pnpm nx run portal-shell:serve-static', startServerReadyPattern: 'Available on:', - url: ['http://localhost:4200/'], + url: ['http://localhost:4200/fr/', 'http://localhost:4200/en/'], numberOfRuns: 3, settings: { // Slow-4G profile so scores are stable across CI runners and