@perseidesjs/notification-nodemailer 1.1.0 → 3.0.0

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.
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ const widgetModule = { widgets: [] };
3
+ const routeModule = {
4
+ routes: []
5
+ };
6
+ const menuItemModule = {
7
+ menuItems: []
8
+ };
9
+ const formModule = { customFields: {} };
10
+ const displayModule = {
11
+ displays: {}
12
+ };
13
+ const i18nModule = { resources: {} };
14
+ const plugin = {
15
+ widgetModule,
16
+ routeModule,
17
+ menuItemModule,
18
+ formModule,
19
+ displayModule,
20
+ i18nModule
21
+ };
22
+ module.exports = plugin;
@@ -0,0 +1,23 @@
1
+ const widgetModule = { widgets: [] };
2
+ const routeModule = {
3
+ routes: []
4
+ };
5
+ const menuItemModule = {
6
+ menuItems: []
7
+ };
8
+ const formModule = { customFields: {} };
9
+ const displayModule = {
10
+ displays: {}
11
+ };
12
+ const i18nModule = { resources: {} };
13
+ const plugin = {
14
+ widgetModule,
15
+ routeModule,
16
+ menuItemModule,
17
+ formModule,
18
+ displayModule,
19
+ i18nModule
20
+ };
21
+ export {
22
+ plugin as default
23
+ };
@@ -3,6 +3,28 @@ import { AbstractNotificationProviderService } from '@medusajs/framework/utils';
3
3
  import { type Transporter } from 'nodemailer';
4
4
  import type SMTPConnection from 'nodemailer/lib/smtp-connection';
5
5
  import type SMTPTransport from 'nodemailer/lib/smtp-transport';
6
+ /**
7
+ * Checks if a string is in binary digit format.
8
+ * This format is created by converting a Buffer using:
9
+ * [...buffer].map((byte) => byte.toString(2).padStart(8, "0")).join("")
10
+ *
11
+ * This results in a string containing only 0s and 1s with length divisible by 8.
12
+ */
13
+ export declare function isBinaryString(content: string): boolean;
14
+ /**
15
+ * Converts a binary digit string back to a Buffer.
16
+ * The binary string format is a sequence of 8-character binary representations
17
+ * of each byte, e.g., "0100100001101001" represents "Hi".
18
+ */
19
+ export declare function binaryStringToBuffer(binaryString: string): Buffer;
20
+ /**
21
+ * Processes attachment content to ensure it's in a format Nodemailer can handle.
22
+ * Supports:
23
+ * - Buffer: Passed through as-is
24
+ * - Binary digit string: Converted to Buffer
25
+ * - Regular string: Passed through as-is (assumed to be base64 or text content)
26
+ */
27
+ export declare function processAttachmentContent(content: string | Buffer): string | Buffer;
6
28
  export type PluginOptions = SMTPConnection.Options & SMTPTransport.MailOptions & {
7
29
  from: string;
8
30
  };
@@ -4,8 +4,59 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.NodemailerNotificationProviderService = void 0;
7
+ exports.isBinaryString = isBinaryString;
8
+ exports.binaryStringToBuffer = binaryStringToBuffer;
9
+ exports.processAttachmentContent = processAttachmentContent;
7
10
  const utils_1 = require("@medusajs/framework/utils");
8
11
  const nodemailer_1 = __importDefault(require("nodemailer"));
