Files
flights_web/package.json
T
gnezim 50f50eeae4 Add visual parity screenshot diff tool and mock appSettings in dev server
Add pixelmatch-based screenshot comparison script that captures Angular
(:4200) and React (:8080) at every route and generates pixel diff images.

Dev server: add mock /api/appSettings endpoint so Angular can bootstrap
when WAF blocks the real API.
2026-04-16 09:03:13 +03:00

88 lines
2.9 KiB
JSON

{
"name": "@aeroflot/flights-web",
"version": "0.0.0",
"private": true,
"description": "Aeroflot Flights — Modern.js + MF 2.0 React remote component (Phase 1 foundation)",
"license": "UNLICENSED",
"type": "module",
"engines": {
"node": ">=24.2.0",
"pnpm": ">=9.0.0"
},
"packageManager": "pnpm@9.15.3",
"scripts": {
"dev": "modern dev",
"build:standalone": "BUILD_TARGET=standalone modern build",
"build:remote": "BUILD_TARGET=remote modern build",
"build:both": "pnpm build:standalone && pnpm build:remote",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"lint": "eslint \"src/**/*.{ts,tsx}\" --max-warnings 0",
"typecheck": "tsc --noEmit",
"bundle-size": "node scripts/ci/bundle-size-gate.mjs",
"check-coverage": "node scripts/ci/check-coverage-delta.mjs",
"test:e2e": "playwright test",
"test:e2e:angular": "playwright test --config=playwright-angular.config.ts tests/e2e-angular/cross-app/",
"proxy": "node scripts/api-proxy.mjs",
"dev:full": "node scripts/dev-server.mjs"
},
"dependencies": {
"@microsoft/signalr": "^10.0.0",
"@modern-js/app-tools": "2.70.8",
"@modern-js/runtime": "2.70.8",
"@module-federation/enhanced": "2.3.2",
"@module-federation/modern-js": "2.3.2",
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/exporter-metrics-otlp-http": "^0.214.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
"@opentelemetry/sdk-metrics": "^2.6.1",
"@opentelemetry/sdk-node": "^0.214.0",
"i18next": "^23.0.0",
"i18next-icu": "^2.0.0",
"i18next-resources-to-backend": "^1.0.0",
"intl-messageformat": "^10.0.0",
"leaflet": "^1.9.4",
"lru-cache": "^10.0.0",
"primeicons": "^7.0.0",
"primereact": "^10.9.7",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^15.0.0",
"schema-dts": "^2.0.0",
"web-vitals": "^5.2.0",
"zod": "^3.23.0"
},
"devDependencies": {
"@eslint/js": "^9.39.4",
"@playwright/test": "^1.59.1",
"@testing-library/jest-dom": "^6",
"@testing-library/react": "^16.3.2",
"@testing-library/react-hooks": "^8.0.1",
"@types/leaflet": "^1.9.21",
"@types/node": "^24.0.0",
"@types/pngjs": "^6.0.5",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"@vitest/coverage-v8": "^3.0.0",
"@vitest/ui": "^3.0.0",
"eslint": "^9.0.0",
"eslint-plugin-boundaries": "^5.0.0",
"eslint-plugin-unused-imports": "^4.0.0",
"express": "^5.2.1",
"fast-check": "^4.6.0",
"http-proxy-middleware": "^3.0.5",
"https-proxy-agent": "^9.0.0",
"jsdom": "^29.0.2",
"pixelmatch": "^7.1.0",
"pngjs": "^7.0.0",
"react-test-renderer": "^19.2.5",
"sass": "^1.99.0",
"typescript": "^5.5.0",
"typescript-eslint": "^8.58.2",
"vite": "^6.0.0",
"vitest": "^3.0.0"
}
}