123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- const dotenv = require("dotenv");
- let ENV_FILE_NAME = "";
- switch (process.env.NODE_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";
- break;
- }
- try {
- dotenv.config({ path: process.cwd() + "/" + ENV_FILE_NAME });
- } catch (e) {}
- // CORS when consuming Medusa from admin
- const ADMIN_CORS =
- process.env.ADMIN_CORS || "http://localhost:7000,http://localhost:7001";
- // CORS to avoid issues when consuming Medusa from a client
- const STORE_CORS = process.env.STORE_CORS || "http://localhost:8000";
- const DATABASE_URL =
- process.env.DATABASE_URL || "postgres://localhost/medusa-starter-default";
- 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: "@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
- }
- },*/
- apiKey: {
- resolve: "@medusajs/api-key"
- },
- auth: {
- resolve: "@medusajs/auth",
- options: {
- providers: [
- {
- name: "emailpass",
- scopes: {
- admin: {},
- store: {},
- },
- },
- ],
- },
- },
- cart: {
- resolve: "@medusajs/cart"
- },
- customer: {
- resolve: "@medusajs/customer"
- },
- currency: {
- resolve: "@medusajs/currency"
- },
- fulfillment: {
- resolve: "@medusajs/fulfillment"
- },
- inventoryService: {
- resolve: "@medusajs/inventory-next"
- },
- order: {
- resolve: "@medusajs/order"
- },
- payment: {
- resolve: "@medusajs/payment"
- },
- pricingService: {
- resolve: "@medusajs/pricing"
- },
- productService: {
- resolve: "@medusajs/product"
- },
- promotion: {
- resolve: "@medusajs/promotion"
- },
- region: {
- resolve: "@medusajs/region"
- },
- salesChannel: {
- resolve: "@medusajs/sales-channel"
- },
- stockLocationService: {
- resolve: "@medusajs/stock-location-next"
- },
- store: {
- resolve: "@medusajs/store"
- },
- tax: {
- resolve: "@medusajs/tax"
- },
- user: {
- resolve: "@medusajs/user",
- options: {
- jwt_secret: process.env.JWT_SECRET
- }
- },
- };
- /** @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,
- auth_cors: process.env.AUTH_CORS || ADMIN_CORS
- // Uncomment the following lines to enable REDIS
- // redis_url: REDIS_URL
- };
- /** @type {import('@medusajs/medusa').ConfigModule} */
- module.exports = {
- projectConfig,
- plugins,
- modules,
- featureFlags: {
- medusa_v2: true
- }
- };
|