@arikajs/mail 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +290 -0
  3. package/dist/Contracts/Transport.d.ts +4 -0
  4. package/dist/Contracts/Transport.d.ts.map +1 -0
  5. package/dist/Contracts/Transport.js +3 -0
  6. package/dist/Contracts/Transport.js.map +1 -0
  7. package/dist/MailManager.d.ts +13 -0
  8. package/dist/MailManager.d.ts.map +1 -0
  9. package/dist/MailManager.js +69 -0
  10. package/dist/MailManager.js.map +1 -0
  11. package/dist/Mailable.d.ts +21 -0
  12. package/dist/Mailable.d.ts.map +1 -0
  13. package/dist/Mailable.js +32 -0
  14. package/dist/Mailable.js.map +1 -0
  15. package/dist/Mailer.d.ts +31 -0
  16. package/dist/Mailer.d.ts.map +1 -0
  17. package/dist/Mailer.js +89 -0
  18. package/dist/Mailer.js.map +1 -0
  19. package/dist/Message.d.ts +45 -0
  20. package/dist/Message.d.ts.map +1 -0
  21. package/dist/Message.js +77 -0
  22. package/dist/Message.js.map +1 -0
  23. package/dist/Transport/ArrayTransport.d.ts +14 -0
  24. package/dist/Transport/ArrayTransport.d.ts.map +1 -0
  25. package/dist/Transport/ArrayTransport.js +25 -0
  26. package/dist/Transport/ArrayTransport.js.map +1 -0
  27. package/dist/Transport/LogTransport.d.ts +5 -0
  28. package/dist/Transport/LogTransport.d.ts.map +1 -0
  29. package/dist/Transport/LogTransport.js +12 -0
  30. package/dist/Transport/LogTransport.js.map +1 -0
  31. package/dist/Transport/MailgunTransport.d.ts +8 -0
  32. package/dist/Transport/MailgunTransport.d.ts.map +1 -0
  33. package/dist/Transport/MailgunTransport.js +24 -0
  34. package/dist/Transport/MailgunTransport.js.map +1 -0
  35. package/dist/Transport/SendGridTransport.d.ts +8 -0
  36. package/dist/Transport/SendGridTransport.d.ts.map +1 -0
  37. package/dist/Transport/SendGridTransport.js +22 -0
  38. package/dist/Transport/SendGridTransport.js.map +1 -0
  39. package/dist/Transport/SesTransport.d.ts +8 -0
  40. package/dist/Transport/SesTransport.d.ts.map +1 -0
  41. package/dist/Transport/SesTransport.js +28 -0
  42. package/dist/Transport/SesTransport.js.map +1 -0
  43. package/dist/Transport/SmtpTransport.d.ts +8 -0
  44. package/dist/Transport/SmtpTransport.d.ts.map +1 -0
  45. package/dist/Transport/SmtpTransport.js +30 -0
  46. package/dist/Transport/SmtpTransport.js.map +1 -0
  47. package/dist/index.d.ts +17 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +46 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/src/Contracts/Transport.d.ts +4 -0
  52. package/dist/src/Contracts/Transport.d.ts.map +1 -0
  53. package/dist/src/Contracts/Transport.js +3 -0
  54. package/dist/src/Contracts/Transport.js.map +1 -0
  55. package/dist/src/MailManager.d.ts +13 -0
  56. package/dist/src/MailManager.d.ts.map +1 -0
  57. package/dist/src/MailManager.js +69 -0
  58. package/dist/src/MailManager.js.map +1 -0
  59. package/dist/src/Mailable.d.ts +21 -0
  60. package/dist/src/Mailable.d.ts.map +1 -0
  61. package/dist/src/Mailable.js +32 -0
  62. package/dist/src/Mailable.js.map +1 -0
  63. package/dist/src/Mailer.d.ts +31 -0
  64. package/dist/src/Mailer.d.ts.map +1 -0
  65. package/dist/src/Mailer.js +89 -0
  66. package/dist/src/Mailer.js.map +1 -0
  67. package/dist/src/Message.d.ts +45 -0
  68. package/dist/src/Message.d.ts.map +1 -0
  69. package/dist/src/Message.js +77 -0
  70. package/dist/src/Message.js.map +1 -0
  71. package/dist/src/Transport/ArrayTransport.d.ts +14 -0
  72. package/dist/src/Transport/ArrayTransport.d.ts.map +1 -0
  73. package/dist/src/Transport/ArrayTransport.js +25 -0
  74. package/dist/src/Transport/ArrayTransport.js.map +1 -0
  75. package/dist/src/Transport/LogTransport.d.ts +5 -0
  76. package/dist/src/Transport/LogTransport.d.ts.map +1 -0
  77. package/dist/src/Transport/LogTransport.js +12 -0
  78. package/dist/src/Transport/LogTransport.js.map +1 -0
  79. package/dist/src/Transport/MailgunTransport.d.ts +8 -0
  80. package/dist/src/Transport/MailgunTransport.d.ts.map +1 -0
  81. package/dist/src/Transport/MailgunTransport.js +24 -0
  82. package/dist/src/Transport/MailgunTransport.js.map +1 -0
  83. package/dist/src/Transport/SendGridTransport.d.ts +8 -0
  84. package/dist/src/Transport/SendGridTransport.d.ts.map +1 -0
  85. package/dist/src/Transport/SendGridTransport.js +22 -0
  86. package/dist/src/Transport/SendGridTransport.js.map +1 -0
  87. package/dist/src/Transport/SesTransport.d.ts +8 -0
  88. package/dist/src/Transport/SesTransport.d.ts.map +1 -0
  89. package/dist/src/Transport/SesTransport.js +28 -0
  90. package/dist/src/Transport/SesTransport.js.map +1 -0
  91. package/dist/src/Transport/SmtpTransport.d.ts +8 -0
  92. package/dist/src/Transport/SmtpTransport.d.ts.map +1 -0
  93. package/dist/src/Transport/SmtpTransport.js +30 -0
  94. package/dist/src/Transport/SmtpTransport.js.map +1 -0
  95. package/dist/src/index.d.ts +17 -0
  96. package/dist/src/index.d.ts.map +1 -0
  97. package/dist/src/index.js +46 -0
  98. package/dist/src/index.js.map +1 -0
  99. package/dist/tests/Mail.test.d.ts +2 -0
  100. package/dist/tests/Mail.test.d.ts.map +1 -0
  101. package/dist/tests/Mail.test.js +43 -0
  102. package/dist/tests/Mail.test.js.map +1 -0
  103. package/dist/tests/TransportResolution.test.d.ts +2 -0
  104. package/dist/tests/TransportResolution.test.d.ts.map +1 -0
  105. package/dist/tests/TransportResolution.test.js +52 -0
  106. package/dist/tests/TransportResolution.test.js.map +1 -0
  107. package/package.json +52 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_test_1 = require("node:test");
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
+ const src_1 = require("../src");
9
+ const SesTransport_1 = require("../src/Transport/SesTransport");
10
+ const MailgunTransport_1 = require("../src/Transport/MailgunTransport");
11
+ const SendGridTransport_1 = require("../src/Transport/SendGridTransport");
12
+ (0, node_test_1.describe)('Mail Transport Resolution', () => {
13
+ const config = {
14
+ default: 'ses',
15
+ mailers: {
16
+ ses: {
17
+ transport: 'ses',
18
+ key: 'test-key',
19
+ secret: 'test-secret',
20
+ region: 'us-east-1'
21
+ },
22
+ mailgun: {
23
+ transport: 'mailgun',
24
+ key: 'mg-key',
25
+ domain: 'mg.example.com'
26
+ },
27
+ sendgrid: {
28
+ transport: 'sendgrid',
29
+ key: 'sg-key'
30
+ }
31
+ }
32
+ };
33
+ (0, node_test_1.it)('resolves SES transport', () => {
34
+ const manager = new src_1.MailManager(config);
35
+ const mailer = manager.mailer('ses');
36
+ // @ts-ignore - accessing protected for test verification
37
+ node_assert_1.default.ok(mailer.transport instanceof SesTransport_1.SesTransport);
38
+ });
39
+ (0, node_test_1.it)('resolves Mailgun transport', () => {
40
+ const manager = new src_1.MailManager(config);
41
+ const mailer = manager.mailer('mailgun');
42
+ // @ts-ignore
43
+ node_assert_1.default.ok(mailer.transport instanceof MailgunTransport_1.MailgunTransport);
44
+ });
45
+ (0, node_test_1.it)('resolves SendGrid transport', () => {
46
+ const manager = new src_1.MailManager(config);
47
+ const mailer = manager.mailer('sendgrid');
48
+ // @ts-ignore
49
+ node_assert_1.default.ok(mailer.transport instanceof SendGridTransport_1.SendGridTransport);
50
+ });
51
+ });
52
+ //# sourceMappingURL=TransportResolution.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransportResolution.test.js","sourceRoot":"","sources":["../../tests/TransportResolution.test.ts"],"names":[],"mappings":";;;;;AACA,yCAAyC;AACzC,8DAAiC;AACjC,gCAAqC;AACrC,gEAA6D;AAC7D,wEAAqE;AACrE,0EAAuE;AAEvE,IAAA,oBAAQ,EAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACL,GAAG,EAAE;gBACD,SAAS,EAAE,KAAK;gBAChB,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,WAAW;aACtB;YACD,OAAO,EAAE;gBACL,SAAS,EAAE,SAAS;gBACpB,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,gBAAgB;aAC3B;YACD,QAAQ,EAAE;gBACN,SAAS,EAAE,UAAU;gBACrB,GAAG,EAAE,QAAQ;aAChB;SACJ;KACJ,CAAC;IAEF,IAAA,cAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAI,iBAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,yDAAyD;QACzD,qBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,YAAY,2BAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,iBAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,aAAa;QACb,qBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,YAAY,mCAAgB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,iBAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,aAAa;QACb,qBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,YAAY,qCAAiB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@arikajs/mail",
3
+ "version": "0.0.1",
4
+ "description": "Email delivery system for the ArikaJS framework.",
5
+ "license": "MIT",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "scripts": {
9
+ "build": "tsc -p tsconfig.json",
10
+ "build:tests": "tsc -p tsconfig.test.json",
11
+ "clean": "rm -rf dist",
12
+ "prepare": "echo skip",
13
+ "test": "npm run build && npm run build:tests && node --test 'dist/tests/**/*.test.js'",
14
+ "test:watch": "npm run build && npm run build:tests && node --test --watch 'dist/tests/**/*.test.js'"
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "keywords": [
20
+ "arika",
21
+ "arika-js",
22
+ "framework",
23
+ "mail",
24
+ "email",
25
+ "smtp",
26
+ "mailer",
27
+ "mailable"
28
+ ],
29
+ "engines": {
30
+ "node": ">=20.0.0"
31
+ },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/arikajs/mail.git"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/arikajs/mail/issues"
38
+ },
39
+ "homepage": "https://github.com/arikajs/mail#readme",
40
+ "dependencies": {
41
+ "@aws-sdk/client-ses": "^3.992.0",
42
+ "nodemailer": "^6.9.8",
43
+ "nodemailer-mailgun-transport": "^2.1.5",
44
+ "nodemailer-sendgrid-transport": "^0.2.0"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^20.11.24",
48
+ "@types/nodemailer": "^6.4.14",
49
+ "typescript": "^5.3.3"
50
+ },
51
+ "author": "Prakash Tank"
52
+ }