envilder 0.5.4 → 0.5.6

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 (30) hide show
  1. package/README.md +140 -178
  2. package/lib/Cli.d.ts.map +1 -1
  3. package/lib/Cli.js +6 -3
  4. package/lib/Cli.js.map +1 -1
  5. package/lib/cli/application/EnvilderHandler.d.ts +3 -1
  6. package/lib/cli/application/EnvilderHandler.d.ts.map +1 -1
  7. package/lib/cli/application/EnvilderHandler.js +11 -10
  8. package/lib/cli/application/EnvilderHandler.js.map +1 -1
  9. package/lib/cli/application/builders/EnvilderBuilder.d.ts +18 -0
  10. package/lib/cli/application/builders/EnvilderBuilder.d.ts.map +1 -0
  11. package/lib/cli/{domain → application/builders}/EnvilderBuilder.js +17 -5
  12. package/lib/cli/application/builders/EnvilderBuilder.js.map +1 -0
  13. package/lib/cli/domain/ports/ILogger.d.ts +6 -0
  14. package/lib/cli/domain/ports/ILogger.d.ts.map +1 -0
  15. package/lib/cli/domain/ports/ILogger.js +2 -0
  16. package/lib/cli/domain/ports/ILogger.js.map +1 -0
  17. package/lib/cli/infrastructure/ConsoleLogger.d.ts +7 -0
  18. package/lib/cli/infrastructure/ConsoleLogger.d.ts.map +1 -0
  19. package/lib/cli/infrastructure/ConsoleLogger.js +12 -0
  20. package/lib/cli/infrastructure/ConsoleLogger.js.map +1 -0
  21. package/lib/cli/infrastructure/EnvFileManager.d.ts +3 -0
  22. package/lib/cli/infrastructure/EnvFileManager.d.ts.map +1 -1
  23. package/lib/cli/infrastructure/EnvFileManager.js +8 -2
  24. package/lib/cli/infrastructure/EnvFileManager.js.map +1 -1
  25. package/lib/cli/infrastructure/PackageJsonFinder.js +3 -3
  26. package/lib/cli/infrastructure/PackageJsonFinder.js.map +1 -1
  27. package/package.json +5 -5
  28. package/lib/cli/domain/EnvilderBuilder.d.ts +0 -14
  29. package/lib/cli/domain/EnvilderBuilder.d.ts.map +0 -1
  30. package/lib/cli/domain/EnvilderBuilder.js.map +0 -1
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
- <h1 align="center">
2
- <br>
1
+ # Envilder
2
+
3
+ <p align="center">
3
4
  <img src="https://github.com/user-attachments/assets/96bf1efa-7d21-440a-a414-3a20e7f9a1f1" alt="Envilder">
4
- </h1>
5
+ </p>
5
6
 
6
- <h4 align="center">A CLI that securely centralizes your environment variables from AWS SSM as a single source of truth</h4>
7
+ <p align="center">
8
+ <b>✨ A CLI that securely centralizes your environment variables from AWS SSM as a single source of truth ✨</b>
9
+ </p>
7
10
 
8
11
  <p align="center">
9
12
  <a href="https://www.npmjs.com/package/envilder">
@@ -17,141 +20,136 @@
17
20
  </a>
18
21
  </p>
19
22
 
20
- ## 🌟 Key benefits
23
+ ---
21
24
 
22
- - **🔒 Strict access control** - AWS IAM policies control who accesses which secrets (dev vs prod)
23
- - **📊 Full audit trail** - All parameter access is logged in CloudTrail for compliance requirements
24
- - **🧩 Single source of truth** - No more copying .env files from Notion or emails - SSM is your only source
25
- - **🔁 Idempotent operations** - Overwrites values in your `.env` file *only* for variables defined in your mapping
26
- file, using the latest from SSM. Variables not in the mapping file are preserved. Safe for automation.
27
- - **⚙️ Environment-aware** - Use templates like `/project/${ENV}/DB_PASSWORD` to dynamically fetch the right secrets
28
- - **🧱 No extra infrastructure** - Uses AWS SSM's existing reliability instead of additional secret managers
25
+ ## Video Demonstration 🎥
29
26
 
30
- ## Quick start
27
+ Check out this video to learn how to use Envilder:
31
28
 
32
- ```bash
33
- # Install globally
34
- npm install -g envilder
29
+ <video width="640" height="360" controls>
30
+ <source src="https://github.com/user-attachments/assets/3c4985e6-49e9-4f29-bf1c-130747df0ca6" type="video/mp4">
31
+ Your browser does not support the video tag.
32
+ </video>
35
33
 
36
- # Create a simple mapping file
37
- echo '{"DB_PASSWORD": "/my-app/db/password"}' > param-map.json
34
+ ---
38
35
 
39
- # Generate your .env file
40
- envilder --map=param-map.json --envfile=.env
41
- ```
36
+ ## Table of contents
42
37
 
