@perseidesjs/notification-nodemailer 1.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.
- package/.medusa/server/src/index.d.ts +1 -0
- package/.medusa/server/src/index.js +6 -0
- package/.medusa/server/src/providers/nodemailer/index.d.ts +2 -0
- package/.medusa/server/src/providers/nodemailer/index.js +11 -0
- package/.medusa/server/src/providers/nodemailer/service.d.ts +17 -0
- package/.medusa/server/src/providers/nodemailer/service.js +65 -0
- package/README.md +64 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NodemailerNotificationProviderService, PluginOptions } from "./providers/nodemailer/service";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodemailerNotificationProviderService = void 0;
|
|
4
|
+
var service_1 = require("./providers/nodemailer/service");
|
|
5
|
+
Object.defineProperty(exports, "NodemailerNotificationProviderService", { enumerable: true, get: function () { return service_1.NodemailerNotificationProviderService; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXNHO0FBQTdGLGdJQUFBLHFDQUFxQyxPQUFBIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
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 utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const service_1 = __importDefault(require("./service"));
|
|
8
|
+
exports.default = (0, utils_1.ModuleProvider)(utils_1.Modules.NOTIFICATION, {
|
|
9
|
+
services: [service_1.default],
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL25vZGVtYWlsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFHa0M7QUFDbEMsd0RBQTZEO0FBRTdELGtCQUFlLElBQUEsc0JBQWMsRUFBQyxlQUFPLENBQUMsWUFBWSxFQUFFO0lBQ2hELFFBQVEsRUFBRSxDQUFDLGlCQUFxQyxDQUFDO0NBQ3BELENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ProviderSendNotificationDTO, ProviderSendNotificationResultsDTO } from "@medusajs/framework/types";
|
|
2
|
+
import { AbstractNotificationProviderService } from "@medusajs/framework/utils";
|
|
3
|
+
import { Transporter } from "nodemailer";
|
|
4
|
+
import SMTPConnection from "nodemailer/lib/smtp-connection";
|
|
5
|
+
import SMTPTransport from "nodemailer/lib/smtp-transport";
|
|
6
|
+
export type PluginOptions = SMTPConnection.Options & SMTPTransport.MailOptions & {
|
|
7
|
+
from: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class NodemailerNotificationProviderService extends AbstractNotificationProviderService {
|
|
10
|
+
static identifier: string;
|
|
11
|
+
protected options_: PluginOptions;
|
|
12
|
+
protected transporter: Transporter;
|
|
13
|
+
constructor(_: any, options: PluginOptions);
|
|
14
|
+
static validateOptions(options: Record<any, any>): void;
|
|
15
|
+
send(notification: ProviderSendNotificationDTO): Promise<ProviderSendNotificationResultsDTO>;
|
|
16
|
+
}
|
|
17
|
+
export default NodemailerNotificationProviderService;
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
exports.NodemailerNotificationProviderService = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const nodemailer_1 = __importDefault(require("nodemailer"));
|
|
9
|
+
class NodemailerNotificationProviderService extends utils_1.AbstractNotificationProviderService {
|
|
10
|
+
constructor(_, options) {
|
|
11
|
+
super();
|
|
12
|
+
this.options_ = options;
|
|
13
|
+
this.transporter = nodemailer_1.default.createTransport(options);
|
|
14
|
+
}
|
|
15
|
+
static validateOptions(options) {
|
|
16
|
+
if (!options.host) {
|
|
17
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `"host" is required in the ${this.identifier} provider's options.`);
|
|
18
|
+
}
|
|
19
|
+
if (!options.port) {
|
|
20
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `"port" is required in the ${this.identifier} provider's options.`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async send(notification) {
|
|
24
|
+
const { to, content } = notification;
|
|
25
|
+
if (!(0, utils_1.isDefined)(this.options_.from) && !(0, utils_1.isDefined)(notification.from)) {
|
|
26
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `"from" is required in the ${NodemailerNotificationProviderService.identifier} provider's options.`);
|
|
27
|
+
}
|
|
28
|
+
let html;
|
|
29
|
+
if ((0, utils_1.isDefined)(content?.html) || (0, utils_1.isDefined)(content?.text)) {
|
|
30
|
+
html = content?.html ?? content?.text;
|
|
31
|
+
}
|
|
32
|
+
let attachments = [];
|
|
33
|
+
if ((0, utils_1.isDefined)(notification.attachments) && Array.isArray(notification.attachments) && notification.attachments.length > 0) {
|
|
34
|
+
attachments = notification.attachments.map(attachment => ({
|
|
35
|
+
content: attachment.content,
|
|
36
|
+
filename: attachment.filename,
|
|
37
|
+
contentType: attachment.content_type,
|
|
38
|
+
contentDisposition: (attachment.disposition === "inline" || attachment.disposition === "attachment")
|
|
39
|
+
? attachment.disposition
|
|
40
|
+
: undefined,
|
|
41
|
+
cid: attachment.id,
|
|
42
|
+
contentTransferEncoding: attachment.content_type === "text/html" ? "quoted-printable" : "base64",
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
const mailOptions = {
|
|
46
|
+
from: notification.from ?? this.options_.from,
|
|
47
|
+
to,
|
|
48
|
+
subject: content?.subject,
|
|
49
|
+
};
|
|
50
|
+
if ((0, utils_1.isDefined)(html)) {
|
|
51
|
+
mailOptions.html = html;
|
|
52
|
+
}
|
|
53
|
+
if (attachments.length > 0) {
|
|
54
|
+
mailOptions.attachments = attachments;
|
|
55
|
+
}
|
|
56
|
+
const info = await this.transporter.sendMail(mailOptions);
|
|
57
|
+
return {
|
|
58
|
+
id: info.messageId
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.NodemailerNotificationProviderService = NodemailerNotificationProviderService;
|
|
63
|
+
NodemailerNotificationProviderService.identifier = "nodemailer";
|
|
64
|
+
exports.default = NodemailerNotificationProviderService;
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvbm9kZW1haWxlci9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHFEQUF1RztBQUN2Ryw0REFBb0Q7QUFTcEQsTUFBYSxxQ0FBc0MsU0FBUSwyQ0FBbUM7SUFNMUYsWUFDSSxDQUFDLEVBQ0QsT0FBc0I7UUFFdEIsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQXlCO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLG1CQUFXLENBQ2pCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkJBQTZCLElBQUksQ0FBQyxVQUFVLHNCQUFzQixDQUNyRSxDQUFBO1FBRUwsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLG1CQUFXLENBQ2pCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkJBQTZCLElBQUksQ0FBQyxVQUFVLHNCQUFzQixDQUNyRSxDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUNOLFlBQXlDO1FBRXpDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFBO1FBRXBDLElBQUksQ0FBQyxJQUFBLGlCQUFTLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsaUJBQVMsRUFBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxNQUFNLElBQUksbUJBQVcsQ0FDakIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qiw2QkFBNkIscUNBQXFDLENBQUMsVUFBVSxzQkFBc0IsQ0FDdEcsQ0FBQTtRQUNMLENBQUM7UUFFRCxJQUFJLElBQXdCLENBQUE7UUFDNUIsSUFBSSxJQUFBLGlCQUFTLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUEsaUJBQVMsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsSUFBSSxDQUFBO1FBQ3pDLENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBc0IsRUFBRSxDQUFBO1FBQ3ZDLElBQUksSUFBQSxpQkFBUyxFQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4SCxXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87Z0JBQzNCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtnQkFDN0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNwQyxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEtBQUssUUFBUSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDO29CQUNoRyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVc7b0JBQ3hCLENBQUMsQ0FBQyxTQUFTO2dCQUNmLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDbEIsdUJBQXVCLEVBQUUsVUFBVSxDQUFDLFlBQVksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFRO2FBQ25HLENBQUMsQ0FBQyxDQUFBO1FBQ1AsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFpQjtZQUM5QixJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDN0MsRUFBRTtZQUNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztTQUM1QixDQUFBO1FBRUQsSUFBSSxJQUFBLGlCQUFTLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQ3pDLENBQUM7UUFJRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXpELE9BQU87WUFDSCxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDckIsQ0FBQTtJQUNMLENBQUM7O0FBcEZMLHNGQXFGQztBQXBGVSxnREFBVSxHQUFHLFlBQVksQ0FBQTtBQXNGcEMsa0JBQWUscUNBQXFDLENBQUEifQ==
|
package/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://www.medusajs.com">
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/59018053/229103275-b5e482bb-4601-46e6-8142-244f531cebdb.svg">
|
|
5
|
+
<source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg">
|
|
6
|
+
<img alt="Medusa logo" src="https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
<h1 align="center">
|
|
11
|
+
Medusa Plugin Starter
|
|
12
|
+
</h1>
|
|
13
|
+
|
|
14
|
+
<h4 align="center">
|
|
15
|
+
<a href="https://docs.medusajs.com">Documentation</a> |
|
|
16
|
+
<a href="https://www.medusajs.com">Website</a>
|
|
17
|
+
</h4>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
Building blocks for digital commerce
|
|
21
|
+
</p>
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a href="https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md">
|
|
24
|
+
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
|
|
25
|
+
</a>
|
|
26
|
+
<a href="https://www.producthunt.com/posts/medusa"><img src="https://img.shields.io/badge/Product%20Hunt-%231%20Product%20of%20the%20Day-%23DA552E" alt="Product Hunt"></a>
|
|
27
|
+
<a href="https://discord.gg/xpCwq3Kfn8">
|
|
28
|
+
<img src="https://img.shields.io/badge/chat-on%20discord-7289DA.svg" alt="Discord Chat" />
|
|
29
|
+
</a>
|
|
30
|
+
<a href="https://twitter.com/intent/follow?screen_name=medusajs">
|
|
31
|
+
<img src="https://img.shields.io/twitter/follow/medusajs.svg?label=Follow%20@medusajs" alt="Follow @medusajs" />
|
|
32
|
+
</a>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
## Compatibility
|
|
36
|
+
|
|
37
|
+
This starter is compatible with versions >= 2.4.0 of `@medusajs/medusa`.
|
|
38
|
+
|
|
39
|
+
## Getting Started
|
|
40
|
+
|
|
41
|
+
Visit the [Quickstart Guide](https://docs.medusajs.com/learn/installation) to set up a server.
|
|
42
|
+
|
|
43
|
+
Visit the [Plugins documentation](https://docs.medusajs.com/learn/fundamentals/plugins) to learn more about plugins and how to create them.
|
|
44
|
+
|
|
45
|
+
Visit the [Docs](https://docs.medusajs.com/learn/installation#get-started) to learn more about our system requirements.
|
|
46
|
+
|
|
47
|
+
## What is Medusa
|
|
48
|
+
|
|
49
|
+
Medusa is a set of commerce modules and tools that allow you to build rich, reliable, and performant commerce applications without reinventing core commerce logic. The modules can be customized and used to build advanced ecommerce stores, marketplaces, or any product that needs foundational commerce primitives. All modules are open-source and freely available on npm.
|
|
50
|
+
|
|
51
|
+
Learn more about [Medusa’s architecture](https://docs.medusajs.com/learn/introduction/architecture) and [commerce modules](https://docs.medusajs.com/learn/fundamentals/modules/commerce-modules) in the Docs.
|
|
52
|
+
|
|
53
|
+
## Community & Contributions
|
|
54
|
+
|
|
55
|
+
The community and core team are available in [GitHub Discussions](https://github.com/medusajs/medusa/discussions), where you can ask for support, discuss roadmap, and share ideas.
|
|
56
|
+
|
|
57
|
+
Join our [Discord server](https://discord.com/invite/medusajs) to meet other community members.
|
|
58
|
+
|
|
59
|
+
## Other channels
|
|
60
|
+
|
|
61
|
+
- [GitHub Issues](https://github.com/medusajs/medusa/issues)
|
|
62
|
+
- [Twitter](https://twitter.com/medusajs)
|
|
63
|
+
- [LinkedIn](https://www.linkedin.com/company/medusajs)
|
|
64
|
+
- [Medusa Blog](https://medusajs.com/blog/)
|
package/package.json
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@perseidesjs/notification-nodemailer",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A Medusa plugin for sending notifications via Nodemailer (SMTP)",
|
|
5
|
+
"author": "adevinwild",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "./.medusa/server/src/index.js",
|
|
8
|
+
"types": "./.medusa/server/src/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
".medusa/server"
|
|
11
|
+
],
|
|
12
|
+
"exports": {
|
|
13
|
+
"./package.json": "./package.json",
|
|
14
|
+
"./providers/*": {
|
|
15
|
+
"types": "./.medusa/server/src/providers/*/index.d.ts",
|
|
16
|
+
"default": "./.medusa/server/src/providers/*/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./*": {
|
|
19
|
+
"types": "./.medusa/server/src/*.d.ts",
|
|
20
|
+
"default": "./.medusa/server/src/*.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"medusa-plugin-integration",
|
|
25
|
+
"medusa-plugin-notification",
|
|
26
|
+
"medusa-v2"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "medusa plugin:build",
|
|
30
|
+
"dev": "medusa plugin:develop",
|
|
31
|
+
"prepublishOnly": "medusa plugin:build",
|
|
32
|
+
"changeset": "changeset",
|
|
33
|
+
"version": "changeset version",
|
|
34
|
+
"release": "yarn build && changeset publish"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@changesets/cli": "^2.29.5",
|
|
38
|
+
"@medusajs/admin-sdk": "2.4.0",
|
|
39
|
+
"@medusajs/cli": "2.4.0",
|
|
40
|
+
"@medusajs/framework": "2.4.0",
|
|
41
|
+
"@medusajs/icons": "2.4.0",
|
|
42
|
+
"@medusajs/medusa": "2.4.0",
|
|
43
|
+
"@medusajs/test-utils": "2.4.0",
|
|
44
|
+
"@medusajs/ui": "4.0.4",
|
|
45
|
+
"@mikro-orm/cli": "6.4.3",
|
|
46
|
+
"@mikro-orm/core": "6.4.3",
|
|
47
|
+
"@mikro-orm/knex": "6.4.3",
|
|
48
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
49
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
50
|
+
"@swc/core": "1.5.7",
|
|
51
|
+
"@types/node": "^20.0.0",
|
|
52
|
+
"@types/nodemailer": "^6.4.17",
|
|
53
|
+
"@types/react": "^18.3.2",
|
|
54
|
+
"@types/react-dom": "^18.2.25",
|
|
55
|
+
"awilix": "^8.0.1",
|
|
56
|
+
"nodemailer": "^7.0.5",
|
|
57
|
+
"pg": "^8.13.0",
|
|
58
|
+
"prop-types": "^15.8.1",
|
|
59
|
+
"react": "^18.2.0",
|
|
60
|
+
"react-dom": "^18.2.0",
|
|
61
|
+
"ts-node": "^10.9.2",
|
|
62
|
+
"typescript": "^5.6.2",
|
|
63
|
+
"vite": "^5.2.11",
|
|
64
|
+
"yalc": "^1.0.0-pre.53"
|
|
65
|
+
},
|
|
66
|
+
"peerDependencies": {
|
|
67
|
+
"@medusajs/admin-sdk": "2.4.0",
|
|
68
|
+
"@medusajs/cli": "2.4.0",
|
|
69
|
+
"@medusajs/framework": "2.4.0",
|
|
70
|
+
"@medusajs/icons": "2.4.0",
|
|
71
|
+
"@medusajs/medusa": "2.4.0",
|
|
72
|
+
"@medusajs/test-utils": "2.4.0",
|
|
73
|
+
"@medusajs/ui": "4.0.3",
|
|
74
|
+
"@mikro-orm/cli": "6.4.3",
|
|
75
|
+
"@mikro-orm/core": "6.4.3",
|
|
76
|
+
"@mikro-orm/knex": "6.4.3",
|
|
77
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
78
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
79
|
+
"awilix": "^8.0.1",
|
|
80
|
+
"nodemailer": "^7.0.5",
|
|
81
|
+
"pg": "^8.13.0"
|
|
82
|
+
},
|
|
83
|
+
"engines": {
|
|
84
|
+
"node": ">=20"
|
|
85
|
+
},
|
|
86
|
+
"packageManager": "yarn@4.9.2"
|
|
87
|
+
}
|