- Upgrade next from 14.2.4 to 14.2.33 (fixes critical CVEs)
- Upgrade nodemailer from 7.0.10 to 7.0.11 (fixes DoS vulnerability)
- Upgrade eslint-config-next to 14.2.33
Remaining 3 high vulnerabilities are in glob CLI tool (dev-only,
not exploitable in web context) and require Next.js 15 migration.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add reCAPTCHA v2 to registration form
- Add reset-password page for password recovery
- Fix forgot-password to call real API
- Sort employee pending tickets (most recent first)
- Update contest dates (validation: Dec 1-31, recovery: Dec 1 - Jan 31)
- Update draw date to Feb 1, 2026
- Improve GamePeriod and GrandPrize components design
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install Jest and testing dependencies
- Configure Jest with coverage reporting (lcov for SonarQube)
- Add comprehensive tests for all helper functions
- Update package.json test script to run with coverage
Test coverage:
- 42 tests passing
- 87.87% line coverage on helpers.ts
- 84.78% statement coverage
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Downgrade ESLint from v9 to v8.57.0 (required by eslint-config-next)
- Replace eslint.config.js with .eslintrc.json
- Remove incompatible ESLint plugins
- Use standard Next.js ESLint configuration
This resolves the peer dependency conflict where eslint-config-next
requires ESLint 7 or 8, not 9.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>