{ "name": "bct-react-rebuild", "private": true, "version": "1.0.0", "type": "module", "description": "Black Canyon Tickets React Rebuild - Premium UI/UX with glassmorphism design", "scripts": { "dev": "./node_modules/.bin/vite --host 0.0.0.0", "build": "./node_modules/.bin/tsc && ./node_modules/.bin/vite build", "preview": "./node_modules/.bin/vite preview", "lint": "./node_modules/.bin/eslint . --report-unused-disable-directives --max-warnings 0", "lint:fix": "./node_modules/.bin/eslint . --fix", "lint:check": "./node_modules/.bin/eslint . --report-unused-disable-directives", "format": "./node_modules/.bin/prettier --write .", "format:check": "./node_modules/.bin/prettier --check .", "typecheck": "tsc --noEmit", "quality": "npm run typecheck && npm run lint && npm run format:check", "quality:fix": "npm run typecheck && npm run lint:fix && npm run format", "test": "playwright test", "test:ci": "npm run test -- --workers=1", "test:ci:full": "npm run typecheck && npm run test -- --workers=1", "test:ui": "./node_modules/.bin/playwright test --ui", "test:headed": "./node_modules/.bin/playwright test --headed", "test:qa": "./node_modules/.bin/tsx tests/test-runner.ts", "test:qa:critical": "./node_modules/.bin/tsx tests/test-runner.ts --critical", "test:qa:headed": "./node_modules/.bin/tsx tests/test-runner.ts --headed", "test:smoke": "playwright test tests/smoke.spec.ts", "test:publish-scanner": "playwright test tests/publish-scanner.smoke.spec.ts", "test:publish-scanner:ci": "playwright test tests/publish-scanner.smoke.spec.ts --workers=1", "test:auth": "./node_modules/.bin/playwright test tests/auth-realistic.spec.ts", "test:auth:enhanced": "./node_modules/.bin/playwright test tests/auth.spec.ts", "test:auth:bulletproof": "./node_modules/.bin/playwright test tests/auth-bulletproof.spec.ts", "test:auth:bulletproof:headed": "./node_modules/.bin/playwright test tests/auth-bulletproof.spec.ts --headed", "test:auth:bulletproof:ui": "./node_modules/.bin/playwright test tests/auth-bulletproof.spec.ts --ui", "test:navigation": "./node_modules/.bin/playwright test tests/navigation.spec.ts", "test:theme": "./node_modules/.bin/playwright test tests/theme.spec.ts", "test:responsive": "./node_modules/.bin/playwright test tests/responsive.spec.ts", "test:components": "./node_modules/.bin/playwright test tests/components.spec.ts", "test:scanner": "./node_modules/.bin/playwright test tests/scan-offline.spec.ts tests/gate-ops.spec.ts", "test:pwa": "./node_modules/.bin/playwright test tests/pwa-field-test.spec.ts", "test:offline": "./node_modules/.bin/playwright test tests/offline-scenarios.spec.ts", "test:performance": "./node_modules/.bin/playwright test tests/battery-performance.spec.ts --timeout=120000", "test:mobile": "./node_modules/.bin/playwright test tests/mobile-ux.spec.ts", "test:gate": "./node_modules/.bin/playwright test tests/real-world-gate.spec.ts", "test:field": "./node_modules/.bin/playwright test tests/pwa-field-test.spec.ts tests/offline-scenarios.spec.ts tests/mobile-ux.spec.ts tests/real-world-gate.spec.ts --timeout=90000", "test:all-scanner": "./node_modules/.bin/playwright test tests/scan-offline.spec.ts tests/gate-ops.spec.ts tests/pwa-field-test.spec.ts tests/offline-scenarios.spec.ts tests/battery-performance.spec.ts tests/mobile-ux.spec.ts tests/real-world-gate.spec.ts --timeout=120000", "validate:theme": "node scripts/validate-theme.js", "validate:colors": "node scripts/validate-theme.js", "check:colors": "node scripts/check-hardcoded-colors.js", "firebase:emulators": "firebase emulators:start", "firebase:deploy:functions": "firebase deploy --only functions", "firebase:deploy:hosting": "firebase deploy --only hosting", "firebase:deploy:all": "npm run build && firebase deploy --only functions,hosting", "firebase:deploy:preview": "npm run build && firebase hosting:channel:deploy staging", "firebase:install": "cd functions && npm install" }, "dependencies": { "@hookform/resolvers": "^3.9.1", "@sentry/integrations": "^7.114.0", "@sentry/react": "^10.5.0", "@tanstack/react-query": "^5.85.5", "@zxing/browser": "^0.1.5", "clsx": "^2.1.1", "date-fns": "^4.1.0", "firebase": "^12.1.0", "framer-motion": "^11.11.17", "idb": "^8.0.3", "lucide-react": "^0.460.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.53.2", "react-router-dom": "^6.28.0", "tailwind-merge": "^2.6.0", "ulid": "^3.0.1", "zod": "^3.23.8", "zustand": "^5.0.7" }, "devDependencies": { "@playwright/test": "^1.54.2", "@tanstack/react-query-devtools": "^5.85.5", "@types/node": "^22.10.2", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@typescript-eslint/eslint-plugin": "^8.39.1", "@typescript-eslint/parser": "^8.39.1", "@vitejs/plugin-react": "^4.3.3", "autoprefixer": "^10.4.20", "eslint": "^9.15.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-node": "^0.3.9", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.14", "postcss": "^8.4.49", "prettier": "^3.3.3", "prettier-plugin-tailwindcss": "^0.6.14", "tailwindcss": "^3.4.14", "tsx": "^4.19.2", "typescript": "^5.6.3", "typescript-eslint": "^8.39.1", "vite": "^6.0.1" }, "keywords": [ "react", "typescript", "vite", "tailwind", "ticketing", "glassmorphism" ], "author": "Black Canyon Tickets", "license": "MIT" }