Files
the_order/docs/reports/TODO_RECOMMENDATIONS.md
defiQUG 2633de4d33 feat(eresidency): Complete eResidency service implementation
- Implement credential revocation endpoint with proper database integration
- Fix database row mapping (snake_case to camelCase) for eResidency applications
- Add missing imports (getRiskAssessmentEngine, VeriffKYCProvider, ComplyAdvantageSanctionsProvider)
- Fix environment variable type checking for Veriff and ComplyAdvantage providers
- Add required 'message' field to notification service calls
- Fix risk assessment type mismatches
- Update audit logging to use 'verified' action type (supported by schema)
- Resolve all TypeScript errors and unused variable warnings
- Add TypeScript ignore comments for placeholder implementations
- Temporarily disable security/detect-non-literal-regexp rule due to ESLint 9 compatibility
- Service now builds successfully with no linter errors

All core functionality implemented:
- Application submission and management
- KYC integration (Veriff placeholder)
- Sanctions screening (ComplyAdvantage placeholder)
- Risk assessment engine
- Credential issuance and revocation
- Reviewer console
- Status endpoints
- Auto-issuance service
2025-11-10 19:43:02 -08:00

5.7 KiB

TODO List - Deprecation Fixes & Testing Recommendations

Last Updated: 2024-12-28
Status: All recommendations documented


Completed Tasks

  1. Removed @types/pino - Pino v8 includes built-in types
  2. Upgraded ESLint to v9 - All apps and root updated
  3. Updated TypeScript ESLint to v8 - ESLint 9 compatible
  4. Created ESLint 9 flat config - eslint.config.js created
  5. Updated lint-staged config - Works with ESLint 9

🔄 In Progress

Testing & Verification

  1. Test ESLint 9 Migration

    • Run pnpm lint from root - verify all packages lint
    • Test each service individually
    • Test each package individually
    • Test each app individually
    • Verify flat config is being used
    • Check for ESLint errors or warnings
  2. Verify No ESLint 8 Warnings

    • Run pnpm install and check for ESLint warnings
    • Verify all apps use ESLint 9
    • Check services for ESLint dependencies
    • Verify no ESLint 8 references remain

📋 Pending Tasks

High Priority Testing

  1. Test TypeScript Compilation 📋

    • Run pnpm type-check from root
    • Verify all packages compile successfully
    • Fix any TypeScript errors
    • Test each package individually
  2. Test Builds 📋

    • Run pnpm build from root
    • Verify all packages build successfully
    • Test each service build
    • Test each package build
    • Test each app build
  3. Test Unit Tests 📋

    • Run pnpm test from root
    • Verify all tests pass
    • Check test coverage
    • Fix any failing tests
  4. Test Next.js ESLint Compatibility 📋

    • Test next lint in portal-public
    • Test next lint in portal-internal
    • Verify Next.js ESLint config works with ESLint 9
    • Update Next.js ESLint config if needed

Medium Priority

  1. Test Pre-commit Hooks 📋

    • Make test commit with linting errors
    • Verify errors are caught
    • Make test commit with formatting issues
    • Verify auto-fix works
    • Test lint-staged with ESLint 9
  2. Test CI/CD Pipelines 📋

    • Verify GitHub Actions workflows run
    • Check lint job passes
    • Check type-check job passes
    • Check test job passes
    • Check build job passes
  3. Update Service ESLint Configs 📋

    • Check if services need package-specific ESLint configs
    • Update service configs if needed
    • Verify services use root config or have their own
  4. Test ESLint Config Compatibility 📋

    • Verify flat config works with all packages
    • Test rule overrides
    • Verify plugin compatibility
    • Test type-checking rules

Low Priority / Cleanup

  1. Remove Old ESLint Config 📋

    • After verification, remove .eslintrc.js
    • Update any references to old config
    • Document migration in commit message
  2. Document ESLint 9 Migration 📋

    • Update README with ESLint 9 info
    • Document flat config format
    • Update contributing guide
    • Add migration notes
  3. Monitor Subdependencies 📋

    • Set up quarterly review process
    • Create script to check outdated packages
    • Document update strategy
    • Schedule first review (3 months)
  4. Test Integration Tests 📋

    • Run integration tests
    • Verify service-to-service communication
    • Test database operations
    • Test external service integrations
  5. Test Error Handling 📋

    • Verify ESLint errors are properly reported
    • Test error messages are clear
    • Verify error recovery
  6. Test Prettier Integration 📋

    • Verify Prettier works with ESLint 9
    • Test formatting on commit
    • Verify no conflicts
  7. Performance Testing 📋

    • Measure lint time
    • Compare with ESLint 8
    • Verify no significant slowdown
    • Document performance metrics

🎯 Priority Order

Immediate (This Week)

  1. Test ESLint 9 migration (linting)
  2. Verify no ESLint 8 warnings
  3. Test TypeScript compilation
  4. Test builds
  5. Test unit tests

Short Term (Next Week)

  1. Test Next.js ESLint compatibility
  2. Test pre-commit hooks
  3. Test CI/CD pipelines
  4. Update service ESLint configs if needed

Medium Term (Next Month)

  1. Remove old ESLint config
  2. Document migration
  3. Set up subdependency monitoring

Ongoing

  1. Monitor subdependencies quarterly
  2. Performance monitoring

📊 Testing Status

Completed

  • Removed @types/pino
  • Upgraded ESLint to v9
  • Updated TypeScript ESLint to v8
  • Created ESLint 9 flat config
  • Updated lint-staged config

In Progress

  • ESLint 9 migration testing
  • Warning verification

Pending 📋

  • TypeScript compilation tests
  • Build tests
  • Unit tests
  • Integration tests
  • CI/CD tests
  • Documentation

🚀 Quick Start Testing

# 1. Verify installation
pnpm install

# 2. Check warnings
pnpm install 2>&1 | grep -i "WARN" | grep -v "subdependencies"

# 3. Test linting
pnpm lint

# 4. Test type checking
pnpm type-check

# 5. Test builds
pnpm build

# 6. Test tests
pnpm test

📝 Notes

  • ESLint 9 uses flat config (ES modules)
  • Old .eslintrc.js can be kept for reference
  • Next.js may need special configuration
  • Some packages may need package-specific configs
  • Subdependency warnings are informational only

Success Criteria

All tasks complete when:

  • All linting passes
  • All type checks pass
  • All builds succeed
  • All tests pass
  • Git hooks work
  • CI/CD passes
  • No critical warnings
  • Documentation updated