New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

email-normalizer

Package Overview
Dependencies
Maintainers
0
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

email-normalizer

Normalize email addresses

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
0
Created
Source

Email Normalizer

NPM Version License Build Status

A simple Node.js package to normalize email addresses by removing dots, stripping plus signs, and handling domain renaming.

Features

  • Convert to lowercase
  • Removes dots from the email identifier for specific domains
  • Strips plus signs and the following tags
  • Renames domains (e.g., googlemail.com to gmail.com)
  • Supports common email providers like Gmail, Googlemail, Hotmail, Live, and Outlook

Installation

You can install the package using pnpm, npm, or yarn:

pnpm add email-normalizer
# or
npm install email-normalizer
# or
yarn add email-normalizer

Usage

Here's how you can use the email-normalizer package:

import { normalizeEmail } from 'email-normalizer';

const email = 'User.Name+tag@gmail.com';
const normalizedEmail = normalizeEmail({ email });

console.log(normalizedEmail); // Output: username@gmail.com

Note: An error will be thrown if the provided email address is invalid.

API

normalizeEmail({ email: string }): string

Normalizes the provided email address based on the configured rules for various domains.

Parameters:

  • email: The email address to be normalized.

Returns:

  • A normalized email address as a string.

Configuration

The normalization rules are predefined for the following domains:

  • gmail.com: Removes dots, strips plus sign and tags.
  • googlemail.com: Removes dots, strips plus sign and tags, renames domain to gmail.com.
  • hotmail.com: Strips plus sign and tags.
  • live.com: Removes dots, strips plus sign and tags.
  • outlook.com: Strips plus sign and tags.

Scripts

The package.json includes several useful scripts:

  • build: Builds the package using unbuild.
  • lint: Lints the codebase using eslint.
  • lint:fix: Fixes linting errors.
  • test: Runs all tests.
  • test:unit: Runs unit tests using vitest.
  • test:unit:watch: Runs unit tests in watch mode.

Development

To contribute to this project, clone the repository and install the dependencies:

git clone https://github.com/CorentinTh/email-normalizer.git
cd email-normalizer
pnpm install

You can then build, lint, and test the project using the provided scripts.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Funding

Support this project through GitHub Sponsors.

Author

Developed by Corentin Th. You can reach out via email.

FAQs

Package last updated on 09 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts