@haskou/ddd-kernel 1.0.3 → 1.1.0

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.
Files changed (49) hide show
  1. package/dist/{RetryPredicate-yT_z9zk1.d.cts → RetryPredicate-CBlnBUDO.d.cts} +1 -1
  2. package/dist/{RetryPredicate-U7dYnQ4N.d.ts → RetryPredicate-DAv_7ve2.d.ts} +1 -1
  3. package/dist/{ShutdownHook-CMWLsfu-.d.ts → ShutdownHook-3Gc1yyHI.d.ts} +12 -1
  4. package/dist/{ShutdownHook-BjbnCKzr.d.cts → ShutdownHook-BUvR2Ii7.d.cts} +12 -1
  5. package/dist/adapters/index.cjs +23 -0
  6. package/dist/adapters/index.cjs.map +1 -1
  7. package/dist/adapters/index.d.cts +3 -2
  8. package/dist/adapters/index.d.ts +3 -2
  9. package/dist/adapters/index.js +23 -0
  10. package/dist/adapters/index.js.map +1 -1
  11. package/dist/adapters/pubsub/amqp/index.cjs +23 -0
  12. package/dist/adapters/pubsub/amqp/index.cjs.map +1 -1
  13. package/dist/adapters/pubsub/amqp/index.js +23 -0
  14. package/dist/adapters/pubsub/amqp/index.js.map +1 -1
  15. package/dist/adapters/pubsub/index.cjs +23 -0
  16. package/dist/adapters/pubsub/index.cjs.map +1 -1
  17. package/dist/adapters/pubsub/index.d.cts +4 -3
  18. package/dist/adapters/pubsub/index.d.ts +4 -3
  19. package/dist/adapters/pubsub/index.js +23 -0
  20. package/dist/adapters/pubsub/index.js.map +1 -1
  21. package/dist/adapters/ui/express/index.d.cts +2 -1
  22. package/dist/adapters/ui/express/index.d.ts +2 -1
  23. package/dist/adapters/ui/index.cjs +23 -0
  24. package/dist/adapters/ui/index.cjs.map +1 -1
  25. package/dist/adapters/ui/index.d.cts +2 -1
  26. package/dist/adapters/ui/index.d.ts +2 -1
  27. package/dist/adapters/ui/index.js +23 -0
  28. package/dist/adapters/ui/index.js.map +1 -1
  29. package/dist/adapters/ui/routes/index.cjs +23 -0
  30. package/dist/adapters/ui/routes/index.cjs.map +1 -1
  31. package/dist/adapters/ui/routes/index.js +23 -0
  32. package/dist/adapters/ui/routes/index.js.map +1 -1
  33. package/dist/contracts/index.d.cts +3 -2
  34. package/dist/contracts/index.d.ts +3 -2
  35. package/dist/contracts/kernel/index.d.cts +3 -2
  36. package/dist/contracts/kernel/index.d.ts +3 -2
  37. package/dist/index.cjs +23 -0
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.cts +3 -2
  40. package/dist/index.d.ts +3 -2
  41. package/dist/index.js +23 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/infrastructure/express/index.d.cts +2 -1
  44. package/dist/infrastructure/express/index.d.ts +2 -1
  45. package/dist/infrastructure/scheduler/index.cjs +23 -0
  46. package/dist/infrastructure/scheduler/index.cjs.map +1 -1
  47. package/dist/infrastructure/scheduler/index.js +23 -0
  48. package/dist/infrastructure/scheduler/index.js.map +1 -1
  49. package/package.json +2 -1
@@ -1,4 +1,4 @@
1
- import { a as ConsumerExecutionContext } from './ShutdownHook-BjbnCKzr.cjs';
1
+ import { a as ConsumerExecutionContext } from './ShutdownHook-BUvR2Ii7.cjs';
2
2
 
