@dyanet/nestjs-config-aws 1.2.1 → 2.0.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 (230) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -43
  3. package/dist/cjs/aws-config-loader.js +57 -0
  4. package/dist/cjs/build-loaders.js +58 -0
  5. package/dist/cjs/config.module.js +138 -0
  6. package/dist/cjs/index.js +46 -0
  7. package/dist/cjs/interfaces/config-service.interface.js +11 -0
  8. package/dist/cjs/interfaces/default-schema.interface.js +63 -0
  9. package/dist/cjs/{nestjs-config-aws/src/interfaces → interfaces}/index.js +1 -1
  10. package/dist/cjs/interfaces/module-options.interface.js +3 -0
  11. package/dist/cjs/package.json +3 -0
  12. package/dist/cjs/services/config.service.js +142 -0
  13. package/dist/esm/aws-config-loader.js +54 -0
  14. package/dist/esm/build-loaders.js +55 -0
  15. package/dist/esm/config.module.js +135 -0
  16. package/dist/esm/index.js +18 -0
  17. package/dist/esm/interfaces/config-service.interface.js +7 -0
  18. package/dist/esm/interfaces/default-schema.interface.js +59 -0
  19. package/dist/esm/interfaces/index.js +8 -0
  20. package/dist/esm/interfaces/module-options.interface.js +2 -0
  21. package/dist/esm/package.json +3 -1
  22. package/dist/esm/services/config.service.js +139 -0
  23. package/dist/types/aws-config-loader.d.ts +74 -0
  24. package/dist/types/aws-config-loader.d.ts.map +1 -0
  25. package/dist/types/build-loaders.d.ts +30 -0
  26. package/dist/types/build-loaders.d.ts.map +1 -0
  27. package/dist/types/{nestjs-config-aws/src/config.module.d.ts → config.module.d.ts} +2 -8
  28. package/dist/types/config.module.d.ts.map +1 -0
  29. package/dist/types/index.d.ts +10 -0
  30. package/dist/types/index.d.ts.map +1 -0
  31. package/dist/types/interfaces/config-service.interface.d.ts.map +1 -0
  32. package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/default-schema.interface.d.ts +14 -14
  33. package/dist/types/interfaces/default-schema.interface.d.ts.map +1 -0
  34. package/dist/types/interfaces/index.d.ts.map +1 -0
  35. package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/module-options.interface.d.ts +22 -3
  36. package/dist/types/interfaces/module-options.interface.d.ts.map +1 -0
  37. package/dist/types/services/config.service.d.ts.map +1 -0
  38. package/package.json +13 -7
  39. package/dist/cjs/config-aws/src/config-manager.js +0 -366
  40. package/dist/cjs/config-aws/src/errors/index.js +0 -77
  41. package/dist/cjs/config-aws/src/index.js +0 -37
  42. package/dist/cjs/config-aws/src/interfaces/config-loader.interface.js +0 -3
  43. package/dist/cjs/config-aws/src/interfaces/config-manager.interface.js +0 -3
  44. package/dist/cjs/config-aws/src/interfaces/env-file-loader.interface.js +0 -3
  45. package/dist/cjs/config-aws/src/interfaces/environment-loader.interface.js +0 -3
  46. package/dist/cjs/config-aws/src/interfaces/s3-loader.interface.js +0 -3
  47. package/dist/cjs/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -3
  48. package/dist/cjs/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -3
  49. package/dist/cjs/config-aws/src/loaders/env-file.loader.js +0 -169
  50. package/dist/cjs/config-aws/src/loaders/environment.loader.js +0 -85
  51. package/dist/cjs/config-aws/src/loaders/s3.loader.js +0 -145
  52. package/dist/cjs/config-aws/src/loaders/secrets-manager.loader.js +0 -169
  53. package/dist/cjs/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -199
  54. package/dist/cjs/config-aws/src/utils/env-file-parser.util.js +0 -98
  55. package/dist/cjs/config-aws/src/utils/validation.util.js +0 -116
  56. package/dist/cjs/nestjs-config-aws/src/config.module.js +0 -175
  57. package/dist/cjs/nestjs-config-aws/src/index.js +0 -61
  58. package/dist/cjs/nestjs-config-aws/src/integration/index.js +0 -23
  59. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -3
  60. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -3
  61. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/index.js +0 -26
  62. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -3
  63. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -3
  64. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -73
  65. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -3
  66. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -4
  67. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -52
  68. package/dist/cjs/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -124
  69. package/dist/cjs/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -592
  70. package/dist/cjs/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -385
  71. package/dist/cjs/nestjs-config-aws/src/integration/providers/index.js +0 -20
  72. package/dist/cjs/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -366
  73. package/dist/cjs/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -267
  74. package/dist/cjs/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -517
  75. package/dist/cjs/nestjs-config-aws/src/integration/services/index.js +0 -26
  76. package/dist/cjs/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -81
  77. package/dist/cjs/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -465
  78. package/dist/cjs/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -318
  79. package/dist/cjs/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -292
  80. package/dist/cjs/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -595
  81. package/dist/cjs/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -283
  82. package/dist/cjs/nestjs-config-aws/src/integration/utils/index.js +0 -19
  83. package/dist/cjs/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -11
  84. package/dist/cjs/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -63
  85. package/dist/cjs/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -3
  86. package/dist/cjs/nestjs-config-aws/src/services/config.service.js +0 -142
  87. package/dist/esm/config-aws/src/config-manager.js +0 -362
  88. package/dist/esm/config-aws/src/errors/index.js +0 -69
  89. package/dist/esm/config-aws/src/index.js +0 -21
  90. package/dist/esm/config-aws/src/interfaces/config-loader.interface.js +0 -2
  91. package/dist/esm/config-aws/src/interfaces/config-manager.interface.js +0 -2
  92. package/dist/esm/config-aws/src/interfaces/env-file-loader.interface.js +0 -2
  93. package/dist/esm/config-aws/src/interfaces/environment-loader.interface.js +0 -2
  94. package/dist/esm/config-aws/src/interfaces/s3-loader.interface.js +0 -2
  95. package/dist/esm/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -2
  96. package/dist/esm/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -2
  97. package/dist/esm/config-aws/src/loaders/env-file.loader.js +0 -132
  98. package/dist/esm/config-aws/src/loaders/environment.loader.js +0 -81
  99. package/dist/esm/config-aws/src/loaders/s3.loader.js +0 -141
  100. package/dist/esm/config-aws/src/loaders/secrets-manager.loader.js +0 -165
  101. package/dist/esm/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -195
  102. package/dist/esm/config-aws/src/utils/env-file-parser.util.js +0 -94
  103. package/dist/esm/config-aws/src/utils/validation.util.js +0 -112
  104. package/dist/esm/nestjs-config-aws/src/config.module.js +0 -172
  105. package/dist/esm/nestjs-config-aws/src/index.js +0 -23
  106. package/dist/esm/nestjs-config-aws/src/integration/index.js +0 -7
  107. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -2
  108. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -2
  109. package/dist/esm/nestjs-config-aws/src/integration/interfaces/index.js +0 -10
  110. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -2
  111. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -2
  112. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -64
  113. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -2
  114. package/dist/esm/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -3
  115. package/dist/esm/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -44
  116. package/dist/esm/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -121
  117. package/dist/esm/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -589
  118. package/dist/esm/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -382
  119. package/dist/esm/nestjs-config-aws/src/integration/providers/index.js +0 -4
  120. package/dist/esm/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -363
  121. package/dist/esm/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -264
  122. package/dist/esm/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -514
  123. package/dist/esm/nestjs-config-aws/src/integration/services/index.js +0 -10
  124. package/dist/esm/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -78
  125. package/dist/esm/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -462
  126. package/dist/esm/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -315
  127. package/dist/esm/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -289
  128. package/dist/esm/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -589
  129. package/dist/esm/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -240
  130. package/dist/esm/nestjs-config-aws/src/integration/utils/index.js +0 -3
  131. package/dist/esm/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -7
  132. package/dist/esm/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -59
  133. package/dist/esm/nestjs-config-aws/src/interfaces/index.js +0 -8
  134. package/dist/esm/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -2
  135. package/dist/esm/nestjs-config-aws/src/services/config.service.js +0 -139
  136. package/dist/types/config-aws/src/config-manager.d.ts +0 -119
  137. package/dist/types/config-aws/src/config-manager.d.ts.map +0 -1
  138. package/dist/types/config-aws/src/errors/index.d.ts +0 -43
  139. package/dist/types/config-aws/src/errors/index.d.ts.map +0 -1
  140. package/dist/types/config-aws/src/index.d.ts +0 -24
  141. package/dist/types/config-aws/src/index.d.ts.map +0 -1
  142. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts +0 -33
  143. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts.map +0 -1
  144. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts +0 -86
  145. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts.map +0 -1
  146. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts +0 -12
  147. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts.map +0 -1
  148. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts +0 -10
  149. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts.map +0 -1
  150. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts +0 -14
  151. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts.map +0 -1
  152. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts +0 -12
  153. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts.map +0 -1
  154. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts +0 -14
  155. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts.map +0 -1
  156. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts +0 -69
  157. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts.map +0 -1
  158. package/dist/types/config-aws/src/loaders/environment.loader.d.ts +0 -46
  159. package/dist/types/config-aws/src/loaders/environment.loader.d.ts.map +0 -1
  160. package/dist/types/config-aws/src/loaders/s3.loader.d.ts +0 -62
  161. package/dist/types/config-aws/src/loaders/s3.loader.d.ts.map +0 -1
  162. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts +0 -68
  163. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts.map +0 -1
  164. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts +0 -78
  165. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts.map +0 -1
  166. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts +0 -45
  167. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts.map +0 -1
  168. package/dist/types/config-aws/src/utils/validation.util.d.ts +0 -53
  169. package/dist/types/config-aws/src/utils/validation.util.d.ts.map +0 -1
  170. package/dist/types/nestjs-config-aws/src/config.module.d.ts.map +0 -1
  171. package/dist/types/nestjs-config-aws/src/index.d.ts +0 -11
  172. package/dist/types/nestjs-config-aws/src/index.d.ts.map +0 -1
  173. package/dist/types/nestjs-config-aws/src/integration/index.d.ts +0 -6
  174. package/dist/types/nestjs-config-aws/src/integration/index.d.ts.map +0 -1
  175. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts +0 -71
  176. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts.map +0 -1
  177. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts +0 -24
  178. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts.map +0 -1
  179. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts +0 -9
  180. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts.map +0 -1
  181. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts +0 -66
  182. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts.map +0 -1
  183. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts +0 -17
  184. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts.map +0 -1
  185. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts +0 -332
  186. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +0 -1
  187. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts +0 -259
  188. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts.map +0 -1
  189. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts +0 -209
  190. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts.map +0 -1
  191. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts +0 -249
  192. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts.map +0 -1
  193. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts +0 -36
  194. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts.map +0 -1
  195. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts +0 -134
  196. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts.map +0 -1
  197. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts +0 -119
  198. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts.map +0 -1
  199. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts +0 -3
  200. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts.map +0 -1
  201. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts +0 -84
  202. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts.map +0 -1
  203. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts +0 -84
  204. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts.map +0 -1
  205. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts +0 -158
  206. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts.map +0 -1
  207. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts +0 -9
  208. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts.map +0 -1
  209. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts +0 -41
  210. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts.map +0 -1
  211. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts +0 -192
  212. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts.map +0 -1
  213. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts +0 -87
  214. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts.map +0 -1
  215. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts +0 -103
  216. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts.map +0 -1
  217. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts +0 -222
  218. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts.map +0 -1
  219. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts +0 -81
  220. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts.map +0 -1
  221. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts +0 -2
  222. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts.map +0 -1
  223. package/dist/types/nestjs-config-aws/src/interfaces/config-service.interface.d.ts.map +0 -1
  224. package/dist/types/nestjs-config-aws/src/interfaces/default-schema.interface.d.ts.map +0 -1
  225. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts.map +0 -1
  226. package/dist/types/nestjs-config-aws/src/interfaces/module-options.interface.d.ts.map +0 -1
  227. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts.map +0 -1
  228. /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/config-service.interface.d.ts +0 -0
  229. /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/index.d.ts +0 -0
  230. /package/dist/types/{nestjs-config-aws/src/services → services}/config.service.d.ts +0 -0
