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_TYPE = process.env.DATABASE_TYPE; const DATABASE_URL = process.env.DATABASE_URL; const REDIS_URL = process.env.REDIS_URL; const plugins = [ `medusa-fulfillment-manual`, `medusa-payment-manual`, { resolve: "@medusajs/admin", /** @type {import('@medusajs/admin').PluginOptions} */ options: { autoRebuild: true, }, }, ]; /** @type {import('@medusajs/medusa').ConfigModule["projectConfig"]} */ const projectConfig = { database_database: "./medusa-db.sql", database_type: DATABASE_TYPE || "sqlite", store_cors: STORE_CORS, admin_cors: ADMIN_CORS, } if (REDIS_URL) { projectConfig.redis_url = REDIS_URL; } if (DATABASE_URL) { projectConfig.database_url = DATABASE_URL; } /** @type {import('@medusajs/medusa').ConfigModule} */ module.exports = { projectConfig, plugins, };