@dyanet/config-aws 1.0.2 → 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 (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -1
  3. package/dist/cjs/config-manager.js +7 -7
  4. package/dist/cjs/config-manager.js.map +1 -1
  5. package/dist/cjs/index.js +22 -22
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/loaders/env-file.loader.js +2 -2
  8. package/dist/cjs/loaders/env-file.loader.js.map +1 -1
  9. package/dist/cjs/loaders/index.js +10 -10
  10. package/dist/cjs/loaders/index.js.map +1 -1
  11. package/dist/cjs/loaders/s3.loader.js +62 -11
  12. package/dist/cjs/loaders/s3.loader.js.map +1 -1
  13. package/dist/cjs/loaders/secrets-manager.loader.js +61 -11
  14. package/dist/cjs/loaders/secrets-manager.loader.js.map +1 -1
  15. package/dist/cjs/loaders/ssm-parameter-store.loader.js +61 -11
  16. package/dist/cjs/loaders/ssm-parameter-store.loader.js.map +1 -1
  17. package/dist/cjs/package.json +3 -0
  18. package/dist/cjs/utils/index.js +4 -4
  19. package/dist/cjs/utils/index.js.map +1 -1
  20. package/dist/cjs/utils/optional-dependency.util.js +43 -0
  21. package/dist/cjs/utils/optional-dependency.util.js.map +1 -0
  22. package/dist/esm/config-manager.js +10 -4
  23. package/dist/esm/config-manager.js.map +1 -1
  24. package/dist/esm/errors/index.js +12 -0
  25. package/dist/esm/errors/index.js.map +1 -1
  26. package/dist/esm/index.js +9 -9
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/loaders/env-file.loader.js +7 -5
  29. package/dist/esm/loaders/env-file.loader.js.map +1 -1
  30. package/dist/esm/loaders/environment.loader.js +2 -0
  31. package/dist/esm/loaders/environment.loader.js.map +1 -1
  32. package/dist/esm/loaders/index.js +5 -5
  33. package/dist/esm/loaders/index.js.map +1 -1
  34. package/dist/esm/loaders/s3.loader.js +31 -9
  35. package/dist/esm/loaders/s3.loader.js.map +1 -1
  36. package/dist/esm/loaders/secrets-manager.loader.js +33 -10
  37. package/dist/esm/loaders/secrets-manager.loader.js.map +1 -1
  38. package/dist/esm/loaders/ssm-parameter-store.loader.js +33 -10
  39. package/dist/esm/loaders/ssm-parameter-store.loader.js.map +1 -1
  40. package/dist/esm/package.json +3 -0
  41. package/dist/esm/utils/env-file-parser.util.js +4 -4
  42. package/dist/esm/utils/env-file-parser.util.js.map +1 -1
  43. package/dist/esm/utils/index.js +2 -2
  44. package/dist/esm/utils/index.js.map +1 -1
  45. package/dist/esm/utils/optional-dependency.util.js +40 -0
  46. package/dist/esm/utils/optional-dependency.util.js.map +1 -0
  47. package/dist/types/config-manager.d.ts +1 -1
  48. package/dist/types/config-manager.d.ts.map +1 -1
  49. package/dist/types/index.d.ts +16 -16
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/dist/types/interfaces/config-manager.interface.d.ts +1 -1
  52. package/dist/types/interfaces/config-manager.interface.d.ts.map +1 -1
  53. package/dist/types/interfaces/index.d.ts +7 -7
  54. package/dist/types/interfaces/index.d.ts.map +1 -1
  55. package/dist/types/loaders/env-file.loader.d.ts +2 -2
  56. package/dist/types/loaders/env-file.loader.d.ts.map +1 -1
  57. package/dist/types/loaders/environment.loader.d.ts +2 -2
  58. package/dist/types/loaders/environment.loader.d.ts.map +1 -1
  59. package/dist/types/loaders/index.d.ts +5 -5
  60. package/dist/types/loaders/index.d.ts.map +1 -1
  61. package/dist/types/loaders/s3.loader.d.ts +17 -5
  62. package/dist/types/loaders/s3.loader.d.ts.map +1 -1
  63. package/dist/types/loaders/secrets-manager.loader.d.ts +17 -5
  64. package/dist/types/loaders/secrets-manager.loader.d.ts.map +1 -1
  65. package/dist/types/loaders/ssm-parameter-store.loader.d.ts +17 -5
  66. package/dist/types/loaders/ssm-parameter-store.loader.d.ts.map +1 -1
  67. package/dist/types/utils/index.d.ts +2 -2
  68. package/dist/types/utils/index.d.ts.map +1 -1
  69. package/dist/types/utils/optional-dependency.util.d.ts +23 -0
  70. package/dist/types/utils/optional-dependency.util.d.ts.map +1 -0
  71. package/package.json +35 -3
@@ -1 +1 @@
1
- {"version":3,"file":"secrets-manager.loader.js","sourceRoot":"","sources":["../../../src/loaders/secrets-manager.loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets-manager.loader.js","sourceRoot":"","sources":["../../../src/loaders/secrets-manager.loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { GetParametersByPathCommand, SSMClient } from '@aws-sdk/client-ssm';
2
- import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
1
  import { AWSServiceError, ConfigurationLoadError } from '../errors/index.js';
2
+ import { loadOptionalDependency } from '../utils/optional-dependency.util.js';
4
3
  /**
5
4
  * Loader that reads configuration from AWS SSM Parameter Store.
6
5
  * Supports environment-aware path construction, pagination, and decryption options.
@@ -25,6 +24,12 @@ import { AWSServiceError, ConfigurationLoadError } from '../errors/index.js';
25
24
  * ```
26
25
  */
27
26
  export class SSMParameterStoreLoader {
27
+ /** @internal Lazily created on first use so the AWS SDK stays optional. */
28
+ _client;
29
+ /** @internal */
30
+ _config;
31
+ /** @internal */
32
+ _appEnv;
28
33
  constructor(config = {}) {
29
34
  this._appEnv = process.env['APP_ENV'] || process.env['NODE_ENV'] || 'local';
30
35
  // Set default configuration
@@ -38,11 +43,26 @@ export class SSMParameterStoreLoader {
38
43
  },
39
44
  withDecryption: config.withDecryption ?? true,
40
45
  };
41
- // Initialize AWS SSM client
42
- this._client = new SSMClient({
43
- credentials: fromNodeProviderChain(),
44
- region: this._config.region,
45
- });
46
+ }
47
+ /**
48
+ * Lazily import the AWS SSM SDK. Imported on demand so the SDK is an optional
49
+ * peer dependency and is never loaded unless this loader runs.
50
+ * @internal
51
+ */
52
+ importSdk() {
53
+ return loadOptionalDependency('@aws-sdk/client-ssm', () => import('@aws-sdk/client-ssm'));
54
+ }
55
+ /**
56
+ * Get (creating on first use) the SSM client. The client relies on the AWS SDK's
57
+ * default Node credential provider chain.
58
+ * @internal
59
+ */
60
+ async getClient() {
61
+ if (!this._client) {
62
+ const { SSMClient } = await this.importSdk();
63
+ this._client = new SSMClient({ region: this._config.region });
64
+ }
65
+ return this._client;
46
66
  }
47
67
  /**
48
68
  * Get the name of this loader for logging and debugging.
@@ -68,8 +88,9 @@ export class SSMParameterStoreLoader {
68
88
  return false;
69
89
  }
70
90
  try {
71
- // Test AWS credentials by attempting to get caller identity
72
- await this._client.config.credentials();
91
+ // Test AWS credentials by resolving the default provider chain
92
+ const client = await this.getClient();
93
+ await client.config.credentials();
73
94
  return true;
74
95
  }
75
96
  catch {
@@ -89,6 +110,8 @@ export class SSMParameterStoreLoader {
89
110
  return {};
90
111
  }
91
112
  const parameterPath = this.buildParameterPath();
113
+ const { GetParametersByPathCommand } = await this.importSdk();
114
+ const client = await this.getClient();
92
115
  const result = {};
93
116
  let nextToken;
94
117
  try {
@@ -99,7 +122,7 @@ export class SSMParameterStoreLoader {
99
122
  WithDecryption: this._config.withDecryption,
100
123
  NextToken: nextToken,
101
124
  });
102
- const response = await this._client.send(command);
125
+ const response = await client.send(command);
103
126
  if (!response.Parameters) {
104
127
  // No parameters found - this is not necessarily an error
105
128
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"ssm-parameter-store.loader.js","sourceRoot":"","sources":["../../../src/loaders/ssm-parameter-store.loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssm-parameter-store.loader.js","sourceRoot":"","sources":["../../../src/loaders/ssm-parameter-store.loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -14,6 +14,10 @@
14
14
  * @see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html
15
15
  */
16
16
  export class EnvFileParser {
17
+ /** Maximum line length per AWS ECS specification */
18
+ static MAX_LINE_LENGTH = 32 * 1024; // 32KB
19
+ /** Valid variable name pattern: alphanumeric + underscore, cannot start with digit */
20
+ static VARIABLE_NAME_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
17
21
  /**
18
22
  * Parse environment file content into key-value pairs.
19
23
  * @param content The raw content of the environment file
@@ -87,8 +91,4 @@ export class EnvFileParser {
87
91
  return lines.join('\n');
88
92
  }
89
93
  }
90
- /** Maximum line length per AWS ECS specification */
91
- EnvFileParser.MAX_LINE_LENGTH = 32 * 1024; // 32KB
92
- /** Valid variable name pattern: alphanumeric + underscore, cannot start with digit */
93
- EnvFileParser.VARIABLE_NAME_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
94
94
  //# sourceMappingURL=env-file-parser.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-file-parser.util.js","sourceRoot":"","sources":["../../../src/utils/env-file-parser.util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,aAAa;IAOxB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,uBAAuB;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,kCAAkC;YAClC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,mBAAmB;YACnB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,uEAAuE;YACvE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvB,8BAA8B;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAE9C,oEAAoE;YACpE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAY;QACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAA8B;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,oCAAoC;YACpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AA3FD,oDAAoD;AAC5B,6BAAe,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO;AAE5D,sFAAsF;AAC9D,mCAAqB,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"env-file-parser.util.js","sourceRoot":"","sources":["../../../src/utils/env-file-parser.util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,aAAa;IACxB,oDAAoD;IAC5C,MAAM,CAAU,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO;IAE5D,sFAAsF;IAC9E,MAAM,CAAU,qBAAqB,GAAG,0BAA0B,CAAC;IAE3E;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,uBAAuB;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,kCAAkC;YAClC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,mBAAmB;YACnB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,uEAAuE;YACvE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvB,8BAA8B;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAE9C,oEAAoE;YACpE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAY;QACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAA8B;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,oCAAoC;YACpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
@@ -1,3 +1,3 @@
1
- export { ConfigValidationUtil } from './validation.util';
2
- export { EnvFileParser } from './env-file-parser.util';
1
+ export { ConfigValidationUtil } from './validation.util.js';
2
+ export { EnvFileParser } from './env-file-parser.util.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { ConfigurationLoadError } from '../errors/index.js';
2
+ /**
3
+ * Dynamically import an optional dependency (e.g. an AWS SDK client) only when a
4
+ * loader actually needs it.
5
+ *
6
+ * This keeps the AWS SDK packages as genuinely optional peer dependencies:
7
+ * consumers that never use AWS-backed loaders do not need them installed, and the
8
+ * SDKs are never loaded at module import time — only on first use of the loader.
9
+ *
10
+ * @param packageName The npm package name, used for the install hint and error message.
11
+ * @param importer A thunk performing the dynamic `import()` with a literal specifier.
12
+ * @returns The imported module namespace.
13
+ * @throws ConfigurationLoadError with an install hint when the package is not installed.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const { S3Client } = await loadOptionalDependency(
18
+ * '@aws-sdk/client-s3',
19
+ * () => import('@aws-sdk/client-s3'),
20
+ * );
21
+ * ```
22
+ */
23
+ export async function loadOptionalDependency(packageName, importer) {
24
+ try {
25
+ return await importer();
26
+ }
27
+ catch (error) {
28
+ const code = error?.code;
29
+ const message = error instanceof Error ? error.message : '';
30
+ const isMissing = code === 'MODULE_NOT_FOUND' ||
31
+ code === 'ERR_MODULE_NOT_FOUND' ||
32
+ /cannot find (module|package)/i.test(message);
33
+ if (isMissing) {
34
+ throw new ConfigurationLoadError(`The optional dependency "${packageName}" is required for this loader but is not installed. ` +
35
+ `Install it with: npm install ${packageName}`, packageName, error instanceof Error ? error : undefined);
36
+ }
37
+ throw error;
38
+ }
39
+ }
40
+ //# sourceMappingURL=optional-dependency.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-dependency.util.js","sourceRoot":"","sources":["../../../src/utils/optional-dependency.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,QAA0B;IAE1B,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;QAChE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GACb,IAAI,KAAK,kBAAkB;YAC3B,IAAI,KAAK,sBAAsB;YAC/B,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,sBAAsB,CAC9B,4BAA4B,WAAW,sDAAsD;gBAC3F,gCAAgC,WAAW,EAAE,EAC/C,WAAW,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ConfigManagerOptions, ConfigLoadResult, Logger, VerboseOptions } from './interfaces/config-manager.interface';
1
+ import type { ConfigManagerOptions, ConfigLoadResult, Logger, VerboseOptions } from './interfaces/config-manager.interface.js';
2
2
  /**
3
3
  * ConfigManager orchestrates loading configuration from multiple sources
4
4
  * with configurable precedence and validation.
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEhB,MAAM,EAEN,cAAc,EACf,MAAM,uCAAuC,CAAC;AAsD/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG;QACtG,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;KACpC,CAAC;IACF,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAEpE,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,oBAAoB,CAAC,CAAC,CAAM;IAcjD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX;;OAEG;IACH,OAAO,CAAC,SAAS;IAwBjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0G3B;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAQpC;;;;OAIG;IACH,MAAM,IAAI,CAAC;IAOX;;;OAGG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3C;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAOnB;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAoB,CAAC,CAAC,CAAM,GACpC,aAAa,CAAC,CAAC,CAAC;CA4BpB"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEhB,MAAM,EAEN,cAAc,EACf,MAAM,0CAA0C,CAAC;AAsDlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG;QACtG,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;KACpC,CAAC;IACF,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAEpE,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,oBAAoB,CAAC,CAAC,CAAM;IAcjD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX;;OAEG;IACH,OAAO,CAAC,SAAS;IAwBjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0G3B;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAQpC;;;;OAIG;IACH,MAAM,IAAI,CAAC;IAOX;;;OAGG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3C;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAOnB;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAoB,CAAC,CAAC,CAAM,GACpC,aAAa,CAAC,CAAC,CAAC;CA4BpB"}
@@ -5,20 +5,20 @@
5
5
  * Supports environment variables, AWS Secrets Manager, SSM Parameter Store,
6
6
  * S3, and .env files with configurable precedence.
7
7
  */
8
- export type { ConfigLoader, ConfigLoaderResult, } from './interfaces/config-loader.interface';
9
- export type { ConfigManagerOptions, LoaderPrecedence, VerboseOptions, PrecedenceStrategy, ConfigLoadResult, ConfigSourceInfo, Logger, } from './interfaces/config-manager.interface';
10
- export type { EnvironmentLoaderConfig, } from './interfaces/environment-loader.interface';
11
- export type { EnvFileLoaderConfig, } from './interfaces/env-file-loader.interface';
12
- export type { S3LoaderConfig, } from './interfaces/s3-loader.interface';
13
- export type { SecretsManagerLoaderConfig, } from './interfaces/secrets-manager-loader.interface';
14
- export type { SSMParameterStoreLoaderConfig, } from './interfaces/ssm-parameter-store-loader.interface';
15
- export { ConfigurationError, ValidationError, AWSServiceError, ConfigurationLoadError, MissingConfigurationError, } from './errors';
16
- export { EnvironmentLoader } from './loaders/environment.loader';
17
- export { EnvFileLoader } from './loaders/env-file.loader';
18
- export { S3Loader } from './loaders/s3.loader';
19
- export { SecretsManagerLoader } from './loaders/secrets-manager.loader';
20
- export { SSMParameterStoreLoader } from './loaders/ssm-parameter-store.loader';
21
- export { ConfigManager } from './config-manager';
22
- export { ConfigValidationUtil } from './utils/validation.util';
23
- export { EnvFileParser } from './utils/env-file-parser.util';
8
+ export type { ConfigLoader, ConfigLoaderResult, } from './interfaces/config-loader.interface.js';
9
+ export type { ConfigManagerOptions, LoaderPrecedence, VerboseOptions, PrecedenceStrategy, ConfigLoadResult, ConfigSourceInfo, Logger, } from './interfaces/config-manager.interface.js';
10
+ export type { EnvironmentLoaderConfig, } from './interfaces/environment-loader.interface.js';
11
+ export type { EnvFileLoaderConfig, } from './interfaces/env-file-loader.interface.js';
12
+ export type { S3LoaderConfig, } from './interfaces/s3-loader.interface.js';
13
+ export type { SecretsManagerLoaderConfig, } from './interfaces/secrets-manager-loader.interface.js';
14
+ export type { SSMParameterStoreLoaderConfig, } from './interfaces/ssm-parameter-store-loader.interface.js';
15
+ export { ConfigurationError, ValidationError, AWSServiceError, ConfigurationLoadError, MissingConfigurationError, } from './errors/index.js';
16
+ export { EnvironmentLoader } from './loaders/environment.loader.js';
17
+ export { EnvFileLoader } from './loaders/env-file.loader.js';
18
+ export { S3Loader } from './loaders/s3.loader.js';
19
+ export { SecretsManagerLoader } from './loaders/secrets-manager.loader.js';
20
+ export { SSMParameterStoreLoader } from './loaders/ssm-parameter-store.loader.js';
21
+ export { ConfigManager } from './config-manager.js';
22
+ export { ConfigValidationUtil } from './utils/validation.util.js';
23
+ export { EnvFileParser } from './utils/env-file-parser.util.js';
24
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,YAAY,EACZ,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EACV,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,YAAY,EACV,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAEhD,YAAY,EACV,cAAc,GACf,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACV,0BAA0B,GAC3B,MAAM,+CAA+C,CAAC;AAEvD,YAAY,EACV,6BAA6B,GAC9B,MAAM,mDAAmD,CAAC;AAG3D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,YAAY,EACZ,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,0CAA0C,CAAC;AAElD,YAAY,EACV,uBAAuB,GACxB,MAAM,8CAA8C,CAAC;AAEtD,YAAY,EACV,mBAAmB,GACpB,MAAM,2CAA2C,CAAC;AAEnD,YAAY,EACV,cAAc,GACf,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,0BAA0B,GAC3B,MAAM,kDAAkD,CAAC;AAE1D,YAAY,EACV,6BAA6B,GAC9B,MAAM,sDAAsD,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ZodType } from 'zod';
2
- import type { ConfigLoader } from './config-loader.interface';
2
+ import type { ConfigLoader } from './config-loader.interface.js';
3
3
  /**
4
4
  * Logger interface for ConfigManager
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/config-manager.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4GAA4G;IAC5G,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,EAAE,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,8BAA8B;IAC9B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,+BAA+B;IAC/B,MAAM,EAAE,CAAC,CAAC;IACV,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAChB"}
1
+ {"version":3,"file":"config-manager.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/config-manager.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4GAA4G;IAC5G,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,EAAE,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,8BAA8B;IAC9B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,+BAA+B;IAC/B,MAAM,EAAE,CAAC,CAAC;IACV,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAChB"}
@@ -1,8 +1,8 @@
1
- export type { ConfigLoader, ConfigLoaderResult } from './config-loader.interface';
2
- export type { ConfigManagerOptions, LoaderPrecedence, VerboseOptions, PrecedenceStrategy, ConfigLoadResult, ConfigSourceInfo, Logger, } from './config-manager.interface';
3
- export type { EnvironmentLoaderConfig } from './environment-loader.interface';
4
- export type { EnvFileLoaderConfig } from './env-file-loader.interface';
5
- export type { S3LoaderConfig } from './s3-loader.interface';
6
- export type { SecretsManagerLoaderConfig } from './secrets-manager-loader.interface';
7
- export type { SSMParameterStoreLoaderConfig } from './ssm-parameter-store-loader.interface';
1
+ export type { ConfigLoader, ConfigLoaderResult } from './config-loader.interface.js';
2
+ export type { ConfigManagerOptions, LoaderPrecedence, VerboseOptions, PrecedenceStrategy, ConfigLoadResult, ConfigSourceInfo, Logger, } from './config-manager.interface.js';
3
+ export type { EnvironmentLoaderConfig } from './environment-loader.interface.js';
4
+ export type { EnvFileLoaderConfig } from './env-file-loader.interface.js';
5
+ export type { S3LoaderConfig } from './s3-loader.interface.js';
6
+ export type { SecretsManagerLoaderConfig } from './secrets-manager-loader.interface.js';
7
+ export type { SSMParameterStoreLoaderConfig } from './ssm-parameter-store-loader.interface.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,YAAY,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACrF,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACxF,YAAY,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { ConfigLoader } from '../interfaces/config-loader.interface';
2
- import type { EnvFileLoaderConfig } from '../interfaces/env-file-loader.interface';
1
+ import type { ConfigLoader } from '../interfaces/config-loader.interface.js';
2
+ import type { EnvFileLoaderConfig } from '../interfaces/env-file-loader.interface.js';
3
3
  /**
4
4
  * Loader that reads configuration from .env files on the filesystem.
5
5
  * Uses AWS ECS-compatible format for parsing.
@@ -1 +1 @@
1
- {"version":3,"file":"env-file.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/env-file.loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAInF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE1D,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAE/D,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;gBAEvD,MAAM,GAAE,mBAAwB;IAQ5C,OAAO,IAAI,MAAM;IAKjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;;;;;;;;;;OAWG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuC9C;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO/C;;;OAGG;cACa,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9D;;;OAGG;cACa,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5D"}
1
+ {"version":3,"file":"env-file.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/env-file.loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAItF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE1D,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAE/D,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;gBAEvD,MAAM,GAAE,mBAAwB;IAQ5C,OAAO,IAAI,MAAM;IAKjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;;;;;;;;;;OAWG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuC9C;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO/C;;;OAGG;cACa,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9D;;;OAGG;cACa,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5D"}
@@ -1,5 +1,5 @@
1
- import type { ConfigLoader } from '../interfaces/config-loader.interface';
2
- import type { EnvironmentLoaderConfig } from '../interfaces/environment-loader.interface';
1
+ import type { ConfigLoader } from '../interfaces/config-loader.interface.js';
2
+ import type { EnvironmentLoaderConfig } from '../interfaces/environment-loader.interface.js';
3
3
  /**
4
4
  * Loader that reads configuration from process.env.
5
5
  * Supports prefix filtering and exclusion lists.
@@ -1 +1 @@
1
- {"version":3,"file":"environment.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/environment.loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAExC,MAAM,GAAE,uBAA4B;IAIhD,OAAO,IAAI,MAAM;IAIX,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;;;;OAYG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAmC/C"}
1
+ {"version":3,"file":"environment.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/environment.loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAExC,MAAM,GAAE,uBAA4B;IAIhD,OAAO,IAAI,MAAM;IAIX,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;;;;OAYG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAmC/C"}
@@ -1,6 +1,6 @@
1
- export { EnvironmentLoader } from './environment.loader';
2
- export { EnvFileLoader } from './env-file.loader';
3
- export { S3Loader } from './s3.loader';
4
- export { SecretsManagerLoader } from './secrets-manager.loader';
5
- export { SSMParameterStoreLoader } from './ssm-parameter-store.loader';
1
+ export { EnvironmentLoader } from './environment.loader.js';
2
+ export { EnvFileLoader } from './env-file.loader.js';
3
+ export { S3Loader } from './s3.loader.js';
4
+ export { SecretsManagerLoader } from './secrets-manager.loader.js';
5
+ export { SSMParameterStoreLoader } from './ssm-parameter-store.loader.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { S3Client } from '@aws-sdk/client-s3';
2
- import type { ConfigLoader } from '../interfaces/config-loader.interface';
3
- import type { S3LoaderConfig } from '../interfaces/s3-loader.interface';
1
+ import type { S3Client } from '@aws-sdk/client-s3';
2
+ import type { ConfigLoader } from '../interfaces/config-loader.interface.js';
3
+ import type { S3LoaderConfig } from '../interfaces/s3-loader.interface.js';
4
4
  /**
5
5
  * Loader that reads configuration from S3 buckets.
6
6
  * Supports JSON and .env file formats with auto-detection.
@@ -26,9 +26,21 @@ import type { S3LoaderConfig } from '../interfaces/s3-loader.interface';
26
26
  export declare class S3Loader implements ConfigLoader {
27
27
  /** @internal */
28
28
  protected readonly _config: Required<S3LoaderConfig>;
29
- /** @internal */
30
- protected readonly _client: S3Client;
29
+ /** @internal Lazily created on first use so the AWS SDK stays optional. */
30
+ protected _client?: S3Client;
31
31
  constructor(config: S3LoaderConfig);
32
+ /**
33
+ * Lazily import the AWS S3 SDK. Imported on demand so the SDK is an optional
34
+ * peer dependency and is never loaded unless this loader runs.
35
+ * @internal
36
+ */
37
+ protected importSdk(): Promise<typeof import('@aws-sdk/client-s3')>;
38
+ /**
39
+ * Get (creating on first use) the S3 client. The client relies on the AWS SDK's
40
+ * default Node credential provider chain.
41
+ * @internal
42
+ */
43
+ protected getClient(): Promise<S3Client>;
32
44
  getName(): string;
33
45
  /**
34
46
  * Check if this loader is available by verifying AWS credentials.
@@ -1 +1 @@
1
- {"version":3,"file":"s3.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/s3.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAIxE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACrD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAEzB,MAAM,EAAE,cAAc;IAclC,OAAO,IAAI,MAAM;IAKjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkD9C;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUhE;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK;IAQvD;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAkB9D"}
1
+ {"version":3,"file":"s3.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/s3.loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAK3E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACrD,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;gBAEjB,MAAM,EAAE,cAAc;IASlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,oBAAoB,CAAC,CAAC;IAInE;;;;OAIG;cACa,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC;IAQ9C,OAAO,IAAI,MAAM;IAKjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAqD9C;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUhE;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK;IAQvD;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAkB9D"}
@@ -1,6 +1,6 @@
1
- import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
2
- import type { ConfigLoader } from '../interfaces/config-loader.interface';
3
- import type { SecretsManagerLoaderConfig } from '../interfaces/secrets-manager-loader.interface';
1
+ import type { 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
4
  /**
5
5
  * Loader that reads configuration from AWS Secrets Manager.
6
6
  * Supports environment-aware path construction.
@@ -25,13 +25,25 @@ import type { SecretsManagerLoaderConfig } from '../interfaces/secrets-manager-l
25
25
  * ```
26
26
  */
27
27
  export declare class SecretsManagerLoader implements ConfigLoader {
28
- /** @internal */
29
- protected readonly _client: SecretsManagerClient;
28
+ /** @internal Lazily created on first use so the AWS SDK stays optional. */
29
+ protected _client?: SecretsManagerClient;
30
30
  /** @internal */
31
31
  protected readonly _config: Required<SecretsManagerLoaderConfig>;
32
32
  /** @internal */
33
33
  protected readonly _appEnv: string;
34
34
  constructor(config?: SecretsManagerLoaderConfig);
35
+ /**
36
+ * Lazily import the AWS Secrets Manager SDK. Imported on demand so the SDK is an
37
+ * optional peer dependency and is never loaded unless this loader runs.
38
+ * @internal
39
+ */
40
+ protected importSdk(): Promise<typeof import('@aws-sdk/client-secrets-manager')>;
41
+ /**
42
+ * Get (creating on first use) the Secrets Manager client. The client relies on the
43
+ * AWS SDK's default Node credential provider chain.
44
+ * @internal
45
+ */
46
+ protected getClient(): Promise<SecretsManagerClient>;
35
47
  /**
36
48
  * Get the name of this loader for logging and debugging.
37
49
  * @returns The loader name with secret path or base secret name if path cannot be built
@@ -1 +1 @@
1
- {"version":3,"file":"secrets-manager.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/secrets-manager.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAGjG;;;;;;;;;;;;;;;;;;;;;;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
+ {"version":3,"file":"secrets-manager.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/secrets-manager.loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAIpG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACzC,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;IAenD;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,iCAAiC,CAAC,CAAC;IAOhF;;;;OAIG;cACa,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAS1D;;;OAGG;IACH,OAAO,IAAI,MAAM;IAYjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBrC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAsE9C;;;OAGG;IACH,eAAe,IAAI,MAAM;IAczB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhD"}
@@ -1,6 +1,6 @@
1
- import { SSMClient } from '@aws-sdk/client-ssm';
2
- import type { ConfigLoader } from '../interfaces/config-loader.interface';
3
- import type { SSMParameterStoreLoaderConfig } from '../interfaces/ssm-parameter-store-loader.interface';
1
+ import type { 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
4
  /**
5
5
  * Loader that reads configuration from AWS SSM Parameter Store.
6
6
  * Supports environment-aware path construction, pagination, and decryption options.
@@ -25,13 +25,25 @@ import type { SSMParameterStoreLoaderConfig } from '../interfaces/ssm-parameter-
25
25
  * ```
26
26
  */
27
27
  export declare class SSMParameterStoreLoader implements ConfigLoader {
28
- /** @internal */
29
- protected readonly _client: SSMClient;
28
+ /** @internal Lazily created on first use so the AWS SDK stays optional. */
29
+ protected _client?: SSMClient;
30
30
  /** @internal */
31
31
  protected readonly _config: Required<SSMParameterStoreLoaderConfig>;
32
32
  /** @internal */
33
33
  protected readonly _appEnv: string;
34
34
  constructor(config?: SSMParameterStoreLoaderConfig);
35
+ /**
36
+ * Lazily import the AWS SSM SDK. Imported on demand so the SDK is an optional
37
+ * peer dependency and is never loaded unless this loader runs.
38
+ * @internal
39
+ */
40
+ protected importSdk(): Promise<typeof import('@aws-sdk/client-ssm')>;
41
+ /**
42
+ * Get (creating on first use) the SSM client. The client relies on the AWS SDK's
43
+ * default Node credential provider chain.
44
+ * @internal
45
+ */
46
+ protected getClient(): Promise<SSMClient>;
35
47
  /**
36
48
  * Get the name of this loader for logging and debugging.
37
49
  * @returns The loader name with parameter path
@@ -1 +1 @@
1
- {"version":3,"file":"ssm-parameter-store.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/ssm-parameter-store.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAGxG;;;;;;;;;;;;;;;;;;;;;;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
+ {"version":3,"file":"ssm-parameter-store.loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/ssm-parameter-store.loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uDAAuD,CAAC;AAI3G;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC9B,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;IAgBtD;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,qBAAqB,CAAC,CAAC;IAIpE;;;;OAIG;cACa,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAS/C;;;OAGG;IACH,OAAO,IAAI,MAAM;IAUjB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBrC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA+E9C;;;;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,3 +1,3 @@
1
- export { ConfigValidationUtil } from './validation.util';
2
- export { EnvFileParser } from './env-file-parser.util';
1
+ export { ConfigValidationUtil } from './validation.util.js';
2
+ export { EnvFileParser } from './env-file-parser.util.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Dynamically import an optional dependency (e.g. an AWS SDK client) only when a
3
+ * loader actually needs it.
4
+ *
5
+ * This keeps the AWS SDK packages as genuinely optional peer dependencies:
6
+ * consumers that never use AWS-backed loaders do not need them installed, and the
7
+ * SDKs are never loaded at module import time — only on first use of the loader.
8
+ *
9
+ * @param packageName The npm package name, used for the install hint and error message.
10
+ * @param importer A thunk performing the dynamic `import()` with a literal specifier.
11
+ * @returns The imported module namespace.
12
+ * @throws ConfigurationLoadError with an install hint when the package is not installed.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const { S3Client } = await loadOptionalDependency(
17
+ * '@aws-sdk/client-s3',
18
+ * () => import('@aws-sdk/client-s3'),
19
+ * );
20
+ * ```
21
+ */
22
+ export declare function loadOptionalDependency<T>(packageName: string, importer: () => Promise<T>): Promise<T>;
23
+ //# sourceMappingURL=optional-dependency.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-dependency.util.d.ts","sourceRoot":"","sources":["../../../src/utils/optional-dependency.util.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAsBZ"}