@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,9 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SSMParameterStoreLoader = void 0;
4
- const client_ssm_1 = require("@aws-sdk/client-ssm");
5
- const credential_providers_1 = require("@aws-sdk/credential-providers");
6
37
  const index_js_1 = require("../errors/index.js");
38
+ const optional_dependency_util_js_1 = require("../utils/optional-dependency.util.js");
7
39
  /**
8
40
  * Loader that reads configuration from AWS SSM Parameter Store.
9
41
  * Supports environment-aware path construction, pagination, and decryption options.
@@ -41,11 +73,26 @@ class SSMParameterStoreLoader {
41
73
  },
42
74
  withDecryption: config.withDecryption ?? true,
43
75
  };
44
- // Initialize AWS SSM client
45
- this._client = new client_ssm_1.SSMClient({
46
- credentials: (0, credential_providers_1.fromNodeProviderChain)(),
47
- region: this._config.region,
48
- });
76
+ }
77
+ /**
78
+ * Lazily import the AWS SSM SDK. Imported on demand so the SDK is an optional
79
+ * peer dependency and is never loaded unless this loader runs.
80
+ * @internal
81
+ */
82
+ importSdk() {
83
+ return (0, optional_dependency_util_js_1.loadOptionalDependency)('@aws-sdk/client-ssm', () => Promise.resolve().then(() => __importStar(require('@aws-sdk/client-ssm'))));
84
+ }
85
+ /**
86
+ * Get (creating on first use) the SSM client. The client relies on the AWS SDK's
87
+ * default Node credential provider chain.
88
+ * @internal
89
+ */
90
+ async getClient() {
91
+ if (!this._client) {
92
+ const { SSMClient } = await this.importSdk();
93
+ this._client = new SSMClient({ region: this._config.region });
94
+ }
95
+ return this._client;
49
96
  }
