Browse Source

Use utils to define config (#327)

Harminder Virk 1 năm trước cách đây
mục cha
commit
20d5e39bdf
2 tập tin đã thay đổi với 9 bổ sung129 xóa
  1. 9 128
      medusa-config.js
  2. 0 1
      package.json

+ 9 - 128
medusa-config.js

@@ -1,133 +1,14 @@
-const dotenv = require("dotenv");
-const { Modules } = require("@medusajs/modules-sdk");
+import { loadEnv, defineConfig } from '@medusajs/utils'
 
-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;
-}
+loadEnv(process.env.NODE_ENV, process.cwd())
 
-try {
-  dotenv.config({ path: process.cwd() + "/" + ENV_FILE_NAME });
-} catch (e) {}
-
-// CORS when consuming Medusa from admin
-// Medusa's docs are added for a better learning experience. Feel free to remove.
-const ADMIN_CORS = `${
-  process.env.ADMIN_CORS?.length
-    ? `${process.env.ADMIN_CORS},`
-    : "http://localhost:7000,http://localhost:7001,"
-}https://docs.medusajs.com,https://medusa-docs-v2-git-docs-v2-medusajs.vercel.app,https://medusa-resources-git-docs-v2-medusajs.vercel.app`;
-
-// CORS to avoid issues when consuming Medusa from a client
-// Medusa's docs are added for a better learning experience. Feel free to remove.
-const STORE_CORS = `${
-  process.env.STORE_CORS?.length
-    ? `${process.env.STORE_CORS},`
-    : "http://localhost:8000,"
-}https://docs.medusajs.com,https://medusa-docs-v2-git-docs-v2-medusajs.vercel.app,https://medusa-resources-git-docs-v2-medusajs.vercel.app`;
-
-const DATABASE_URL =
-  process.env.DATABASE_URL || "postgres://localhost/medusa-starter-default";
-
-const REDIS_URL = process.env.REDIS_URL || "redis://localhost:6379";
-
-const plugins = [];
-
-const modules = {
-  [Modules.CACHE]: true,
-  [Modules.EVENT_BUS]: true,
-  [Modules.AUTH]: true,
-  [Modules.USER]: {
-    resolve: "@medusajs/user",
-    options: {
-      jwt_secret: process.env.JWT_SECRET ?? "supersecret",
-    },
-  },
-  [Modules.FILE]: {
-    resolve: "@medusajs/file",
-    options: {
-      providers: [
-        {
-          resolve: "@medusajs/file-local-next",
-          options: {
-            config: {
-              local: {},
-            },
-          },
-        },
-      ],
-    },
-  },
-  [Modules.WORKFLOW_ENGINE]: true,
-  [Modules.STOCK_LOCATION]: true,
-  [Modules.INVENTORY]: true,
-  [Modules.PRODUCT]: true,
-  [Modules.PRICING]: true,
-  [Modules.PROMOTION]: true,
-  [Modules.CUSTOMER]: true,
-  [Modules.SALES_CHANNEL]: true,
-  [Modules.CART]: true,
-  [Modules.REGION]: true,
-  [Modules.API_KEY]: true,
-  [Modules.STORE]: true,
-  [Modules.TAX]: true,
-  [Modules.CURRENCY]: true,
-  [Modules.PAYMENT]: true,
-  [Modules.ORDER]: true,
-  [Modules.FULFILLMENT]: {
-    resolve: "@medusajs/fulfillment",
-    options: {
-      providers: [
-        {
-          resolve: "@medusajs/fulfillment-manual",
-          options: {
-            config: {
-              manual: {},
-            },
-          },
-        },
-      ],
-    },
-  },
-};
-
-/** @type {import('@medusajs/medusa').ConfigModule["projectConfig"]} */
-const projectConfig = {
-  databaseUrl: DATABASE_URL,
+module.exports = defineConfig({
+  databaseUrl: process.env.DATABASE_URL,
   http: {
-    storeCors: STORE_CORS,
-    adminCors: ADMIN_CORS,
-    authCors: process.env.AUTH_CORS || ADMIN_CORS,
+    storeCors: process.env.STORE_CORS,
+    adminCors: process.env.ADMIN_CORS,
+    authCors: process.env.AUTH_CORS,
     jwtSecret: process.env.JWT_SECRET || "supersecret",
     cookieSecret: process.env.COOKIE_SECRET || "supersecret",
-  },
-  // redisUrl: REDIS_URL,
-};
-
-/** @type {import('@medusajs/types').ConfigModule} */
-module.exports = {
-  projectConfig,
-  admin: {
-    backendUrl: "http://localhost:9000"
-  },
-  plugins,
-  modules,
-  featureFlags: {
-    medusa_v2: true,
-  },
-  directories: {
-    srcDir: "src",
-  },
-};
+  }
+})

+ 0 - 1
package.json

@@ -44,7 +44,6 @@
     "@medusajs/tax": "preview",
     "@medusajs/user": "preview",
     "@medusajs/workflow-engine-inmemory": "preview",
-    "dotenv": "16.3.1",
     "express": "^4.17.2"
   },
   "devDependencies": {