@@ -1,68 +0,0 @@
1
- import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
2
- import type { ConfigLoader } from '../interfaces/config-loader.interface.js';
3
- import type { SecretsManagerLoaderConfig } from '../interfaces/secrets-manager-loader.interface.js';
4
- /**
5
- * Loader that reads configuration from AWS Secrets Manager.
6
- * Supports environment-aware path construction.
7
- *
8
- * @example
9
- * ```typescript
10
- * // Basic usage
11
- * const loader = new SecretsManagerLoader({
12
- * secretName: '/my-app/config',
13
- * region: 'us-east-1'
14
- * });
15
- *
16
- * // With environment mapping
17
- * const loader = new SecretsManagerLoader({
18
- * secretName: '/my-app/config',
19
- * environmentMapping: {
20
- * development: 'dev',
21
- * staging: 'stg',
22
- * production: 'prod'
23
- * }
24
- * });
25
- * ```
26
- */
27
- export declare class SecretsManagerLoader implements ConfigLoader {
28
- /** @internal */
29
- protected readonly _client: SecretsManagerClient;
30
- /** @internal */
31
- protected readonly _config: Required<SecretsManagerLoaderConfig>;
32
- /** @internal */
33
- protected readonly _appEnv: string;
34
- constructor(config?: SecretsManagerLoaderConfig);
35
- /**
36
- * Get the name of this loader for logging and debugging.
37
- * @returns The loader name with secret path or base secret name if path cannot be built
38
- */
39
- getName(): string;
40
- /**
41
- * Check if this loader is available in the current environment.
42
- * @returns Promise resolving to true if not in local environment and AWS credentials are available
43
- */
44
- isAvailable(): Promise<boolean>;
45
- /**
46
- * Load configuration from AWS Secrets Manager.
47
- * @returns Promise resolving to configuration key-value pairs from the secret
48
- * @throws AWSServiceError if AWS operation fails
49
- * @throws ConfigurationLoadError if secret cannot be parsed
50
- */
51
- load(): Promise<Record<string, unknown>>;
52
- /**
53
- * Build the environment-aware secret name/path.
54
- * @returns The full secret name with environment prefix
55
- */
56
- buildSecretName(): string;
57
- /**
58
- * Get the current app environment.
59
- * @returns The current APP_ENV or NODE_ENV value
60
- */
61
- getAppEnv(): string;
62
- /**
63
- * Get the environment mapping configuration.
64
- * @returns The environment mapping record
65
- */
66
- getEnvironmentMapping(): Record<string, string>;
67
- }
68
- //# sourceMappingURL=secrets-manager.loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets-manager.loader.d.ts","sourceRoot":"","sources":["../../../../../../config-aws/src/loaders/secrets-manager.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAGpG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACjD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IACjE,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEvB,MAAM,GAAE,0BAA+B;IAsBnD;;;OAGG;IACH,OAAO,IAAI,MAAM;IAYjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAerC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoE9C;;;OAGG;IACH,eAAe,IAAI,MAAM;IAczB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhD"}
@@ -1,78 +0,0 @@
1
- import { SSMClient } from '@aws-sdk/client-ssm';
2
- import type { ConfigLoader } from '../interfaces/config-loader.interface.js';
3
- import type { SSMParameterStoreLoaderConfig } from '../interfaces/ssm-parameter-store-loader.interface.js';
4
- /**
5
- * Loader that reads configuration from AWS SSM Parameter Store.
6
- * Supports environment-aware path construction, pagination, and decryption options.
7
- *
8
- * @example
9
- * ```typescript
10
- * // Basic usage
11
- * const loader = new SSMParameterStoreLoader({
12
- * parameterPath: '/my-app/config',
13
- * region: 'us-east-1'
14
- * });
15
- *
16
- * // With environment mapping
17
- * const loader = new SSMParameterStoreLoader({
18
- * parameterPath: '/my-app/config',
19
- * environmentMapping: {
20
- * development: 'dev',
21
- * staging: 'stg',
22
- * production: 'prod'
23
- * }
24
- * });
25
- * ```
26
- */
27
- export declare class SSMParameterStoreLoader implements ConfigLoader {
28
- /** @internal */
29
- protected readonly _client: SSMClient;
30
- /** @internal */
31
- protected readonly _config: Required<SSMParameterStoreLoaderConfig>;
32
- /** @internal */
33
- protected readonly _appEnv: string;
34
- constructor(config?: SSMParameterStoreLoaderConfig);
35
- /**
36
- * Get the name of this loader for logging and debugging.
37
- * @returns The loader name with parameter path
38
- */
39
- getName(): string;
40
- /**
41
- * Check if this loader is available in the current environment.
42
- * @returns Promise resolving to true if not in local environment and AWS credentials are available
43
- */
44
- isAvailable(): Promise<boolean>;
45
- /**
46
- * Load configuration from AWS SSM Parameter Store.
47
- * Implements recursive parameter fetching with NextToken handling for pagination.
48
- * @returns Promise resolving to configuration key-value pairs from parameters
49
- * @throws AWSServiceError if AWS operation fails
50
- * @throws ConfigurationLoadError if parameter path cannot be constructed
51
- */
52
- load(): Promise<Record<string, unknown>>;
53
- /**
54
- * Build the environment-aware parameter path.
55
- * @returns The full parameter path with environment prefix
56
- * @throws ConfigurationLoadError if no environment mapping found
57
- */
58
- buildParameterPath(): string;
59
- /**
60
- * Transform parameter name by removing the prefix and converting to uppercase.
61
- * Example: '/dev/config-aws/database/host' -> 'DATABASE_HOST'
62
- * @param parameterName The full parameter name from AWS
63
- * @param pathPrefix The path prefix to remove
64
- * @returns The transformed parameter name or null if invalid
65
- */
66
- private transformParameterName;
67
- /**
68
- * Get the current app environment.
69
- * @returns The current APP_ENV or NODE_ENV value
70
- */
71
- getAppEnv(): string;
72
- /**
73
- * Get the environment mapping configuration.
74
- * @returns The environment mapping record
75
- */
76
- getEnvironmentMapping(): Record<string, string>;
77
- }
78
- //# sourceMappingURL=ssm-parameter-store.loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssm-parameter-store.loader.d.ts","sourceRoot":"","sources":["../../../../../../config-aws/src/loaders/ssm-parameter-store.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uDAAuD,CAAC;AAG3G;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IACtC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACpE,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEvB,MAAM,GAAE,6BAAkC;IAuBtD;;;OAGG;IACH,OAAO,IAAI,MAAM;IAUjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAerC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA6E9C;;;;OAIG;IACH,kBAAkB,IAAI,MAAM;IAc5B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhD"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Parser for AWS ECS-compatible environment files.
3
- *
4
- * Format rules (per AWS ECS documentation):
5
- * - Lines beginning with # are comments and ignored
6
- * - Blank lines are ignored
7
- * - Format: VARIABLE=VALUE (no spaces around =)
8
- * - Variable names must match /^[a-zA-Z_][a-zA-Z0-9_]*$/
9
- * - Values are literal (no quote processing, no interpolation)
10
- * - One variable per line
11
- * - Lines without = are ignored
12
- * - Maximum line length: 32KB
13
- *
14
- * @see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html
15
- */
16
- export declare class EnvFileParser {
17
- /** Maximum line length per AWS ECS specification */
18
- private static readonly MAX_LINE_LENGTH;
19
- /** Valid variable name pattern: alphanumeric + underscore, cannot start with digit */
20
- private static readonly VARIABLE_NAME_PATTERN;
21
- /**
22
- * Parse environment file content into key-value pairs.
23
- * @param content The raw content of the environment file
24
- * @returns Record of environment variable names to values
25
- */
26
- static parse(content: string): Record<string, string>;
27
- /**
28
- * Check if a variable name is valid per AWS ECS format.
29
- * Variable names must:
30
- * - Start with a letter (a-z, A-Z) or underscore (_)
31
- * - Contain only alphanumeric characters and underscores
32
- * - Not be empty
33
- *
34
- * @param name The variable name to check
35
- * @returns true if the name is valid
36
- */
37
- static isValidVariableName(name: string): boolean;
38
- /**
39
- * Serialize a configuration object to AWS ECS-compatible env file format.
40
- * @param config The configuration object to serialize
41
- * @returns The serialized env file content
42
- */
43
- static serialize(config: Record<string, string>): string;
44
- }
45
- //# sourceMappingURL=env-file-parser.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env-file-parser.util.d.ts","sourceRoot":"","sources":["../../../../../../config-aws/src/utils/env-file-parser.util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,oDAAoD;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAa;IAEpD,sFAAsF;IACtF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IAE3E;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA+CrD;;;;;;;;;OASG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOjD;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAYzD"}
@@ -1,53 +0,0 @@
1
- import type { ZodType, ZodError, TypeOf } from 'zod';
2
- import { ValidationError } from '../errors/index.js';
3
- /**
4
- * Framework-agnostic validation utility for configuration values.
5
- * Provides methods for validating configuration objects against Zod schemas.
6
- */
7
- export declare class ConfigValidationUtil {
8
- /**
9
- * Validates a value against a Zod schema.
10
- * @param schema The Zod schema to validate against
11
- * @param value The value to validate
12
- * @param context Optional context for error messages
13
- * @returns The validated and transformed value
14
- * @throws ValidationError if validation fails
15
- */
16
- static validate<T extends ZodType>(schema: T, value: unknown, context?: string): TypeOf<T>;
17
- /**
18
- * Safely validates a value against a Zod schema without throwing.
19
- * @param schema The Zod schema to validate against
20
- * @param value The value to validate
21
- * @returns Object with success flag and either data or error
22
- */
23
- static safeValidate<T extends ZodType>(schema: T, value: unknown): {
24
- success: true;
25
- data: TypeOf<T>;
26
- } | {
27
- success: false;
28
- error: ValidationError;
29
- };
30
- /**
31
- * Formats Zod validation errors into a structured format.
32
- * @param error The ZodError to format
33
- * @returns Formatted error object or string
34
- */
35
- static formatValidationErrors(error: ZodError): unknown;
36
- /**
37
- * Creates a detailed error message for configuration validation failures.
38
- * @param error The ZodError to create a message for
39
- * @param context Optional context for the error
40
- * @returns Detailed error message string
41
- */
42
- static createDetailedErrorMessage(error: ZodError, context?: string): string;
43
- /**
44
- * Validates configuration with enhanced error context.
45
- * @param schema The Zod schema to validate against
46
- * @param value The configuration object to validate
47
- * @param source The source of the configuration (e.g., 'environment', 'secrets-manager')
48
- * @returns The validated configuration
49
- * @throws ValidationError with enhanced context
50
- */
51
- static validateConfiguration<T extends ZodType>(schema: T, value: unknown, source: string): TypeOf<T>;
52
- }
53
- //# sourceMappingURL=validation.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.util.d.ts","sourceRoot":"","sources":["../../../../../../config-aws/src/utils/validation.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,OAAO,EAC/B,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAAC,CAAC,CAAC;IAeZ;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,OAAO,EACnC,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,GACb;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE;IAalF;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IA+BvD;;;;;OAKG;IACH,MAAM,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAmB5E;;;;;;;OAOG;IACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAC5C,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,CAAC,CAAC;CAYb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.module.d.ts","sourceRoot":"","sources":["../../../../src/config.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;AAIzE,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAuB,MAAM,uCAAuC,CAAC;AAGjG;;GAEG;AACH,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,qBAEa,YAAY;IACvB;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,mBAAmB,EACpC,OAAO,GAAE,0BAA0B,CAAC,CAAC,CAAM,GAC1C,aAAa;IAiBhB;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,mBAAmB,EACzC,OAAO,EAAE,+BAA+B,CAAC,CAAC,CAAC,GAC1C,aAAa;IAehB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IA8B1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IA6B/C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAuC7B"}
@@ -1,11 +0,0 @@
1
- export { EnvironmentLoader, EnvFileLoader, S3Loader, SecretsManagerLoader, SSMParameterStoreLoader, ConfigManager, ConfigurationError, ValidationError, AWSServiceError, ConfigurationLoadError, MissingConfigurationError, ConfigValidationUtil, EnvFileParser, } from '@dyanet/config-aws';
2
- export type { ConfigLoader, ConfigManagerOptions, LoaderPrecedence, VerboseOptions, PrecedenceStrategy, ConfigLoadResult, ConfigSourceInfo as CoreConfigSourceInfo, Logger, EnvironmentLoaderConfig, EnvFileLoaderConfig, S3LoaderConfig, SecretsManagerLoaderConfig, SSMParameterStoreLoaderConfig, } from '@dyanet/config-aws';
3
- export * from './config.module';
4
- export * from './interfaces';
5
- export * from './services/config.service';
6
- export * from './integration';
7
- export { isAwsSource, isLocalSource, hasMetadata, isValidationResult, isCacheEntry } from './integration/interfaces/utility-types.interface';
8
- export { InjectEnhancedConfig, ConfigProperty, ConfigClass, ValidateConfig, TransformConfig, createTypeSafeConfigFactory } from './integration/interfaces/nestjs-config-compatibility.interface';
9
- export { NestConfigAwsIntegrationModule } from './integration/nestjs-config-integration.module';
10
- export type { IntegrationOptions, AsyncIntegrationOptions, PrecedenceRule, ErrorHandlingStrategy, FactoryOptions, AwsConfigurationFactory, ConfigurationFactoryProvider, ConfigurationSource, ConfigurationSourceType, IntegrationState, TypedConfiguration, TypedConfigurationFactory, TypedConfigurationAccessor, ConfigurationSchema, TypedConfigurationRegistry, TypedConfigurationOptions, ConfigurationType, StronglyTypedConfig, ConfigurationValue, ConfigurationPathResolver, NestJSConfigIntegrationService, EnhancedConfigModuleOptions, EnhancedAsyncConfigModuleOptions, EnhancedConfigModuleFactory, EnhancedAsyncConfigModuleFactory, EnhancedConfigModuleOptionsFactory, IntegrationStatus, AwsConfigurationLoader, ConfigurationMerger, AwsConfigurationValidator, EnhancedConfigService, ConfigValueWithSource, ConfigSourceInfo, ConfigHealthStatus, ConfigPropertyOptions, ConfigClassOptions, ConfigValidationOptions, TypeSafeConfigFactory, ConfigModuleBuilder, ConfigTestingUtils, ConfigMonitor, ConfigMetrics, ConfigEvent, ConfigAuditEntry, ConfigAuditLogger, ExtractConfigType, TypedConfigService, ConfigurationNamespaceRegistry, DeepReadonly, PartialDeep, RequiredDeep, ConfigPath, ConfigValue, AwsConfigSource, LocalConfigSource, AllConfigSource, ConfigSourceMetadata, ConfigWithSource, ExtractConfig, ConfigFactoryMap, ExtractConfigMap, NamespaceConfig, MultiNamespaceConfig, ValidationResult, AsyncValidationResult, ConfigTransformerFn, AsyncConfigTransformerFn, ConfigPredicate, AsyncConfigPredicate, ConfigBuilder, ConfigFluentAPI } from './integration/interfaces';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,uBAAuB,EAGvB,aAAa,EAGb,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EAGzB,oBAAoB,EACpB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAEV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,IAAI,oBAAoB,EACxC,MAAM,EAGN,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,YAAY,EACb,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,2BAA2B,EAC5B,MAAM,gEAAgE,CAAC;AAGxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,YAAY,EAEV,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,cAAc,EAGd,uBAAuB,EACvB,4BAA4B,EAG5B,mBAAmB,EACnB,uBAAuB,EAGvB,gBAAgB,EAGhB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EAGzB,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,2BAA2B,EAC3B,gCAAgC,EAChC,kCAAkC,EAClC,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EAGzB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EAGjB,iBAAiB,EACjB,kBAAkB,EAClB,8BAA8B,EAC9B,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EAChB,MAAM,0BAA0B,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './interfaces';
2
- export * from './nestjs-config-integration.module';
3
- export * from './providers';
4
- export * from './services';
5
- export * from './utils';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/integration/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,oCAAoC,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -1,71 +0,0 @@
1
- import { ConfigFactory } from '@nestjs/config';
2
- import { ConfigurationSource } from './configuration-source.interface';
3
- import { PrecedenceRule } from './integration-options.interface';
4
- /**
5
- * Enhanced configuration factory that includes AWS integration metadata.
6
- */
7
- export interface AwsConfigurationFactory extends ConfigFactory {
8
- /** Optional namespace for the configuration */
9
- namespace?: string;
10
- /** Sources that contributed to this configuration */
11
- sources: ConfigurationSource[];
12
- /** Precedence rule applied to this configuration */
13
- precedenceRule: PrecedenceRule;
14
- }
15
- /**
16
- * Provider for creating configuration factories that @nestjs/config can consume.
17
- */
18
- export interface ConfigurationFactoryProvider {
19
- /**
20
- * Create a configuration factory for a specific namespace.
21
- * @param namespace - The namespace for the configuration
22
- * @param config - The configuration data
23
- * @returns A configuration factory
24
- */
25
- createFactory(namespace: string, config: Record<string, any>): ConfigFactory;
26
- /**
27
- * Create multiple namespaced configuration factories.
28
- * @param config - The configuration data organized by namespace
29
- * @returns Array of configuration factories
30
- */
31
- createNamespacedFactories(config: Record<string, any>): ConfigFactory[];
32
- /**
33
- * Merge AWS configuration with existing local configuration.
34
- * @param awsConfig - Configuration loaded from AWS sources
35
- * @param localConfig - Local configuration data
36
- * @returns Merged configuration data
37
- */
38
- mergeWithExisting(awsConfig: Record<string, any>, localConfig: Record<string, any>): Record<string, any>;
39
- /**
40
- * Create an enhanced AWS configuration factory with metadata.
41
- * @param namespace - Optional namespace for the configuration
42
- * @param config - The configuration data
43
- * @param sources - Sources that contributed to this configuration
44
- * @param precedenceRule - Precedence rule applied to this configuration
45
- * @returns Enhanced AWS configuration factory
46
- */
47
- createAwsConfigurationFactory(namespace: string | undefined, config: Record<string, any>, sources: ConfigurationSource[], precedenceRule: PrecedenceRule): AwsConfigurationFactory;
48
- /**
49
- * Create configuration factories from multiple sources with proper organization.
50
- * @param sourceConfigs - Map of source name to configuration data
51
- * @param namespaces - Optional list of namespaces to organize configuration
52
- * @returns Array of configuration factories organized by namespace
53
- */
54
- createFactoriesFromSources(sourceConfigs: Map<string, Record<string, any>>, namespaces?: string[]): ConfigFactory[];
55
- /**
56
- * Create configuration factories from sources with precedence rules.
57
- * @param sources - Array of configuration sources
58
- * @param precedenceRule - Precedence rule to apply
59
- * @param namespaces - Optional list of namespaces to organize configuration
60
- * @returns Array of configuration factories
61
- */
62
- createFactoriesWithPrecedence(sources: ConfigurationSource[], precedenceRule: PrecedenceRule, namespaces?: string[]): ConfigFactory[];
63
- /**
64
- * Merge configuration with explicit precedence rule.
65
- * @param sources - Configuration sources
66
- * @param precedenceRule - Precedence rule to apply
67
- * @returns Merged configuration data
68
- */
69
- mergeWithPrecedence(sources: ConfigurationSource[], precedenceRule: PrecedenceRule): Record<string, any>;
70
- }
71
- //# sourceMappingURL=configuration-factory.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration-factory.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/configuration-factory.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,oDAAoD;IACpD,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC;IAE7E;;;;OAIG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC;IAExE;;;;;OAKG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEvB;;;;;;;OAOG;IACH,6BAA6B,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,cAAc,EAAE,cAAc,GAC7B,uBAAuB,CAAC;IAE3B;;;;;OAKG;IACH,0BAA0B,CACxB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,aAAa,EAAE,CAAC;IAEnB;;;;;;OAMG;IACH,6BAA6B,CAC3B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,cAAc,EAAE,cAAc,EAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,aAAa,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,mBAAmB,CACjB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,cAAc,EAAE,cAAc,GAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxB"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Types of configuration sources supported by the integration.
3
- */
4
- export type ConfigurationSourceType = 'environment' | 'secrets-manager' | 'ssm' | 'local-file';
5
- /**
6
- * Represents a configuration source with metadata about its origin and state.
7
- */
8
- export interface ConfigurationSource {
9
- /** Human-readable name of the configuration source */
10
- name: string;
11
- /** Type of the configuration source */
12
- type: ConfigurationSourceType;
13
- /** Priority of this source (higher numbers have higher priority) */
14
- priority: number;
15
- /** The configuration data from this source */
16
- data: Record<string, any>;
17
- /** Optional namespace for this configuration */
18
- namespace?: string;
19
- /** Timestamp when this configuration was loaded */
20
- loadedAt: Date;
21
- /** Any errors encountered while loading this source */
22
- errors?: string[];
23
- }
24
- //# sourceMappingURL=configuration-source.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration-source.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/configuration-source.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,iBAAiB,GAAG,KAAK,GAAG,YAAY,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,EAAE,IAAI,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -1,9 +0,0 @@
1
- export * from './integration-options.interface';
2
- export * from './configuration-factory.interface';
3
- export * from './configuration-source.interface';
4
- export * from './integration-state.interface';
5
- export * from './typed-configuration.interface';
6
- export * from './nestjs-config-integration.interface';
7
- export * from './nestjs-config-compatibility.interface';
8
- export * from './utility-types.interface';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC"}
@@ -1,66 +0,0 @@
1
- import { SecretsManagerConfig, SSMConfig } from '../../interfaces/module-options.interface';
2
- /**
3
- * Precedence rules for configuration sources when the same key exists in multiple sources.
4
- */
5
- export type PrecedenceRule = 'aws-first' | 'local-first' | 'merge';
6
- /**
7
- * Error handling strategy for various failure scenarios.
8
- */
9
- export interface ErrorHandlingStrategy {
10
- /** How to handle AWS service unavailability */
11
- onAwsUnavailable: 'fail' | 'warn' | 'silent';
12
- /** How to handle configuration errors */
13
- onConfigurationError: 'fail' | 'warn' | 'use-default';
14
- /** How to handle validation errors */
15
- onValidationError: 'fail' | 'warn' | 'skip-invalid';
16
- /** Whether to enable detailed logging */
17
- enableDetailedLogging: boolean;
18
- }
19
- /**
20
- * Factory options for @nestjs/config compatibility.
21
- */
22
- export interface FactoryOptions {
23
- /** Whether to cache configuration values */
24
- cache?: boolean;
25
- /** Whether to expand variables in configuration values */
26
- expandVariables?: boolean;
27
- }
28
- /**
29
- * Configuration options for the NestJS Config AWS Integration module.
30
- */
31
- export interface IntegrationOptions {
32
- /** Configuration for AWS Secrets Manager integration */
33
- secretsManagerConfig?: SecretsManagerConfig;
34
- /** Configuration for AWS Systems Manager Parameter Store integration */
35
- ssmConfig?: SSMConfig;
36
- /** Precedence rule for configuration sources */
37
- precedence?: PrecedenceRule;
38
- /** Namespaces to load configuration for */
39
- namespaces?: string[];
40
- /** Whether to enable logging */
41
- enableLogging?: boolean;
42
- /** Whether to register the module globally */
43
- registerGlobally?: boolean;
44
- /** Factory options for @nestjs/config compatibility */
45
- factoryOptions?: FactoryOptions;
46
- /** Whether to fail on AWS errors */
47
- failOnAwsError?: boolean;
48
- /** Whether to fallback to local configuration on AWS errors */
49
- fallbackToLocal?: boolean;
50
- /** Error handling strategy */
51
- errorHandling?: ErrorHandlingStrategy;
52
- /** Prefix for environment variables (e.g., 'APP_') */
53
- envPrefix?: string;
54
- }
55
- /**
56
- * Async factory options for dynamic integration module configuration.
57
- */
58
- export interface AsyncIntegrationOptions {
59
- /** Factory function to create integration options */
60
- useFactory: (...args: any[]) => Promise<IntegrationOptions> | IntegrationOptions;
61
- /** Dependencies to inject into the factory function */
62
- inject?: any[];
63
- /** Imports required for the factory function */
64
- imports?: any[];
65
- }
66
- //# sourceMappingURL=integration-options.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration-options.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/integration-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IACtD,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;IACpD,yCAAyC;IACzC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,wEAAwE;IACxE,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,cAAc,CAAC,EAAE,cAAc,CAAC;IAGhC,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAEtC,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IAEjF,uDAAuD;IACvD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAEf,gDAAgD;IAChD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB"}
@@ -1,17 +0,0 @@
1
- import { ConfigurationSource } from './configuration-source.interface';
2
- /**
3
- * Represents the current state of the integration module.
4
- */
5
- export interface IntegrationState {
6
- /** Whether the integration has been initialized */
7
- isInitialized: boolean;
8
- /** Whether AWS services are available */
9
- awsAvailable: boolean;
10
- /** List of configuration sources that have been loaded */
11
- loadedSources: ConfigurationSource[];
12
- /** List of factory names that have been registered with @nestjs/config */
13
- registeredFactories: string[];
14
- /** Any errors encountered during initialization or operation */
15
- errors: string[];
16
- }
17
- //# sourceMappingURL=integration-state.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration-state.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/integration-state.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gEAAgE;IAChE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}