Commit Graph

24 Commits

Author SHA1 Message Date
gnezim b29d3a437e Install PrimeReact, primeicons, and sass
PrimeReact replaces PrimeNG for the React app. sass enables
SCSS compilation for the ported global styles.
2026-04-15 17:26:31 +03:00
gnezim f3fdb17c39 Add Playwright e2e tests for all feature pages
CI / ci (push) Failing after 36s
Deploy / build-and-deploy (push) Failing after 6s
Covers smoke, online-board, schedule, flights-map, popular, and
navigation routes with 20 passing tests and 1 fixme (page title).
2026-04-15 16:56:18 +03:00
gnezim 003054460b Add coverage delta check script
CI / ci (push) Failing after 35s
Deploy / build-and-deploy (push) Failing after 6s
2026-04-15 16:33:01 +03:00
gnezim 1b0f15b082 Add bundle-size gate script for CI 2026-04-15 16:20:55 +03:00
gnezim 0c914d8d4e Add @vitest/coverage-v8 for test coverage reporting 2026-04-15 16:19:00 +03:00
gnezim aae632c742 Fix SSR: align @modern-js/runtime to v2.70.8 and re-enable stream SSR
The server build was failing with "window is not defined" during SSR because
@modern-js/runtime@3.1.3 had an SSR-unsafe window reference in its router
plugin. Pinning runtime to 2.70.8 (matching app-tools) resolves the version
mismatch and eliminates the server-side window access.
2026-04-15 16:16:28 +03:00
gnezim 8dde2db9d2 Add Phase 4 master plan and install leaflet dependency
Write the flights-map master plan covering sub-plans 4A-4D.
Add leaflet + @types/leaflet to support the map canvas component.
2026-04-15 09:44:01 +03:00
gnezim 5bcf23ee4e Configure vitest and TypeScript for integration test files
Install @testing-library/jest-dom, add tests/**/*.test.tsx to vitest
include and tsconfig include patterns.
2026-04-15 08:55:15 +03:00
gnezim 9bd3697a17 Add URL and SEO parity harnesses with fast-check fuzz testing
Generic URL parity harness (table-driven + property-based roundtrip)
and SEO parity harness (shape/completeness validation) registered for
Online Board. 170 tests covering all 6 route types with 200-iteration
fast-check fuzz runs ensuring no serialization asymmetry.
2026-04-15 08:45:09 +03:00
gnezim 4c52bb4032 Add useLiveFlights SSR-safe hook with tests
Generic hook wrapping SignalR subscription with SSR guard
(typeof window check). Includes tests for subscribe, data
updates, cleanup, and SSR path.
2026-04-15 00:42:51 +03:00
gnezim b6a007d3b6 Add @microsoft/signalr dependency for live flight data 2026-04-15 00:39:31 +03:00
gnezim 858b8e1d1f Wire root layout provider stack and locale-scoped layout with i18n
Root layout wraps children with LoggerProvider, ApiClientProvider, and
ErrorBoundary. Locale layout validates lang param against 9 supported
languages and provides a request-scoped I18nProvider.
2026-04-15 00:34:16 +03:00
gnezim ad9b35f725 Add schema-dts dependency for typed JSON-LD generation 2026-04-15 00:17:29 +03:00
gnezim ddedddd15d Add OpenTelemetry and web-vitals dependencies for metrics pipeline 2026-04-15 00:07:38 +03:00
gnezim cb5e5b0106 Add three cache types (request-scoped, client TTL, server byte-capped LRU) 2026-04-14 23:39:35 +03:00
gnezim 33d4c94298 Install i18n deps and port 9 locale JSON files from Angular 2026-04-14 23:15:00 +03:00
gnezim f1acf7827d Add eslint-plugin-boundaries with layered dependency rules 2026-04-14 22:47:26 +03:00
gnezim 604ed75498 Wire build:standalone/build:remote/dev to Modern.js CLI 2026-04-14 22:37:56 +03:00
gnezim 4eede82961 Install Modern.js, MF 2.0 plugin, and React 18 at pinned versions 2026-04-14 22:34:14 +03:00
gnezim 9c5f834334 Migrate ESLint to flat config for v9 compatibility
Replaces the FlatCompat shim (which loaded .eslintrc.cjs via @eslint/eslintrc
and emitted deprecation warnings) with a native ESLint 9 flat config. Adds
typescript-eslint meta-package as the flat-config entrypoint and pins
@eslint/js to v9 to satisfy the eslint@9 peer range. Rule set is preserved
verbatim from the Phase 1A-1 plan (Task 4).
2026-04-14 22:01:10 +03:00
gnezim 7c99ab069d Tighten Node engine pin, bump pnpm, add pnpm hygiene to gitignore
Align engines.node with the .nvmrc 24.2.0 pin so npm/pnpm warn on
mismatched local toolchains, move packageManager to the current
pnpm 9.15.3 patch, and ignore pnpm's local store and debug log so
stray artefacts never get committed.
2026-04-14 21:52:29 +03:00
gnezim 5cce054f36 Upgrade vitest to v3 to patch transitive esbuild CVE
Vitest 2 pulled Vite 5 + esbuild 0.21 (GHSA-67mh-4wv8-2f99). Bumping
vitest/@vitest/ui to v3 and adding vite ^6 as a direct dev dep forces
peer resolution onto Vite 6 + esbuild 0.25, which also clears the Vite
path-traversal advisory (GHSA-4w7w-66w2-5vf9). pnpm audit is now clean.
2026-04-14 21:52:04 +03:00
gnezim 064436527a Install TypeScript, Vitest, ESLint, Zod base toolchain 2026-04-14 21:45:47 +03:00
gnezim 00d1c9827c Pin Node 24 and seed root package.json for Phase 1A-1 2026-04-14 21:45:15 +03:00