micro-generate 1.0.2 → 1.0.4

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.
@@ -339,7 +339,7 @@ LOG_LEVEL=info
339
339
  'axios': '^1.6.0',
340
340
  'dotenv': '^16.4.0',
341
341
  'dompurify': '^3.0.0',
342
- 'jsdom': '^23.0.0',
342
+ 'jsdom': '^24.0.0',
343
343
  'zod': '^3.22.4',
344
344
  'graphql': '^16.12.0',
345
345
  '@apollo/server': '^5.2.0',
@@ -1,8 +1,8 @@
1
1
  export interface MicroserviceConfig {
2
2
  port: number;
3
- mongoUri: string;
4
- redisHost: string;
5
- redisPort: number;
3
+ mongoUri?: string;
4
+ redisHost?: string;
5
+ redisPort?: number;
6
6
  redisDb?: number;
7
7
  redisPassword?: string;
8
8
  typeDefs: any;
@@ -20,5 +20,5 @@ export declare class MicroserviceServer {
20
20
  constructor(config: MicroserviceConfig);
21
21
  start(): Promise<void>;
22
22
  stop(): Promise<void>;
23
- getRedisClient(): import("ioredis").default;
23
+ getRedisClient(): import("ioredis").default | null;
24
24
  }
@@ -13,16 +13,18 @@ export class MicroserviceServer {
13
13
  app;
14
14
  httpServer = null;
15
15
  apolloServer;
16
- redisConnector;
16
+ redisConnector = null;
17
17
  constructor(config) {
18
18
  this.config = config;
19
19
  this.app = express();
20
- this.redisConnector = createRedisConnector({
21
- host: config.redisHost,
22
- port: config.redisPort,
23
- password: config.redisPassword,
24
- db: config.redisDb,
25
- });
20
+ if (config.redisHost && config.redisPort) {
21
+ this.redisConnector = createRedisConnector({
22
+ host: config.redisHost,
23
+ port: config.redisPort,
24
+ password: config.redisPassword,
25
+ db: config.redisDb,
26
+ });
27
+ }
26
28
  const plugins = [];
27
29
  if (config.playground !== false) { // Default to true if undefined
28
30
  plugins.push(ApolloServerPluginLandingPageLocalDefault());
@@ -39,16 +41,14 @@ export class MicroserviceServer {
39
41
  }
40
42
  async start() {
41
43
  // 1. Database Connections
42
- // We utilize a slight hack here to reuse the existing singleton-style connectDatabase
43
- // In a pure library, we might want to refactor connectDatabase to be a method or class instances.
44
- // For now, we assume the env vars are set or we manually handle connection if possible.
45
- // However, connectDatabase uses 'env' directly. To make this truly reusable via config,
46
- // we should update connectDatabase to accept a URI.
47
- // Let's assume for this step we will make connectDatabase accept the URI.
48
- await connectDatabase(this.config.mongoUri);
49
- await this.redisConnector.connect();
50
- if (this.config.onRedisConnected) {
51
- this.config.onRedisConnected(this.redisConnector.getClient());
44
+ if (this.config.mongoUri) {
45
+ await connectDatabase(this.config.mongoUri);
46
+ }
47
+ if (this.redisConnector) {
48
+ await this.redisConnector.connect();
49
+ if (this.config.onRedisConnected) {
50
+ this.config.onRedisConnected(this.redisConnector.getClient());
51
+ }
52
52
  }
53
53
  // 2. Express Config
54
54
  this.app.use(helmet({
@@ -75,11 +75,13 @@ export class MicroserviceServer {
75
75
  this.httpServer.close();
76
76
  }
77
77
  await this.apolloServer.stop();
78
- await this.redisConnector.disconnect();
78
+ if (this.redisConnector) {
79
+ await this.redisConnector.disconnect();
80
+ }
79
81
  await disconnectDatabase();
80
82
  }
81
83
  getRedisClient() {
82
- return this.redisConnector.getClient();
84
+ return this.redisConnector ? this.redisConnector.getClient() : null;
83
85
  }
84
86
  }
85
87
  //# sourceMappingURL=MicroserviceServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MicroserviceServer.js","sourceRoot":"","sources":["../../src/core/MicroserviceServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAoB,MAAM,SAAS,CAAC;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAkB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,yCAAyC,EAAE,MAAM,2CAA2C,CAAC;AACtG,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAC;AAgBvF,MAAM,OAAO,kBAAkB;IAMP;IALZ,GAAG,CAAU;IACb,UAAU,GAAuB,IAAI,CAAC;IACtC,YAAY,CAAe;IAC3B,cAAc,CAAiB;IAEvC,YAAoB,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC;YACvC,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC9B,EAAE,EAAE,MAAM,CAAC,OAAO;SACrB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC,+BAA+B;YAC9D,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,+BAA+B;SACjF,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK;QACP,0BAA0B;QAC1B,sFAAsF;QACtF,kGAAkG;QAClG,wFAAwF;QACxF,wFAAwF;QACxF,oDAAoD;QACpD,0EAA0E;QAC1E,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAChB,yBAAyB,EAAE,KAAK;YAChC,qBAAqB,EAAE,KAAK;SAC/B,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7B,mBAAmB;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,CAAC,GAAG,CAAC,GAAG,CACR,UAAU,EACV,IAAI,EAAoB,EACxB,OAAO,CAAC,IAAI,EAAE,EACd,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE;YACjC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SAC7D,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC3B,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACrD,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,kBAAkB,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;CACJ"}
1
+ {"version":3,"file":"MicroserviceServer.js","sourceRoot":"","sources":["../../src/core/MicroserviceServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "micro-generate",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "description": "Microservices project with Node.js, Express, Mongoose, Redis, and GraphQL",
6
6
  "main": "dist/index.js",