Skip to content

Commit f7f00ce

Browse files
authored
feat: migrate to validator from email-validator (#2059)
* refactor(adds package): this adds the validator package and removes email-validator from dependencys * refactor(auth.ts and email.ts): migrates from EmailValidator to validator
1 parent a790934 commit f7f00ce

File tree

4 files changed

+24
-15
lines changed

4 files changed

+24
-15
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
"dayjs": "1.11.7",
6161
"dns-caching": "^0.2.7",
6262
"email-templates": "12.0.1",
63-
"email-validator": "2.0.4",
6463
"express": "4.21.2",
6564
"express-openapi-validator": "4.13.8",
6665
"express-rate-limit": "6.7.0",
@@ -107,6 +106,7 @@
107106
"typeorm": "0.3.12",
108107
"ua-parser-js": "^1.0.35",
109108
"undici": "^7.3.0",
109+
"validator": "^13.15.15",
110110
"web-push": "3.5.0",
111111
"wink-jaro-distance": "^2.0.0",
112112
"winston": "3.8.2",
@@ -140,6 +140,7 @@
140140
"@types/secure-random-password": "0.2.1",
141141
"@types/semver": "7.3.13",
142142
"@types/swagger-ui-express": "4.1.3",
143+
"@types/validator": "^13.15.3",
143144
"@types/web-push": "3.3.2",
144145
"@types/xml2js": "0.4.11",
145146
"@types/yamljs": "0.2.31",

pnpm-lock.yaml

Lines changed: 17 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/lib/notifications/agents/email.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import type { NotificationAgentEmail } from '@server/lib/settings';
77
import { getSettings, NotificationAgentKey } from '@server/lib/settings';
88
import logger from '@server/logger';
99
import type { EmailOptions } from 'email-templates';
10-
import * as EmailValidator from 'email-validator';
1110
import path from 'path';
11+
import validator from 'validator';
1212
import { Notification, shouldSendAdminNotification } from '..';
1313
import type { NotificationAgent, NotificationPayload } from './agent';
1414
import { BaseAgent } from './agent';
@@ -221,7 +221,7 @@ class EmailAgent
221221
this.getSettings(),
222222
payload.notifyUser.settings?.pgpKey
223223
);
224-
if (EmailValidator.validate(payload.notifyUser.email)) {
224+
if (validator.isEmail(payload.notifyUser.email)) {
225225
await email.send(
226226
this.buildMessage(
227227
type,
@@ -283,7 +283,7 @@ class EmailAgent
283283
this.getSettings(),
284284
user.settings?.pgpKey
285285
);
286-
if (EmailValidator.validate(user.email)) {
286+
if (validator.isEmail(user.email)) {
287287
await email.send(
288288
this.buildMessage(type, payload, user.email, user.displayName)
289289
);

server/routes/auth.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import { ApiError } from '@server/types/error';
1515
import { getAppVersion } from '@server/utils/appVersion';
1616
import { getHostname } from '@server/utils/getHostname';
1717
import axios from 'axios';
18-
import * as EmailValidator from 'email-validator';
1918
import { Router } from 'express';
2019
import net from 'net';
20+
import validator from 'validator';
2121

2222
const authRoutes = Router();
2323

@@ -37,7 +37,7 @@ authRoutes.get('/me', isAuthenticated(), async (req, res) => {
3737
const settings = await getSettings();
3838
if (
3939
settings.notifications.agents.email.options.userEmailRequired &&
40-
!EmailValidator.validate(user.email)
40+
!validator.isEmail(user.email)
4141
) {
4242
user.warnings.push('userEmailRequired');
4343
logger.warn(`User ${user.username} has no valid email address`);

0 commit comments

Comments
 (0)