Skip to content
This repository was archived by the owner on Nov 22, 2025. It is now read-only.

Conversation

@meabed
Copy link
Contributor

@meabed meabed commented Aug 26, 2025

Summary

  • Added email name detection feature with confidence scoring
  • Implemented domain typo detection and suggestion system
  • Migrated from ESLint/Prettier to Biome for better performance

Features Added

1. Name Detection from Email Addresses

  • Detects first and last names from email local parts
  • Multiple separator support (dot, underscore, hyphen, camelCase)
  • Confidence scoring system (0.5-0.95 range)
  • Handles email aliases (text after +)
  • Custom detection method support

2. Domain Suggestion System

  • Detects common domain typos (e.g., "gmial.com" → "gmail.com")
  • 70+ common email domains database
  • String similarity algorithm with smart thresholds
  • 24-hour caching for performance
  • Custom domain list support

3. Tooling Migration

  • Complete migration from ESLint/Prettier to Biome
  • Faster linting and formatting
  • Unified configuration in biome.json
  • Updated all build scripts and pre-commit hooks

Technical Details

New Files

  • src/name-detector.ts - Name detection implementation
  • src/domain-suggester.ts - Domain suggestion implementation
  • biome.json - Biome configuration
  • 4 new test files with comprehensive coverage
  • 2 new example files demonstrating features

API Changes (Backward Compatible)

// New optional parameters
verifyEmail({
  emailAddress: 'john.doe@gmial.com',
  detectName: true,      // Returns detected name
  suggestDomain: true    // Returns domain suggestion
})

Performance Improvements

  • LRU caching with TTL for domain suggestions (24h)
  • Existing caches maintained for MX, SMTP, disposable, and free checks

Testing

  • All 129 tests passing
  • New test suites for both features
  • Integration tests included
  • Examples provided

Breaking Changes

None - fully backward compatible

Checklist

  • Tests pass locally
  • Documentation updated (README, CHANGELOG)
  • Version bumped (2.3.0-develop.0)
  • Code formatted with Biome
  • TypeScript types exported
  • Examples provided

renovate bot and others added 9 commits August 23, 2025 01:58
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-eslint to v8.41.0

- Moved @types/psl from dependencies (likely to devDependencies)
- Updated typescript-eslint from v8.40.0 to v8.41.0
- Moved @types/psl from dependencies to optimize bundle size
- Updated typescript-eslint to v8.41.0
Document dependency updates and package optimizations
Major Features:
- Name detection from email addresses with confidence scoring
- Domain typo detection and suggestions with 70+ common domains
- Smart caching for domain suggestions (24h TTL)
- Migration from ESLint/Prettier to Biome for better performance

Technical Improvements:
- Enhanced TypeScript interfaces for new features
- Backward compatible API with optional feature flags
- String similarity algorithm for accurate domain matching
- Performance optimized with LRU caching
- Comprehensive test coverage (129 tests passing)

Breaking Changes: None (fully backward compatible)

Details:
- detectName parameter for email verification functions
- suggestDomain parameter with customizable domain lists
- Support for custom detection/suggestion methods
- New exports for standalone utility functions
- Updated all Node.js imports to use node: protocol
- Removed ESLint/Prettier in favor of Biome
@meabed meabed merged commit 7384cd2 into master Aug 26, 2025
@meabed meabed deleted the develop branch August 26, 2025 18:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants