879390f016
Three editor-noise sources, three matching tame:
* Add `composite: true` to lib tsconfig.lib.json files (shared/ui,
shared/state, feature/auth) and let `nx sync` redirect consumer
references in apps/portal-{shell,admin}/tsconfig.app.json to point
at the .lib.json directly. Silences TS6306 ("Referenced project
must have setting composite: true") that the TS service raises on
the project references our Nx 22 lib generator emits.
* Add `ignoreDeprecations: "5.0"` on apps/portal-bff/tsconfig.{app,
spec}.json. Both inherit `moduleResolution: node` / `node10` which
TS 7.0 will remove; the diagnostic itself suggests the opt-out
knob. The TS 5.9 we run only accepts "5.0" as the value (the
warning text mentions "6.0" but TS rejects it). Migration to
nodenext/node16 is a separate chantier — too entangled with Nest
CJS semantics for a drive-by.
* Add a repo-level .axe-linter.yml that disables the `list` rule
globally. axe Linter (VS Code) doesn't understand Angular 17+
`@for` blocks and flags `@for (...) { <li>… }` as a non-<li>
child of <ul>/<ol>. Compiler erases the syntax at build time;
axe-playwright (ADR-0016) operates on the rendered DOM and is
unaffected.