@rudderjs/mail 0.0.5
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.
- package/LICENSE +21 -0
- package/README.md +156 -0
- package/dist/failover.d.ts +26 -0
- package/dist/failover.d.ts.map +1 -0
- package/dist/failover.js +48 -0
- package/dist/failover.js.map +1 -0
- package/dist/fake.d.ts +62 -0
- package/dist/fake.d.ts.map +1 -0
- package/dist/fake.js +113 -0
- package/dist/fake.js.map +1 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +215 -0
- package/dist/index.js.map +1 -0
- package/dist/mailable.d.ts +21 -0
- package/dist/mailable.d.ts.map +1 -0
- package/dist/mailable.js +24 -0
- package/dist/mailable.js.map +1 -0
- package/dist/markdown.d.ts +39 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +194 -0
- package/dist/markdown.js.map +1 -0
- package/dist/preview.d.ts +21 -0
- package/dist/preview.d.ts.map +1 -0
- package/dist/preview.js +62 -0
- package/dist/preview.js.map +1 -0
- package/dist/queued.d.ts +11 -0
- package/dist/queued.d.ts.map +1 -0
- package/dist/queued.js +36 -0
- package/dist/queued.js.map +1 -0
- package/package.json +41 -0
package/dist/queued.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { MailRegistry } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal — dispatches a mailable through the queue system.
|
|
4
|
+
* Dynamically requires @rudderjs/queue to avoid hard dependency.
|
|
5
|
+
*/
|
|
6
|
+
export async function dispatchMailJob(mailable, options, queueOptions) {
|
|
7
|
+
let QueueRegistry;
|
|
8
|
+
try {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
10
|
+
const mod = require('@rudderjs/queue');
|
|
11
|
+
QueueRegistry = mod.QueueRegistry;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
throw new Error('[RudderJS Mail] Queued mail requires @rudderjs/queue. Install it with: pnpm add @rudderjs/queue');
|
|
15
|
+
}
|
|
16
|
+
const adapter = QueueRegistry.get();
|
|
17
|
+
if (!adapter) {
|
|
18
|
+
throw new Error('[RudderJS Mail] No queue adapter registered. Add queue() to providers.');
|
|
19
|
+
}
|
|
20
|
+
const job = {
|
|
21
|
+
handle: async () => {
|
|
22
|
+
const mailAdapter = MailRegistry.get();
|
|
23
|
+
if (!mailAdapter) {
|
|
24
|
+
throw new Error('[RudderJS Mail] No mail adapter registered. Add mail() to providers.');
|
|
25
|
+
}
|
|
26
|
+
await mailAdapter.send(mailable, options);
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
const opts = {};
|
|
30
|
+
if (queueOptions?.queue)
|
|
31
|
+
opts['queue'] = queueOptions.queue;
|
|
32
|
+
if (queueOptions?.delay)
|
|
33
|
+
opts['delay'] = queueOptions.delay;
|
|
34
|
+
await adapter.dispatch(job, opts);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=queued.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queued.js","sourceRoot":"","sources":["../src/queued.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAQzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAkB,EAClB,OAAoB,EACpB,YAAiD;IAEjD,IAAI,aAAwB,CAAA;IAE5B,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAiC,CAAA;QACtE,aAAa,GAAG,GAAG,CAAC,aAAa,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,CAAA;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,CAAA;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;YACzF,CAAC;YACD,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;KACF,CAAA;IAED,MAAM,IAAI,GAA4B,EAAE,CAAA;IACxC,IAAI,YAAY,EAAE,KAAK;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAA;IAC3D,IAAI,YAAY,EAAE,KAAK;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAA;IAE3D,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rudderjs/mail",
|
|
3
|
+
"version": "0.0.5",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/rudderjs/rudder",
|
|
8
|
+
"directory": "packages/mail"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"import": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@rudderjs/core": "0.0.8"
|
|
24
|
+
},
|
|
25
|
+
"optionalDependencies": {
|
|
26
|
+
"nodemailer": "^6.9.0"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@types/node": "^20.0.0",
|
|
30
|
+
"typescript": "^5.4.0"
|
|
31
|
+
},
|
|
32
|
+
"author": "Suleiman Shahbari",
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc -p tsconfig.build.json",
|
|
35
|
+
"dev": "tsc -p tsconfig.build.json --watch",
|
|
36
|
+
"typecheck": "tsc --noEmit",
|
|
37
|
+
"lint": "eslint src",
|
|
38
|
+
"test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js; EXIT=$?; rm -rf dist-test; exit $EXIT",
|
|
39
|
+
"clean": "rm -rf dist"
|
|
40
|
+
}
|
|
41
|
+
}
|