12
+ /**
13
+ * Checks if a string is in binary digit format.
14
+ * This format is created by converting a Buffer using:
15
+ * [...buffer].map((byte) => byte.toString(2).padStart(8, "0")).join("")
16
+ *
17
+ * This results in a string containing only 0s and 1s with length divisible by 8.
18
+ */
19
+ function isBinaryString(content) {
20
+ // Must only contain 0s and 1s
21
+ if (!/^[01]+$/.test(content)) {
22
+ return false;
23
+ }
24
+ // Must be divisible by 8 (each byte = 8 bits)
25
+ if (content.length % 8 !== 0) {
26
+ return false;
27
+ }
28
+ // Must be reasonably long (at least 1 byte worth)
29
+ return content.length >= 8;
30
+ }
31
+ /**
32
+ * Converts a binary digit string back to a Buffer.
33
+ * The binary string format is a sequence of 8-character binary representations
34
+ * of each byte, e.g., "0100100001101001" represents "Hi".
35
+ */
36
+ function binaryStringToBuffer(binaryString) {
37
+ const bytes = [];
38
+ for (let i = 0; i < binaryString.length; i += 8) {
39
+ const byteStr = binaryString.slice(i, i + 8);
40
+ bytes.push(parseInt(byteStr, 2));
41
+ }
42
+ return Buffer.from(bytes);
43
+ }
44
+ /**
45
+ * Processes attachment content to ensure it's in a format Nodemailer can handle.
46
+ * Supports:
47
+ * - Buffer: Passed through as-is
48
+ * - Binary digit string: Converted to Buffer
49
+ * - Regular string: Passed through as-is (assumed to be base64 or text content)
50
+ */
51
+ function processAttachmentContent(content) {
52
+ if (Buffer.isBuffer(content)) {
53
+ return content;
54
+ }
55
+ if (typeof content === 'string' && isBinaryString(content)) {
56
+ return binaryStringToBuffer(content);
57
+ }
58
+ return content;
59
+ }
9
60
  class NodemailerNotificationProviderService extends utils_1.AbstractNotificationProviderService {
10
61
  constructor(_, options) {
11
62
  super();
@@ -34,7 +85,7 @@ class NodemailerNotificationProviderService extends utils_1.AbstractNotification
34
85
  Array.isArray(notification.attachments) &&
35
86
  notification.attachments.length > 0) {
36
87
  attachments = notification.attachments.map((attachment) => ({
37
- content: attachment.content,
88
+ content: processAttachmentContent(attachment.content),
38
89
  filename: attachment.filename,
39
90
  contentType: attachment.content_type,
40
91
  contentDisposition: attachment.disposition === 'inline' ||
@@ -67,4 +118,4 @@ class NodemailerNotificationProviderService extends utils_1.AbstractNotification
67
118
  exports.NodemailerNotificationProviderService = NodemailerNotificationProviderService;
68
119
  NodemailerNotificationProviderService.identifier = 'nodemailer';
69
120
  exports.default = NodemailerNotificationProviderService;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvbm9kZW1haWxlci9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUlBLHFEQUlrQztBQUNsQyw0REFBeUQ7QUFVekQsTUFBYSxxQ0FBc0MsU0FBUSwyQ0FBbUM7SUFNN0YsWUFBWSxDQUFDLEVBQUUsT0FBc0I7UUFDcEMsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQXlCO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLG1CQUFXLENBQ3BCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkJBQTZCLElBQUksQ0FBQyxVQUFVLHNCQUFzQixDQUNsRSxDQUFBO1FBQ0YsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLG1CQUFXLENBQ3BCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkJBQTZCLElBQUksQ0FBQyxVQUFVLHNCQUFzQixDQUNsRSxDQUFBO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUNULFlBQXlDO1FBRXpDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFBO1FBRXBDLElBQUksQ0FBQyxJQUFBLGlCQUFTLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsaUJBQVMsRUFBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyRSxNQUFNLElBQUksbUJBQVcsQ0FDcEIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qiw2QkFBNkIscUNBQXFDLENBQUMsVUFBVSxzQkFBc0IsQ0FDbkcsQ0FBQTtRQUNGLENBQUM7UUFFRCxJQUFJLElBQXdCLENBQUE7UUFDNUIsSUFBSSxJQUFBLGlCQUFTLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUEsaUJBQVMsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsSUFBSSxDQUFBO1FBQ3RDLENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBc0IsRUFBRSxDQUFBO1FBQ3ZDLElBQ0MsSUFBQSxpQkFBUyxFQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDbkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDbEMsQ0FBQztZQUNGLFdBQVcsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDM0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2dCQUMzQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7Z0JBQzdCLFdBQVcsRUFBRSxVQUFVLENBQUMsWUFBWTtnQkFDcEMsa0JBQWtCLEVBQ2pCLFVBQVUsQ0FBQyxXQUFXLEtBQUssUUFBUTtvQkFDbkMsVUFBVSxDQUFDLFdBQVcsS0FBSyxZQUFZO29CQUN0QyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVc7b0JBQ3hCLENBQUMsQ0FBQyxTQUFTO2dCQUNiLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDbEIsdUJBQXVCLEVBQ3RCLFVBQVUsQ0FBQyxZQUFZLEtBQUssV0FBVztvQkFDdEMsQ0FBQyxDQUFDLGtCQUFrQjtvQkFDcEIsQ0FBQyxDQUFDLFFBQVE7YUFDWixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBaUI7WUFDakMsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQzdDLEVBQUU7WUFDRixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU87U0FDekIsQ0FBQTtRQUVELElBQUksSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDeEIsQ0FBQztRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixXQUFXLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUN0QyxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUV6RCxPQUFPO1lBQ04sRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ2xCLENBQUE7SUFDRixDQUFDOztBQXZGRixzRkF3RkM7QUF2Rk8sZ0RBQVUsR0FBRyxZQUFZLENBQUE7QUF5RmpDLGtCQUFlLHFDQUFxQyxDQUFBIn0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvbm9kZW1haWxlci9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQXFCQSx3Q0FXQztBQU9ELG9EQU9DO0FBU0QsNERBVUM7QUE3REQscURBSWtDO0FBQ2xDLDREQUF5RDtBQUt6RDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixjQUFjLENBQUMsT0FBZTtJQUM3Qyw4QkFBOEI7SUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQTtJQUNiLENBQUM7SUFDRCw4Q0FBOEM7SUFDOUMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQTtJQUNiLENBQUM7SUFDRCxrREFBa0Q7SUFDbEQsT0FBTyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQTtBQUMzQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLFlBQW9CO0lBQ3hELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQTtJQUMxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzVDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNI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
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 adevinwild ( Adil BASRI )
3
+ Copyright (c) 2025 perseidesjs - adevinwild ( Adil BASRI )
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perseidesjs/notification-nodemailer",
3
- "version": "1.1.0",
3
+ "version": "3.0.0",
4
4
  "description": "A Medusa plugin for sending notifications via Nodemailer (SMTP)",
5
5
  "author": "adevinwild",
6
6
  "license": "MIT",
@@ -37,59 +37,34 @@
37
37
  "format": "prettier --write .",
38
38
  "format:check": "prettier --check .",
39
39
  "typecheck": "tsc --noEmit",
40
+ "test": "vitest run",
41
+ "test:watch": "vitest",
40
42
  "prepare": "husky"
41
43
  },
42
44
  "devDependencies": {
43
45
  "@changesets/cli": "^2.29.5",
44
46
  "@epic-web/config": "^1.21.0",
45
- "@medusajs/admin-sdk": "2.4.0",
46
- "@medusajs/cli": "2.4.0",
47
- "@medusajs/framework": "2.4.0",
48
- "@medusajs/icons": "2.4.0",
49
- "@medusajs/medusa": "2.4.0",
50
- "@medusajs/test-utils": "2.4.0",
51
- "@medusajs/ui": "4.0.4",
52
- "@mikro-orm/cli": "6.4.3",
53
- "@mikro-orm/core": "6.4.3",
54
- "@mikro-orm/knex": "6.4.3",
55
- "@mikro-orm/migrations": "6.4.3",
56
- "@mikro-orm/postgresql": "6.4.3",
47
+ "@medusajs/cli": "2.12.4",
48
+ "@medusajs/framework": "2.12.4",
49
+ "@medusajs/medusa": "2.12.4",
57
50
  "@swc/core": "1.5.7",
58
51
  "@types/node": "^20.0.0",
59
52
  "@types/nodemailer": "^6.4.17",
60
- "@types/react": "^18.3.2",
61
- "@types/react-dom": "^18.2.25",
62
- "awilix": "^8.0.1",
63
53
  "eslint": "^9.30.1",
64
54
  "husky": "^9.1.7",
65
55
  "lint-staged": "^16.1.2",
66
56
  "nodemailer": "^7.0.5",
67
- "pg": "^8.13.0",
68
57
  "prettier": "^3.6.2",
69
- "prop-types": "^15.8.1",
70
- "react": "^18.2.0",
71
- "react-dom": "^18.2.0",
72
58
  "ts-node": "^10.9.2",
73
59
  "typescript": "^5.6.2",
74
- "vite": "^5.2.11",
60
+ "vitest": "^4.0.16",
75
61
  "yalc": "^1.0.0-pre.53"
76
62
  },
77
63
  "peerDependencies": {
78
- "@medusajs/admin-sdk": "2.4.0",
79
- "@medusajs/cli": "2.4.0",
80
- "@medusajs/framework": "2.4.0",
81
- "@medusajs/icons": "2.4.0",
82
- "@medusajs/medusa": "2.4.0",
83
- "@medusajs/test-utils": "2.4.0",
84
- "@medusajs/ui": "4.0.3",
85
- "@mikro-orm/cli": "6.4.3",
86
- "@mikro-orm/core": "6.4.3",
87
- "@mikro-orm/knex": "6.4.3",
88
- "@mikro-orm/migrations": "6.4.3",
89
- "@mikro-orm/postgresql": "6.4.3",
90
- "awilix": "^8.0.1",
91
- "nodemailer": "^7.0.5",
92
- "pg": "^8.13.0"
64
+ "@medusajs/cli": ">=2.12.4",
65
+ "@medusajs/framework": ">2.12.4",
66
+ "@medusajs/medusa": ">2.12.4",
67
+ "nodemailer": "^7.0.5"
93
68
  },
94
69
  "engines": {
95
70
  "node": ">=20"