50
97
  /**
51
98
  * Get the name of this loader for logging and debugging.
@@ -71,8 +118,9 @@ class SSMParameterStoreLoader {
71
118
  return false;
72
119
  }
73
120
  try {
74
- // Test AWS credentials by attempting to get caller identity
75
- await this._client.config.credentials();
121
+ // Test AWS credentials by resolving the default provider chain
122
+ const client = await this.getClient();
123
+ await client.config.credentials();
76
124
  return true;
77
125
  }
78
126
  catch {
@@ -92,17 +140,19 @@ class SSMParameterStoreLoader {
92
140
  return {};
93
141
  }
94
142
  const parameterPath = this.buildParameterPath();
143
+ const { GetParametersByPathCommand } = await this.importSdk();
144
+ const client = await this.getClient();
95
145
  const result = {};
96
146
  let nextToken;
97
147
  try {
98
148
  do {
99
- const command = new client_ssm_1.GetParametersByPathCommand({
149
+ const command = new GetParametersByPathCommand({
100
150
  Path: parameterPath,
101
151
  Recursive: true,
102
152
  WithDecryption: this._config.withDecryption,
103
153
  NextToken: nextToken,
104
154
  });
105
- const response = await this._client.send(command);
155
+ const response = await client.send(command);
106
156
  if (!response.Parameters) {
107
157
  // No parameters found - this is not necessarily an error
108
158
  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": "commonjs"
3
+ }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnvFileParser = exports.ConfigValidationUtil = void 0;
4
- var validation_util_1 = require("./validation.util");
5
- Object.defineProperty(exports, "ConfigValidationUtil", { enumerable: true, get: function () { return validation_util_1.ConfigValidationUtil; } });
6
- var env_file_parser_util_1 = require("./env-file-parser.util");
7
- Object.defineProperty(exports, "EnvFileParser", { enumerable: true, get: function () { return env_file_parser_util_1.EnvFileParser; } });
4
+ var validation_util_js_1 = require("./validation.util.js");
5
+ Object.defineProperty(exports, "ConfigValidationUtil", { enumerable: true, get: function () { return validation_util_js_1.ConfigValidationUtil; } });
6
+ var env_file_parser_util_js_1 = require("./env-file-parser.util.js");
7
+ Object.defineProperty(exports, "EnvFileParser", { enumerable: true, get: function () { return env_file_parser_util_js_1.EnvFileParser; } });
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,+DAAuD;AAA9C,qHAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA;AAC7B,qEAA0D;AAAjD,wHAAA,aAAa,OAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadOptionalDependency = loadOptionalDependency;
4
+ const errors_1 = require("../errors");
5
+ /**
6
+ * Dynamically import an optional dependency (e.g. an AWS SDK client) only when a
7
+ * loader actually needs it.
8
+ *
9
+ * This keeps the AWS SDK packages as genuinely optional peer dependencies:
10
+ * consumers that never use AWS-backed loaders do not need them installed, and the
11
+ * SDKs are never loaded at module import time — only on first use of the loader.
12
+ *
13
+ * @param packageName The npm package name, used for the install hint and error message.
14
+ * @param importer A thunk performing the dynamic `import()` with a literal specifier.
15
+ * @returns The imported module namespace.
16
+ * @throws ConfigurationLoadError with an install hint when the package is not installed.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const { S3Client } = await loadOptionalDependency(
21
+ * '@aws-sdk/client-s3',
22
+ * () => import('@aws-sdk/client-s3'),
23
+ * );
24
+ * ```
25
+ */
26
+ async function loadOptionalDependency(packageName, importer) {
27
+ try {
28
+ return await importer();
29
+ }
30
+ catch (error) {
31
+ const code = error?.code;
32
+ const message = error instanceof Error ? error.message : '';
33
+ const isMissing = code === 'MODULE_NOT_FOUND' ||
34
+ code === 'ERR_MODULE_NOT_FOUND' ||
35
+ /cannot find (module|package)/i.test(message);
36
+ if (isMissing) {
37
+ throw new errors_1.ConfigurationLoadError(`The optional dependency "${packageName}" is required for this loader but is not installed. ` +
38
+ `Install it with: npm install ${packageName}`, packageName, error instanceof Error ? error : undefined);
39
+ }
40
+ throw error;
41
+ }
42
+ }
43
+ //# 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":";;AAuBA,wDAyBC;AAhDD,sCAAmD;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,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,+BAAsB,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 { ConfigurationError, ConfigurationLoadError, ValidationError } from './errors';
1
+ import { ConfigurationError, ConfigurationLoadError, ValidationError } from './errors/index.js';
2
2
  /**
3
3
  * Default console logger implementation
4
4
  */
