@atlantjs/backend 11.0.25 → 11.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
1
  import { EnvironmentPoint } from "@atlantjs/arch";
2
2
  import { EmailDeliveryProviderPoint } from "../../../email-delivery/points/email-delivery-provider.point";
3
- export declare const APP_PORT: number;
4
3
  export declare const LOAD_MODULES: string[];
5
4
  export declare const CORS_ALLOWED_ORIGINS: string;
6
5
  export declare const ENVIRONMENT: EnvironmentPoint;
@@ -1,15 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AWS_REGION = exports.RESEND_API_KEY = exports.EMAIL_DELIVERY_FALLBACK_PROVIDER = exports.EMAIL_DELIVERY_SERVICE_PROVIDER = exports.IS_EMAIL_DELIVERY_ENABLED = exports.ENVIRONMENT = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = exports.APP_PORT = void 0;
3
+ exports.AWS_REGION = exports.RESEND_API_KEY = exports.EMAIL_DELIVERY_FALLBACK_PROVIDER = exports.EMAIL_DELIVERY_SERVICE_PROVIDER = exports.IS_EMAIL_DELIVERY_ENABLED = exports.ENVIRONMENT = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = void 0;
4
4
  const arch_1 = require("@atlantjs/arch");
5
5
  const parchment_1 = require("@atlantjs/parchment");
6
6
  const email_delivery_provider_point_1 = require("../../../email-delivery/points/email-delivery-provider.point");