43
- ## 🤔 What problem does Envilder solve?
44
-
45
- <table>
46
- <tr>
47
- <th>❌ Without Envilder</th>
48
- <th>✅ With Envilder</th>
49
- </tr>
50
- <tr>
51
- <td>
52
-
53
- ```plaintext
54
- - Secrets committed to repos
55
- - Manual .env file updates
56
- - Inconsistent environments
57
- - Password sharing via chat/email
58
- - CI/CD secrets management pain
59
- ```
38
+ - [Envilder](#envilder)
39
+ - [Video Demonstration 🎥](#video-demonstration-)
40
+ - [Table of contents](#table-of-contents)
41
+ - [Features](#features)
42
+ - [Feature status](#feature-status)
43
+ - [Quick start 🚀](#quick-start-)
44
+ - [How it works 🛠️](#how-it-works-️)
45
+ - [Installation 💾](#installation-)
46
+ - [Usage](#usage)
47
+ - [Example](#example)
48
+ - [Working with multiple AWS profiles](#working-with-multiple-aws-profiles)
49
+ - [Sample output 📄](#sample-output-)
50
+ - [Roadmap 🗺️](#roadmap-️)
51
+ - [Contributing 🤝](#contributing-)
52
+ - [License 📄](#license-)
60
53
 
61
- </td>
62
- <td>
54
+ ---
63
55
 
64
- ```plaintext
65
- - Secrets stored securely in AWS SSM
66
- - Automated .env file generation
67
- - Consistent environments
68
- - No need to share raw credentials
69
- - Simple CI/CD integration
70
- ```
56
+ ## Features
71
57
 
72
- </td>
73
- </tr>
74
- </table>
58
+ - **🔒 Strict access control** — AWS IAM policies control who accesses which secrets (dev vs prod)
59
+ - **📊 Full audit trail** — All parameter access is logged in CloudTrail for compliance
60
+ - **🧩 Single source of truth** — No more copying .env files from Notion or emails
61
+ - **🔁 Idempotent operations** — Only variables in your mapping file are overwritten; others are preserved
62
+ - **🧱 No extra infrastructure** — Uses AWS SSM's reliability, no new services needed
75
63
 
76
- ## 💡 Why Envilder?
64
+ ### Feature status
77
65
 
78
- - 🔐 **No more secrets in git** - Store credentials in AWS SSM Parameter Store instead of version control
79
- - 🤖 **Automate everything** - One command to generate your `.env` files across all environments
80
- - 🔄 **Always in sync** - Keep your local, dev, and production environments consistent
81
- - 🏎️ **Fast to set up** - Configure once, then generate `.env` files with a single command
82
- - 🪶 **Simple but powerful** - Easy interface with support for encrypted parameters and multiple AWS profiles
66
+ | Feature | Status | Notes |
67
+ |--------------------------------|---------------|-------|
68
+ | Mapping-based secret resolution| Implemented | |
69
+ | .env file generation | Implemented | |
70
+ | AWS profile support | Implemented | |
71
+ | Auto-discovery mode (`--auto`) | ❌ Not implemented | Planned |
72
+ | Check/sync mode (`--check`) | ❌ Not implemented | Planned |
73
+ | Import/push mode (`--import`) | ❌ Not implemented | Planned |
74
+ | Webhook/Slack notification | ❌ Not implemented | Planned |
75
+ | Hierarchical mapping | ❌ Not implemented | Only flat JSON mapping supported |
76
+ | Plugin system | ❌ Not implemented | Only AWS SSM supported |
83
77
 
84
- ## 🎯 Perfect for teams
78
+ ---
85
79
 
86
- Envilder is the tool you need if you:
80
+ ## Quick start 🚀
87
81
 
88
- - 👥 **Work in a development team** - Ensure everyone has the same environment without sharing raw secrets
89
- - 🔑 **Deal with API keys & tokens** - Securely store and retrieve sensitive credentials
90
- - ⚙️ **Run CI/CD pipelines** - Automatically generate environment files during deployments
91
- - ☁️ **Use AWS already** - Leverage your existing AWS infrastructure more effectively
92
- - 🌐 **Manage multiple environments** - Switch easily between dev, staging, and production
82
+ ```bash
83
+ npm install -g envilder
93
84
 
94
- ## 🔍 How it works (simple!)
85
+ # Watch the video demonstration for detailed guidance
86
+ # https://github.com/user-attachments/assets/3c4985e6-49e9-4f29-bf1c-130747df0ca6
87
+
88
+ echo '{"DB_PASSWORD": "/my-app/db/password"}' > param-map.json
89
+
90
+ envilder --map=param-map.json --envfile=.env
91
+ ```
92
+
93
+ ---
94
+
95
+ ## How it works 🛠️
95
96
 
96
97
  ```mermaid
98
+
97
99
  graph LR
98
100
  A[Mapping File] --> B[Envilder]
99
101
  C[AWS Credentials] --> B
100
102
  B --> D[.env File]
101
103
  E[SSM Parameters] --> B
102
- ```
103
-
104
- 1. 📖 **Define your mapping** - Simple JSON mapping env vars to SSM paths
105
- 2. 🚀 **Run Envilder** - One command with your mapping file
106
- 3. 🔄 **Auto-fetch from AWS** - Retrieves values using your AWS credentials
107
- 4. 💾 **Get your .env file** - Ready to use in your project
108
-
109
- ## ⚙️ Prerequisites
110
-
111
- You'll need:
112
104
 
113
- - ✅ **AWS CLI** - Installed and configured with proper permissions to access SSM Parameter Store
114
- - ✅ **Node.js** - Version 20.0.0 or higher (as specified in `package.json`)
115
-
116
- ### AWS CLI setup
117
-
118
- 1. Install the AWS CLI by following the [official instructions](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
119
- 2. After installation, configure the AWS CLI:
105
+ ```
120
106
 
121
- ```bash
122
- aws configure
123
- ```
107
+ 1. **Define your mapping** — Simple JSON mapping env vars to SSM paths
108
+ 2. **Run Envilder** — One command with your mapping file
109
+ 3. **Auto-fetch from AWS** — Retrieves values using your AWS credentials
110
+ 4. **Get your .env file** — Ready to use in your project
124
111
 
125
- You'll be prompted to provide:
126
- - AWS Access Key ID
127
- - AWS Secret Access Key
128
- - Default region name (e.g., `us-east-1`)
129
- - Default output format (e.g., `json`)
112
+ ---
130
113
 
131
- Make sure your AWS credentials have the appropriate permissions to access the SSM Parameter Store.
114
+ ## Installation 💾
132
115
 
133
- ## 📦 Installation
116
+ **Requires:** Node.js >= 20.0.0, AWS CLI configured with SSM access
134
117
 
135
118
  ```bash
136
- # Using npm
137
119
  npm install -g envilder
138
120
  ```
139
121
 
140
- ## 🚀 Usage
122
+ ---
123
+
124
+ ## Usage
141
125
 
142
126
  ```bash
143
127
  envilder --map=<mapping-file> --envfile=<output-file> [--profile=<aws-profile>]
144
128
  ```
145
129
 
146
- | Option | Description |
147
- |--------|-------------|
148
- | `--map` | Path to JSON mapping file (required) |
149
- | `--envfile` | Path to output .env file (required) |
150
- | `--profile` | AWS CLI profile to use (optional) |
130
+ | Option | Description |
131
+ |-------------|---------------------------------------------|
132
+ | `--map` | Path to JSON mapping file (required) |
133
+ | `--envfile` | Path to output .env file (required) |
134
+ | `--profile` | AWS CLI profile to use (optional) |
135
+
136
+ ### Example
151
137
 
152
- ## 🔧 Quick example
138
+ 1. **Create a parameter in AWS SSM Parameter Store using AWS CLI:**
153
139
 
154
- 1. Create a mapping file `param-map.json`:
140
+ ```bash
141
+ aws ssm put-parameter --name "/path/to/ssm/token" --value "my-secret-token-value" --type "SecureString"
142
+ aws ssm put-parameter --name "/path/to/ssm/password" --value "my-secret-password-value" --type "SecureString"
143
+ ```
144
+
145
+ You can also create the parameter in a specific profile (for example, `dev-account`):
146
+
147
+ ```bash
148
+ aws ssm put-parameter --name "/path/to/ssm/token" --value "my-secret-token-value" --type "SecureString" --profile dev-account
149
+ aws ssm put-parameter --name "/path/to/ssm/password" --value "my-secret-password-value" --type "SecureString" --profile dev-account
150
+ ```
151
+
152
+ 2. Create a mapping file `param-map.json`:
155
153
 
156
154
  ```json
157
155
  {
@@ -160,117 +158,81 @@ envilder --map=<mapping-file> --envfile=<output-file> [--profile=<aws-profile>]
160
158
  }
161
159
  ```
162
160
 
163
- 2. Generate your `.env` file:
161
+ 3. Generate your `.env` file:
164
162
 
165
163
  ```bash
166
164
  envilder --map=param-map.json --envfile=.env
167
165
  ```
168
166
 
169
- 3. Use a specific AWS profile:
167
+ 4. Watch the video demonstration for detailed guidance:
170
168
 
171
- ```bash
172
- envilder --map=param-map.json --envfile=.env --profile=dev-account
169
+ ```plaintext
170
+ https://github.com/user-attachments/assets/3c4985e6-49e9-4f29-bf1c-130747df0ca6
173
171
  ```
174
172
 
175
- ## 🌐 Working with multiple AWS profiles
173
+ ---
176
174
 
177
- For multiple AWS accounts or environments, configure different profiles in your AWS credentials file:
175
+ ## Working with multiple AWS profiles
178
176
 
179
- 1. Edit your AWS credentials file (typically located at `~/.aws/credentials` on Linux/Mac
180
- or `%USERPROFILE%\.aws\credentials` on Windows):
177
+ Configure different profiles in your AWS credentials file (usually at `~/.aws/credentials` or `%USERPROFILE%\.aws\credentials`):
181
178
 
182
- ```ini
183
- [default]
184
- aws_access_key_id=YOUR_DEFAULT_ACCESS_KEY
185
- aws_secret_access_key=YOUR_DEFAULT_SECRET_KEY
186
-
187
- [dev-account]
188
- aws_access_key_id=YOUR_DEV_ACCESS_KEY
189
- aws_secret_access_key=YOUR_DEV_SECRET_KEY
190
-
191
- [prod-account]
192
- aws_access_key_id=YOUR_PROD_ACCESS_KEY
193
- aws_secret_access_key=YOUR_PROD_SECRET_KEY
194
- ```
195
-
196
- 2. Specify which profile to use:
197
-
198
- ```bash
199
- # Development environment
200
- envilder --map=param-map.json --envfile=.env.development --profile=dev-account
201
-
202
- # Production environment
203
- envilder --map=param-map.json --envfile=.env.production --profile=prod-account
204
- ```
205
-
206
- ## 🛠️ Advanced usage: environment-specific parameters
179
+ ```ini
180
+ [default]
181
+ aws_access_key_id=YOUR_DEFAULT_ACCESS_KEY
182
+ aws_secret_access_key=YOUR_DEFAULT_SECRET_KEY
207
183
 
208
- Envilder works brilliantly with environment variables for dynamic parameter paths:
184
+ [dev-account]
185
+ aws_access_key_id=YOUR_DEV_ACCESS_KEY
186
+ aws_secret_access_key=YOUR_DEV_SECRET_KEY
209
187
 
210
- 1. Set up your SSM parameters with environment-specific paths:
188
+ [prod-account]
189
+ aws_access_key_id=YOUR_PROD_ACCESS_KEY
190
+ aws_secret_access_key=YOUR_PROD_SECRET_KEY
191
+ ```
211
192
 
212
- ```text
213
- /project/dev/DB_PASSWORD
214
- /project/stage/DB_PASSWORD
215
- /project/prod/DB_PASSWORD
216
- ```
193
+ Specify which profile to use:
217
194
 
218
- 2. Create a template-based mapping file `env-map.json`:
195
+ ```bash
196
+ # Development
219
197
 
220
- ```json
221
- {
222
- "DB_PASSWORD": "/project/${ENV}/DB_PASSWORD"
223
- }
224
- ```
198
+ envilder --map=param-map.json --envfile=.env.development --profile=dev-account
225
199
 
226
- 3. Generate environment-specific .env files:
200
+ # Production
227
201
 
228
- ```powershell
229
- # Development
230
- $env:ENV = "dev"
231
- envilder --map=env-map.json --envfile=.env.dev
202
+ envilder --map=param-map.json --envfile=.env.production --profile=prod-account
203
+ ```
232
204
 
233
- # Staging
234
- $env:ENV = "stage"
235
- envilder --map=env-map.json --envfile=.env.stage
236
-
237
- # Production
238
- $env:ENV = "prod"
239
- envilder --map=env-map.json --envfile=.env.prod --profile=prod-account
240
- ```
205
+ ---
241
206
 
242
- This approach ensures the right variables are pulled for each environment with minimal configuration.
207
+ ## Sample output 📄
243
208
 
244
- ## 📂 Sample `.env` output
209
+ Example `.env` file generated:
245
210
 
246
211
  ```ini
247
212
  SECRET_TOKEN=mockedEmail@example.com
248
213
  SECRET_KEY=mockedPassword
249
214
  ```
250
215
 
251
- ## 🎯 Why use Envilder in practice?
216
+ ---
252
217
 
253
- Envilder eliminates common problems in development teams:
218
+ ## Roadmap 🗺️
254
219
 
255
- - **🛑 No more "it works on my machine"** - Everyone uses the exact same environment variables from the same source
256
- - **🔄 Always fresh credentials** - Update a secret in SSM and everyone gets it automatically on next run
257
- - **🛡️ Access control built-in** - Developers only see dev secrets, CI/CD systems see what they need
258
- - **🧠 Zero mental overhead** - No need to remember which variables are needed - the mapping defines everything
259
- - **🚫 No more sharing secrets** - Stop pasting credentials in Slack, email, or Notion documents
260
- - **📋 Compliance ready** - All accesses are logged in AWS CloudTrail for auditing
220
+ See [ROADMAP.md](./ROADMAP.md) for planned features and ideas.
261
221
 
262
- ## 🧪 Running tests
222
+ ---
263
223
 
264
- ```bash
265
- npm test
266
- ```
224
+ ## Contributing 🤝
225
+
226
+ Contributions are welcome! Please see the [contributing guidelines](https://github.com/macalbert/envilder/blob/main/.github/pull_request_template.md).
227
+
228
+ Feel free to open issues or pull requests.
267
229
 
268
- Check the current coverage report: [Coverage Report](https://macalbert.github.io/envilder/)
230
+ ---
269
231
 
270
- ## 📝 License
232
+ ## License 📄
271
233
 
272
- This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
234
+ MIT © [Marçal Albert](https://github.com/macalbert).
273
235
 
274
- ## 🙌 Contributing
236
+ See [LICENSE](./LICENSE) for details.
275
237
 
276
- Contributions are welcome! Feel free to submit issues and pull requests.
238
+ ---
package/lib/Cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":";AAOA;;;;;;GAMG;AACH,wBAAsB,IAAI,kBA4BzB"}
1
+ {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":";AAQA;;;;;;GAMG;AACH,wBAAsB,IAAI,kBA6BzB"}
package/lib/Cli.js CHANGED
@@ -11,7 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  import { dirname, join } from 'node:path';
12
12
  import { fileURLToPath } from 'node:url';
13
13
  import { Command } from 'commander';
14
- import { EnvilderBuilder } from './cli/domain/EnvilderBuilder.js';
14
+ import { EnvilderBuilder } from './cli/application/builders/EnvilderBuilder.js';
15
+ import { ConsoleLogger } from './cli/infrastructure/ConsoleLogger.js';
15
16
  import { PackageJsonFinder } from './cli/infrastructure/PackageJsonFinder.js';
16
17
  /**
17
18
  * Parses CLI arguments and runs the environment file generator.
@@ -37,6 +38,7 @@ export function main() {
37
38
  throw new Error('Missing required arguments: --map and --envfile');
38
39
  }
39
40
  const envilder = EnvilderBuilder.build()
41
+ .withConsoleLogger()
40
42
  .withDefaultFileManager()
41
43
  .withAwsProvider(options.profile)
42
44
  .create();
@@ -49,7 +51,8 @@ function getVersion() {
49
51
  return new PackageJsonFinder().readPackageJsonVersion(join(__dirname, '../package.json'));
50
52
  }
51
53
  main().catch((error) => {
52
- console.error('🚨 Uh-oh! Looks like Mario fell into the wrong pipe! 🍄💥');
53
- console.error(error);
54
+ const logger = new ConsoleLogger();
55
+ logger.error('🚨 Uh-oh! Looks like Mario fell into the wrong pipe! 🍄💥');
56
+ logger.error(error instanceof Error ? error.message : String(error));
54
57
  });
55
58
  //# sourceMappingURL=Cli.js.map
package/lib/Cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,UAAgB,IAAI;;QACxB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QAEnC,OAAO;aACJ,IAAI,CAAC,UAAU,CAAC;aAChB,WAAW,CAAC,2DAA2D,CAAC;aACxE,OAAO,CAAC,OAAO,CAAC;aAChB,cAAc,CACb,cAAc,EACd,yDAAyD,CAC1D;aACA,cAAc,CAAC,kBAAkB,EAAE,uCAAuC,CAAC;aAC3E,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE;aACrC,sBAAsB,EAAE;aACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;aAChC,MAAM,EAAE,CAAC;QAEZ,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CAAA;AAED,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtC,OAAO,IAAI,iBAAiB,EAAE,CAAC,sBAAsB,CACnD,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,UAAgB,IAAI;;QACxB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QAEnC,OAAO;aACJ,IAAI,CAAC,UAAU,CAAC;aAChB,WAAW,CAAC,2DAA2D,CAAC;aACxE,OAAO,CAAC,OAAO,CAAC;aAChB,cAAc,CACb,cAAc,EACd,yDAAyD,CAC1D;aACA,cAAc,CAAC,kBAAkB,EAAE,uCAAuC,CAAC;aAC3E,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE;aACrC,iBAAiB,EAAE;aACnB,sBAAsB,EAAE;aACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;aAChC,MAAM,EAAE,CAAC;QAEZ,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CAAA;AAED,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtC,OAAO,IAAI,iBAAiB,EAAE,CAAC,sBAAsB,CACnD,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import type { IEnvFileManager } from '../domain/ports/IEnvFileManager';
2
+ import type { ILogger } from '../domain/ports/ILogger';
2
3
  import type { ISecretProvider } from '../domain/ports/ISecretProvider';
3
4
  export declare class Envilder {
4
5
  private keyVault;
5
6
  private envFileManager;
6
- constructor(keyVault: ISecretProvider, envFileManager: IEnvFileManager);
7
+ private logger;
8
+ constructor(keyVault: ISecretProvider, envFileManager: IEnvFileManager, logger: ILogger);
7
9
  /**
8
10
  * Orchestrates the process of fetching environment variable values from a key vault and writing them to a local environment file.
9
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"EnvilderHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/application/EnvilderHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAAkB;gBAE5B,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe;IAKtE;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;YAmBhC,MAAM;YAuBN,aAAa;CAqB5B"}
1
+ {"version":3,"file":"EnvilderHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/application/EnvilderHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAU;gBAGtB,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,eAAe,EAC/B,MAAM,EAAE,OAAO;IAOjB;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;YAmBhC,MAAM;YAuBN,aAAa;CAqB5B"}
@@ -8,9 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  export class Envilder {
11
- constructor(keyVault, envFileManager) {
11
+ constructor(keyVault, envFileManager, logger) {
12
12
  this.keyVault = keyVault;
13
13
  this.envFileManager = envFileManager;
14
+ this.logger = logger;
14
15
  }
15
16
  /**
16
17
  * Orchestrates the process of fetching environment variable values from a key vault and writing them to a local environment file.
@@ -27,12 +28,12 @@ export class Envilder {
27
28
  const currentVariables = yield this.envFileManager.loadEnvFile(envFilePath);
28
29
  const envilded = yield this.envild(requestVariables, currentVariables);
29
30
  yield this.envFileManager.saveEnvFile(envFilePath, envilded);
30
- console.log(`Environment File generated at '${envFilePath}'`);
31
+ this.logger.info(`Environment File generated at '${envFilePath}'`);
31
32
  }
32
- catch (error) {
33
- const errorMessage = error instanceof Error ? error.message : String(error);
34
- console.error(`Failed to generate environment file: ${errorMessage}`);
35
- throw error;
33
+ catch (_error) {
34
+ const errorMessage = _error instanceof Error ? _error.message : String(_error);
35
+ this.logger.error(`Failed to generate environment file: ${errorMessage}`);
36
+ throw _error;
36
37
  }
37
38
  });
38
39
  }
@@ -56,15 +57,15 @@ export class Envilder {
56
57
  try {
57
58
  const value = yield this.keyVault.getSecret(secretName);
58
59
  if (!value) {
59
- console.error(`Warning: No value found for: '${secretName}'`);
60
+ this.logger.warn(`Warning: No value found for: '${secretName}'`);
60
61
  return null;
61
62
  }
62
63
  existingEnvVariables[envVar] = value;
63
- console.log(`${envVar}=${value.length > 10 ? '*'.repeat(value.length - 3) + value.slice(-3) : '*'.repeat(value.length)}`);
64
+ this.logger.info(`${envVar}=${value.length > 10 ? '*'.repeat(value.length - 3) + value.slice(-3) : '*'.repeat(value.length)}`);
64
65
  return null;
65
66
  }
66
- catch (error) {
67
- console.error(`Error fetching parameter: '${secretName}'`);
67
+ catch (_error) {
68
+ this.logger.error(`Error fetching parameter: '${secretName}'`);
68
69
  return `ParameterNotFound: ${secretName}`;
69
70
  }
70
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EnvilderHandler.js","sourceRoot":"","sources":["../../../src/cli/application/EnvilderHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvilderHandler.js","sourceRoot":"","sources":["../../../src/cli/application/EnvilderHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { IEnvFileManager } from '../../domain/ports/IEnvFileManager.js';
2
+ import type { ILogger } from '../../domain/ports/ILogger';
3
+ import type { ISecretProvider } from '../../domain/ports/ISecretProvider.js';
4
+ import { Envilder } from '../EnvilderHandler.js';
5
+ export declare class EnvilderBuilder {
6
+ private provider?;
7
+ private fileManager?;
8
+ private logger?;
9
+ static build(): EnvilderBuilder;
10
+ withDefaultFileManager(): this;
11
+ withEnvFileManager(fileManager: IEnvFileManager): this;
12
+ withProvider(provider: ISecretProvider): this;
13
+ withLogger(logger: ILogger): this;
14
+ withConsoleLogger(): this;
15
+ withAwsProvider(profile?: string): this;
16
+ create(): Envilder;
17
+ }
18
+ //# sourceMappingURL=EnvilderBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvilderBuilder.d.ts","sourceRoot":"","sources":["../../../../src/cli/application/builders/EnvilderBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAI7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAU;IAEzB,MAAM,CAAC,KAAK,IAAI,eAAe;IAI/B,sBAAsB,IAAI,IAAI;IAK9B,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAKtD,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK7C,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKjC,iBAAiB,IAAI,IAAI;IAKzB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAWvC,MAAM,IAAI,QAAQ;CAenB"}
@@ -1,14 +1,15 @@
1
1
  import { SSM } from '@aws-sdk/client-ssm';
2
2
  import { fromIni } from '@aws-sdk/credential-providers';
3
- import { Envilder } from '../application/EnvilderHandler.js';
4
- import { AwsSsmSecretProvider } from '../infrastructure/AwsSsmSecretProvider.js';
5
- import { EnvFileManager } from '../infrastructure/EnvFileManager.js';
3
+ import { AwsSsmSecretProvider } from '../../infrastructure/AwsSsmSecretProvider.js';
4
+ import { ConsoleLogger } from '../../infrastructure/ConsoleLogger.js';
5
+ import { EnvFileManager } from '../../infrastructure/EnvFileManager.js';
6
+ import { Envilder } from '../EnvilderHandler.js';
6
7
  export class EnvilderBuilder {
7
8
  static build() {
8
9
  return new EnvilderBuilder();
9
10
  }
10
11
  withDefaultFileManager() {
11
- this.fileManager = new EnvFileManager();
12
+ this.fileManager = new EnvFileManager(this.logger);
12
13
  return this;
13
14
  }
14
15
  withEnvFileManager(fileManager) {
@@ -19,6 +20,14 @@ export class EnvilderBuilder {
19
20
  this.provider = provider;
20
21
  return this;
21
22
  }
23
+ withLogger(logger) {
24
+ this.logger = logger;
25
+ return this;
26
+ }
27
+ withConsoleLogger() {
28
+ this.logger = new ConsoleLogger();
29
+ return this;
30
+ }
22
31
  withAwsProvider(profile) {
23
32
  const ssm = profile == null
24
33
  ? new SSM()
@@ -35,7 +44,10 @@ export class EnvilderBuilder {
35
44
  if (!this.fileManager) {
36
45
  throw new Error('Env file manager must be specified');
37
46
  }
38
- return new Envilder(this.provider, this.fileManager);
47
+ if (!this.logger) {
48
+ throw new Error('Logger must be specified');
49
+ }
50
+ return new Envilder(this.provider, this.fileManager, this.logger);
39
51
  }
40
52
  }
41
53
  //# sourceMappingURL=EnvilderBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvilderBuilder.js","sourceRoot":"","sources":["../../../../src/cli/application/builders/EnvilderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,OAAO,eAAe;IAK1B,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,WAA4B;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,QAAyB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,MAAe;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,MAAM,GAAG,GACP,OAAO,IAAI,IAAI;YACb,CAAC,CAAC,IAAI,GAAG,EAAE;YACX,CAAC,CAAC,IAAI,GAAG,CAAC;gBACN,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aACxB,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export interface ILogger {
2
+ info(message: string): void;
3
+ warn(message: string): void;
4
+ error(message: string): void;
5
+ }
6
+ //# sourceMappingURL=ILogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILogger.d.ts","sourceRoot":"","sources":["../../../../src/cli/domain/ports/ILogger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ILogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILogger.js","sourceRoot":"","sources":["../../../../src/cli/domain/ports/ILogger.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { ILogger } from '../domain/ports/ILogger';
2
+ export declare class ConsoleLogger implements ILogger {
3
+ info(message: string): void;
4
+ warn(message: string): void;
5
+ error(message: string): void;
6
+ }
7
+ //# sourceMappingURL=ConsoleLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../../src/cli/infrastructure/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,aAAc,YAAW,OAAO;IAC3C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG7B"}
@@ -0,0 +1,12 @@
1
+ export class ConsoleLogger {
2
+ info(message) {
3
+ console.log(message);
4
+ }
5
+ warn(message) {
6
+ console.warn(message);
7
+ }
8
+ error(message) {
9
+ console.error(message);
10
+ }
11
+ }
12
+ //# sourceMappingURL=ConsoleLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../../src/cli/infrastructure/ConsoleLogger.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -1,5 +1,8 @@
1
1
  import type { IEnvFileManager } from '../domain/ports/IEnvFileManager';
2
+ import type { ILogger } from '../domain/ports/ILogger';
2
3
  export declare class EnvFileManager implements IEnvFileManager {
4
+ private logger;
5
+ constructor(logger: ILogger);
3
6
  loadMapFile(mapPath: string): Promise<Record<string, string>>;
4
7
  loadEnvFile(envFilePath: string): Promise<Record<string, string>>;
5
8
  saveEnvFile(envFilePath: string, envVariables: Record<string, string>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"EnvFileManager.d.ts","sourceRoot":"","sources":["../../../src/cli/infrastructure/EnvFileManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qBAAa,cAAe,YAAW,eAAe;IAC9C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAU7D,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAajE,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAOhB,OAAO,CAAC,cAAc;CAGvB"}
1
+ {"version":3,"file":"EnvFileManager.d.ts","sourceRoot":"","sources":["../../../src/cli/infrastructure/EnvFileManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,MAAM,CAAU;gBACZ,MAAM,EAAE,OAAO;IAOrB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAU7D,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAajE,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAOhB,OAAO,CAAC,cAAc;CAGvB"}
@@ -10,14 +10,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import * as fs from 'node:fs/promises';
11
11
  import * as dotenv from 'dotenv';
12
12
  export class EnvFileManager {
13
+ constructor(logger) {
14
+ if (!logger) {
15
+ throw new Error('Logger must be specified');
16
+ }
17
+ this.logger = logger;
18
+ }
13
19
  loadMapFile(mapPath) {
14
20
  return __awaiter(this, void 0, void 0, function* () {
15
21
  const content = yield fs.readFile(mapPath, 'utf-8');
16
22
  try {
17
23
  return JSON.parse(content);
18
24
  }
19
- catch (err) {
20
- console.error(`Error parsing JSON from ${mapPath}`);
25
+ catch (_err) {
26
+ this.logger.error(`Error parsing JSON from ${mapPath}`);
21
27
  throw new Error(`Invalid JSON in parameter map file: ${mapPath}`);
22
28
  }
23
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EnvFileManager.js","sourceRoot":"","sources":["../../../src/cli/infrastructure/EnvFileManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGjC,MAAM,OAAO,cAAc;IACnB,WAAW,CAAC,OAAe;;YAC/B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;KAAA;IAEK,WAAW,CAAC,WAAmB;;YACnC,MAAM,YAAY,GAA2B,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAEK,WAAW,CACf,WAAmB,EACnB,YAAoC;;YAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEO,cAAc,CAAC,KAAa;QAClC,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"EnvFileManager.js","sourceRoot":"","sources":["../../../src/cli/infrastructure/EnvFileManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,MAAM,OAAO,cAAc;IAEzB,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEK,WAAW,CAAC,OAAe;;YAC/B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,IAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;KAAA;IAEK,WAAW,CAAC,WAAmB;;YACnC,MAAM,YAAY,GAA2B,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAEK,WAAW,CACf,WAAmB,EACnB,YAAoC;;YAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEO,cAAc,CAAC,KAAa;QAClC,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -20,11 +20,11 @@ export class PackageJsonFinder {
20
20
  }
21
21
  return pkg.version;
22
22
  }
23
- catch (err) {
24
- if (this.isEnoentError(err)) {
23
+ catch (_err) {
24
+ if (this.isEnoentError(_err)) {
25
25
  throw new Error('package.json not found');
26
26
  }
27
- throw new Error(`Failed to read or parse package.json: ${err instanceof Error ? err.message : String(err)}`);
27
+ throw new Error(`Failed to read or parse package.json: ${_err instanceof Error ? _err.message : String(_err)}`);
28
28
  }
29
29
  });
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PackageJsonFinder.js","sourceRoot":"","sources":["../../../src/cli/infrastructure/PackageJsonFinder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,OAAO,iBAAiB;IACtB,sBAAsB,CAAC,eAAuB;;YAClD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEvD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEO,aAAa,CAAC,GAAY;QAChC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,IAAK,GAAyB,CAAC,IAAI,KAAK,QAAQ,CAAC;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"PackageJsonFinder.js","sourceRoot":"","sources":["../../../src/cli/infrastructure/PackageJsonFinder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,OAAO,iBAAiB;IACtB,sBAAsB,CAAC,eAAuB;;YAClD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEvD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEO,aAAa,CAAC,GAAY;QAChC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,IAAK,GAAyB,CAAC,IAAI,KAAK,QAAQ,CAAC;IACvE,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "envilder",
3
- "version": "0.5.4",
3
+ "version": "0.5.6",
4
4
  "description": "A CLI that securely centralizes your environment variables from AWS SSM as a single source of truth",
5
5
  "main": "./lib/Cli.js",
6
6
  "bin": {
@@ -67,13 +67,13 @@
67
67
  "picocolors": "^1.1.0"
68
68
  },
69
69
  "devDependencies": {
70
- "@biomejs/biome": "^1.9.1",
71
- "@secretlint/secretlint-rule-preset-recommend": "^9.3.2",
70
+ "@biomejs/biome": "^2.0.6",
71
+ "@secretlint/secretlint-rule-preset-recommend": "^10.1.1",
72
72
  "@testcontainers/localstack": "^11.0.1",
73
73
  "@types/glob": "^8.1.0",
74
74
  "@vitest/coverage-v8": "^3.1.1",
75
75
  "glob": "^11.0.2",
76
- "secretlint": "^9.3.2",
76
+ "secretlint": "^10.1.1",
77
77
  "testcontainers": "^11.0.1",
78
78
  "ts-node": "^10.9.2",
79
79
  "typescript": "^5.6.2",
@@ -82,4 +82,4 @@
82
82
  "engines": {
83
83
  "node": ">=20.0.0"
84
84
  }
85
- }
85
+ }
@@ -1,14 +0,0 @@
1
- import { Envilder } from '../application/EnvilderHandler.js';
2
- import type { IEnvFileManager } from './ports/IEnvFileManager.js';
3
- import type { ISecretProvider } from './ports/ISecretProvider.js';
4
- export declare class EnvilderBuilder {
5
- private provider?;
6
- private fileManager?;
7
- static build(): EnvilderBuilder;
8
- withDefaultFileManager(): this;
9
- withEnvFileManager(fileManager: IEnvFileManager): this;
10
- withProvider(provider: ISecretProvider): this;
11
- withAwsProvider(profile?: string): this;
12
- create(): Envilder;
13
- }
14
- //# sourceMappingURL=EnvilderBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvilderBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/domain/EnvilderBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,MAAM,CAAC,KAAK,IAAI,eAAe;IAI/B,sBAAsB,IAAI,IAAI;IAK9B,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAKtD,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK7C,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAYvC,MAAM,IAAI,QAAQ;CAWnB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvilderBuilder.js","sourceRoot":"","sources":["../../../src/cli/domain/EnvilderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAIrE,MAAM,OAAO,eAAe;IAI1B,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,WAA4B;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,QAAyB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,MAAM,GAAG,GACP,OAAO,IAAI,IAAI;YACb,CAAC,CAAC,IAAI,GAAG,EAAE;YACX,CAAC,CAAC,IAAI,GAAG,CAAC;gBACN,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aACxB,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;CACF"}