Files
mailer/ts/plugins.ts
Juergen Kunz 1698df3a53 feat: Add comprehensive SMTP test suite for Deno
- Implemented SMTP client utilities in `test/helpers/smtp.client.ts` for creating test clients, sending emails, and testing connections.
- Developed SMTP protocol test utilities in `test/helpers/utils.ts` for managing TCP connections, sending commands, and handling responses.
- Created a detailed README in `test/readme.md` outlining the test framework, infrastructure, organization, and running instructions.
- Ported CMD-01: EHLO Command tests in `test/suite/smtpserver_commands/test.cmd-01.ehlo-command.test.ts` with multiple scenarios including valid and invalid hostnames.
- Ported CMD-02: MAIL FROM Command tests in `test/suite/smtpserver_commands/test.cmd-02.mail-from.test.ts` covering valid address acceptance, invalid address rejection, SIZE parameter support, and command sequence enforcement.
2025-10-25 15:05:11 +00:00

52 lines
1.6 KiB
TypeScript

/**
* Plugin dependencies for the mailer package
* Imports both Deno standard library and Node.js compatibility
*/
// Deno standard library
export * as path from '@std/path';
export * as colors from '@std/fmt/colors';
export * as cli from '@std/cli';
export { serveDir } from '@std/http/file-server';
export * as denoCrypto from '@std/crypto';
// Node.js built-in modules (needed for SMTP and email processing)
import { EventEmitter } from 'node:events';
import * as net from 'node:net';
import * as tls from 'node:tls';
import * as dns from 'node:dns';
import * as fs from 'node:fs';
import * as os from 'node:os';
import * as process from 'node:process';
import * as buffer from 'node:buffer';
import * as util from 'node:util';
import * as crypto from 'node:crypto';
export { EventEmitter, net, tls, dns, fs, os, process, buffer, util, crypto };
export const Buffer = buffer.Buffer;
// Cloudflare API client
import * as cloudflareImport from '@apiclient.xyz/cloudflare';
export const cloudflare = cloudflareImport;
// @push.rocks packages
import * as smartfile from '@push.rocks/smartfile';
import * as smartdns from '@push.rocks/smartdns';
import * as smartmail from '@push.rocks/smartmail';
export { smartfile, smartdns, smartmail };
// @tsclass packages
import * as tsclass from '@tsclass/tsclass';
export { tsclass };
// Third-party libraries
import * as mailauth from 'mailauth';
import { dkimSign } from 'mailauth/lib/dkim/sign.js';
import * as uuid from 'uuid';
import * as ip from 'ip';
import { LRUCache } from 'lru-cache';
export { mailauth, dkimSign, uuid, ip, LRUCache };