Quellcode durchsuchen

add custom entry point as example

adrien2p vor 2 Jahren
Ursprung
Commit
d8ad0e74fd
2 geänderte Dateien mit 55 neuen und 0 gelöschten Zeilen
  1. 54 0
      index.js
  2. 1 0
      package.json

+ 54 - 0
index.js

@@ -0,0 +1,54 @@
+const express = require("express")
+const { GracefulShutdownServer, getConfigFile } = require("medusa-core-utils")
+
+const loaders = require("@medusajs/medusa/dist/loaders").default
+
+;(async function () {
+  async function start() {
+    const directory = process.cwd()
+
+    const { configModule: { projectConfig } } = getConfigFile(
+      directory,
+      "medusa-config"
+    )
+
+    const port = projectConfig.port || 9000
+
+    const app = express()
+
+    try {
+      await loaders({ directory, expressApp: app })
+
+      const server = GracefulShutdownServer.create(
+        app.listen(port, (err) => {
+          if (err) {
+            return
+          }
+          console.log(`Server is ready on port: ${port}`)
+        })
+      )
+
+      // Handle graceful shutdown
+      const gracefulShutDown = () => {
+        server
+          .shutdown()
+          .then(() => {
+            console.info("Gracefully stopping the server.")
+            process.exit(0)
+          })
+          .catch((e) => {
+            console.error("Error received when shutting down the server.", e)
+            process.exit(1)
+          })
+      }
+
+      process.on("SIGTERM", gracefulShutDown)
+      process.on("SIGINT", gracefulShutDown)
+    } catch (err) {
+      console.error("Error starting server", err)
+      process.exit(1)
+    }
+  }
+
+  await start()
+})()

+ 1 - 0
package.json

@@ -19,6 +19,7 @@
     "test": "jest",
     "seed": "medusa seed -f ./data/seed.json",
     "start": "npm run build && medusa start",
+    "start:custom": "npm run build && node index.js",
     "build:admin": "medusa-admin build"
   },
   "dependencies": {