Files
the-order/docs/reports/TODO_RECOMMENDATIONS.md
T
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