7
- exports.APP_PORT = parchment_1.Parchment.verse({
8
- name: "APP_PORT",
9
- type: "port-number",
10
- description: "The port number on which the application will run",
11
- isRequired: true,
12
- });
13
7
  exports.LOAD_MODULES = parchment_1.Parchment.verse({
14
8
  name: "LOAD_MODULES",
15
9
  type: "array",
package/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { getFromContainer, UseBefore, JsonController as JsonForce, Res, Body, Re
4
4
  export { NextFunction, Request, RequestHandler, Response } from "express";
5
5
  export { HttpContentTypePoint } from "./backend/boundary/forces/thetas/http-content-type.point";
6
6
  export { Get, Post, Put, Patch, Delete, Endpoint, } from "./backend/boundary/forces/thetas/http-method.theta";
7
- export { APP_PORT, LOAD_MODULES, CORS_ALLOWED_ORIGINS, ENVIRONMENT, } from "./backend/stitch/verses";
7
+ export { LOAD_MODULES, CORS_ALLOWED_ORIGINS, ENVIRONMENT, } from "./backend/stitch/verses";
8
8
  export { FakeServer } from "./setup-test/faker-server";
9
9
  export { createWorkStub } from "./setup-test/create-work-stub";
10
10
  export { ThetaHandlerAbstract } from "./backend/mesh/thetas/theta.handler.abstract";
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmailDeliveryProvider = exports.ForceResponse = exports.StitchesAbstract = exports.initialize = exports.stitchable = exports.toStitch = exports.Server = exports.DefaultErrorHandlerTheta = exports.CorsTheta = exports.BodyParserTheta = exports.DiContainerAbstract = exports.diContainer = exports.startContainer = exports.ValidatorAbstract = exports.ForceAbstract = exports.WorkAbstract = exports.ServiceAbstract = exports.RepositoryAbstract = exports.ProviderAbstract = exports.ThetaHandlerAbstract = exports.createWorkStub = exports.FakeServer = exports.ENVIRONMENT = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = exports.APP_PORT = exports.Endpoint = exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = exports.HttpContentTypePoint = exports.QueryParam = exports.Param = exports.Req = exports.Body = exports.Res = exports.JsonForce = exports.UseBefore = exports.getFromContainer = void 0;
3
+ exports.EmailDeliveryProvider = exports.ForceResponse = exports.StitchesAbstract = exports.initialize = exports.stitchable = exports.toStitch = exports.Server = exports.DefaultErrorHandlerTheta = exports.CorsTheta = exports.BodyParserTheta = exports.DiContainerAbstract = exports.diContainer = exports.startContainer = exports.ValidatorAbstract = exports.ForceAbstract = exports.WorkAbstract = exports.ServiceAbstract = exports.RepositoryAbstract = exports.ProviderAbstract = exports.ThetaHandlerAbstract = exports.createWorkStub = exports.FakeServer = exports.ENVIRONMENT = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = exports.Endpoint = exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = exports.HttpContentTypePoint = exports.QueryParam = exports.Param = exports.Req = exports.Body = exports.Res = exports.JsonForce = exports.UseBefore = exports.getFromContainer = void 0;
4
4
  require("./backend/stitch/verses/load-verses");
5
5
  require("reflect-metadata");
6
6
  const setup_1 = require("./setup");
@@ -24,7 +24,6 @@ Object.defineProperty(exports, "Patch", { enumerable: true, get: function () { r
24
24
  Object.defineProperty(exports, "Delete", { enumerable: true, get: function () { return http_method_theta_1.Delete; } });
25
25
  Object.defineProperty(exports, "Endpoint", { enumerable: true, get: function () { return http_method_theta_1.Endpoint; } });
26
26
  var verses_1 = require("./backend/stitch/verses");
27
- Object.defineProperty(exports, "APP_PORT", { enumerable: true, get: function () { return verses_1.APP_PORT; } });
28
27
  Object.defineProperty(exports, "LOAD_MODULES", { enumerable: true, get: function () { return verses_1.LOAD_MODULES; } });
29
28
  Object.defineProperty(exports, "CORS_ALLOWED_ORIGINS", { enumerable: true, get: function () { return verses_1.CORS_ALLOWED_ORIGINS; } });
30
29
  Object.defineProperty(exports, "ENVIRONMENT", { enumerable: true, get: function () { return verses_1.ENVIRONMENT; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlantjs/backend",
3
- "version": "11.0.25",
3
+ "version": "11.0.27",
4
4
  "main": "index.js",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
package/setup/index.d.ts CHANGED
@@ -4,7 +4,7 @@ import express from "express";
4
4
  import { interfaces } from "inversify";
5
5
  export interface ServerProps {
6
6
  application: {
7
- ports: string[];
7
+ ports: number[];
8
8
  };
9
9
  databases?: Array<{
10
10
  token: interfaces.ServiceIdentifier<unknown>;
@@ -2,5 +2,5 @@ import express from "express";
2
2
  export declare class Server {
3
3
  static readonly instance: import("express-serve-static-core").Express;
4
4
  private static readonly routingOptions;
5
- static initialize(ports: string[]): express.Application;
5
+ static initialize(ports: number[]): express.Application;
6
6
  }
@@ -11,7 +11,6 @@ const routing_controllers_1 = require("routing-controllers");
11
11
  const body_parser_theta_1 = require("./body-parser-theta");
12
12
  const cors_theta_1 = require("./cors-theta");
13
13
  const default_error_handler_theta_1 = require("./default-error-handler-theta");
14
- const signale_1 = __importDefault(require("signale"));
15
14
  class Server {
16
15
  static initialize(ports) {
17
16
  Server.instance.disable("x-powered-by");
@@ -22,14 +21,15 @@ class Server {
22
21
  Server.instance.use(body_parser_theta_1.BodyParserTheta.create());
23
22
  Server.instance.use(default_error_handler_theta_1.DefaultErrorHandlerTheta.create());
24
23
  (0, routing_controllers_1.useExpressServer)(Server.instance, Server.routingOptions);
25
- let portsListened = [];
26
24
  for (const port of ports) {
27
- if (portsListened.includes(port)) {
28
- signale_1.default.warn(`Port ${port} is already being listened to. Skipping...`);
29
- continue;
30
- }
31
- Server.instance.listen(port);
32
- portsListened.push(port);
25
+ Server.instance.listen(port).on('error', (error) => {
26
+ if (error.code === 'EADDRINUSE') {
27
+ console.warn(`Port ${port} is already in use, skipping...`);
28
+ }
29
+ else {
30
+ throw error;
31
+ }
32
+ });
33
33
  }
34
34
  return Server.instance;
35
35
  }