@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.
- package/LICENSE +21 -0
- package/README.md +60 -43
- package/dist/cjs/aws-config-loader.js +57 -0
- package/dist/cjs/build-loaders.js +58 -0
- package/dist/cjs/config.module.js +138 -0
- package/dist/cjs/index.js +46 -0
- package/dist/cjs/interfaces/config-service.interface.js +11 -0
- package/dist/cjs/interfaces/default-schema.interface.js +63 -0
- package/dist/cjs/{nestjs-config-aws/src/interfaces → interfaces}/index.js +1 -1
- package/dist/cjs/interfaces/module-options.interface.js +3 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/services/config.service.js +142 -0
- package/dist/esm/aws-config-loader.js +54 -0
- package/dist/esm/build-loaders.js +55 -0
- package/dist/esm/config.module.js +135 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/interfaces/config-service.interface.js +7 -0
- package/dist/esm/interfaces/default-schema.interface.js +59 -0
- package/dist/esm/interfaces/index.js +8 -0
- package/dist/esm/interfaces/module-options.interface.js +2 -0
- package/dist/esm/package.json +3 -1
- package/dist/esm/services/config.service.js +139 -0
- package/dist/types/aws-config-loader.d.ts +74 -0
- package/dist/types/aws-config-loader.d.ts.map +1 -0
- package/dist/types/build-loaders.d.ts +30 -0
- package/dist/types/build-loaders.d.ts.map +1 -0
- package/dist/types/{nestjs-config-aws/src/config.module.d.ts → config.module.d.ts} +2 -8
- package/dist/types/config.module.d.ts.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces/config-service.interface.d.ts.map +1 -0
- package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/default-schema.interface.d.ts +14 -14
- package/dist/types/interfaces/default-schema.interface.d.ts.map +1 -0
- package/dist/types/interfaces/index.d.ts.map +1 -0
- package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/module-options.interface.d.ts +22 -3
- package/dist/types/interfaces/module-options.interface.d.ts.map +1 -0
- package/dist/types/services/config.service.d.ts.map +1 -0
- package/package.json +13 -7
- package/dist/cjs/config-aws/src/config-manager.js +0 -366
- package/dist/cjs/config-aws/src/errors/index.js +0 -77
- package/dist/cjs/config-aws/src/index.js +0 -37
- package/dist/cjs/config-aws/src/interfaces/config-loader.interface.js +0 -3
- package/dist/cjs/config-aws/src/interfaces/config-manager.interface.js +0 -3
- package/dist/cjs/config-aws/src/interfaces/env-file-loader.interface.js +0 -3
- package/dist/cjs/config-aws/src/interfaces/environment-loader.interface.js +0 -3
- package/dist/cjs/config-aws/src/interfaces/s3-loader.interface.js +0 -3
- package/dist/cjs/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -3
- package/dist/cjs/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -3
- package/dist/cjs/config-aws/src/loaders/env-file.loader.js +0 -169
- package/dist/cjs/config-aws/src/loaders/environment.loader.js +0 -85
- package/dist/cjs/config-aws/src/loaders/s3.loader.js +0 -145
- package/dist/cjs/config-aws/src/loaders/secrets-manager.loader.js +0 -169
- package/dist/cjs/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -199
- package/dist/cjs/config-aws/src/utils/env-file-parser.util.js +0 -98
- package/dist/cjs/config-aws/src/utils/validation.util.js +0 -116
- package/dist/cjs/nestjs-config-aws/src/config.module.js +0 -175
- package/dist/cjs/nestjs-config-aws/src/index.js +0 -61
- package/dist/cjs/nestjs-config-aws/src/integration/index.js +0 -23
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -3
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -3
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/index.js +0 -26
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -3
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -3
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -73
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -3
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -4
- package/dist/cjs/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -52
- package/dist/cjs/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -124
- package/dist/cjs/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -592
- package/dist/cjs/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -385
- package/dist/cjs/nestjs-config-aws/src/integration/providers/index.js +0 -20
- package/dist/cjs/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -366
- package/dist/cjs/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -267
- package/dist/cjs/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -517
- package/dist/cjs/nestjs-config-aws/src/integration/services/index.js +0 -26
- package/dist/cjs/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -81
- package/dist/cjs/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -465
- package/dist/cjs/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -318
- package/dist/cjs/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -292
- package/dist/cjs/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -595
- package/dist/cjs/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -283
- package/dist/cjs/nestjs-config-aws/src/integration/utils/index.js +0 -19
- package/dist/cjs/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -11
- package/dist/cjs/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -63
- package/dist/cjs/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -3
- package/dist/cjs/nestjs-config-aws/src/services/config.service.js +0 -142
- package/dist/esm/config-aws/src/config-manager.js +0 -362
- package/dist/esm/config-aws/src/errors/index.js +0 -69
- package/dist/esm/config-aws/src/index.js +0 -21
- package/dist/esm/config-aws/src/interfaces/config-loader.interface.js +0 -2
- package/dist/esm/config-aws/src/interfaces/config-manager.interface.js +0 -2
- package/dist/esm/config-aws/src/interfaces/env-file-loader.interface.js +0 -2
- package/dist/esm/config-aws/src/interfaces/environment-loader.interface.js +0 -2
- package/dist/esm/config-aws/src/interfaces/s3-loader.interface.js +0 -2
- package/dist/esm/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -2
- package/dist/esm/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -2
- package/dist/esm/config-aws/src/loaders/env-file.loader.js +0 -132
- package/dist/esm/config-aws/src/loaders/environment.loader.js +0 -81
- package/dist/esm/config-aws/src/loaders/s3.loader.js +0 -141
- package/dist/esm/config-aws/src/loaders/secrets-manager.loader.js +0 -165
- package/dist/esm/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -195
- package/dist/esm/config-aws/src/utils/env-file-parser.util.js +0 -94
- package/dist/esm/config-aws/src/utils/validation.util.js +0 -112
- package/dist/esm/nestjs-config-aws/src/config.module.js +0 -172
- package/dist/esm/nestjs-config-aws/src/index.js +0 -23
- package/dist/esm/nestjs-config-aws/src/integration/index.js +0 -7
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -2
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -2
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/index.js +0 -10
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -2
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -2
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -64
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -2
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -3
- package/dist/esm/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -44
- package/dist/esm/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -121
- package/dist/esm/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -589
- package/dist/esm/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -382
- package/dist/esm/nestjs-config-aws/src/integration/providers/index.js +0 -4
- package/dist/esm/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -363
- package/dist/esm/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -264
- package/dist/esm/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -514
- package/dist/esm/nestjs-config-aws/src/integration/services/index.js +0 -10
- package/dist/esm/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -78
- package/dist/esm/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -462
- package/dist/esm/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -315
- package/dist/esm/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -289
- package/dist/esm/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -589
- package/dist/esm/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -240
- package/dist/esm/nestjs-config-aws/src/integration/utils/index.js +0 -3
- package/dist/esm/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -7
- package/dist/esm/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -59
- package/dist/esm/nestjs-config-aws/src/interfaces/index.js +0 -8
- package/dist/esm/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -2
- package/dist/esm/nestjs-config-aws/src/services/config.service.js +0 -139
- package/dist/types/config-aws/src/config-manager.d.ts +0 -119
- package/dist/types/config-aws/src/config-manager.d.ts.map +0 -1
- package/dist/types/config-aws/src/errors/index.d.ts +0 -43
- package/dist/types/config-aws/src/errors/index.d.ts.map +0 -1
- package/dist/types/config-aws/src/index.d.ts +0 -24
- package/dist/types/config-aws/src/index.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts +0 -33
- package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts +0 -86
- package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts +0 -12
- package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts +0 -10
- package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts +0 -14
- package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts +0 -12
- package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts +0 -14
- package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts.map +0 -1
- package/dist/types/config-aws/src/loaders/env-file.loader.d.ts +0 -69
- package/dist/types/config-aws/src/loaders/env-file.loader.d.ts.map +0 -1
- package/dist/types/config-aws/src/loaders/environment.loader.d.ts +0 -46
- package/dist/types/config-aws/src/loaders/environment.loader.d.ts.map +0 -1
- package/dist/types/config-aws/src/loaders/s3.loader.d.ts +0 -62
- package/dist/types/config-aws/src/loaders/s3.loader.d.ts.map +0 -1
- package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts +0 -68
- package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts.map +0 -1
- package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts +0 -78
- package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts.map +0 -1
- package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts +0 -45
- package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts.map +0 -1
- package/dist/types/config-aws/src/utils/validation.util.d.ts +0 -53
- package/dist/types/config-aws/src/utils/validation.util.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/config.module.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/index.d.ts +0 -11
- package/dist/types/nestjs-config-aws/src/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/index.d.ts +0 -6
- package/dist/types/nestjs-config-aws/src/integration/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts +0 -71
- package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts +0 -24
- package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts +0 -9
- package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts +0 -66
- package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts +0 -17
- package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts +0 -332
- package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts +0 -259
- package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts +0 -209
- package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts +0 -249
- package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts +0 -36
- package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts +0 -134
- package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts +0 -119
- package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts +0 -3
- package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts +0 -84
- package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts +0 -84
- package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts +0 -158
- package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts +0 -9
- package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts +0 -41
- package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts +0 -192
- package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts +0 -87
- package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts +0 -103
- package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts +0 -222
- package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts +0 -81
- package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts +0 -2
- package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/interfaces/config-service.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/interfaces/default-schema.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/interfaces/module-options.interface.d.ts.map +0 -1
- package/dist/types/nestjs-config-aws/src/services/config.service.d.ts.map +0 -1
- /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/config-service.interface.d.ts +0 -0
- /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/index.d.ts +0 -0
- /package/dist/types/{nestjs-config-aws/src/services → services}/config.service.d.ts +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Dyanet
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ NestJS adapter for AWS configuration management. A thin wrapper around [@dyanet/
|
|
|
10
10
|
## Features
|
|
11
11
|
|
|
12
12
|
- **NestJS Integration** - Full dependency injection support with `ConfigModule` and `ConfigService`
|
|
13
|
-
- **@nestjs/config Compatibility** -
|
|
13
|
+
- **@nestjs/config Compatibility** - Drop the `awsConfigLoader` factory into `@nestjs/config`'s `load` array
|
|
14
14
|
- **Type Safety** - Full TypeScript support with Zod schema validation
|
|
15
15
|
- **AWS Services** - Load configuration from Secrets Manager, SSM Parameter Store, S3
|
|
16
16
|
- **Thin Adapter** - Minimal overhead, delegates to `@dyanet/config-aws` for all heavy lifting
|
|
@@ -24,7 +24,14 @@ npm install @dyanet/nestjs-config-aws
|
|
|
24
24
|
### Peer Dependencies
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npm install @nestjs/common @nestjs/core
|
|
27
|
+
npm install @nestjs/common @nestjs/core zod
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`@nestjs/config` is an **optional** peer dependency — install it only if you use the
|
|
31
|
+
`awsConfigLoader` factory with `@nestjs/config`'s `ConfigModule`:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install @nestjs/config
|
|
28
35
|
```
|
|
29
36
|
|
|
30
37
|
For AWS services, install the SDK clients you need:
|
|
@@ -60,17 +67,18 @@ const configSchema = z.object({
|
|
|
60
67
|
imports: [
|
|
61
68
|
ConfigModule.forRoot({
|
|
62
69
|
schema: configSchema,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
enabled: true,
|
|
66
|
-
region: 'us-east-1',
|
|
67
|
-
},
|
|
70
|
+
// Simple flat AWS option — the same shape as the Next.js adapter's getConfig:
|
|
71
|
+
aws: { secretName: '/my-app/config', region: 'us-east-1' },
|
|
68
72
|
}),
|
|
69
73
|
],
|
|
70
74
|
})
|
|
71
75
|
export class AppModule {}
|
|
72
76
|
```
|
|
73
77
|
|
|
78
|
+
> `aws` is the recommended ergonomic shape. The verbose `secretsManagerConfig` /
|
|
79
|
+
> `ssmConfig` options (with per-environment `paths`) remain available for advanced
|
|
80
|
+
> control. When `schema` is omitted, values pass through unvalidated.
|
|
81
|
+
|
|
74
82
|
### Using ConfigService
|
|
75
83
|
|
|
76
84
|
```typescript
|
|
@@ -226,66 +234,75 @@ export class MyService {
|
|
|
226
234
|
|
|
227
235
|
## @nestjs/config Integration
|
|
228
236
|
|
|
229
|
-
|
|
237
|
+
To feed AWS-sourced values into the standard `@nestjs/config` `ConfigModule`, use the
|
|
238
|
+
`awsConfigLoader` factory. It builds the loader chain, loads from environment variables,
|
|
239
|
+
Secrets Manager and SSM, and returns a plain config object — exactly the `ConfigFactory`
|
|
240
|
+
shape `@nestjs/config` expects in its `load` array. There is no extra module to import,
|
|
241
|
+
and `@nestjs/config` stays an **optional** peer dependency.
|
|
230
242
|
|
|
231
243
|
```typescript
|
|
232
244
|
import { Module } from '@nestjs/common';
|
|
233
|
-
import { ConfigModule
|
|
234
|
-
import {
|
|
245
|
+
import { ConfigModule } from '@nestjs/config';
|
|
246
|
+
import { awsConfigLoader } from '@dyanet/nestjs-config-aws';
|
|
235
247
|
|
|
236
248
|
@Module({
|
|
237
249
|
imports: [
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
250
|
+
ConfigModule.forRoot({
|
|
251
|
+
isGlobal: true,
|
|
252
|
+
load: [
|
|
253
|
+
awsConfigLoader({
|
|
254
|
+
schema: myConfigSchema, // optional Zod schema
|
|
255
|
+
aws: { secretName: '/my-app/config', region: 'us-east-1' },
|
|
256
|
+
}),
|
|
257
|
+
],
|
|
241
258
|
}),
|
|
242
259
|
],
|
|
243
260
|
})
|
|
244
261
|
export class AppModule {}
|
|
245
262
|
```
|
|
246
263
|
|
|
247
|
-
|
|
264
|
+
Then read values through the standard `@nestjs/config` `ConfigService` as usual.
|
|
265
|
+
|
|
266
|
+
### Namespaced configuration
|
|
267
|
+
|
|
268
|
+
Compose `awsConfigLoader` with `@nestjs/config`'s own `registerAs`:
|
|
248
269
|
|
|
249
270
|
```typescript
|
|
250
|
-
import {
|
|
271
|
+
import { ConfigModule, registerAs } from '@nestjs/config';
|
|
272
|
+
import { awsConfigLoader } from '@dyanet/nestjs-config-aws';
|
|
251
273
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
imports: [SomeModule],
|
|
256
|
-
inject: [SomeService],
|
|
257
|
-
useFactory: async (someService: SomeService) => ({
|
|
258
|
-
registerGlobally: true,
|
|
259
|
-
// Additional options from someService
|
|
260
|
-
}),
|
|
261
|
-
}),
|
|
274
|
+
ConfigModule.forRoot({
|
|
275
|
+
load: [
|
|
276
|
+
registerAs('database', awsConfigLoader({ ssmConfig: { paths: { production: '/db' } } })),
|
|
262
277
|
],
|
|
263
|
-
})
|
|
264
|
-
export class AppModule {}
|
|
278
|
+
});
|
|
265
279
|
```
|
|
266
280
|
|
|
267
|
-
|
|
281
|
+
### Async / dependency-injected options
|
|
268
282
|
|
|
269
|
-
|
|
283
|
+
`awsConfigLoader` is a plain function, so build its options however you like — including
|
|
284
|
+
inside `ConfigModule.forRootAsync`'s `useFactory` — and pass the resulting factory to `load`.
|
|
270
285
|
|
|
271
|
-
|
|
286
|
+
`awsConfigLoader` accepts: `schema`, `secretsManagerConfig`, `ssmConfig`, `envPrefix`,
|
|
287
|
+
`precedence` (`'aws-first'` | `'local-first'` | custom; default `'aws-first'`), `validate`
|
|
288
|
+
(default: on when a `schema` is given), and `enableLogging`.
|
|
272
289
|
|
|
273
|
-
|
|
274
|
-
2. **This package is now a thin adapter** - It re-exports everything from `@dyanet/config-aws` and adds NestJS-specific integration
|
|
275
|
-
3. **Same API surface** - The public API remains the same for backward compatibility
|
|
290
|
+
## Migrating from v1.x
|
|
276
291
|
|
|
277
|
-
|
|
292
|
+
v2.0.0 streamlines the `@nestjs/config` integration to the single `awsConfigLoader`
|
|
293
|
+
factory shown above. Use the table below to map v1.x usage to v2.x.
|
|
278
294
|
|
|
279
|
-
|
|
280
|
-
|
|
295
|
+
| v1.x | v2.x |
|
|
296
|
+
| --- | --- |
|
|
297
|
+
| `NestConfigAwsIntegrationModule.forRoot(opts)` alongside `ConfigModule` | `ConfigModule.forRoot({ load: [awsConfigLoader(opts)] })` |
|
|
298
|
+
| `NestConfigAwsIntegrationModule.forRootAsync({ useFactory })` | build options in your own `useFactory` and pass `awsConfigLoader(opts)` to `load` |
|
|
299
|
+
| `namespaces: ['db']` option | `registerAs('db', awsConfigLoader(opts))` |
|
|
300
|
+
| `createAwsConfigFactory` / `createConfigModuleFactory` / `createEnhancedConfigOptions` | `awsConfigLoader(opts)` |
|
|
301
|
+
| Configuration decorators / typed-config registries | `@nestjs/config`'s `ConfigService` / `ConfigType` |
|
|
281
302
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
// After (optional, for non-NestJS code)
|
|
287
|
-
import { EnvironmentLoader, ConfigManager } from '@dyanet/config-aws';
|
|
288
|
-
```
|
|
303
|
+
The standalone `ConfigModule.forRoot()` / `forRootAsync()` and the injectable
|
|
304
|
+
`ConfigService` from this package are unchanged. All core re-exports (loaders,
|
|
305
|
+
`ConfigManager`, errors, utilities) are unchanged.
|
|
289
306
|
|
|
290
307
|
## Advanced Usage
|
|
291
308
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.awsConfigLoader = awsConfigLoader;
|
|
4
|
+
const config_aws_1 = require("@dyanet/config-aws");
|
|
5
|
+
const build_loaders_1 = require("./build-loaders");
|
|
6
|
+
/**
|
|
7
|
+
* Create a configuration factory that loads from AWS sources (Secrets Manager,
|
|
8
|
+
* SSM Parameter Store) and environment variables, for use with the standard
|
|
9
|
+
* `@nestjs/config` `ConfigModule`.
|
|
10
|
+
*
|
|
11
|
+
* The returned function matches `@nestjs/config`'s `ConfigFactory` shape, so drop
|
|
12
|
+
* it straight into the `load` array — no extra module to import, and
|
|
13
|
+
* `@nestjs/config` stays an optional peer dependency of this package.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { ConfigModule } from '@nestjs/config';
|
|
18
|
+
* import { awsConfigLoader } from '@dyanet/nestjs-config-aws';
|
|
19
|
+
*
|
|
20
|
+
* @Module({
|
|
21
|
+
* imports: [
|
|
22
|
+
* ConfigModule.forRoot({
|
|
23
|
+
* isGlobal: true,
|
|
24
|
+
* // Simple `aws` shape — same as the Next.js adapter's getConfig:
|
|
25
|
+
* load: [awsConfigLoader({ aws: { secretName: '/my-app/config' } })],
|
|
26
|
+
* }),
|
|
27
|
+
* ],
|
|
28
|
+
* })
|
|
29
|
+
* export class AppModule {}
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example Namespaced (compose with `@nestjs/config`'s `registerAs`):
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import { ConfigModule, registerAs } from '@nestjs/config';
|
|
35
|
+
*
|
|
36
|
+
* ConfigModule.forRoot({
|
|
37
|
+
* load: [registerAs('database', awsConfigLoader({ ssmConfig: { paths: { production: '/db' } } }))],
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @param options Loader options.
|
|
42
|
+
* @returns A factory `() => Promise<T>` suitable for `ConfigModule`'s `load` array.
|
|
43
|
+
*/
|
|
44
|
+
function awsConfigLoader(options = {}) {
|
|
45
|
+
return async () => {
|
|
46
|
+
const manager = new config_aws_1.ConfigManager({
|
|
47
|
+
loaders: (0, build_loaders_1.buildAwsLoaders)(options),
|
|
48
|
+
schema: options.schema,
|
|
49
|
+
precedence: options.precedence ?? 'aws-first',
|
|
50
|
+
validateOnLoad: options.validate ?? Boolean(options.schema),
|
|
51
|
+
enableLogging: options.enableLogging ?? false,
|
|
52
|
+
});
|
|
53
|
+
await manager.load();
|
|
54
|
+
return manager.getAll();
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNvbmZpZy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzLWNvbmZpZy1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2RUEsMENBZUM7QUE1RkQsbURBQW1EO0FBS25ELG1EQUFrRDtBQWtDbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ0c7QUFDSCxTQUFnQixlQUFlLENBQzdCLFVBQXFDLEVBQUU7SUFFdkMsT0FBTyxLQUFLLElBQWdCLEVBQUU7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBYSxDQUFJO1lBQ25DLE9BQU8sRUFBRSxJQUFBLCtCQUFlLEVBQUMsT0FBTyxDQUFDO1lBQ2pDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxXQUFXO1lBQzdDLGNBQWMsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzNELGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUs7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsT0FBTyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ01hbmFnZXIgfSBmcm9tICdAZHlhbmV0L2NvbmZpZy1hd3MnO1xuaW1wb3J0IHR5cGUgeyBQcmVjZWRlbmNlU3RyYXRlZ3kgfSBmcm9tICdAZHlhbmV0L2NvbmZpZy1hd3MnO1xuaW1wb3J0IHR5cGUgeyBab2RUeXBlIH0gZnJvbSAnem9kJztcblxuaW1wb3J0IHsgQXdzT3B0aW9ucywgU2VjcmV0c01hbmFnZXJDb25maWcsIFNTTUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnVpbGRBd3NMb2FkZXJzIH0gZnJvbSAnLi9idWlsZC1sb2FkZXJzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYXdzQ29uZmlnTG9hZGVyfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDb25maWdMb2FkZXJPcHRpb25zPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIC8qKiBab2Qgc2NoZW1hIGZvciB2YWxpZGF0aW9uLiBXaGVuIHByb3ZpZGVkLCB0aGUgbWVyZ2VkIGNvbmZpZyBpcyB2YWxpZGF0ZWQuICovXG4gIHNjaGVtYT86IFpvZFR5cGU8VD47XG4gIC8qKlxuICAgKiBTaW1wbGUgQVdTIG9wdGlvbnMgKGB7IHNlY3JldE5hbWUsIHNzbVByZWZpeCwgcmVnaW9uIH1gKSDigJQgdGhlIHNhbWUgc2hhcGUgYXMgdGhlXG4gICAqIE5leHQuanMgYWRhcHRlcidzIGBnZXRDb25maWdgLiBXaGVuIHNldCwgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBncmFudWxhclxuICAgKiBgc2VjcmV0c01hbmFnZXJDb25maWdgIC8gYHNzbUNvbmZpZ2Agb3B0aW9ucy5cbiAgICovXG4gIGF3cz86IEF3c09wdGlvbnM7XG4gIC8qKiBBV1MgU2VjcmV0cyBNYW5hZ2VyIGNvbmZpZ3VyYXRpb24gKGFkdmFuY2VkKS4gT21pdCBvciBzZXQgYGVuYWJsZWQ6IGZhbHNlYCB0byBza2lwLiAqL1xuICBzZWNyZXRzTWFuYWdlckNvbmZpZz86IFNlY3JldHNNYW5hZ2VyQ29uZmlnO1xuICAvKiogQVdTIFNTTSBQYXJhbWV0ZXIgU3RvcmUgY29uZmlndXJhdGlvbiAoYWR2YW5jZWQpLiBPbWl0IG9yIHNldCBgZW5hYmxlZDogZmFsc2VgIHRvIHNraXAuICovXG4gIHNzbUNvbmZpZz86IFNTTUNvbmZpZztcbiAgLyoqIFByZWZpeCBmb3IgZW52aXJvbm1lbnQgdmFyaWFibGVzIChlLmcuIGBBUFBfYCkuICovXG4gIGVudlByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIFByZWNlZGVuY2Ugc3RyYXRlZ3kgZm9yIG1lcmdpbmcgc291cmNlcy5cbiAgICogQGRlZmF1bHQgJ2F3cy1maXJzdCdcbiAgICovXG4gIHByZWNlZGVuY2U/OiBQcmVjZWRlbmNlU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHZhbGlkYXRlIHRoZSBtZXJnZWQgY29uZmlnIGFnYWluc3QgYHNjaGVtYWAuXG4gICAqIEBkZWZhdWx0IHRydWUgd2hlbiBhIHNjaGVtYSBpcyBwcm92aWRlZCwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICB2YWxpZGF0ZT86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgdmVyYm9zZSBsb2FkZXIgbG9nZ2luZy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgZW5hYmxlTG9nZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgY29uZmlndXJhdGlvbiBmYWN0b3J5IHRoYXQgbG9hZHMgZnJvbSBBV1Mgc291cmNlcyAoU2VjcmV0cyBNYW5hZ2VyLFxuICogU1NNIFBhcmFtZXRlciBTdG9yZSkgYW5kIGVudmlyb25tZW50IHZhcmlhYmxlcywgZm9yIHVzZSB3aXRoIHRoZSBzdGFuZGFyZFxuICogYEBuZXN0anMvY29uZmlnYCBgQ29uZmlnTW9kdWxlYC5cbiAqXG4gKiBUaGUgcmV0dXJuZWQgZnVuY3Rpb24gbWF0Y2hlcyBgQG5lc3Rqcy9jb25maWdgJ3MgYENvbmZpZ0ZhY3RvcnlgIHNoYXBlLCBzbyBkcm9wXG4gKiBpdCBzdHJhaWdodCBpbnRvIHRoZSBgbG9hZGAgYXJyYXkg4oCUIG5vIGV4dHJhIG1vZHVsZSB0byBpbXBvcnQsIGFuZFxuICogYEBuZXN0anMvY29uZmlnYCBzdGF5cyBhbiBvcHRpb25hbCBwZWVyIGRlcGVuZGVuY3kgb2YgdGhpcyBwYWNrYWdlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBDb25maWdNb2R1bGUgfSBmcm9tICdAbmVzdGpzL2NvbmZpZyc7XG4gKiBpbXBvcnQgeyBhd3NDb25maWdMb2FkZXIgfSBmcm9tICdAZHlhbmV0L25lc3Rqcy1jb25maWctYXdzJztcbiAqXG4gKiBATW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIENvbmZpZ01vZHVsZS5mb3JSb290KHtcbiAqICAgICAgIGlzR2xvYmFsOiB0cnVlLFxuICogICAgICAgLy8gU2ltcGxlIGBhd3NgIHNoYXBlIOKAlCBzYW1lIGFzIHRoZSBOZXh0LmpzIGFkYXB0ZXIncyBnZXRDb25maWc6XG4gKiAgICAgICBsb2FkOiBbYXdzQ29uZmlnTG9hZGVyKHsgYXdzOiB7IHNlY3JldE5hbWU6ICcvbXktYXBwL2NvbmZpZycgfSB9KV0sXG4gKiAgICAgfSksXG4gKiAgIF0sXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7fVxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgTmFtZXNwYWNlZCAoY29tcG9zZSB3aXRoIGBAbmVzdGpzL2NvbmZpZ2AncyBgcmVnaXN0ZXJBc2ApOlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgQ29uZmlnTW9kdWxlLCByZWdpc3RlckFzIH0gZnJvbSAnQG5lc3Rqcy9jb25maWcnO1xuICpcbiAqIENvbmZpZ01vZHVsZS5mb3JSb290KHtcbiAqICAgbG9hZDogW3JlZ2lzdGVyQXMoJ2RhdGFiYXNlJywgYXdzQ29uZmlnTG9hZGVyKHsgc3NtQ29uZmlnOiB7IHBhdGhzOiB7IHByb2R1Y3Rpb246ICcvZGInIH0gfSB9KSldLFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyBMb2FkZXIgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEgZmFjdG9yeSBgKCkgPT4gUHJvbWlzZTxUPmAgc3VpdGFibGUgZm9yIGBDb25maWdNb2R1bGVgJ3MgYGxvYWRgIGFycmF5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXdzQ29uZmlnTG9hZGVyPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb3B0aW9uczogQXdzQ29uZmlnTG9hZGVyT3B0aW9uczxUPiA9IHt9LFxuKTogKCkgPT4gUHJvbWlzZTxUPiB7XG4gIHJldHVybiBhc3luYyAoKTogUHJvbWlzZTxUPiA9PiB7XG4gICAgY29uc3QgbWFuYWdlciA9IG5ldyBDb25maWdNYW5hZ2VyPFQ+KHtcbiAgICAgIGxvYWRlcnM6IGJ1aWxkQXdzTG9hZGVycyhvcHRpb25zKSxcbiAgICAgIHNjaGVtYTogb3B0aW9ucy5zY2hlbWEsXG4gICAgICBwcmVjZWRlbmNlOiBvcHRpb25zLnByZWNlZGVuY2UgPz8gJ2F3cy1maXJzdCcsXG4gICAgICB2YWxpZGF0ZU9uTG9hZDogb3B0aW9ucy52YWxpZGF0ZSA/PyBCb29sZWFuKG9wdGlvbnMuc2NoZW1hKSxcbiAgICAgIGVuYWJsZUxvZ2dpbmc6IG9wdGlvbnMuZW5hYmxlTG9nZ2luZyA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IG1hbmFnZXIubG9hZCgpO1xuICAgIHJldHVybiBtYW5hZ2VyLmdldEFsbCgpO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildAwsLoaders = buildAwsLoaders;
|
|
4
|
+
const config_aws_1 = require("@dyanet/config-aws");
|
|
5
|
+
/**
|
|
6
|
+
* Map an optional `{ development, test, production }` path config to the
|
|
7
|
+
* environment mapping expected by the AWS loaders, falling back to sensible
|
|
8
|
+
* defaults. Returns `undefined` when no paths are supplied so the loader uses
|
|
9
|
+
* its own defaults.
|
|
10
|
+
*/
|
|
11
|
+
function toEnvironmentMapping(paths) {
|
|
12
|
+
if (!paths) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
development: paths.development || 'dev',
|
|
17
|
+
test: paths.test || 'test',
|
|
18
|
+
production: paths.production || 'production',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the configuration loader chain from AWS source options.
|
|
23
|
+
*
|
|
24
|
+
* Order (lowest precedence first): environment variables, then Secrets Manager,
|
|
25
|
+
* then SSM Parameter Store. The AWS loaders skip themselves automatically when
|
|
26
|
+
* unavailable (e.g. in a local environment or without credentials).
|
|
27
|
+
*/
|
|
28
|
+
function buildAwsLoaders(options) {
|
|
29
|
+
const loaders = [];
|
|
30
|
+
// Always add environment loader first (lowest precedence)
|
|
31
|
+
loaders.push(new config_aws_1.EnvironmentLoader({ prefix: options.envPrefix }));
|
|
32
|
+
// Simple, Next.js-style `aws` option: add exactly the named sources.
|
|
33
|
+
if (options.aws) {
|
|
34
|
+
const { secretName, ssmPrefix, region } = options.aws;
|
|
35
|
+
if (secretName) {
|
|
36
|
+
loaders.push(new config_aws_1.SecretsManagerLoader({ secretName, region }));
|
|
37
|
+
}
|
|
38
|
+
if (ssmPrefix) {
|
|
39
|
+
loaders.push(new config_aws_1.SSMParameterStoreLoader({ parameterPath: ssmPrefix, region }));
|
|
40
|
+
}
|
|
41
|
+
return loaders;
|
|
42
|
+
}
|
|
43
|
+
if (options.secretsManagerConfig?.enabled !== false) {
|
|
44
|
+
loaders.push(new config_aws_1.SecretsManagerLoader({
|
|
45
|
+
region: options.secretsManagerConfig?.region,
|
|
46
|
+
environmentMapping: toEnvironmentMapping(options.secretsManagerConfig?.paths),
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
if (options.ssmConfig?.enabled !== false) {
|
|
50
|
+
loaders.push(new config_aws_1.SSMParameterStoreLoader({
|
|
51
|
+
region: options.ssmConfig?.region,
|
|
52
|
+
withDecryption: options.ssmConfig?.decrypt,
|
|
53
|
+
environmentMapping: toEnvironmentMapping(options.ssmConfig?.paths),
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
return loaders;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtbG9hZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC1sb2FkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdURBLDBDQXNDQztBQTdGRCxtREFLNEI7QUF3QjVCOzs7OztHQUtHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsS0FBb0U7SUFFcEUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU87UUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLO1FBQ3ZDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU07UUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksWUFBWTtLQUM3QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUF5QjtJQUN2RCxNQUFNLE9BQU8sR0FBbUIsRUFBRSxDQUFDO0lBRW5DLDBEQUEwRDtJQUMxRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksOEJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVuRSxxRUFBcUU7SUFDckUsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGlDQUFvQixDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQ0FBdUIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxJQUFJLENBQ1YsSUFBSSxpQ0FBb0IsQ0FBQztZQUN2QixNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixFQUFFLE1BQU07WUFDNUMsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQztTQUM5RSxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsSUFBSSxvQ0FBdUIsQ0FBQztZQUMxQixNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNO1lBQ2pDLGNBQWMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU87WUFDMUMsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7U0FDbkUsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbmZpZ0xvYWRlcixcbiAgRW52aXJvbm1lbnRMb2FkZXIsXG4gIFNlY3JldHNNYW5hZ2VyTG9hZGVyLFxuICBTU01QYXJhbWV0ZXJTdG9yZUxvYWRlcixcbn0gZnJvbSAnQGR5YW5ldC9jb25maWctYXdzJztcblxuaW1wb3J0IHsgQXdzT3B0aW9ucywgU2VjcmV0c01hbmFnZXJDb25maWcsIFNTTUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRoZSBBV1MgY29uZmlndXJhdGlvbiBzb3VyY2VzIHVzZWQgdG8gYnVpbGQgYSBzZXQgb2YgbG9hZGVycy5cbiAqIFNoYXJlZCBieSB7QGxpbmsgQ29uZmlnTW9kdWxlfSBhbmQge0BsaW5rIGF3c0NvbmZpZ0xvYWRlcn0gc28gYm90aCBwcm9kdWNlIGFuXG4gKiBpZGVudGljYWwgbG9hZGVyIGNoYWluLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c0xvYWRlclNvdXJjZXMge1xuICAvKiogUHJlZml4IGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGUuZy4gYEFQUF9gKS4gKi9cbiAgZW52UHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogU2ltcGxlIEFXUyBvcHRpb25zIChgeyBzZWNyZXROYW1lLCBzc21QcmVmaXgsIHJlZ2lvbiB9YCkg4oCUIG1pcnJvcnMgdGhlIE5leHQuanNcbiAgICogYWRhcHRlci4gV2hlbiBzZXQsIGV4YWN0bHkgdGhlIG5hbWVkIHNvdXJjZXMgYXJlIGFkZGVkIGFuZCB0aGUgZ3JhbnVsYXJcbiAgICogYHNlY3JldHNNYW5hZ2VyQ29uZmlnYCAvIGBzc21Db25maWdgIG9wdGlvbnMgYmVsb3cgYXJlIGlnbm9yZWQuXG4gICAqL1xuICBhd3M/OiBBd3NPcHRpb25zO1xuICAvKiogQVdTIFNlY3JldHMgTWFuYWdlciBjb25maWd1cmF0aW9uIChhZHZhbmNlZCkuIE9taXQgb3Igc2V0IGBlbmFibGVkOiBmYWxzZWAgdG8gc2tpcC4gKi9cbiAgc2VjcmV0c01hbmFnZXJDb25maWc/OiBTZWNyZXRzTWFuYWdlckNvbmZpZztcbiAgLyoqIEFXUyBTU00gUGFyYW1ldGVyIFN0b3JlIGNvbmZpZ3VyYXRpb24gKGFkdmFuY2VkKS4gT21pdCBvciBzZXQgYGVuYWJsZWQ6IGZhbHNlYCB0byBza2lwLiAqL1xuICBzc21Db25maWc/OiBTU01Db25maWc7XG59XG5cbi8qKlxuICogTWFwIGFuIG9wdGlvbmFsIGB7IGRldmVsb3BtZW50LCB0ZXN0LCBwcm9kdWN0aW9uIH1gIHBhdGggY29uZmlnIHRvIHRoZVxuICogZW52aXJvbm1lbnQgbWFwcGluZyBleHBlY3RlZCBieSB0aGUgQVdTIGxvYWRlcnMsIGZhbGxpbmcgYmFjayB0byBzZW5zaWJsZVxuICogZGVmYXVsdHMuIFJldHVybnMgYHVuZGVmaW5lZGAgd2hlbiBubyBwYXRocyBhcmUgc3VwcGxpZWQgc28gdGhlIGxvYWRlciB1c2VzXG4gKiBpdHMgb3duIGRlZmF1bHRzLlxuICovXG5mdW5jdGlvbiB0b0Vudmlyb25tZW50TWFwcGluZyhcbiAgcGF0aHM/OiB7IGRldmVsb3BtZW50Pzogc3RyaW5nOyB0ZXN0Pzogc3RyaW5nOyBwcm9kdWN0aW9uPzogc3RyaW5nIH0sXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFwYXRocykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBkZXZlbG9wbWVudDogcGF0aHMuZGV2ZWxvcG1lbnQgfHwgJ2RldicsXG4gICAgdGVzdDogcGF0aHMudGVzdCB8fCAndGVzdCcsXG4gICAgcHJvZHVjdGlvbjogcGF0aHMucHJvZHVjdGlvbiB8fCAncHJvZHVjdGlvbicsXG4gIH07XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIGNvbmZpZ3VyYXRpb24gbG9hZGVyIGNoYWluIGZyb20gQVdTIHNvdXJjZSBvcHRpb25zLlxuICpcbiAqIE9yZGVyIChsb3dlc3QgcHJlY2VkZW5jZSBmaXJzdCk6IGVudmlyb25tZW50IHZhcmlhYmxlcywgdGhlbiBTZWNyZXRzIE1hbmFnZXIsXG4gKiB0aGVuIFNTTSBQYXJhbWV0ZXIgU3RvcmUuIFRoZSBBV1MgbG9hZGVycyBza2lwIHRoZW1zZWx2ZXMgYXV0b21hdGljYWxseSB3aGVuXG4gKiB1bmF2YWlsYWJsZSAoZS5nLiBpbiBhIGxvY2FsIGVudmlyb25tZW50IG9yIHdpdGhvdXQgY3JlZGVudGlhbHMpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRBd3NMb2FkZXJzKG9wdGlvbnM6IEF3c0xvYWRlclNvdXJjZXMpOiBDb25maWdMb2FkZXJbXSB7XG4gIGNvbnN0IGxvYWRlcnM6IENvbmZpZ0xvYWRlcltdID0gW107XG5cbiAgLy8gQWx3YXlzIGFkZCBlbnZpcm9ubWVudCBsb2FkZXIgZmlyc3QgKGxvd2VzdCBwcmVjZWRlbmNlKVxuICBsb2FkZXJzLnB1c2gobmV3IEVudmlyb25tZW50TG9hZGVyKHsgcHJlZml4OiBvcHRpb25zLmVudlByZWZpeCB9KSk7XG5cbiAgLy8gU2ltcGxlLCBOZXh0LmpzLXN0eWxlIGBhd3NgIG9wdGlvbjogYWRkIGV4YWN0bHkgdGhlIG5hbWVkIHNvdXJjZXMuXG4gIGlmIChvcHRpb25zLmF3cykge1xuICAgIGNvbnN0IHsgc2VjcmV0TmFtZSwgc3NtUHJlZml4LCByZWdpb24gfSA9IG9wdGlvbnMuYXdzO1xuICAgIGlmIChzZWNyZXROYW1lKSB7XG4gICAgICBsb2FkZXJzLnB1c2gobmV3IFNlY3JldHNNYW5hZ2VyTG9hZGVyKHsgc2VjcmV0TmFtZSwgcmVnaW9uIH0pKTtcbiAgICB9XG4gICAgaWYgKHNzbVByZWZpeCkge1xuICAgICAgbG9hZGVycy5wdXNoKG5ldyBTU01QYXJhbWV0ZXJTdG9yZUxvYWRlcih7IHBhcmFtZXRlclBhdGg6IHNzbVByZWZpeCwgcmVnaW9uIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGxvYWRlcnM7XG4gIH1cblxuICBpZiAob3B0aW9ucy5zZWNyZXRzTWFuYWdlckNvbmZpZz8uZW5hYmxlZCAhPT0gZmFsc2UpIHtcbiAgICBsb2FkZXJzLnB1c2goXG4gICAgICBuZXcgU2VjcmV0c01hbmFnZXJMb2FkZXIoe1xuICAgICAgICByZWdpb246IG9wdGlvbnMuc2VjcmV0c01hbmFnZXJDb25maWc/LnJlZ2lvbixcbiAgICAgICAgZW52aXJvbm1lbnRNYXBwaW5nOiB0b0Vudmlyb25tZW50TWFwcGluZyhvcHRpb25zLnNlY3JldHNNYW5hZ2VyQ29uZmlnPy5wYXRocyksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMuc3NtQ29uZmlnPy5lbmFibGVkICE9PSBmYWxzZSkge1xuICAgIGxvYWRlcnMucHVzaChcbiAgICAgIG5ldyBTU01QYXJhbWV0ZXJTdG9yZUxvYWRlcih7XG4gICAgICAgIHJlZ2lvbjogb3B0aW9ucy5zc21Db25maWc/LnJlZ2lvbixcbiAgICAgICAgd2l0aERlY3J5cHRpb246IG9wdGlvbnMuc3NtQ29uZmlnPy5kZWNyeXB0LFxuICAgICAgICBlbnZpcm9ubWVudE1hcHBpbmc6IHRvRW52aXJvbm1lbnRNYXBwaW5nKG9wdGlvbnMuc3NtQ29uZmlnPy5wYXRocyksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGxvYWRlcnM7XG59XG4iXX0=
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var ConfigModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ConfigModule = exports.NEST_CONFIG_AWS_OPTIONS = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const config_service_interface_1 = require("./interfaces/config-service.interface");
|
|
13
|
+
const config_service_1 = require("./services/config.service");
|
|
14
|
+
const build_loaders_1 = require("./build-loaders");
|
|
15
|
+
/**
|
|
16
|
+
* Token for injecting module options
|
|
17
|
+
*/
|
|
18
|
+
exports.NEST_CONFIG_AWS_OPTIONS = 'NEST_CONFIG_AWS_OPTIONS';
|
|
19
|
+
/**
|
|
20
|
+
* NestJS module for AWS-integrated configuration management.
|
|
21
|
+
* Provides global configuration service with support for environment variables,
|
|
22
|
+
* AWS Secrets Manager, and AWS Systems Manager Parameter Store.
|
|
23
|
+
*/
|
|
24
|
+
let ConfigModule = ConfigModule_1 = class ConfigModule {
|
|
25
|
+
/**
|
|
26
|
+
* Create a synchronous configuration module with provided options.
|
|
27
|
+
*
|
|
28
|
+
* @param options - Configuration options for the module
|
|
29
|
+
* @returns Dynamic module configuration
|
|
30
|
+
*/
|
|
31
|
+
static forRoot(options = {}) {
|
|
32
|
+
const configServiceProvider = this.createConfigServiceProvider(options);
|
|
33
|
+
return {
|
|
34
|
+
module: ConfigModule_1,
|
|
35
|
+
providers: [
|
|
36
|
+
{
|
|
37
|
+
provide: exports.NEST_CONFIG_AWS_OPTIONS,
|
|
38
|
+
useValue: options,
|
|
39
|
+
},
|
|
40
|
+
configServiceProvider,
|
|
41
|
+
],
|
|
42
|
+
exports: [config_service_interface_1.ConfigService],
|
|
43
|
+
global: true,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create an asynchronous configuration module with factory-based options.
|
|
48
|
+
* Useful when configuration options depend on other services or async operations.
|
|
49
|
+
*
|
|
50
|
+
* @param options - Async configuration options with factory function
|
|
51
|
+
* @returns Dynamic module configuration
|
|
52
|
+
*/
|
|
53
|
+
static forRootAsync(options) {
|
|
54
|
+
const asyncProviders = this.createAsyncProviders(options);
|
|
55
|
+
return {
|
|
56
|
+
module: ConfigModule_1,
|
|
57
|
+
imports: options.imports || [],
|
|
58
|
+
providers: [
|
|
59
|
+
...asyncProviders,
|
|
60
|
+
this.createAsyncConfigServiceProvider(),
|
|
61
|
+
],
|
|
62
|
+
exports: [config_service_interface_1.ConfigService],
|
|
63
|
+
global: true,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create the ConfigService provider for synchronous module registration.
|
|
68
|
+
*/
|
|
69
|
+
static createConfigServiceProvider(options) {
|
|
70
|
+
return {
|
|
71
|
+
provide: config_service_interface_1.ConfigService,
|
|
72
|
+
useFactory: async () => {
|
|
73
|
+
// Create loaders based on configuration
|
|
74
|
+
const loaders = (0, build_loaders_1.buildAwsLoaders)(options);
|
|
75
|
+
// Create ConfigService options. No schema => values are returned as-is
|
|
76
|
+
// (ConfigManager only validates when a schema is provided).
|
|
77
|
+
const serviceOptions = {
|
|
78
|
+
schema: options.schema,
|
|
79
|
+
loaders,
|
|
80
|
+
validateOnLoad: !options.ignoreValidationErrors,
|
|
81
|
+
enableLogging: true,
|
|
82
|
+
};
|
|
83
|
+
// Create and initialize the service
|
|
84
|
+
const configService = new config_service_1.ConfigServiceImpl(serviceOptions);
|
|
85
|
+
// Initialize configuration loading if not in sync mode
|
|
86
|
+
if (!options.loadSync) {
|
|
87
|
+
await configService.initialize();
|
|
88
|
+
}
|
|
89
|
+
return configService;
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Create providers for asynchronous module registration.
|
|
95
|
+
*/
|
|
96
|
+
static createAsyncProviders(options) {
|
|
97
|
+
return [
|
|
98
|
+
{
|
|
99
|
+
provide: exports.NEST_CONFIG_AWS_OPTIONS,
|
|
100
|
+
useFactory: options.useFactory,
|
|
101
|
+
inject: options.inject || [],
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Create the ConfigService provider for asynchronous module registration.
|
|
107
|
+
*/
|
|
108
|
+
static createAsyncConfigServiceProvider() {
|
|
109
|
+
return {
|
|
110
|
+
provide: config_service_interface_1.ConfigService,
|
|
111
|
+
useFactory: async (options) => {
|
|
112
|
+
// Create loaders based on configuration
|
|
113
|
+
const loaders = (0, build_loaders_1.buildAwsLoaders)(options);
|
|
114
|
+
// Create ConfigService options. No schema => values are returned as-is.
|
|
115
|
+
const serviceOptions = {
|
|
116
|
+
schema: options.schema,
|
|
117
|
+
loaders,
|
|
118
|
+
validateOnLoad: !options.ignoreValidationErrors,
|
|
119
|
+
enableLogging: true,
|
|
120
|
+
};
|
|
121
|
+
// Create and initialize the service
|
|
122
|
+
const configService = new config_service_1.ConfigServiceImpl(serviceOptions);
|
|
123
|
+
// Initialize configuration loading if not in sync mode
|
|
124
|
+
if (!options.loadSync) {
|
|
125
|
+
await configService.initialize();
|
|
126
|
+
}
|
|
127
|
+
return configService;
|
|
128
|
+
},
|
|
129
|
+
inject: [exports.NEST_CONFIG_AWS_OPTIONS],
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
exports.ConfigModule = ConfigModule;
|
|
134
|
+
exports.ConfigModule = ConfigModule = ConfigModule_1 = __decorate([
|
|
135
|
+
(0, common_1.Global)(),
|
|
136
|
+
(0, common_1.Module)({})
|
|
137
|
+
], ConfigModule);
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUU7QUFFekUsb0ZBQXNFO0FBRXRFLDhEQUFvRjtBQUNwRixtREFBa0Q7QUFFbEQ7O0dBRUc7QUFDVSxRQUFBLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBRWpFOzs7O0dBSUc7QUFHSSxJQUFNLFlBQVksb0JBQWxCLE1BQU0sWUFBWTtJQUN2Qjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQ1osVUFBeUMsRUFBRTtRQUUzQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4RSxPQUFPO1lBQ0wsTUFBTSxFQUFFLGNBQVk7WUFDcEIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwrQkFBdUI7b0JBQ2hDLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRCxxQkFBcUI7YUFDdEI7WUFDRCxPQUFPLEVBQUUsQ0FBQyx3Q0FBYSxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUNqQixPQUEyQztRQUUzQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUQsT0FBTztZQUNMLE1BQU0sRUFBRSxjQUFZO1lBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUU7WUFDOUIsU0FBUyxFQUFFO2dCQUNULEdBQUcsY0FBYztnQkFDakIsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO2FBQ3hDO1lBQ0QsT0FBTyxFQUFFLENBQUMsd0NBQWEsQ0FBQztZQUN4QixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsMkJBQTJCLENBQ3hDLE9BQXNDO1FBRXRDLE9BQU87WUFDTCxPQUFPLEVBQUUsd0NBQWE7WUFDdEIsVUFBVSxFQUFFLEtBQUssSUFBK0IsRUFBRTtnQkFDaEQsd0NBQXdDO2dCQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFBLCtCQUFlLEVBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRXpDLHVFQUF1RTtnQkFDdkUsNERBQTREO2dCQUM1RCxNQUFNLGNBQWMsR0FBNEI7b0JBQzlDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtvQkFDdEIsT0FBTztvQkFDUCxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCO29CQUMvQyxhQUFhLEVBQUUsSUFBSTtpQkFDcEIsQ0FBQztnQkFFRixvQ0FBb0M7Z0JBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksa0NBQWlCLENBQUksY0FBYyxDQUFDLENBQUM7Z0JBRS9ELHVEQUF1RDtnQkFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdEIsTUFBTSxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7Z0JBRUQsT0FBTyxhQUFpQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUNqQyxPQUEyQztRQUUzQyxPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLCtCQUF1QjtnQkFDaEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxnQ0FBZ0M7UUFDN0MsT0FBTztZQUNMLE9BQU8sRUFBRSx3Q0FBYTtZQUN0QixVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQW1DLEVBQTBCLEVBQUU7Z0JBQ2hGLHdDQUF3QztnQkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBQSwrQkFBZSxFQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUV6Qyx3RUFBd0U7Z0JBQ3hFLE1BQU0sY0FBYyxHQUF5QjtvQkFDM0MsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO29CQUN0QixPQUFPO29CQUNQLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0I7b0JBQy9DLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2dCQUVGLG9DQUFvQztnQkFDcEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxrQ0FBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFNUQsdURBQXVEO2dCQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN0QixNQUFNLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsQ0FBQztnQkFFRCxPQUFPLGFBQThCLENBQUM7WUFDeEMsQ0FBQztZQUNELE1BQU0sRUFBRSxDQUFDLCtCQUF1QixDQUFDO1NBQ2xDLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQWxJWSxvQ0FBWTt1QkFBWixZQUFZO0lBRnhCLElBQUEsZUFBTSxHQUFFO0lBQ1IsSUFBQSxlQUFNLEVBQUMsRUFBRSxDQUFDO0dBQ0UsWUFBWSxDQWtJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBHbG9iYWwsIE1vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbmZpZy1zZXJ2aWNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE5lc3RDb25maWdBd3NNb2R1bGVPcHRpb25zLCBOZXN0Q29uZmlnQXdzTW9kdWxlQXN5bmNPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL21vZHVsZS1vcHRpb25zLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2VJbXBsLCBDb25maWdTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBidWlsZEF3c0xvYWRlcnMgfSBmcm9tICcuL2J1aWxkLWxvYWRlcnMnO1xyXG5cclxuLyoqXHJcbiAqIFRva2VuIGZvciBpbmplY3RpbmcgbW9kdWxlIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBjb25zdCBORVNUX0NPTkZJR19BV1NfT1BUSU9OUyA9ICdORVNUX0NPTkZJR19BV1NfT1BUSU9OUyc7XHJcblxyXG4vKipcclxuICogTmVzdEpTIG1vZHVsZSBmb3IgQVdTLWludGVncmF0ZWQgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LlxyXG4gKiBQcm92aWRlcyBnbG9iYWwgY29uZmlndXJhdGlvbiBzZXJ2aWNlIHdpdGggc3VwcG9ydCBmb3IgZW52aXJvbm1lbnQgdmFyaWFibGVzLFxyXG4gKiBBV1MgU2VjcmV0cyBNYW5hZ2VyLCBhbmQgQVdTIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUuXHJcbiAqL1xyXG5AR2xvYmFsKClcclxuQE1vZHVsZSh7fSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ01vZHVsZSB7XHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgc3luY2hyb25vdXMgY29uZmlndXJhdGlvbiBtb2R1bGUgd2l0aCBwcm92aWRlZCBvcHRpb25zLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbW9kdWxlXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290PFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXHJcbiAgICBvcHRpb25zOiBOZXN0Q29uZmlnQXdzTW9kdWxlT3B0aW9uczxUPiA9IHt9XHJcbiAgKTogRHluYW1pY01vZHVsZSB7XHJcbiAgICBjb25zdCBjb25maWdTZXJ2aWNlUHJvdmlkZXIgPSB0aGlzLmNyZWF0ZUNvbmZpZ1NlcnZpY2VQcm92aWRlcihvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtb2R1bGU6IENvbmZpZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkVTVF9DT05GSUdfQVdTX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbmZpZ1NlcnZpY2VQcm92aWRlcixcclxuICAgICAgXSxcclxuICAgICAgZXhwb3J0czogW0NvbmZpZ1NlcnZpY2VdLFxyXG4gICAgICBnbG9iYWw6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGFuIGFzeW5jaHJvbm91cyBjb25maWd1cmF0aW9uIG1vZHVsZSB3aXRoIGZhY3RvcnktYmFzZWQgb3B0aW9ucy5cclxuICAgKiBVc2VmdWwgd2hlbiBjb25maWd1cmF0aW9uIG9wdGlvbnMgZGVwZW5kIG9uIG90aGVyIHNlcnZpY2VzIG9yIGFzeW5jIG9wZXJhdGlvbnMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBBc3luYyBjb25maWd1cmF0aW9uIG9wdGlvbnMgd2l0aCBmYWN0b3J5IGZ1bmN0aW9uXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290QXN5bmM8VCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcclxuICAgIG9wdGlvbnM6IE5lc3RDb25maWdBd3NNb2R1bGVBc3luY09wdGlvbnM8VD5cclxuICApOiBEeW5hbWljTW9kdWxlIHtcclxuICAgIGNvbnN0IGFzeW5jUHJvdmlkZXJzID0gdGhpcy5jcmVhdGVBc3luY1Byb3ZpZGVycyhvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtb2R1bGU6IENvbmZpZ01vZHVsZSxcclxuICAgICAgaW1wb3J0czogb3B0aW9ucy5pbXBvcnRzIHx8IFtdLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAuLi5hc3luY1Byb3ZpZGVycyxcclxuICAgICAgICB0aGlzLmNyZWF0ZUFzeW5jQ29uZmlnU2VydmljZVByb3ZpZGVyKCksXHJcbiAgICAgIF0sXHJcbiAgICAgIGV4cG9ydHM6IFtDb25maWdTZXJ2aWNlXSxcclxuICAgICAgZ2xvYmFsOiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgQ29uZmlnU2VydmljZSBwcm92aWRlciBmb3Igc3luY2hyb25vdXMgbW9kdWxlIHJlZ2lzdHJhdGlvbi5cclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVDb25maWdTZXJ2aWNlUHJvdmlkZXI8VD4oXHJcbiAgICBvcHRpb25zOiBOZXN0Q29uZmlnQXdzTW9kdWxlT3B0aW9uczxUPlxyXG4gICk6IFByb3ZpZGVyIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHByb3ZpZGU6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jICgpOiBQcm9taXNlPENvbmZpZ1NlcnZpY2U8VD4+ID0+IHtcclxuICAgICAgICAvLyBDcmVhdGUgbG9hZGVycyBiYXNlZCBvbiBjb25maWd1cmF0aW9uXHJcbiAgICAgICAgY29uc3QgbG9hZGVycyA9IGJ1aWxkQXdzTG9hZGVycyhvcHRpb25zKTtcclxuXHJcbiAgICAgICAgLy8gQ3JlYXRlIENvbmZpZ1NlcnZpY2Ugb3B0aW9ucy4gTm8gc2NoZW1hID0+IHZhbHVlcyBhcmUgcmV0dXJuZWQgYXMtaXNcclxuICAgICAgICAvLyAoQ29uZmlnTWFuYWdlciBvbmx5IHZhbGlkYXRlcyB3aGVuIGEgc2NoZW1hIGlzIHByb3ZpZGVkKS5cclxuICAgICAgICBjb25zdCBzZXJ2aWNlT3B0aW9uczogQ29uZmlnU2VydmljZU9wdGlvbnM8VD4gPSB7XHJcbiAgICAgICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hLFxyXG4gICAgICAgICAgbG9hZGVycyxcclxuICAgICAgICAgIHZhbGlkYXRlT25Mb2FkOiAhb3B0aW9ucy5pZ25vcmVWYWxpZGF0aW9uRXJyb3JzLFxyXG4gICAgICAgICAgZW5hYmxlTG9nZ2luZzogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgYW5kIGluaXRpYWxpemUgdGhlIHNlcnZpY2VcclxuICAgICAgICBjb25zdCBjb25maWdTZXJ2aWNlID0gbmV3IENvbmZpZ1NlcnZpY2VJbXBsPFQ+KHNlcnZpY2VPcHRpb25zKTtcclxuXHJcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBjb25maWd1cmF0aW9uIGxvYWRpbmcgaWYgbm90IGluIHN5bmMgbW9kZVxyXG4gICAgICAgIGlmICghb3B0aW9ucy5sb2FkU3luYykge1xyXG4gICAgICAgICAgYXdhaXQgY29uZmlnU2VydmljZS5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY29uZmlnU2VydmljZSBhcyBDb25maWdTZXJ2aWNlPFQ+O1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBwcm92aWRlcnMgZm9yIGFzeW5jaHJvbm91cyBtb2R1bGUgcmVnaXN0cmF0aW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUFzeW5jUHJvdmlkZXJzPFQ+KFxyXG4gICAgb3B0aW9uczogTmVzdENvbmZpZ0F3c01vZHVsZUFzeW5jT3B0aW9uczxUPlxyXG4gICk6IFByb3ZpZGVyW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5FU1RfQ09ORklHX0FXU19PUFRJT05TLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IG9wdGlvbnMudXNlRmFjdG9yeSxcclxuICAgICAgICBpbmplY3Q6IG9wdGlvbnMuaW5qZWN0IHx8IFtdLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgQ29uZmlnU2VydmljZSBwcm92aWRlciBmb3IgYXN5bmNocm9ub3VzIG1vZHVsZSByZWdpc3RyYXRpb24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNDb25maWdTZXJ2aWNlUHJvdmlkZXIoKTogUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcHJvdmlkZTogQ29uZmlnU2VydmljZSxcclxuICAgICAgdXNlRmFjdG9yeTogYXN5bmMgKG9wdGlvbnM6IE5lc3RDb25maWdBd3NNb2R1bGVPcHRpb25zKTogUHJvbWlzZTxDb25maWdTZXJ2aWNlPiA9PiB7XHJcbiAgICAgICAgLy8gQ3JlYXRlIGxvYWRlcnMgYmFzZWQgb24gY29uZmlndXJhdGlvblxyXG4gICAgICAgIGNvbnN0IGxvYWRlcnMgPSBidWlsZEF3c0xvYWRlcnMob3B0aW9ucyk7XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSBDb25maWdTZXJ2aWNlIG9wdGlvbnMuIE5vIHNjaGVtYSA9PiB2YWx1ZXMgYXJlIHJldHVybmVkIGFzLWlzLlxyXG4gICAgICAgIGNvbnN0IHNlcnZpY2VPcHRpb25zOiBDb25maWdTZXJ2aWNlT3B0aW9ucyA9IHtcclxuICAgICAgICAgIHNjaGVtYTogb3B0aW9ucy5zY2hlbWEsXHJcbiAgICAgICAgICBsb2FkZXJzLFxyXG4gICAgICAgICAgdmFsaWRhdGVPbkxvYWQ6ICFvcHRpb25zLmlnbm9yZVZhbGlkYXRpb25FcnJvcnMsXHJcbiAgICAgICAgICBlbmFibGVMb2dnaW5nOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSB0aGUgc2VydmljZVxyXG4gICAgICAgIGNvbnN0IGNvbmZpZ1NlcnZpY2UgPSBuZXcgQ29uZmlnU2VydmljZUltcGwoc2VydmljZU9wdGlvbnMpO1xyXG5cclxuICAgICAgICAvLyBJbml0aWFsaXplIGNvbmZpZ3VyYXRpb24gbG9hZGluZyBpZiBub3QgaW4gc3luYyBtb2RlXHJcbiAgICAgICAgaWYgKCFvcHRpb25zLmxvYWRTeW5jKSB7XHJcbiAgICAgICAgICBhd2FpdCBjb25maWdTZXJ2aWNlLmluaXRpYWxpemUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb25maWdTZXJ2aWNlIGFzIENvbmZpZ1NlcnZpY2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGluamVjdDogW05FU1RfQ09ORklHX0FXU19PUFRJT05TXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.buildAwsLoaders = exports.awsConfigLoader = exports.EnvFileParser = exports.ConfigValidationUtil = exports.MissingConfigurationError = exports.ConfigurationLoadError = exports.AWSServiceError = exports.ValidationError = exports.ConfigurationError = exports.ConfigManager = exports.SSMParameterStoreLoader = exports.SecretsManagerLoader = exports.S3Loader = exports.EnvFileLoader = exports.EnvironmentLoader = void 0;
|
|
18
|
+
// Re-export all public types from @dyanet/config-aws core package
|
|
19
|
+
var config_aws_1 = require("@dyanet/config-aws");
|
|
20
|
+
// Loaders
|
|
21
|
+
Object.defineProperty(exports, "EnvironmentLoader", { enumerable: true, get: function () { return config_aws_1.EnvironmentLoader; } });
|
|
22
|
+
Object.defineProperty(exports, "EnvFileLoader", { enumerable: true, get: function () { return config_aws_1.EnvFileLoader; } });
|
|
23
|
+
Object.defineProperty(exports, "S3Loader", { enumerable: true, get: function () { return config_aws_1.S3Loader; } });
|
|
24
|
+
Object.defineProperty(exports, "SecretsManagerLoader", { enumerable: true, get: function () { return config_aws_1.SecretsManagerLoader; } });
|
|
25
|
+
Object.defineProperty(exports, "SSMParameterStoreLoader", { enumerable: true, get: function () { return config_aws_1.SSMParameterStoreLoader; } });
|
|
26
|
+
// ConfigManager
|
|
27
|
+
Object.defineProperty(exports, "ConfigManager", { enumerable: true, get: function () { return config_aws_1.ConfigManager; } });
|
|
28
|
+
// Error classes
|
|
29
|
+
Object.defineProperty(exports, "ConfigurationError", { enumerable: true, get: function () { return config_aws_1.ConfigurationError; } });
|
|
30
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return config_aws_1.ValidationError; } });
|
|
31
|
+
Object.defineProperty(exports, "AWSServiceError", { enumerable: true, get: function () { return config_aws_1.AWSServiceError; } });
|
|
32
|
+
Object.defineProperty(exports, "ConfigurationLoadError", { enumerable: true, get: function () { return config_aws_1.ConfigurationLoadError; } });
|
|
33
|
+
Object.defineProperty(exports, "MissingConfigurationError", { enumerable: true, get: function () { return config_aws_1.MissingConfigurationError; } });
|
|
34
|
+
// Utilities
|
|
35
|
+
Object.defineProperty(exports, "ConfigValidationUtil", { enumerable: true, get: function () { return config_aws_1.ConfigValidationUtil; } });
|
|
36
|
+
Object.defineProperty(exports, "EnvFileParser", { enumerable: true, get: function () { return config_aws_1.EnvFileParser; } });
|
|
37
|
+
// NestJS dependency-injection module + service
|
|
38
|
+
__exportStar(require("./config.module"), exports);
|
|
39
|
+
__exportStar(require("./interfaces"), exports);
|
|
40
|
+
__exportStar(require("./services/config.service"), exports);
|
|
41
|
+
// @nestjs/config integration: a single factory helper for the `load` array
|
|
42
|
+
var aws_config_loader_1 = require("./aws-config-loader");
|
|
43
|
+
Object.defineProperty(exports, "awsConfigLoader", { enumerable: true, get: function () { return aws_config_loader_1.awsConfigLoader; } });
|
|
44
|
+
var build_loaders_1 = require("./build-loaders");
|
|
45
|
+
Object.defineProperty(exports, "buildAwsLoaders", { enumerable: true, get: function () { return build_loaders_1.buildAwsLoaders; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFBa0U7QUFDbEUsaURBcUI0QjtBQXBCMUIsVUFBVTtBQUNWLCtHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGFBQWEsT0FBQTtBQUNiLHNHQUFBLFFBQVEsT0FBQTtBQUNSLGtIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHFIQUFBLHVCQUF1QixPQUFBO0FBRXZCLGdCQUFnQjtBQUNoQiwyR0FBQSxhQUFhLE9BQUE7QUFFYixnQkFBZ0I7QUFDaEIsZ0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsNkdBQUEsZUFBZSxPQUFBO0FBQ2YsNkdBQUEsZUFBZSxPQUFBO0FBQ2Ysb0hBQUEsc0JBQXNCLE9BQUE7QUFDdEIsdUhBQUEseUJBQXlCLE9BQUE7QUFFekIsWUFBWTtBQUNaLGtIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGFBQWEsT0FBQTtBQXVCZiwrQ0FBK0M7QUFDL0Msa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3Qiw0REFBMEM7QUFFMUMsMkVBQTJFO0FBQzNFLHlEQUFzRDtBQUE3QyxvSEFBQSxlQUFlLE9BQUE7QUFFeEIsaURBQWtEO0FBQXpDLGdIQUFBLGVBQWUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFJlLWV4cG9ydCBhbGwgcHVibGljIHR5cGVzIGZyb20gQGR5YW5ldC9jb25maWctYXdzIGNvcmUgcGFja2FnZVxuZXhwb3J0IHtcbiAgLy8gTG9hZGVyc1xuICBFbnZpcm9ubWVudExvYWRlcixcbiAgRW52RmlsZUxvYWRlcixcbiAgUzNMb2FkZXIsXG4gIFNlY3JldHNNYW5hZ2VyTG9hZGVyLFxuICBTU01QYXJhbWV0ZXJTdG9yZUxvYWRlcixcblxuICAvLyBDb25maWdNYW5hZ2VyXG4gIENvbmZpZ01hbmFnZXIsXG5cbiAgLy8gRXJyb3IgY2xhc3Nlc1xuICBDb25maWd1cmF0aW9uRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgQVdTU2VydmljZUVycm9yLFxuICBDb25maWd1cmF0aW9uTG9hZEVycm9yLFxuICBNaXNzaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuXG4gIC8vIFV0aWxpdGllc1xuICBDb25maWdWYWxpZGF0aW9uVXRpbCxcbiAgRW52RmlsZVBhcnNlcixcbn0gZnJvbSAnQGR5YW5ldC9jb25maWctYXdzJztcblxuLy8gUmUtZXhwb3J0IHR5cGVzIGZyb20gQGR5YW5ldC9jb25maWctYXdzXG5leHBvcnQgdHlwZSB7XG4gIC8vIENvcmUgaW50ZXJmYWNlc1xuICBDb25maWdMb2FkZXIsXG4gIENvbmZpZ01hbmFnZXJPcHRpb25zLFxuICBMb2FkZXJQcmVjZWRlbmNlLFxuICBWZXJib3NlT3B0aW9ucyxcbiAgUHJlY2VkZW5jZVN0cmF0ZWd5LFxuICBDb25maWdMb2FkUmVzdWx0LFxuICBDb25maWdTb3VyY2VJbmZvLFxuICBMb2dnZXIsXG5cbiAgLy8gTG9hZGVyIGNvbmZpZ3NcbiAgRW52aXJvbm1lbnRMb2FkZXJDb25maWcsXG4gIEVudkZpbGVMb2FkZXJDb25maWcsXG4gIFMzTG9hZGVyQ29uZmlnLFxuICBTZWNyZXRzTWFuYWdlckxvYWRlckNvbmZpZyxcbiAgU1NNUGFyYW1ldGVyU3RvcmVMb2FkZXJDb25maWcsXG59IGZyb20gJ0BkeWFuZXQvY29uZmlnLWF3cyc7XG5cbi8vIE5lc3RKUyBkZXBlbmRlbmN5LWluamVjdGlvbiBtb2R1bGUgKyBzZXJ2aWNlXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuXG4vLyBAbmVzdGpzL2NvbmZpZyBpbnRlZ3JhdGlvbjogYSBzaW5nbGUgZmFjdG9yeSBoZWxwZXIgZm9yIHRoZSBgbG9hZGAgYXJyYXlcbmV4cG9ydCB7IGF3c0NvbmZpZ0xvYWRlciB9IGZyb20gJy4vYXdzLWNvbmZpZy1sb2FkZXInO1xuZXhwb3J0IHR5cGUgeyBBd3NDb25maWdMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9hd3MtY29uZmlnLWxvYWRlcic7XG5leHBvcnQgeyBidWlsZEF3c0xvYWRlcnMgfSBmcm9tICcuL2J1aWxkLWxvYWRlcnMnO1xuZXhwb3J0IHR5cGUgeyBBd3NMb2FkZXJTb3VyY2VzIH0gZnJvbSAnLi9idWlsZC1sb2FkZXJzJztcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigService = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Abstract ConfigService interface for dependency injection.
|
|
6
|
+
* Provides type-safe access to configuration values with generic type support.
|
|
7
|
+
*/
|
|
8
|
+
class ConfigService {
|
|
9
|
+
}
|
|
10
|
+
exports.ConfigService = ConfigService;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNlcnZpY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVyZmFjZXMvY29uZmlnLXNlcnZpY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7R0FHRztBQUNILE1BQXNCLGFBQWE7Q0FtQmxDO0FBbkJELHNDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBBYnN0cmFjdCBDb25maWdTZXJ2aWNlIGludGVyZmFjZSBmb3IgZGVwZW5kZW5jeSBpbmplY3Rpb24uXHJcbiAqIFByb3ZpZGVzIHR5cGUtc2FmZSBhY2Nlc3MgdG8gY29uZmlndXJhdGlvbiB2YWx1ZXMgd2l0aCBnZW5lcmljIHR5cGUgc3VwcG9ydC5cclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb25maWdTZXJ2aWNlPFQgPSBhbnk+IHtcclxuICAvKipcclxuICAgKiBHZXQgYSBjb25maWd1cmF0aW9uIHZhbHVlIGJ5IGtleSB3aXRoIHR5cGUgc2FmZXR5LlxyXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUgY29uZmlndXJhdGlvbiBrZXkgdG8gcmV0cmlldmVcclxuICAgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSB3aXRoIHByb3BlciB0eXBpbmdcclxuICAgKi9cclxuICBhYnN0cmFjdCBnZXQ8SyBleHRlbmRzIGtleW9mIFQ+KGtleTogSyk6IFRbS107XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRoZSBjb25maWd1cmF0aW9uIHNlcnZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXHJcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VydmljZSBpcyByZWFkeSB0byBzZXJ2ZSBjb25maWd1cmF0aW9uIHZhbHVlc1xyXG4gICAqL1xyXG4gIGFic3RyYWN0IGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBjb25maWd1cmF0aW9uIHZhbHVlcy5cclxuICAgKiBAcmV0dXJucyBUaGUgY29tcGxldGUgY29uZmlndXJhdGlvbiBvYmplY3RcclxuICAgKi9cclxuICBhYnN0cmFjdCBnZXRBbGwoKTogVDtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appEnvSchema = exports.environmentSchemas = exports.defaultConfigSchema = void 0;
|
|
4
|
+
exports.getSchemaForEnvironment = getSchemaForEnvironment;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
/**
|
|
7
|
+
* Default configuration schema using Zod.
|
|
8
|
+
* Provides a flexible base schema that can be extended by applications.
|
|
9
|
+
*/
|
|
10
|
+
exports.defaultConfigSchema = zod_1.z.object({
|
|
11
|
+
/** Node.js environment */
|
|
12
|
+
NODE_ENV: zod_1.z.enum(['production', 'development', 'test']).optional(),
|
|
13
|
+
/** Application environment (mirrors NODE_ENV with 'local' default) */
|
|
14
|
+
APP_ENV: zod_1.z.enum(['production', 'test', 'development', 'local']).default('local'),
|
|
15
|
+
/** AWS region for services */
|
|
16
|
+
AWS_REGION: zod_1.z.string().optional(),
|
|
17
|
+
/** AWS profile for local development */
|
|
18
|
+
AWS_PROFILE: zod_1.z.string().optional(),
|
|
19
|
+
/** Application port */
|
|
20
|
+
PORT: zod_1.z.coerce.number().positive().optional(),
|
|
21
|
+
/** Application host */
|
|
22
|
+
HOST: zod_1.z.string().optional(),
|
|
23
|
+
/** Log level */
|
|
24
|
+
LOG_LEVEL: zod_1.z.enum(['error', 'warn', 'info', 'debug', 'verbose']).optional(),
|
|
25
|
+
/** Database URL */
|
|
26
|
+
DATABASE_URL: zod_1.z.string().url().optional(),
|
|
27
|
+
/** Redis URL */
|
|
28
|
+
REDIS_URL: zod_1.z.string().url().optional(),
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Environment-specific validation schemas.
|
|
32
|
+
*/
|
|
33
|
+
exports.environmentSchemas = {
|
|
34
|
+
local: exports.defaultConfigSchema.extend({
|
|
35
|
+
// Local environment may have fewer required fields
|
|
36
|
+
AWS_REGION: zod_1.z.string().optional(),
|
|
37
|
+
}),
|
|
38
|
+
development: exports.defaultConfigSchema.extend({
|
|
39
|
+
// Development environment requirements
|
|
40
|
+
AWS_REGION: zod_1.z.string().min(1, 'AWS_REGION is required in development'),
|
|
41
|
+
}),
|
|
42
|
+
test: exports.defaultConfigSchema.extend({
|
|
43
|
+
// Test environment requirements
|
|
44
|
+
AWS_REGION: zod_1.z.string().min(1, 'AWS_REGION is required in test'),
|
|
45
|
+
}),
|
|
46
|
+
production: exports.defaultConfigSchema.extend({
|
|
47
|
+
// Production environment requirements
|
|
48
|
+
AWS_REGION: zod_1.z.string().min(1, 'AWS_REGION is required in production'),
|
|
49
|
+
LOG_LEVEL: zod_1.z.enum(['error', 'warn', 'info']).default('info'),
|
|
50
|
+
}),
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Helper function to get the appropriate schema for the current environment.
|
|
54
|
+
*/
|
|
55
|
+
function getSchemaForEnvironment(appEnv) {
|
|
56
|
+
const env = appEnv;
|
|
57
|
+
return exports.environmentSchemas[env] || exports.defaultConfigSchema;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validation helper for APP_ENV values.
|
|
61
|
+
*/
|
|
62
|
+
exports.appEnvSchema = zod_1.z.enum(['production', 'test', 'development', 'local']);
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zY2hlbWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVyZmFjZXMvZGVmYXVsdC1zY2hlbWEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXFFQSwwREFHQztBQXhFRCw2QkFBd0I7QUFFeEI7OztHQUdHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFDLDBCQUEwQjtJQUMxQixRQUFRLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFFbEUsc0VBQXNFO0lBQ3RFLE9BQU8sRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBRWhGLDhCQUE4QjtJQUM5QixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUVqQyx3Q0FBd0M7SUFDeEMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFbEMsdUJBQXVCO0lBQ3ZCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUU3Qyx1QkFBdUI7SUFDdkIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFM0IsZ0JBQWdCO0lBQ2hCLFNBQVMsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBRTNFLG1CQUFtQjtJQUNuQixZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUV6QyxnQkFBZ0I7SUFDaEIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDdkMsQ0FBQyxDQUFDO0FBT0g7O0dBRUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDaEMsbURBQW1EO1FBQ25ELFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ2xDLENBQUM7SUFFRixXQUFXLEVBQUUsMkJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQ3RDLHVDQUF1QztRQUN2QyxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsdUNBQXVDLENBQUM7S0FDdkUsQ0FBQztJQUVGLElBQUksRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDL0IsZ0NBQWdDO1FBQ2hDLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsQ0FBQztLQUNoRSxDQUFDO0lBRUYsVUFBVSxFQUFFLDJCQUFtQixDQUFDLE1BQU0sQ0FBQztRQUNyQyxzQ0FBc0M7UUFDdEMsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxDQUFDO1FBQ3JFLFNBQVMsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDN0QsQ0FBQztDQUNILENBQUM7QUFFRjs7R0FFRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLE1BQWM7SUFDcEQsTUFBTSxHQUFHLEdBQUcsTUFBeUMsQ0FBQztJQUN0RCxPQUFPLDBCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLDJCQUFtQixDQUFDO0FBQ3hELENBQUM7QUFFRDs7R0FFRztBQUNVLFFBQUEsWUFBWSxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XHJcblxyXG4vKipcclxuICogRGVmYXVsdCBjb25maWd1cmF0aW9uIHNjaGVtYSB1c2luZyBab2QuXHJcbiAqIFByb3ZpZGVzIGEgZmxleGlibGUgYmFzZSBzY2hlbWEgdGhhdCBjYW4gYmUgZXh0ZW5kZWQgYnkgYXBwbGljYXRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XHJcbiAgLyoqIE5vZGUuanMgZW52aXJvbm1lbnQgKi9cclxuICBOT0RFX0VOVjogei5lbnVtKFsncHJvZHVjdGlvbicsICdkZXZlbG9wbWVudCcsICd0ZXN0J10pLm9wdGlvbmFsKCksXHJcbiAgXHJcbiAgLyoqIEFwcGxpY2F0aW9uIGVudmlyb25tZW50IChtaXJyb3JzIE5PREVfRU5WIHdpdGggJ2xvY2FsJyBkZWZhdWx0KSAqL1xyXG4gIEFQUF9FTlY6IHouZW51bShbJ3Byb2R1Y3Rpb24nLCAndGVzdCcsICdkZXZlbG9wbWVudCcsICdsb2NhbCddKS5kZWZhdWx0KCdsb2NhbCcpLFxyXG4gIFxyXG4gIC8qKiBBV1MgcmVnaW9uIGZvciBzZXJ2aWNlcyAqL1xyXG4gIEFXU19SRUdJT046IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogQVdTIHByb2ZpbGUgZm9yIGxvY2FsIGRldmVsb3BtZW50ICovXHJcbiAgQVdTX1BST0ZJTEU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogQXBwbGljYXRpb24gcG9ydCAqL1xyXG4gIFBPUlQ6IHouY29lcmNlLm51bWJlcigpLnBvc2l0aXZlKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogQXBwbGljYXRpb24gaG9zdCAqL1xyXG4gIEhPU1Q6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogTG9nIGxldmVsICovXHJcbiAgTE9HX0xFVkVMOiB6LmVudW0oWydlcnJvcicsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnLCAndmVyYm9zZSddKS5vcHRpb25hbCgpLFxyXG4gIFxyXG4gIC8qKiBEYXRhYmFzZSBVUkwgKi9cclxuICBEQVRBQkFTRV9VUkw6IHouc3RyaW5nKCkudXJsKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogUmVkaXMgVVJMICovXHJcbiAgUkVESVNfVVJMOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXHJcbn0pO1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgaW5mZXJlbmNlIGZvciB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHNjaGVtYS5cclxuICovXHJcbmV4cG9ydCB0eXBlIERlZmF1bHRDb25maWdTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBkZWZhdWx0Q29uZmlnU2NoZW1hPjtcclxuXHJcbi8qKlxyXG4gKiBFbnZpcm9ubWVudC1zcGVjaWZpYyB2YWxpZGF0aW9uIHNjaGVtYXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTY2hlbWFzID0ge1xyXG4gIGxvY2FsOiBkZWZhdWx0Q29uZmlnU2NoZW1hLmV4dGVuZCh7XHJcbiAgICAvLyBMb2NhbCBlbnZpcm9ubWVudCBtYXkgaGF2ZSBmZXdlciByZXF1aXJlZCBmaWVsZHNcclxuICAgIEFXU19SRUdJT046IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICB9KSxcclxuICBcclxuICBkZXZlbG9wbWVudDogZGVmYXVsdENvbmZpZ1NjaGVtYS5leHRlbmQoe1xyXG4gICAgLy8gRGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgcmVxdWlyZW1lbnRzXHJcbiAgICBBV1NfUkVHSU9OOiB6LnN0cmluZygpLm1pbigxLCAnQVdTX1JFR0lPTiBpcyByZXF1aXJlZCBpbiBkZXZlbG9wbWVudCcpLFxyXG4gIH0pLFxyXG4gIFxyXG4gIHRlc3Q6IGRlZmF1bHRDb25maWdTY2hlbWEuZXh0ZW5kKHtcclxuICAgIC8vIFRlc3QgZW52aXJvbm1lbnQgcmVxdWlyZW1lbnRzXHJcbiAgICBBV1NfUkVHSU9OOiB6LnN0cmluZygpLm1pbigxLCAnQVdTX1JFR0lPTiBpcyByZXF1aXJlZCBpbiB0ZXN0JyksXHJcbiAgfSksXHJcbiAgXHJcbiAgcHJvZHVjdGlvbjogZGVmYXVsdENvbmZpZ1NjaGVtYS5leHRlbmQoe1xyXG4gICAgLy8gUHJvZHVjdGlvbiBlbnZpcm9ubWVudCByZXF1aXJlbWVudHNcclxuICAgIEFXU19SRUdJT046IHouc3RyaW5nKCkubWluKDEsICdBV1NfUkVHSU9OIGlzIHJlcXVpcmVkIGluIHByb2R1Y3Rpb24nKSxcclxuICAgIExPR19MRVZFTDogei5lbnVtKFsnZXJyb3InLCAnd2FybicsICdpbmZvJ10pLmRlZmF1bHQoJ2luZm8nKSxcclxuICB9KSxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBhcHByb3ByaWF0ZSBzY2hlbWEgZm9yIHRoZSBjdXJyZW50IGVudmlyb25tZW50LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjaGVtYUZvckVudmlyb25tZW50KGFwcEVudjogc3RyaW5nKTogei5ab2RTY2hlbWEge1xyXG4gIGNvbnN0IGVudiA9IGFwcEVudiBhcyBrZXlvZiB0eXBlb2YgZW52aXJvbm1lbnRTY2hlbWFzO1xyXG4gIHJldHVybiBlbnZpcm9ubWVudFNjaGVtYXNbZW52XSB8fCBkZWZhdWx0Q29uZmlnU2NoZW1hO1xyXG59XHJcblxyXG4vKipcclxuICogVmFsaWRhdGlvbiBoZWxwZXIgZm9yIEFQUF9FTlYgdmFsdWVzLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGFwcEVudlNjaGVtYSA9IHouZW51bShbJ3Byb2R1Y3Rpb24nLCAndGVzdCcsICdkZXZlbG9wbWVudCcsICdsb2NhbCddKTtcclxuXHJcbi8qKlxyXG4gKiBUeXBlIGZvciB2YWxpZCBBUFBfRU5WIHZhbHVlcy5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFwcEVudiA9IHouaW5mZXI8dHlwZW9mIGFwcEVudlNjaGVtYT47XHJcbiJdfQ==
|
|
@@ -27,4 +27,4 @@ Object.defineProperty(exports, "ConfigurationLoadError", { enumerable: true, get
|
|
|
27
27
|
Object.defineProperty(exports, "MissingConfigurationError", { enumerable: true, get: function () { return config_aws_1.MissingConfigurationError; } });
|
|
28
28
|
// Default schema and types
|
|
29
29
|
__exportStar(require("./default-schema.interface"), exports);
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtCQUFrQjtBQUNsQiw2REFBMkM7QUFDM0MsNkRBQTJDO0FBRTNDLGlFQUFpRTtBQUNqRSxpREFNNEI7QUFMMUIsZ0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsNkdBQUEsZUFBZSxPQUFBO0FBQ2YsNkdBQUEsZUFBZSxPQUFBO0FBQ2Ysb0hBQUEsc0JBQXNCLE9BQUE7QUFDdEIsdUhBQUEseUJBQXlCLE9BQUE7QUFHM0IsMkJBQTJCO0FBQzNCLDZEQUEyQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgaW50ZXJmYWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy1zZXJ2aWNlLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuXHJcbi8vIEVycm9yIGNsYXNzZXMgLSByZS1leHBvcnQgZnJvbSBjb3JlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XHJcbmV4cG9ydCB7XHJcbiAgQ29uZmlndXJhdGlvbkVycm9yLFxyXG4gIFZhbGlkYXRpb25FcnJvcixcclxuICBBV1NTZXJ2aWNlRXJyb3IsXHJcbiAgQ29uZmlndXJhdGlvbkxvYWRFcnJvcixcclxuICBNaXNzaW5nQ29uZmlndXJhdGlvbkVycm9yLFxyXG59IGZyb20gJ0BkeWFuZXQvY29uZmlnLWF3cyc7XHJcblxyXG4vLyBEZWZhdWx0IHNjaGVtYSBhbmQgdHlwZXNcclxuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXNjaGVtYS5pbnRlcmZhY2UnO1xyXG4iXX0=
|