diff options
| author | ertopogo <erwin.t.pombett@gmail.com> | 2026-01-18 20:32:59 +0100 |
|---|---|---|
| committer | ertopogo <erwin.t.pombett@gmail.com> | 2026-01-18 20:32:59 +0100 |
| commit | 09a949092c59856962e4a7d132bc5a5e76fe5e55 (patch) | |
| tree | 990d6b8f24ff9c6dbc0fcb15b5512067d09b17fd /backend/index.js | |
Initial commit: Medusa Backend + storefront + config
Diffstat (limited to 'backend/index.js')
| -rw-r--r-- | backend/index.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/backend/index.js b/backend/index.js new file mode 100644 index 0000000..ad245ba --- /dev/null +++ b/backend/index.js @@ -0,0 +1,45 @@ +const express = require("express");
+const { GracefulShutdownServer } = require("medusa-core-utils");
+
+const loaders = require("@medusajs/medusa/dist/loaders/index").default;
+
+(async () => {
+ async function start() {
+ const app = express();
+ const directory = process.cwd();
+
+ try {
+ const { container, dbConnection } = await loaders({
+ directory,
+ expressApp: app,
+ });
+
+ const configModule = container.resolve("configModule");
+ const port = process.env.PORT ?? configModule.projectConfig.port ?? 9000;
+
+ const server = GracefulShutdownServer.create(
+ app.listen(port, (err) => {
+ if (err) {
+ return;
+ }
+ console.log(`Server is ready on port: ${port}`);
+ })
+ );
+
+ // Handle graceful shutdown
+ const shutdown = async () => {
+ await server.shutdown();
+ await dbConnection.close();
+ };
+
+ process.on("SIGTERM", shutdown);
+ process.on("SIGINT", shutdown);
+ } catch (err) {
+ console.error("Error starting server", err);
+ process.exit(1);
+ }
+ }
+
+ await start();
+})();
+
|