@@ -75,10 +75,16 @@ const PRECEDENCE_ORDERS = {
75
75
  * ```
76
76
  */
77
77
  export class ConfigManager {
78
+ /** @internal */
79
+ _options;
80
+ /** @internal */
81
+ _logger;
82
+ /** @internal */
83
+ _verboseOptions;
84
+ config = null;
85
+ loadResult = null;
86
+ loaded = false;
78
87
  constructor(options = {}) {
79
- this.config = null;
80
- this.loadResult = null;
81
- this.loaded = false;
82
88
  this._options = {
83
89
  loaders: options.loaders ?? [],
84
90
  schema: options.schema,
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/config-manager.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  * Base error class for all configuration-related errors
3
3
  */
4
4
  export class ConfigurationError extends Error {
5
+ /** The underlying cause of this error */
6
+ cause;
5
7
  constructor(message, cause) {
6
8
  super(message);
7
9
  this.name = 'ConfigurationError';
@@ -13,6 +15,8 @@ export class ConfigurationError extends Error {
13
15
  * Error thrown when configuration validation fails
14
16
  */
15
17
  export class ValidationError extends ConfigurationError {
18
+ /** Detailed validation errors from Zod */
19
+ validationErrors;
16
20
  constructor(message, validationErrors, cause) {
17
21
  super(message, cause);
18
22
  this.name = 'ValidationError';
@@ -24,6 +28,10 @@ export class ValidationError extends ConfigurationError {
24
28
  * Error thrown when an AWS service operation fails
25
29
  */
26
30
  export class AWSServiceError extends ConfigurationError {
31
+ /** The AWS service that failed */
32
+ service;
33
+ /** The operation that failed */
34
+ operation;
27
35
  constructor(message, service, operation, cause) {
28
36
  super(message, cause);
29
37
  this.name = 'AWSServiceError';
@@ -36,6 +44,8 @@ export class AWSServiceError extends ConfigurationError {
36
44
  * Error thrown when a configuration loader fails to load
37
45
  */
38
46
  export class ConfigurationLoadError extends ConfigurationError {
47
+ /** The name of the loader that failed */
48
+ loader;
39
49
  constructor(message, loader, cause) {
40
50
  super(message, cause);
41
51
  this.name = 'ConfigurationLoadError';
@@ -47,6 +57,8 @@ export class ConfigurationLoadError extends ConfigurationError {
47
57
  * Error thrown when required configuration keys are missing
48
58
  */
49
59
  export class MissingConfigurationError extends ConfigurationError {
60
+ /** The keys that are missing */
61
+ missingKeys;
50
62
  constructor(message, missingKeys, cause) {
51
63
  super(message, cause);
52
64
  this.name = 'MissingConfigurationError';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAI3C,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IAIrD,YAAY,OAAe,EAAE,gBAAyB,EAAE,KAAa;QACnE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IAMrD,YAAY,OAAe,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa;QAC5E,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAI5D,YAAY,OAAe,EAAE,MAAc,EAAE,KAAa;QACxD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAI/D,YAAY,OAAe,EAAE,WAAqB,EAAE,KAAa;QAC/D,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,yCAAyC;IACzB,KAAK,CAAS;IAE9B,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACrD,0CAA0C;IAC1B,gBAAgB,CAAU;IAE1C,YAAY,OAAe,EAAE,gBAAyB,EAAE,KAAa;QACnE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACrD,kCAAkC;IAClB,OAAO,CAAS;IAChC,gCAAgC;IAChB,SAAS,CAAS;IAElC,YAAY,OAAe,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa;QAC5E,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D,yCAAyC;IACzB,MAAM,CAAS;IAE/B,YAAY,OAAe,EAAE,MAAc,EAAE,KAAa;QACxD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAC/D,gCAAgC;IAChB,WAAW,CAAW;IAEtC,YAAY,OAAe,EAAE,WAAqB,EAAE,KAAa;QAC/D,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"}
package/dist/esm/index.js CHANGED
@@ -6,16 +6,16 @@
6
6
  * S3, and .env files with configurable precedence.
7
7
  */
8
8
  // Error classes
9
- export { ConfigurationError, ValidationError, AWSServiceError, ConfigurationLoadError, MissingConfigurationError, } from './errors';
9
+ export { ConfigurationError, ValidationError, AWSServiceError, ConfigurationLoadError, MissingConfigurationError, } from './errors/index.js';
10
10
  // Loaders
11
- export { EnvironmentLoader } from './loaders/environment.loader';
12
- export { EnvFileLoader } from './loaders/env-file.loader';
13
- export { S3Loader } from './loaders/s3.loader';
14
- export { SecretsManagerLoader } from './loaders/secrets-manager.loader';
15
- export { SSMParameterStoreLoader } from './loaders/ssm-parameter-store.loader';
11
+ export { EnvironmentLoader } from './loaders/environment.loader.js';
12
+ export { EnvFileLoader } from './loaders/env-file.loader.js';
13
+ export { S3Loader } from './loaders/s3.loader.js';
14
+ export { SecretsManagerLoader } from './loaders/secrets-manager.loader.js';
15
+ export { SSMParameterStoreLoader } from './loaders/ssm-parameter-store.loader.js';
16
16
  // ConfigManager
17
- export { ConfigManager } from './config-manager';
17
+ export { ConfigManager } from './config-manager.js';
18
18
  // Utilities
19
- export { ConfigValidationUtil } from './utils/validation.util';
20
- export { EnvFileParser } from './utils/env-file-parser.util';
19
+ export { ConfigValidationUtil } from './utils/validation.util.js';
20
+ export { EnvFileParser } from './utils/env-file-parser.util.js';
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH,gBAAgB;AAChB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,UAAU;AACV,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;AAE/E,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH,gBAAgB;AAChB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,UAAU;AACV,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;AAElF,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
- import { EnvFileParser } from '../utils/env-file-parser.util';
3
+ import { EnvFileParser } from '../utils/env-file-parser.util.js';
4
4
  import { ConfigurationLoadError } from '../errors/index.js';
5
5
  /**
6
6
  * Loader that reads configuration from .env files on the filesystem.
@@ -26,6 +26,12 @@ import { ConfigurationLoadError } from '../errors/index.js';
26
26
  * @see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html
27
27
  */
28
28
  export class EnvFileLoader {
29
+ /** @internal */
30
+ _config;
31
+ /** Default paths to search for .env files */
32
+ static DEFAULT_PATHS = ['.env', '.env.local'];
33
+ /** Default file encoding */
34
+ static DEFAULT_ENCODING = 'utf-8';
29
35
  constructor(config = {}) {
30
36
  this._config = {
31
37
  paths: config.paths ?? EnvFileLoader.DEFAULT_PATHS,
@@ -123,8 +129,4 @@ export class EnvFileLoader {
123
129
  return fs.promises.readFile(filePath, { encoding: this._config.encoding });
124
130
  }
125
131
  }
126
- /** Default paths to search for .env files */
127
- EnvFileLoader.DEFAULT_PATHS = ['.env', '.env.local'];
128
- /** Default file encoding */
129
- EnvFileLoader.DEFAULT_ENCODING = 'utf-8';
130
132
  //# sourceMappingURL=env-file.loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-file.loader.js","sourceRoot":"","sources":["../../../src/loaders/env-file.loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-file.loader.js","sourceRoot":"","sources":["../../../src/loaders/env-file.loader.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@
21
21
  * ```
22
22
  */
23
23
  export class EnvironmentLoader {
24
+ /** @internal */
25
+ _config;
24
26
  constructor(config = {}) {
25
27
  this._config = config;
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"environment.loader.js","sourceRoot":"","sources":["../../../src/loaders/environment.loader.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,iBAAiB;IAI5B,YAAY,SAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,wBAAwB;YACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,8CAA8C;YAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,0BAA0B;YAC1B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,wBAAwB;oBACxB,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7C,0DAA0D;oBAC1D,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,wCAAwC;YAC1C,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"environment.loader.js","sourceRoot":"","sources":["../../../src/loaders/environment.loader.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,iBAAiB;IAC5B,gBAAgB;IACG,OAAO,CAA0B;IAEpD,YAAY,SAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,wBAAwB;YACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,8CAA8C;YAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,0BAA0B;YAC1B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,wBAAwB;oBACxB,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7C,0DAA0D;oBAC1D,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,wCAAwC;YAC1C,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -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.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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.js","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,7 +1,6 @@
1
- import { GetObjectCommand, S3Client } from '@aws-sdk/client-s3';
2
- import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
- import { EnvFileParser } from '../utils/env-file-parser.util';
1
+ import { EnvFileParser } from '../utils/env-file-parser.util.js';
4
2
  import { AWSServiceError, ConfigurationLoadError } from '../errors/index.js';
3
+ import { loadOptionalDependency } from '../utils/optional-dependency.util.js';
5
4
  /**
6
5
  * Loader that reads configuration from S3 buckets.
7
6
  * Supports JSON and .env file formats with auto-detection.
@@ -25,6 +24,10 @@ import { AWSServiceError, ConfigurationLoadError } from '../errors/index.js';
25
24
  * @see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html
26
25
  */
27
26
  export class S3Loader {
27
+ /** @internal */
28
+ _config;
29
+ /** @internal Lazily created on first use so the AWS SDK stays optional. */
30
+ _client;
28
31
  constructor(config) {
29
32
  this._config = {
30
33
  bucket: config.bucket,
@@ -32,10 +35,26 @@ export class S3Loader {
32
35
  region: config.region || process.env['AWS_REGION'] || 'us-east-1',
33
36
  format: config.format || 'auto',
34
37
  };
35
- this._client = new S3Client({
36
- credentials: fromNodeProviderChain(),
37
- region: this._config.region,
38
- });
38
+ }
39
+ /**
40
+ * Lazily import the AWS S3 SDK. Imported on demand so the SDK is an optional
41
+ * peer dependency and is never loaded unless this loader runs.
42
+ * @internal
43
+ */
44
+ importSdk() {
45
+ return loadOptionalDependency('@aws-sdk/client-s3', () => import('@aws-sdk/client-s3'));
46
+ }
47
+ /**
48
+ * Get (creating on first use) the S3 client. The client relies on the AWS SDK's
49
+ * default Node credential provider chain.
50
+ * @internal
51
+ */
52
+ async getClient() {
53
+ if (!this._client) {
54
+ const { S3Client } = await this.importSdk();
55
+ this._client = new S3Client({ region: this._config.region });
56
+ }
57
+ return this._client;
39
58
  }
40
59
  getName() {
41
60
  return `S3Loader(s3://${this._config.bucket}/${this._config.key})`;
@@ -46,7 +65,8 @@ export class S3Loader {
46
65
  */
47
66
  async isAvailable() {
48
67
  try {
49
- await this._client.config.credentials();
68
+ const client = await this.getClient();
69
+ await client.config.credentials();
50
70
  return true;
51
71
  }
52
72
  catch {
@@ -60,12 +80,14 @@ export class S3Loader {
60
80
  * @throws ConfigurationLoadError if content cannot be parsed
61
81
  */
62
82
  async load() {
83
+ const { GetObjectCommand } = await this.importSdk();
63
84
  try {
85
+ const client = await this.getClient();
64
86
  const command = new GetObjectCommand({
65
87
  Bucket: this._config.bucket,
66
88
  Key: this._config.key,
67
89
  });
68
- const response = await this._client.send(command);
90
+ const response = await client.send(command);
69
91
  if (!response.Body) {
70
92
  return {};
71
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"s3.loader.js","sourceRoot":"","sources":["../../../src/loaders/s3.loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.loader.js","sourceRoot":"","sources":["../../../src/loaders/s3.loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { GetSecretValueCommand, SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
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 Secrets Manager.
6
5
  * Supports environment-aware path construction.
@@ -25,6 +24,12 @@ import { AWSServiceError, ConfigurationLoadError } from '../errors/index.js';
25
24
  * ```
26
25
  */
27
26
  export class SecretsManagerLoader {
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
@@ -37,11 +42,26 @@ export class SecretsManagerLoader {
37
42
  production: 'production',
38
43
  },
39
44
  };
40
- // Initialize AWS Secrets Manager client
41
- this._client = new SecretsManagerClient({
42
- credentials: fromNodeProviderChain(),
43
- region: this._config.region,
44
- });
45
+ }
46
+ /**
47
+ * Lazily import the AWS Secrets Manager SDK. Imported on demand so the SDK is an
48
+ * optional peer dependency and is never loaded unless this loader runs.
49
+ * @internal
50
+ */
51
+ importSdk() {
52
+ return loadOptionalDependency('@aws-sdk/client-secrets-manager', () => import('@aws-sdk/client-secrets-manager'));
53
+ }
54
+ /**
55
+ * Get (creating on first use) the Secrets Manager client. The client relies on the
56
+ * AWS SDK's default Node credential provider chain.
57
+ * @internal
58
+ */
59
+ async getClient() {
60
+ if (!this._client) {
61
+ const { SecretsManagerClient } = await this.importSdk();
62
+ this._client = new SecretsManagerClient({ region: this._config.region });
63
+ }
64
+ return this._client;
45
65
  }
46
66
  /**
47
67
  * Get the name of this loader for logging and debugging.
@@ -68,8 +88,9 @@ export class SecretsManagerLoader {
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 {
@@ -88,9 +109,11 @@ export class SecretsManagerLoader {
88
109
  return {};
89
110
  }
90
111
  const secretName = this.buildSecretName();
112
+ const { GetSecretValueCommand } = await this.importSdk();
91
113
  try {
114
+ const client = await this.getClient();
92
115
  const command = new GetSecretValueCommand({ SecretId: secretName });
93
- const response = await this._client.send(command);
116
+ const response = await client.send(command);
94
117
  if (!response.SecretString) {
95
118
  return {};
96
119
  }