1.1 KiB
1.1 KiB
Project Hints
Rust Workspace
- Rust code lives in
rust/with a Cargo workspace - Crates:
mailer-core,mailer-smtp,mailer-security,mailer-napi,mailer-bin mailer-binis the binary target thattsrustbuilds for cross-compilationmailer-napiis a cdylib for N-API bindings (not built by tsrust, needs separate napi-rs build pipeline)- tsrust only supports binary targets (looks for
src/main.rsor[[bin]]entries) - Cross-compilation targets:
linux_amd64,linux_arm64(configured in.smartconfig.json) - Build output goes to
dist_rust/
Build
pnpm buildrunstsbuild tsfolders && tsrust- Note:
tsbuild tsfoldersrequires atsconfig.jsonat the project root (currently missing - pre-existing issue) tsrustindependently works and produces binaries indist_rust/
Key Dependencies (Rust)
tokio- async runtimetokio-rustls- TLShickory-dns(hickory-resolver) - DNS resolutionmail-auth- DKIM/SPF/DMARC (by Stalwart Labs)mailparse- MIME parsingnapi+napi-derive- Node.js bindingsring- crypto primitivesdashmap- concurrent hash maps