envilder 0.5.4 → 0.5.5

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/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,121 @@
17
20
  </a>
18
21
  </p>
19
22
 
20
- ## 🌟 Key benefits
21
-
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
29
-
30
- ## Quick start
23
+ ---
24
+
25
+ ## Table of contents
26
+
27
+ - [Envilder](#envilder)
28
+ - [Table of contents](#table-of-contents)
29
+ - [Features](#features)
30
+ - [Feature status](#feature-status)
31
+ - [Quick start 🚀](#quick-start-)
32
+ - [How it works 🛠️](#how-it-works-️)
33
+ - [Installation 💾](#installation-)
34
+ - [Usage](#usage)
35
+ - [Example](#example)
36
+ - [Working with multiple AWS profiles](#working-with-multiple-aws-profiles)
37
+ - [Sample output 📄](#sample-output-)
38
+ - [Roadmap 🗺️](#roadmap-️)
39
+ - [Contributing 🤝](#contributing-)
40
+ - [License 📄](#license-)
41
+
42
+ ---
43
+
44
+ ## Features
45
+
46
+ - **🔒 Strict access control** — AWS IAM policies control who accesses which secrets (dev vs prod)
47
+ - **📊 Full audit trail** — All parameter access is logged in CloudTrail for compliance
48
+ - **🧩 Single source of truth** — No more copying .env files from Notion or emails
49
+ - **🔁 Idempotent operations** — Only variables in your mapping file are overwritten; others are preserved
50
+ - **🧱 No extra infrastructure** — Uses AWS SSM's reliability, no new services needed
51
+
52
+ ### Feature status
53
+
54
+ | Feature | Status | Notes |
55
+ |--------------------------------|---------------|-------|
56
+ | Mapping-based secret resolution| ✅ Implemented | |
57
+ | .env file generation | ✅ Implemented | |
58
+ | AWS profile support | ✅ Implemented | |
59
+ | Auto-discovery mode (`--auto`) | ❌ Not implemented | Planned |
60
+ | Check/sync mode (`--check`) | ❌ Not implemented | Planned |
61
+ | Import/push mode (`--import`) | ❌ Not implemented | Planned |
62
+ | Webhook/Slack notification | ❌ Not implemented | Planned |
63
+ | Hierarchical mapping | ❌ Not implemented | Only flat JSON mapping supported |
64
+ | Plugin system | ❌ Not implemented | Only AWS SSM supported |
65
+
66
+ ---
67
+
68
+ ## Quick start 🚀
31
69
 
32
70
  ```bash
33
- # Install globally
34
71
  npm install -g envilder
35
72
 
36
- # Create a simple mapping file
37
73
  echo '{"DB_PASSWORD": "/my-app/db/password"}' > param-map.json
38
74
 
39
- # Generate your .env file
40
75
  envilder --map=param-map.json --envfile=.env
41
76
  ```
42
77
 
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
- ```
60
-
61
- </td>
62
- <td>
63
-
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
- ```
71
-
72
- </td>
73
- </tr>
74
- </table>
75
-
76
- ## 💡 Why Envilder?
78
+ ---
77
79
 
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
83
-
84
- ## 🎯 Perfect for teams
85
-
86
- Envilder is the tool you need if you:
87
-
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
93
-
94
- ## 🔍 How it works (simple!)
80
+ ## How it works 🛠️
95
81
 
96
82
  ```mermaid
83
+
97
84
  graph LR
98
85
  A[Mapping File] --> B[Envilder]
99
86
  C[AWS Credentials] --> B
100
87
  B --> D[.env File]
101
88
  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
89
 
109
- ## ⚙️ Prerequisites
110
-
111
- You'll need:
112
-
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:
90
+ ```
120
91
 
121
- ```bash
122
- aws configure
123
- ```
92
+ 1. **Define your mapping** — Simple JSON mapping env vars to SSM paths
93
+ 2. **Run Envilder** — One command with your mapping file
94
+ 3. **Auto-fetch from AWS** — Retrieves values using your AWS credentials
95
+ 4. **Get your .env file** — Ready to use in your project
124
96
 
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`)
97
+ ---
130
98
 
131
- Make sure your AWS credentials have the appropriate permissions to access the SSM Parameter Store.
99
+ ## Installation 💾
132
100
 
133
- ## 📦 Installation
101
+ **Requires:** Node.js >= 20.0.0, AWS CLI configured with SSM access
134
102
 
135
103
  ```bash
136
- # Using npm
137
104
  npm install -g envilder
138
105
  ```
139
106
 
140
- ## 🚀 Usage
107
+ ---
108
+
109
+ ## Usage
141
110
 
142
111
  ```bash
143
112
  envilder --map=<mapping-file> --envfile=<output-file> [--profile=<aws-profile>]
144
113
  ```
145
114
 
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) |
115
+ | Option | Description |
116
+ |-------------|---------------------------------------------|
117
+ | `--map` | Path to JSON mapping file (required) |
118
+ | `--envfile` | Path to output .env file (required) |
119
+ | `--profile` | AWS CLI profile to use (optional) |
151
120
 
152
- ## 🔧 Quick example
121
+ ### Example
153
122
 
154
- 1. Create a mapping file `param-map.json`:
123
+ 1. **Create a parameter in AWS SSM Parameter Store using AWS CLI:**
124
+
125
+ ```bash
126
+ aws ssm put-parameter --name "/path/to/ssm/token" --value "my-secret-token-value" --type "SecureString"
127
+ aws ssm put-parameter --name "/path/to/ssm/password" --value "my-secret-password-value" --type "SecureString"
128
+ ```
129
+
130
+ You can also create the parameter in a specific profile (for example, `dev-account`):
131
+
132
+ ```bash
133
+ aws ssm put-parameter --name "/path/to/ssm/token" --value "my-secret-token-value" --type "SecureString" --profile dev-account
134
+ aws ssm put-parameter --name "/path/to/ssm/password" --value "my-secret-password-value" --type "SecureString" --profile dev-account
135
+ ```
136
+
137
+ 2. Create a mapping file `param-map.json`:
155
138
 
156
139
  ```json
157
140
  {
@@ -160,117 +143,79 @@ envilder --map=<mapping-file> --envfile=<output-file> [--profile=<aws-profile>]
160
143
  }
161
144
  ```
162
145
 
163
- 2. Generate your `.env` file:
146
+ 3. Generate your `.env` file:
164
147
 
165
148
  ```bash
166
149
  envilder --map=param-map.json --envfile=.env
167
150
  ```
168
151
 
169
- 3. Use a specific AWS profile:
152
+ 4. Use a specific AWS profile:
170
153
 
171
154
  ```bash
172
155
  envilder --map=param-map.json --envfile=.env --profile=dev-account
173
156
  ```
174
157
 
175
- ## 🌐 Working with multiple AWS profiles
176
-
177
- For multiple AWS accounts or environments, configure different profiles in your AWS credentials file:
178
-
179
- 1. Edit your AWS credentials file (typically located at `~/.aws/credentials` on Linux/Mac
180
- or `%USERPROFILE%\.aws\credentials` on Windows):
181
-
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:
158
+ ---
197
159
 
198
- ```bash
199
- # Development environment
200
- envilder --map=param-map.json --envfile=.env.development --profile=dev-account
160
+ ## Working with multiple AWS profiles
201
161
 
202
- # Production environment
203
- envilder --map=param-map.json --envfile=.env.production --profile=prod-account
204
- ```
162
+ Configure different profiles in your AWS credentials file (usually at `~/.aws/credentials` or `%USERPROFILE%\.aws\credentials`):
205
163
 
206
- ## 🛠️ Advanced usage: environment-specific parameters
164
+ ```ini
165
+ [default]
166
+ aws_access_key_id=YOUR_DEFAULT_ACCESS_KEY
167
+ aws_secret_access_key=YOUR_DEFAULT_SECRET_KEY
207
168
 
208
- Envilder works brilliantly with environment variables for dynamic parameter paths:
169
+ [dev-account]
170
+ aws_access_key_id=YOUR_DEV_ACCESS_KEY
171
+ aws_secret_access_key=YOUR_DEV_SECRET_KEY
209
172
 
210
- 1. Set up your SSM parameters with environment-specific paths:
173
+ [prod-account]
174
+ aws_access_key_id=YOUR_PROD_ACCESS_KEY
175
+ aws_secret_access_key=YOUR_PROD_SECRET_KEY
176
+ ```
211
177
 
212
- ```text
213
- /project/dev/DB_PASSWORD
214
- /project/stage/DB_PASSWORD
215
- /project/prod/DB_PASSWORD
216
- ```
178
+ Specify which profile to use:
217
179
 
218
- 2. Create a template-based mapping file `env-map.json`:
180
+ ```bash
181
+ # Development
219
182
 
220
- ```json
221
- {
222
- "DB_PASSWORD": "/project/${ENV}/DB_PASSWORD"
223
- }
224
- ```
183
+ envilder --map=param-map.json --envfile=.env.development --profile=dev-account
225
184
 
226
- 3. Generate environment-specific .env files:
185
+ # Production
227
186
 
228
- ```powershell
229
- # Development
230
- $env:ENV = "dev"
231
- envilder --map=env-map.json --envfile=.env.dev
187
+ envilder --map=param-map.json --envfile=.env.production --profile=prod-account
188
+ ```
232
189
 
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
- ```
190
+ ---
241
191
 
242
- This approach ensures the right variables are pulled for each environment with minimal configuration.
192
+ ## Sample output 📄
243
193
 
244
- ## 📂 Sample `.env` output
194
+ Example `.env` file generated:
245
195
 
246
196
  ```ini
247
197
  SECRET_TOKEN=mockedEmail@example.com
248
198
  SECRET_KEY=mockedPassword
249
199
  ```
250
200
 
251
- ## 🎯 Why use Envilder in practice?
201
+ ---
252
202
 
253
- Envilder eliminates common problems in development teams:
203
+ ## Roadmap 🗺️
254
204
 
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
205
+ See [ROADMAP.md](./ROADMAP.md) for planned features and ideas.
261
206
 
262
- ## 🧪 Running tests
207
+ ---
263
208
 
264
- ```bash
265
- npm test
266
- ```
209
+ ## Contributing 🤝
210
+
211
+ Contributions are welcome! Please see the [contributing guidelines](https://github.com/macalbert/envilder/blob/main/.github/pull_request_template.md).
267
212
 
268
- Check the current coverage report: [Coverage Report](https://macalbert.github.io/envilder/)
213
+ Feel free to open issues or pull requests.
269
214
 
270
- ## 📝 License
215
+ ---
271
216
 
272
- This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
217
+ ## License 📄
273
218
 
274
- ## 🙌 Contributing
219
+ MIT © [Marçal Albert](https://github.com/macalbert).
275
220
 
276
- Contributions are welcome! Feel free to submit issues and pull requests.
221
+ See [LICENSE](./LICENSE) for details.
package/lib/Cli.js CHANGED
@@ -11,7 +11,7 @@ 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
15
  import { PackageJsonFinder } from './cli/infrastructure/PackageJsonFinder.js';
16
16
  /**
17
17
  * Parses CLI arguments and runs the environment file generator.
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,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,6 +1,6 @@
1
- import { Envilder } from '../application/EnvilderHandler.js';
2
- import type { IEnvFileManager } from './ports/IEnvFileManager.js';
3
- import type { ISecretProvider } from './ports/ISecretProvider.js';
1
+ import type { IEnvFileManager } from '../../domain/ports/IEnvFileManager.js';
2
+ import type { ISecretProvider } from '../../domain/ports/ISecretProvider.js';
3
+ import { Envilder } from '../EnvilderHandler.js';
4
4
  export declare class EnvilderBuilder {
5
5
  private provider?;
6
6
  private fileManager?;
@@ -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,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,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;IAWvC,MAAM,IAAI,QAAQ;CAWnB"}
@@ -1,8 +1,8 @@
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 { EnvFileManager } from '../../infrastructure/EnvFileManager.js';
5
+ import { Envilder } from '../EnvilderHandler.js';
6
6
  export class EnvilderBuilder {
7
7
  static build() {
8
8
  return new EnvilderBuilder();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvilderBuilder.js","sourceRoot":"","sources":["../../../../src/cli/application/builders/EnvilderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,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;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,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,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.5",
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": {
@@ -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"}