3
3
  interface IdempotencyStore {
4
4
  claim?(key: string): Promise<boolean> | boolean;
@@ -1,4 +1,4 @@
1
- import { a as ConsumerExecutionContext } from './ShutdownHook-CMWLsfu-.js';
1
+ import { a as ConsumerExecutionContext } from './ShutdownHook-3Gc1yyHI.js';
2
2
 
3
3
  interface IdempotencyStore {
4
4
  claim?(key: string): Promise<boolean> | boolean;
@@ -1,4 +1,5 @@
1
1
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.js';
2
+ import { DotenvConfigOutput } from 'dotenv';
2
3
  import { D as DomainEventConsumer } from './DomainEventConsumer-BroJmVty.js';
3
4
  import { Route } from './adapters/ui/routes/index.js';
4
5
  import { b as DependencyOverride, D as DependencyInjection, S as ServiceClass } from './ServiceClass-Bq_fBC5R.js';
@@ -26,6 +27,11 @@ interface KernelDependencyInjectionOptions {
26
27
  readonly sourceDirectory?: string;
27
28
  }
28
29
 
30
+ interface KernelEnvironmentVariablesOptions {
31
+ readonly override?: boolean;
32
+ readonly path?: string;
33
+ }
34
+
29
35
  interface KernelOptions {
30
36
  readonly di?: DependencyInjection;
31
37
  readonly logger?: KernelLogger;
@@ -48,6 +54,7 @@ declare class Kernel {
48
54
  static get consumers(): Consumer[];
49
55
  static get consumerMiddleware(): ConsumerMiddleware[];
50
56
  static get di(): DependencyInjection;
57
+ static get environment(): NodeJS.ProcessEnv;
51
58
  static get logger(): KernelLogger;
52
59
  static get active(): Kernel;
53
60
  static get rootDirectory(): string;
@@ -55,6 +62,8 @@ declare class Kernel {
55
62
  static get schedulers(): Scheduler[];
56
63
  static get sourceDirectory(): string;
57
64
  private static getActiveKernel;
65
+ private static getEnvironmentVariablesPath;
66
+ static loadEnvironmentVariables(environment?: string, options?: KernelEnvironmentVariablesOptions): DotenvConfigOutput;
58
67
  constructor(options?: KernelOptions);
59
68
  private closeCandidate;
60
69
  private getConsumerFromClass;
@@ -64,11 +73,13 @@ declare class Kernel {
64
73
  get consumers(): Consumer[];
65
74
  get consumerMiddleware(): ConsumerMiddleware[];
66
75
  get di(): DependencyInjection;
76
+ get environment(): NodeJS.ProcessEnv;
67
77
  get logger(): KernelLogger;
68
78
  get routes(): ServiceClass<Route>[];
69
79
  get schedulers(): Scheduler[];
70
80
  private getDependencyInjectionOptions;
71
81
  dependencyInjection(options?: KernelDependencyInjectionOptions): Promise<void>;
82
+ loadEnvironmentVariables(environment?: string, options?: KernelEnvironmentVariablesOptions): DotenvConfigOutput;
72
83
  getRoutes(): ServiceClass<Route>[];
73
84
  registerConsumerMiddleware(...middlewares: ConsumerMiddleware[]): void;
74
85
  registerConsumers(...ClassDefinitions: ServiceClass<Consumer>[]): void;
@@ -109,4 +120,4 @@ interface ConsumerMiddleware {
109
120
 
110
121
  type ShutdownHook = () => Promise<void> | void;
111
122
 
112
- export { Consumer as C, Kernel as K, type ShutdownHook as S, type ConsumerExecutionContext as a, type ConsumerMiddleware as b, type ConsumerNext as c, type KernelDependencyInjectionOptions as d, type KernelOptions as e, createKernel as f };
123
+ export { Consumer as C, Kernel as K, type ShutdownHook as S, type ConsumerExecutionContext as a, type ConsumerMiddleware as b, type ConsumerNext as c, type KernelDependencyInjectionOptions as d, type KernelEnvironmentVariablesOptions as e, type KernelOptions as f, createKernel as g };
@@ -1,4 +1,5 @@
1
1
  import { D as DomainEvent } from './DomainEvent-mXWEtr_J.cjs';
2
+ import { DotenvConfigOutput } from 'dotenv';
2
3
  import { D as DomainEventConsumer } from './DomainEventConsumer-Bg-bOwmh.cjs';
3
4
  import { Route } from './adapters/ui/routes/index.cjs';
4
5
  import { b as DependencyOverride, D as DependencyInjection, S as ServiceClass } from './ServiceClass-BkEHcXDi.cjs';
@@ -26,6 +27,11 @@ interface KernelDependencyInjectionOptions {
26
27
  readonly sourceDirectory?: string;
27
28
  }
28
29
 
30
+ interface KernelEnvironmentVariablesOptions {
31
+ readonly override?: boolean;
32
+ readonly path?: string;
33
+ }
34
+
29
35
  interface KernelOptions {
30
36
  readonly di?: DependencyInjection;
31
37
  readonly logger?: KernelLogger;
@@ -48,6 +54,7 @@ declare class Kernel {
48
54
  static get consumers(): Consumer[];
49
55
  static get consumerMiddleware(): ConsumerMiddleware[];
50
56
  static get di(): DependencyInjection;
57
+ static get environment(): NodeJS.ProcessEnv;
51
58
  static get logger(): KernelLogger;
52
59
  static get active(): Kernel;
53
60
  static get rootDirectory(): string;
@@ -55,6 +62,8 @@ declare class Kernel {
55
62
  static get schedulers(): Scheduler[];
56
63
  static get sourceDirectory(): string;
57
64
  private static getActiveKernel;
65
+ private static getEnvironmentVariablesPath;
66
+ static loadEnvironmentVariables(environment?: string, options?: KernelEnvironmentVariablesOptions): DotenvConfigOutput;
58
67
  constructor(options?: KernelOptions);
59
68
  private closeCandidate;
60
69
  private getConsumerFromClass;
@@ -64,11 +73,13 @@ declare class Kernel {
64
73
  get consumers(): Consumer[];
65
74
  get consumerMiddleware(): ConsumerMiddleware[];
66
75
  get di(): DependencyInjection;
76
+ get environment(): NodeJS.ProcessEnv;
67
77
  get logger(): KernelLogger;
68
78
  get routes(): ServiceClass<Route>[];
69
79
  get schedulers(): Scheduler[];
70
80
  private getDependencyInjectionOptions;
71
81
  dependencyInjection(options?: KernelDependencyInjectionOptions): Promise<void>;
82
+ loadEnvironmentVariables(environment?: string, options?: KernelEnvironmentVariablesOptions): DotenvConfigOutput;
72
83
  getRoutes(): ServiceClass<Route>[];
73
84
  registerConsumerMiddleware(...middlewares: ConsumerMiddleware[]): void;
74
85
  registerConsumers(...ClassDefinitions: ServiceClass<Consumer>[]): void;
@@ -109,4 +120,4 @@ interface ConsumerMiddleware {
109
120
 
110
121
  type ShutdownHook = () => Promise<void> | void;
111
122
 
112
- export { Consumer as C, Kernel as K, type ShutdownHook as S, type ConsumerExecutionContext as a, type ConsumerMiddleware as b, type ConsumerNext as c, type KernelDependencyInjectionOptions as d, type KernelOptions as e, createKernel as f };
123
+ export { Consumer as C, Kernel as K, type ShutdownHook as S, type ConsumerExecutionContext as a, type ConsumerMiddleware as b, type ConsumerNext as c, type KernelDependencyInjectionOptions as d, type KernelEnvironmentVariablesOptions as e, type KernelOptions as f, createKernel as g };
@@ -117,6 +117,7 @@ var ConsoleKernelLogger = class {
117
117
  };
118
118
 
119
119
  // src/Kernel.ts
120
+ var import_dotenv = __toESM(require("dotenv"), 1);
120
121
  var import_node_path2 = __toESM(require("path"), 1);
121
122
 
122
123
  // src/infrastructure/dependency-injection/DependencyInjection.ts
@@ -400,6 +401,9 @@ var Kernel = class _Kernel {
400
401
  static get di() {
401
402
  return _Kernel.getActiveKernel().di;
402
403
  }
404
+ static get environment() {
405
+ return process.env;
406
+ }
403
407
  static get logger() {
404
408
  return _Kernel.getActiveKernel().logger;
405
409
  }
@@ -424,6 +428,19 @@ var Kernel = class _Kernel {
424
428
  }
425
429
  return _Kernel.state.activeKernel;
426
430
  }
431
+ static getEnvironmentVariablesPath(environment, options) {
432
+ return import_node_path2.default.resolve(
433
+ _Kernel.rootDirectory,
434
+ options.path ?? (environment ? `.env.${environment}` : ".env")
435
+ );
436
+ }
437
+ static loadEnvironmentVariables(environment, options = {}) {
438
+ const environmentName = environment ?? process.env.NODE_ENV ?? "local";
439
+ return import_dotenv.default.config({
440
+ override: options.override,
441
+ path: _Kernel.getEnvironmentVariablesPath(environmentName, options)
442
+ });
443
+ }
427
444
  async closeCandidate(candidate) {
428
445
  if (candidate.shutdown) {
429
446
  await candidate.shutdown();
@@ -465,6 +482,9 @@ var Kernel = class _Kernel {
465
482
  }
466
483
  return this.dependencyInjectionInstance;
467
484
  }
485
+ get environment() {
486
+ return _Kernel.environment;
487
+ }
468
488
  get logger() {
469
489
  return this.loggerInstance;
470
490
  }
@@ -490,6 +510,9 @@ var Kernel = class _Kernel {
490
510
  await this.dependencyInjectionInstance.compile();
491
511
  _Kernel.state.activeKernel = this;
492
512
  }
513
+ loadEnvironmentVariables(environment, options = {}) {
514
+ return _Kernel.loadEnvironmentVariables(environment, options);
515
+ }
493
516
  getRoutes() {
494
517
  return this.routes;
495
518
  }