{"_id":"@454creative/easy-email","_rev":"24-02ba39a5bc1fe2ca89de9df9abd91e9f","name":"@454creative/easy-email","dist-tags":{"latest":"4.0.2"},"versions":{"1.0.1":{"name":"@454creative/easy-email","version":"1.0.1","keywords":["email","nodemailer","typescript","nestjs"],"author":{"name":"Your Name","email":"your.email@example.com"},"license":"ISC","_id":"@454creative/easy-email@1.0.1","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"a7d50d32efdb801973325a9fd4421fca23adfaee","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.0.1.tgz","fileCount":18,"integrity":"sha512-9GdWlY7Sr+yLqUaQl0VFq+6c+LIhi9PkVmV9wU+yAgxco3cxBiL0e1v1YSwQAQDDipU6gc0eOEK86tp3bJPAfw==","signatures":[{"sig":"MEUCIQC4WdDroO2Fh93eMyettZopEJQhPL7jTVyjA+Grwd19FAIgbSJjl3WtOs4rnzFUSG5y6aAxZpqJOglKypN0BwRu7nk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55032},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e99abcac72ce337e65eecd7f7a3a048406883a77","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prebuild":"npm run clean","test:e2e":"jest tests/e2e","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.0","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"18.20.2","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.1","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.0.1_1744410496420_0.05722256837611095","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@454creative/easy-email","version":"1.0.2","keywords":["email","nodemailer","typescript","nestjs"],"author":{"name":"Your Name","email":"your.email@example.com"},"license":"ISC","_id":"@454creative/easy-email@1.0.2","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"bbc401bd3b3c383d2814f80bcdddcc82a31960aa","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.0.2.tgz","fileCount":21,"integrity":"sha512-vW3G8L/JrIkXL6RI3X9t+1DGnzwDu3DbmX8pzXMY0QfeF3GdwhO3lM4q+4YKKOOTfR7A8uwRUhKKapXwLJeFZg==","signatures":[{"sig":"MEUCIArj8r9DZ8hnR4gqQWjzIPATSBo//9/VCoEhWMX9Vh5EAiEAlmHvBc3vj3aCs49+GwsJQgJq9g4FMIZnoAd7QUUc0qw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65445},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ae273672eedb97839ff6dce9d365736c7bd7d06e","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prebuild":"npm run clean","test:e2e":"jest tests/e2e","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.0","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"18.20.2","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.1","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.0.2_1744412077671_0.5383422034832148","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@454creative/easy-email","version":"1.0.3","keywords":["email","nodemailer","typescript","nestjs"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.0.3","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"10a9d467b201975e4e3e1cc63c7aa896a79296f2","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.0.3.tgz","fileCount":21,"integrity":"sha512-N01Pk28olPqXDeG7bakQKVKYwNoi8VaXa1JmEeFwp7Vp7EWt748e1O7E4PZ2EqudYzPOBoscO3S7YjYx1rC1aQ==","signatures":[{"sig":"MEUCIG28Am0q20pkIZEa7LTEWE2XepAM15CQtX0SMd3k54xTAiEAxZsft2w9HYHDst/Lkst7+/EkJpUq3wko6Jquet9AoHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65442},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"025dae5ce38514fbee3f11997557a15c36c02df9","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prebuild":"npm run clean","test:e2e":"jest tests/e2e","test:unit":"jest tests/unit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.1","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.0.3_1749065200705_0.9851690449684585","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@454creative/easy-email","version":"1.0.6","keywords":["email","nodemailer","typescript","nestjs"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.0.6","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"e7a581d808c60061deb7f862bc9c7363d50ff793","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.0.6.tgz","fileCount":36,"integrity":"sha512-kvlpoWUE9U9u9SKnihILaWtU6GNSTt+BOfoy58WWpg8ZLgMDccAxEm5g5deYRrc8Bwucy+LNLmcxm/e4C3kfJw==","signatures":[{"sig":"MEQCIG7FRQgMCIAxJDfvMSfHHSR85Iol/bMo+mPZaJPtn6QSAiAxnVB0y4l/kZEg6QNriZ8maXqrvo9bcBgTlNK5HudG5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102663},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"63978273065268fbc2eb8ab77d5013b5c1b3d038","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prebuild":"npm run clean","test:cov":"jest --coverage --coverageDirectory=coverage/all","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.1","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.0.6_1749247442531_0.27051664939010767","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@454creative/easy-email","version":"1.0.7","keywords":["email","nodemailer","typescript","nestjs"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.0.7","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"7df3cf8e5c9099937d80436439f6784900a1d609","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.0.7.tgz","fileCount":36,"integrity":"sha512-ifpdFKQOVrEj4tBEsEIdynW+2BFSH20kbjDUpRvGUGNtLo0G/mqJ5FP/1OaXjZc8pq4N9a75O92M9I714kYeAA==","signatures":[{"sig":"MEQCIETjtRzx4e8tBaLQLlwFjqTSGeWYH9o1WjQqwen9nDYnAiAu6PVO7N9KfdmHrBiELl8SQjcCMTKaMtBYpwIxWx4nvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101754},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"63978273065268fbc2eb8ab77d5013b5c1b3d038","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prebuild":"npm run clean","test:cov":"jest --coverage --coverageDirectory=coverage/all","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","actor":{"name":"454-creative","type":"user","email":"technology@454creative.com"},"email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.1","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.0.7_1751323459099_0.3511325420454814","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@454creative/easy-email","version":"1.0.8","keywords":["email","nodemailer","typescript","nestjs"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.0.8","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"1a25b8815647d6160628a48a026d69f90efb725f","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.0.8.tgz","fileCount":37,"integrity":"sha512-uNyiUlelsehmjHTKv2nPLQnEimktWMVpVmbuxydqoaORotXbfXvDypmlIKKmzk2g4hRCxWewdEEXCJmn8jXDKw==","signatures":[{"sig":"MEUCIFMQ4Hpt1f5FoOvx9qRupuyorbM75It4i7yu3U1ZiaeMAiEAy0VqhqRHoDQKOiLGP+tPYldDzmZlT+mKqqOZzx5r0Zc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102167},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"996f1b4d61e510101a40d56e22abb648ae64017b","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","prepare":"npm run build","prebuild":"npm run clean","test:cov":"jest --coverage --coverageDirectory=coverage/all","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","actor":{"name":"454-creative","type":"user","email":"technology@454creative.com"},"email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.1","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.0.8_1751324196362_0.9978780430025658","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@454creative/easy-email","version":"1.1.0","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.0","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"a8ba5268509597a27cee9975d5971b785a69398d","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.0.tgz","fileCount":43,"integrity":"sha512-J1d0+ChBOAj4CsfaFhRJva9TisGruSNlqvX4v+rTZDmhmuBm/WpDyguYWuOVBalEnO9Lm590aImGMxN1Y1jc3w==","signatures":[{"sig":"MEUCIHLaMP6gZhB8KxsH+eLhGNbQt2MJiABnIRVJE4CRfqF8AiEAjE2NKXUXVK53NkS5k90Npshmx77dO78XCg3bhZkdUtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129899},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3b6abe0536215ec3afdcf311ba9d53788cab4d07","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"access":"restricted","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.0_1753140459304_0.055672676765237794","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@454creative/easy-email","version":"1.1.1","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.1","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"95d29838e3cde9a9ad389c6c495506129d4b96e6","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.1.tgz","fileCount":43,"integrity":"sha512-g8KMBCXX0QDTZRHoBrIlIjhB+z6UpdLTBiL2ETJe33Cyyfxjio+5alj3VQQ90EwlpKWUBpgX3l6K7xLGCyAeMw==","signatures":[{"sig":"MEQCIG3zw+lp1i5yb7atdMX6r7jG7STzJFEjlNjv5Tht745ZAiAnCOtHmK/tIcMT6eEhlgcviL0/mZ6mOO+pabqCTDrnjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129871},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3b6abe0536215ec3afdcf311ba9d53788cab4d07","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.1_1753141667872_0.3361978992099093","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@454creative/easy-email","version":"1.1.2","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.2","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"621221dd878969f08c7ee30d05a324b7a304901f","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.2.tgz","fileCount":43,"integrity":"sha512-W1N6Bu/7QlzEOCdVNK1pc5gT+5udiRiGBA+WZo/lZzPgO6OS/XOhQKoh21CsJ+VCxl//vR7nm9NX38hmSSLjRQ==","signatures":[{"sig":"MEQCIGa+NocQLHHJRgbRwiuuuQWjKXhCS/SliteYsztGZHeyAiAsLQllG0zAQvqGInkfM3t2eRyl2YtPp/r3wQ2UDNsoKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129871},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3b6abe0536215ec3afdcf311ba9d53788cab4d07","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.2_1753142035813_0.5471413665666016","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@454creative/easy-email","version":"1.1.3","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.3","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"1eea7ef674763c80b5b88c2325f03fd42f28f8e8","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.3.tgz","fileCount":43,"integrity":"sha512-NRI/hIrRevkri9JgGJ81IDBOXE04tNbXakK3MkEhNrc4wOWc96gkbVuJqYnkr3t3lmnh+0N98vCRIp9EbnHjTg==","signatures":[{"sig":"MEUCIQC/b4vvFgdYaMCqrWd4cQSua3ox2GQdfePH8pqPNiTuBgIgS4zPDB6TcQrv7nh9iVWE9TBAYdtTS8VcCNqtsm2fmPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129871},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3b6abe0536215ec3afdcf311ba9d53788cab4d07","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.3_1753142447090_0.5962691529445536","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@454creative/easy-email","version":"1.1.4","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.4","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"b86bb4d8f3e4d3b18b7753a3c1d45c46c25bcebb","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.4.tgz","fileCount":49,"integrity":"sha512-B7odj/+kqvcvik8TO0pLF764TJNDFAeFBUAsnsjOgfOxhTfvngJErnsTHR4tSGd2u2+0Q4TT0Ua6oG6ycTbIjw==","signatures":[{"sig":"MEQCIQD/VpAVw9MEgEcW1vfL4P7MHVfhusi6eWa6TfPRpyV/OgIfbLAAkFm6RDrhZN1zGWqPTMc7cRe0a7tuA9EWwsjhVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145606},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5583999a2df9446f8543100a981bc37b25d3fff8","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.4_1753143132185_0.03489684129074799","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@454creative/easy-email","version":"1.1.5","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.5","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"8cc31f3d58d119462c1c4b3a91e3df0ad65d2ffd","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.5.tgz","fileCount":49,"integrity":"sha512-ypPiiBPhLF1rx6g1iJfdRGiFOfm0OMi0a9EiR+5e7NKF7KpjqalnNiWb6/fCEN7Lsk3viD0usMDng+z9Hoicag==","signatures":[{"sig":"MEQCIEEhQerKBmp5A8AER4P+yQxaO9gOu+09xW+e0QHE/tC8AiAxmPpVWwb5Eh0hkj20gX9wL4ZWd0Xyb14TigiNNvIjoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153043},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5583999a2df9446f8543100a981bc37b25d3fff8","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.5_1753161975739_0.7777527497287753","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@454creative/easy-email","version":"1.1.6","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.6","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"be7b0c6d63f1cda60f48904d4c35436605a24b58","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.6.tgz","fileCount":49,"integrity":"sha512-3GjPxaR9jUGqQ4PFsxPmeGT9ZOPLZsFzJwDveqy9mbKejZWJbRA3LbMOxCSLfaQ4kZFdp5X7MW1/ooeJ38iiSw==","signatures":[{"sig":"MEUCIBwr9HLnwe3dVGsOZFmTjqw2m0ViyCG5/61lmTpB+c+3AiEAvyKidolMOjM6UanUdRML7roHaGS4oYSBqj1hNsvxhZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153043},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"348c65809fa8005b4c26f810fa61c7a93df72374","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.6_1753163527456_0.6190522367589304","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@454creative/easy-email","version":"1.1.7","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@1.1.7","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"b28969ca714f28a7f3fae6dbf85593161577a431","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-1.1.7.tgz","fileCount":52,"integrity":"sha512-WrMobQ5yyjhswK6GHRWfUI5hfsVCAZUhukKg1rCllDhUbZGhi4n5ztiPOONpPzHYQHJFPSFaeJoP6m+FHiTm9w==","signatures":[{"sig":"MEUCICwlwmNfZwi+AdKjUN3Xunrtao4hJaXTwc/gDTz8VhWNAiEA4F5C7B4Y7sv2/fli2kuOPK6/fL/cEmYtVuPLFfOolnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161830},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"348c65809fa8005b4c26f810fa61c7a93df72374","scripts":{"dev":"npm run build:watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple and smart email service integration library for Node.js","directories":{"example":"examples"},"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","ts-jest":"^29.3.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_1.1.7_1753164642258_0.881439310036632","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@454creative/easy-email","version":"2.0.0","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@2.0.0","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"9aa46b31319d8a71a2e394bcf8a0774db64348dc","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-2.0.0.tgz","fileCount":96,"integrity":"sha512-cgEj8hDhdBUgmax4JpX/073zXOUIJFxeYMmPrKy2RB5BmGf9AYcMD5iWoyLf9wXrCaCB4rfEy9zu+usX65pZRQ==","signatures":[{"sig":"MEUCICalC7vWnFk+ChOkgm2JMcbxXRETTCWbDCyvuJUVq/jyAiEA3k/vEG+HrsvJstcmxkw36rcciVO4LoaTZpJ0bDo6ivE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":259974},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"795e0229395f7e7b55a8f224b6331ab8db011c16","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_2.0.0_1753485060428_0.13990780455880092","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@454creative/easy-email","version":"2.0.1","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@2.0.1","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"2110399f4de1a5357ee7344920184e72ea41d0d6","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-2.0.1.tgz","fileCount":96,"integrity":"sha512-uu0HnF7CNZZfGBvuIf0KAE0hxQl6kQX8+4xlnh5fqaKkrPu+06PMhh44VAkCKiJDXeUrWjxZJe763OUXNB9Prw==","signatures":[{"sig":"MEUCIBVqzQ5WtPjEI66tDNa49u4yYh/XRRGO5G6ZWC3eph0hAiEAz9V1aCFJM3a5TKpy0j6U8niqg2/Zec7gavjupAfn+pg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262635},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"f665f398e9c7558fe9703612b23592f037d5cbd8","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_2.0.1_1753485708998_0.4576093454259573","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@454creative/easy-email","version":"2.1.0","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@2.1.0","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"9f818f2e08096b0bc3353326cab21b13f01e39e8","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-2.1.0.tgz","fileCount":96,"integrity":"sha512-pa8Tuwz7mZTVJ5o5bh95xdYotFaWpooY5YgVHpEaFgRqdOLqbHy6QYe+OWtfCbyrruyjhdYjauk67OWLj0UoIQ==","signatures":[{"sig":"MEYCIQDzc8tB+Y33DDOxMy0Gjmu5ZYeELqJJfPDehi9v/jU7UwIhAJRxeE+PfUzsQJv+FU1N/35AzZjMs2lnLbesPvHDNPza","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263171},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"14628e99f4036479d3eca23587f236b9e746badf","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_2.1.0_1753488716027_0.48885524002819647","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@454creative/easy-email","version":"3.0.0","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@3.0.0","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"f51694905d8cb83067edf35ea4faba00179ea557","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-3.0.0.tgz","fileCount":117,"integrity":"sha512-l0r6kXOB8rU0ZdPN8ODjrnL0YwhKmkEHjIS+uYekgr5nt+7ojcZJOPSlWErZjbYKVnAe75DlwnwcADCMfRQGvA==","signatures":[{"sig":"MEUCIQCQoa8ikiP0y2J5DLvi+qz0V39TRqQbM87wtid6G4FpqQIgCUzL0neD7VSQHqco3lk0zSOgoFpuqwtALRh5vQJo0M8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395360},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"a313a028de6e2d56476e0a1a644c5f499b46c343","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4","@aws-sdk/client-ses":"^3.540.0","@aws-sdk/credential-providers":"^3.540.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_3.0.0_1754529078135_0.6013206361291485","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@454creative/easy-email","version":"3.0.1","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@3.0.1","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"f76fc8a64e92780203cb2d3c87ff360b50873d92","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-3.0.1.tgz","fileCount":117,"integrity":"sha512-pjJHopZjauxJfCzhJZOPALpMDM49Xgz/zE7yJoEeflcOm6i4sQA+3zGoOYGS34cC/6dmvaws/3PCCtssyWkpHw==","signatures":[{"sig":"MEUCIQDkegm2xuxgRABQi1rWIaYSHy6lyRvHhoFckNqdwEpHDwIgaHRn1csuins28abMAZZcTygMAXKJkt1Gk/4mjJEvikg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406588},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"89deef95b47483e6b7a8ccd26c28707cc0801168","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4","@aws-sdk/client-ses":"^3.540.0","@aws-sdk/credential-providers":"^3.540.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_3.0.1_1754532235714_0.37233449893442794","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@454creative/easy-email","version":"3.1.0","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@3.1.0","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"3b27f1c8067a32d4052b11b2d8de06bfb6f6cf54","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-3.1.0.tgz","fileCount":117,"integrity":"sha512-viCxKgAYnJ/6ryfM26/CFYkfBNVyRSZWFHGsgQoysswDPA7ayE6s+njZJd6x1y228ZnBXHw/eFJdi5SYLgca/Q==","signatures":[{"sig":"MEQCIEpXP1NljqPOh5lak6ZORwzemA5MbHb02rUOxp2xabgfAiBKdQf8EK8mXSvvwKwPkoEEWKVUeU6AmjgBPVqDVhEMBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410927},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"10a1f4095ee15bc9f0269ec81857f398bfbf1f95","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4","@aws-sdk/client-ses":"^3.540.0","@aws-sdk/credential-providers":"^3.540.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_3.1.0_1755300698223_0.7501734750050328","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@454creative/easy-email","version":"4.0.0","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@4.0.0","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"1f5072b4666cb0dc2557205ff38aa0f0fd71125d","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-4.0.0.tgz","fileCount":137,"integrity":"sha512-Ujshmtb8Zn3bx8apv7VPkYomcxLpnr5Js6fdPzxoUOqNPkSzaYPBE9JgyJeaQT41EawKd+3mp3PD2VC04VOrJQ==","signatures":[{"sig":"MEUCIE0SIWGXPd8G4pcj7Nr431NMZo09T6Z4lhlyHcvquVzSAiEA4zb6BZl3aRf7YqRgKrvuAOSUUQiAjbImGyZE2Wh+gWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485382},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"d58ed2559fe06fb30c30fc0520758057822cd5f4","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4","@aws-sdk/client-ses":"^3.540.0","@aws-sdk/credential-providers":"^3.540.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_4.0.0_1755904905591_0.04327838456319366","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@454creative/easy-email","version":"4.0.1","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","_id":"@454creative/easy-email@4.0.1","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"homepage":"https://bitbucket.org/454creative/easy-email#readme","bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"dist":{"shasum":"02edb19a421a71c7263cca7a57fa4029d746a086","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-4.0.1.tgz","fileCount":137,"integrity":"sha512-+J6D/DLHKPy+nUaWnHRv4T/Nj70vZeRXkbFLlqPRDlC0WSrYEfYT4CYZOJDXMOG0gFlooxda0bVK2mciedENnA==","signatures":[{"sig":"MEUCIQChZsSO2YhJQddHJHDwItIoqpIqYAt2SHItSZI0bRz/4AIgH4dM3bV41xcADDe/Wt2HHpF8emzxp+a5xdBZH+COGeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485382},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"2d77aefc26f2430651387fe64bd1ace14e935a1f","scripts":{"dev":"npm run build:watch","docs":"typedoc src/index.ts --out docs","lint":"eslint src/**/*.ts","size":"npm run build && npm run size:check","test":"jest","build":"tsc","clean":"rimraf dist coverage","format":"prettier --write src/**/*.ts","prepare":"npm run build","test:ci":"jest --ci --coverage --watchAll=false","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\"","test:watch":"jest --watch","build:watch":"tsc --watch","format:check":"prettier --check src/**/*.ts","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm run test:ci","publish:public":"npm publish --access public","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration"},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"repository":{"url":"git+https://bitbucket.org/454creative/easy-email.git","type":"git"},"_npmVersion":"10.5.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","directories":{"example":"examples"},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"nodemailer":"^6.0.0","@sendgrid/mail":"^8.1.4","@aws-sdk/client-ses":"^3.540.0","@aws-sdk/credential-providers":"^3.540.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.31.0","rimraf":"^5.0.0","ts-jest":"^29.3.1","typedoc":"^0.25.0","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/easy-email_4.0.1_1755905351684_0.0663837297565022","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@454creative/easy-email","version":"4.0.2","description":"A framework-agnostic email service library for Node.js with observability and monitoring","main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"sideEffects":false,"directories":{"example":"examples"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://bitbucket.org/454creative/easy-email.git"},"bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"homepage":"https://bitbucket.org/454creative/easy-email#readme","engines":{"node":">=14.0.0"},"scripts":{"build":"tsc","build:watch":"tsc --watch","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","test:ci":"jest --ci --coverage --watchAll=false","test:unit":"jest tests/unit --coverage --coverageDirectory=coverage/unit","test:integration":"jest tests/integration --coverage --coverageDirectory=coverage/integration","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","format":"prettier --write src/**/*.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"npm run build && npm run test:ci","prepare":"npm run build","clean":"rimraf dist coverage","dev":"npm run build:watch","publish:public":"npm publish --access public","docs":"typedoc src/index.ts --out docs","size":"npm run build && npm run size:check","size:check":"node -e \"console.log('Bundle size:', require('fs').statSync('dist/index.js').size, 'bytes')\""},"keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","dependencies":{"@aws-sdk/client-ses":"^3.540.0","@aws-sdk/credential-providers":"^3.540.0","@sendgrid/mail":"^8.1.4","nodemailer":"^6.0.0"},"devDependencies":{"@eslint/js":"^9.31.0","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/nodemailer":"^6.4.17","@typescript-eslint/eslint-plugin":"^8.38.0","@typescript-eslint/parser":"^8.38.0","eslint":"^9.31.0","jest":"^29.7.0","prettier":"^3.6.2","ts-jest":"^29.3.1","typescript":"^5.8.2","typedoc":"^0.25.0","rimraf":"^5.0.0"},"peerDependencies":{"nodemailer":"^6.0.0"},"_id":"@454creative/easy-email@4.0.2","gitHead":"2d77aefc26f2430651387fe64bd1ace14e935a1f","_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"integrity":"sha512-2kOIJyoV+07R2nsFgJYfzprvHzwed/j8u5f6LiX03XzTCOHjD1up/nhRHHkTkh/Op5lTDI+PR803P4QBzE5iZw==","shasum":"a932799fbd06126894eaee1fbfdd27e2453bb90e","tarball":"https://registry.npmjs.org/@454creative/easy-email/-/easy-email-4.0.2.tgz","fileCount":137,"unpackedSize":485382,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBBAv2/eI8wM6u1kx51B302Ut/tfqeE/od/GJLHm8gp9AiAY1hls3s+BjloSOnfxm3SloADIKifiNZgiLjDMi3aqxQ=="}]},"_npmUser":{"name":"454-creative","email":"technology@454creative.com"},"maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/easy-email_4.0.2_1755914413077_0.7634963598507485"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-11T22:28:16.011Z","modified":"2025-08-23T02:00:13.610Z","1.0.1":"2025-04-11T22:28:16.575Z","1.0.2":"2025-04-11T22:54:37.946Z","1.0.3":"2025-06-04T19:26:40.890Z","1.0.6":"2025-06-06T22:04:02.740Z","1.0.7":"2025-06-30T22:44:19.266Z","1.0.8":"2025-06-30T22:56:36.580Z","1.1.0":"2025-07-21T23:27:39.500Z","1.1.1":"2025-07-21T23:47:48.102Z","1.1.2":"2025-07-21T23:53:56.011Z","1.1.3":"2025-07-22T00:00:47.325Z","1.1.4":"2025-07-22T00:12:12.375Z","1.1.5":"2025-07-22T05:26:15.929Z","1.1.6":"2025-07-22T05:52:07.635Z","1.1.7":"2025-07-22T06:10:42.442Z","2.0.0":"2025-07-25T23:11:00.660Z","2.0.1":"2025-07-25T23:21:49.189Z","2.1.0":"2025-07-26T00:11:56.242Z","3.0.0":"2025-08-07T01:11:18.344Z","3.0.1":"2025-08-07T02:03:55.906Z","3.1.0":"2025-08-15T23:31:38.454Z","4.0.0":"2025-08-22T23:21:45.791Z","4.0.1":"2025-08-22T23:29:11.909Z","4.0.2":"2025-08-23T02:00:13.353Z"},"bugs":{"url":"https://bitbucket.org/454creative/easy-email/issues"},"author":{"name":"Will Chu","email":"wchu@454creative.com"},"license":"ISC","homepage":"https://bitbucket.org/454creative/easy-email#readme","keywords":["email","nodemailer","typescript","nestjs","observability","monitoring","logging","auditing","smtp","sendgrid","framework-agnostic"],"repository":{"type":"git","url":"git+https://bitbucket.org/454creative/easy-email.git"},"description":"A framework-agnostic email service library for Node.js with observability and monitoring","maintainers":[{"name":"454-creative","email":"technology@454creative.com"},{"name":"454-marissa","email":"marissa@454creative.com"},{"name":"will_454creative","email":"will@454creative.com"}],"readme":"# @454creative/easy-email\n\n[![npm version](https://badge.fury.io/js/%40454creative%2Feasy-email.svg)](https://badge.fury.io/js/%40454creative%2Feasy-email)\n[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D14.0.0-brightgreen.svg)](https://nodejs.org/)\n\nA framework-agnostic email service library for Node.js with observability and monitoring capabilities. Supports SMTP, SendGrid, and AWS SES providers with comprehensive error handling, performance monitoring, and template rendering.\n\n## 🚀 Features\n\n- **Framework Agnostic**: Works with any Node.js framework (Express, NestJS, Fastify, etc.)\n- **Multiple Providers**: Support for SMTP, SendGrid, and AWS SES\n- **Observability**: Built-in monitoring, logging, and metrics\n- **Type Safety**: Full TypeScript support with comprehensive type definitions\n- **Error Handling**: Robust error handling with detailed error information\n- **Performance Monitoring**: Track email sending performance and identify bottlenecks\n- **Template Engine**: HTML template rendering with variable substitution\n- **Validation**: Email address validation and request validation\n- **Retry Logic**: Automatic retry with exponential backoff\n- **Rate Limiting**: Built-in rate limiting support\n- **AWS SES Integration**: Full AWS SES support with advanced features\n- **Dependency Injection**: No singletons - perfect for multi-tenant applications\n- **Multi-Tenant Support**: Each service instance is completely isolated\n\n## 📦 Installation\n\n```bash\nnpm install @454creative/easy-email\n```\n\n## 🔧 Quick Start\n\n### Basic Usage\n\n```typescript\nimport { EmailService, EmailProviderType } from '@454creative/easy-email';\n\n// Configure with SMTP\nconst emailService = new EmailService({\n  type: EmailProviderType.SMTP,\n  config: {\n    host: 'smtp.gmail.com',\n    port: 587,\n    secure: false,\n    auth: {\n      user: 'your-email@gmail.com',\n      pass: 'your-password'\n    }\n  }\n});\n\n// Or configure with SendGrid\nconst sendGridService = new EmailService({\n  type: EmailProviderType.SENDGRID,\n  config: {\n    apiKey: 'your-sendgrid-api-key'\n  }\n});\n\n// Send email\nconst result = await emailService.sendEmail({\n  to: 'recipient@example.com',\n  subject: 'Hello from Easy Email!',\n  text: 'This is a test email',\n  from: 'sender@example.com'\n});\n\nif (result.success) {\n  console.log('Email sent successfully!');\n} else {\n  console.error('Failed to send email:', result.error);\n}\n```\n\n### SendGrid Configuration\n\n```typescript\nimport { EmailService, EmailProviderType } from '@454creative/easy-email';\n\nconst emailService = new EmailService({\n  type: EmailProviderType.SENDGRID,\n  config: {\n    apiKey: 'your-sendgrid-api-key'\n  }\n});\n```\n\n### AWS SES Configuration\n\n```typescript\nimport { EmailService, EmailProviderType, EmailConfigBuilder } from '@454creative/easy-email';\n\n// Method 1: Using EmailConfigBuilder (Recommended)\nconst config = new EmailConfigBuilder(EmailProviderType.SES)\n  .withSesConfig({\n    region: 'us-west-2',\n    // Credentials will be loaded from environment variables:\n    // AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN\n  })\n  .withRetryAttempts(3)\n  .withTimeout(10000)\n  .build();\n\nconst emailService = new EmailService(config, { email: 'noreply@yourcompany.com' });\n```\n\n### Dependency Injection & Multi-Tenant Support\n\nThe library supports proper dependency injection with no singletons, making it perfect for multi-tenant applications:\n\n```typescript\nimport { EmailService, EmailProviderType, ObservabilityService } from '@454creative/easy-email';\n\n// Create tenant-specific observability services\nconst tenant1Observability = new ObservabilityService({ \n  enabled: true, \n  tenantId: 'tenant-1',\n  scope: 'tenant' \n});\n\nconst tenant2Observability = new ObservabilityService({ \n  enabled: true, \n  tenantId: 'tenant-2',\n  scope: 'tenant' \n});\n\n// Create isolated email services for each tenant\nconst tenant1Service = new EmailService(\n  {\n    type: EmailProviderType.SMTP,\n    config: { host: 'smtp.tenant1.com', port: 587, secure: false }\n  },\n  { email: 'noreply@tenant1.com' },\n  tenant1Observability // Inject tenant-specific observability\n);\n\nconst tenant2Service = new EmailService(\n  {\n    type: EmailProviderType.SENDGRID,\n    config: { apiKey: 'tenant2-api-key' }\n  },\n  { email: 'noreply@tenant2.com' },\n  tenant2Observability // Inject tenant-specific observability\n);\n\n// Each tenant's metrics and events are completely isolated\nawait tenant1Service.sendEmail({ to: 'user1@example.com', subject: 'Hello Tenant 1' });\nawait tenant2Service.sendEmail({ to: 'user2@example.com', subject: 'Hello Tenant 2' });\n\n// Get isolated metrics for each tenant\nconst tenant1Metrics = tenant1Observability.getMetrics();\nconst tenant2Metrics = tenant2Observability.getMetrics();\n```\n\n### Using Factory Methods\n\nFor convenience, you can also use factory methods:\n\n```typescript\nimport { ProviderFactory } from '@454creative/easy-email';\n\n// Create services with factory methods\nconst emailService = ProviderFactory.createEmailService(\n  { type: EmailProviderType.SMTP, config: smtpConfig },\n  { email: 'noreply@company.com' },\n  ProviderFactory.createObservabilityService({ enabled: true, scope: 'production' })\n);\n```\n\n## 📚 API Reference\n\n### Available Exports\n\n```typescript\nimport {\n  // Main services\n  EmailService,\n  ObservabilityService,\n  SesService,\n  \n  // Enums and constants\n  EmailProviderType,\n  EMAIL_CONSTANTS,\n  OBSERVABILITY_CONSTANTS,\n  \n  // Performance utilities\n  PerformanceMonitor,\n  trackPerformance,\n  \n  // Version information\n  VERSION,\n  LIBRARY_INFO,\n  \n  // Error classes\n  EmailServiceError,\n  ConfigurationError,\n  ProviderError,\n  ValidationError,\n  \n  // Utility functions\n  validateEmail,\n  isValidEmail,\n  checkEmailTypos\n} from '@454creative/easy-email';\n```\n\n### EmailService\n\nThe main service class for sending emails.\n\n#### Constructor\n\n```typescript\nnew EmailService(\n  providerConfig: EmailProviderConfig | SmtpConfig,\n  defaultFrom?: { email: string; name?: string },\n  observabilityConfig?: ObservabilityConfig\n)\n```\n\n#### Methods\n\n- `sendEmail(request: EmailRequest): Promise<EmailResponse>` - Send an email\n- `verifyConnection(): Promise<boolean>` - Verify provider connection\n- `sendPlainText(to, subject, text, options?): Promise<EmailResponse>` - Send plain text email\n- `sendHtml(to, subject, html, options?): Promise<EmailResponse>` - Send HTML email\n\n### Interfaces\n\n#### EmailRequest\n\n```typescript\ninterface EmailRequest {\n  to: string | string[];\n  subject: string;\n  text?: string;\n  html?: string;\n  from?: string;\n  cc?: string | string[];\n  bcc?: string | string[];\n  replyTo?: string;\n  attachments?: EmailRequestAttachment[];\n  headers?: Record<string, string>;\n}\n```\n\n#### EmailProviderType\n\n```typescript\nenum EmailProviderType {\n  SMTP = 'smtp',\n  SENDGRID = 'sendgrid',\n  SES = 'ses'\n}\n```\n\n#### EmailResponse\n\n```typescript\ninterface EmailResponse {\n  success: boolean;\n  messageId?: string;\n  error?: {\n    message: string;\n    code?: string;\n    provider?: string;\n    details?: any;\n  };\n}\n```\n\n## 🔍 Observability\n\nThe library includes built-in observability features:\n\n```typescript\nimport { ObservabilityService } from '@454creative/easy-email';\n\nconst observability = ObservabilityService.getInstance({\n  enabled: true,\n  logLevel: 'info',\n  trackMetrics: true\n});\n\n// Get metrics\nconst metrics = observability.getMetrics();\nconsole.log('Email metrics:', metrics);\n```\n\n## 🎯 Performance Monitoring\n\nTrack performance with the built-in performance monitor:\n\n```typescript\nimport { PerformanceMonitor } from '@454creative/easy-email';\n\nconst monitor = PerformanceMonitor.getInstance({\n  enabled: true,\n  thresholdMs: 1000,\n  logSlowOperations: true\n});\n\n// Get performance summary\nconst summary = monitor.getSummary();\nconsole.log('Performance summary:', summary);\n```\n\n## 🛠️ Error Handling\n\nThe library provides comprehensive error handling:\n\n```typescript\nimport { \n  EmailServiceError, \n  ValidationError, \n  ProviderError \n} from '@454creative/easy-email';\n\ntry {\n  const result = await emailService.sendEmail(request);\n  // Handle success\n} catch (error) {\n  if (error instanceof ValidationError) {\n    console.error('Validation error:', error.message);\n  } else if (error instanceof ProviderError) {\n    console.error('Provider error:', error.message);\n  } else {\n    console.error('Unexpected error:', error);\n  }\n}\n```\n\n## 📝 Examples\n\nSee the `examples/` directory for comprehensive examples:\n\n- [Simple Best Practice](./examples/simple-best-practice.ts)\n- [SendGrid Example](./examples/sendgrid-example.ts)\n- [AWS SES Example](./examples/ses-example.ts)\n- [Observability Example](./examples/observability-example.ts)\n- [Event-Driven Example](./examples/event-driven-example.ts)\n- [SendGrid Debugging](./examples/sendgrid-debugging-example.ts)\n\nFor detailed documentation and guides, see the [Documentation Directory](./documentation/).\n\n## 📚 Documentation\n\n### AWS SES Integration\n\n- [AWS SES Setup Guide](./documentation/aws-ses-setup.md) - Complete setup instructions\n- [AWS SES Examples](./documentation/aws-ses-examples.md) - Comprehensive usage examples\n- [AWS SES Troubleshooting](./documentation/aws-ses-troubleshooting.md) - Common issues and solutions\n\n### General Documentation\n\n- [Getting Started](./documentation/getting-started.md) - Quick start guide\n- [API Reference](./documentation/api-reference.md) - Complete API documentation\n- [Best Practices](./documentation/best-practices.md) - Development guidelines\n- [Troubleshooting](./documentation/troubleshooting.md) - Common issues and solutions\n\n## 🧪 Testing\n\n```bash\n# Run all tests\nnpm test\n\n# Run unit tests\nnpm run test:unit\n\n# Run integration tests\nnpm run test:integration\n\n# Run with coverage\nnpm run test:coverage\n```\n\n## 📊 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the ISC License - see the [LICENSE](LICENSE) file for details.\n\n## 🤝 Support\n\n- **Issues**: [GitHub Issues](https://bitbucket.org/454creative/easy-email/issues)\n- **Documentation**: [Documentation Directory](./documentation/)\n- **API Reference**: [Generated API Docs](./docs/)\n- **Examples**: [Examples Directory](./examples/)\n\n## 🔄 Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for a complete list of changes, version history, and migration guides.\n\n## 📈 Roadmap\n\n- [x] AWS SES integration ✅\n- [ ] Additional email providers (Mailgun)\n- [ ] Advanced template engine with layouts\n- [ ] Email scheduling and queuing\n- [ ] Webhook support for delivery tracking\n- [ ] Advanced rate limiting strategies\n- [ ] Email analytics and reporting\n\n---\n\n**Made with ❤️ by [454 Creative](https://454creative.com)**\n","readmeFilename":"README.md"}