Files

94 lines
3.4 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/",
"test:ci": "bash -c 'shopt -s nullglob; for f in tests/ci/test-*.sh; do echo \"--- $f ---\"; bash \"$f\" || exit 1; done'",
"proxy": "node scripts/api-proxy.mjs",
"dev:full": "node scripts/dev-server.mjs",
"compare:visual": "tsx tests/parity/visual/screenshot-diff-multi.ts && tsx tests/parity/visual/generate-report.ts",
"compare:gap": "tsx tests/parity/gap/gap-analysis.ts",
"compare:behavior": "playwright test --config=playwright-angular.config.ts tests/e2e-angular/cross-app/",
"compare:all": "pnpm compare:visual && pnpm compare:gap && pnpm compare:behavior"
},
"dependencies": {
"@microsoft/signalr": "^10.0.0",
"@modern-js/app-tools": "2.70.8",
"@modern-js/runtime": "2.70.8",
"@module-federation/enhanced": "2.3.3",
"@module-federation/modern-js": "2.3.3",
"@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",
"date-fns": "^4.1.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"
}
}