-
Notifications
You must be signed in to change notification settings - Fork 0
/
medusa-config.js
116 lines (106 loc) · 2.96 KB
/
medusa-config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
const dotenv = require("dotenv");
let ENV_FILE_NAME = "";
switch (process.env.NODE_ENV ? process.env.NODE_ENV : process.env.VERCEL_ENV) {
case "production":
ENV_FILE_NAME = ".env.production";
break;
case "staging":
ENV_FILE_NAME = ".env.staging";
break;
case "test":
ENV_FILE_NAME = ".env.test";
break;
case "development":
default:
ENV_FILE_NAME = ".env.local";
break;
}
try {
dotenv.config({ path: process.cwd() + "/" + ENV_FILE_NAME });
} catch (e) {}
// CORS when consuming Medusa from admin
const ADMIN_CORS = `${process.env.MEDUSA_ADMIN_BACKEND_URL},http://localhost:7000,http://localhost:7001,https://seller.tru.africa,http://localhost:9000`;
// CORS to avoid issues when consuming Medusa from a client
const STORE_CORS = "http://localhost:8000,http://localhost:3000";
const DATABASE_URL = `postgres://${process.env.PG_USER}:${process.env.PG_PASSWORD}@${process.env.PG_HOST}:5432/${process.env.PG_DATABASE}`;
const REDIS_URL = process.env.REDIS_URL || "redis://localhost:6379";
const plugins = [
`medusa-fulfillment-manual`,
`medusa-payment-manual`,
{
resolve: `@medusajs/file-local`,
options: {
upload_dir: "uploads",
},
},
// {
// resolve: `medusa-plugin-algolia`,
// options: {
// applicationId: process.env.ALGOLIA_APP_ID,
// adminApiKey: process.env.ALGOLIA_ADMIN_API_KEY,
// settings: {
// products: {
// indexSettings: {
// searchableAttributes: ["title"],
// attributesToRetrieve: [
// "id",
// "title",
// "description",
// "handle",
// "thumbnail",
// "images",
// ],
// filterableAttributes: ["tags", "category", "type", "title"],
// },
// primaryKey: "id",
// },
// },
// },
// },
{
resolve: "@medusajs/admin",
/** @type {import('@medusajs/admin').PluginOptions} */
options: {
autoRebuild: true,
develop: {
open: process.env.OPEN_BROWSER !== "false",
},
},
},
];
const modules = {
/*eventBus: {
resolve: "@medusajs/event-bus-redis",
options: {
redisUrl: REDIS_URL
}
},
cacheService: {
resolve: "@medusajs/cache-redis",
options: {
redisUrl: REDIS_URL
}
},*/
};
/** @type {import('@medusajs/medusa').ConfigModule["projectConfig"]} */
const projectConfig = {
jwtSecret: process.env.JWT_SECRET,
cookieSecret: process.env.COOKIE_SECRET,
store_cors: STORE_CORS,
database_url: DATABASE_URL,
admin_cors: ADMIN_CORS,
// Uncomment the following lines to enable REDIS
// redis_url: REDIS_URL
// stripe: {
// api_key: process.env.STRIPE_API_KEY,
// webhook_secret: process.env.STRIPE_WEBHOOK_SECRET,
// app_url: process.env.APP_URL || "http://localhost:9000",
// capture: true,
// },
};
/** @type {import('@medusajs/medusa').ConfigModule} */
module.exports = {
projectConfig,
plugins,
modules,
};