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 +126 -181
- package/lib/Cli.js +1 -1
- package/lib/Cli.js.map +1 -1
- package/lib/cli/{domain → application/builders}/EnvilderBuilder.d.ts +3 -3
- package/lib/cli/application/builders/EnvilderBuilder.d.ts.map +1 -0
- package/lib/cli/{domain → application/builders}/EnvilderBuilder.js +3 -3
- package/lib/cli/application/builders/EnvilderBuilder.js.map +1 -0
- package/package.json +1 -1
- package/lib/cli/domain/EnvilderBuilder.d.ts.map +0 -1
- package/lib/cli/domain/EnvilderBuilder.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
</
|
|
5
|
+
</p>
|
|
5
6
|
|
|
6
|
-
<
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
122
|
-
|
|
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
|
-
|
|
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
|
-
|
|
99
|
+
## Installation 💾
|
|
132
100
|
|
|
133
|
-
|
|
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
|
-
|
|
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
|
|
147
|
-
|
|
148
|
-
| `--map`
|
|
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
|
-
|
|
121
|
+
### Example
|
|
153
122
|
|
|
154
|
-
1. Create a
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
199
|
-
# Development environment
|
|
200
|
-
envilder --map=param-map.json --envfile=.env.development --profile=dev-account
|
|
160
|
+
## Working with multiple AWS profiles
|
|
201
161
|
|
|
202
|
-
|
|
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
|
-
|
|
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
|
-
|
|
169
|
+
[dev-account]
|
|
170
|
+
aws_access_key_id=YOUR_DEV_ACCESS_KEY
|
|
171
|
+
aws_secret_access_key=YOUR_DEV_SECRET_KEY
|
|
209
172
|
|
|
210
|
-
|
|
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
|
-
|
|
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
|
-
|
|
180
|
+
```bash
|
|
181
|
+
# Development
|
|
219
182
|
|
|
220
|
-
|
|
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
|
-
|
|
185
|
+
# Production
|
|
227
186
|
|
|
228
|
-
|
|
229
|
-
|
|
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
|
-
|
|
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
|
-
|
|
192
|
+
## Sample output 📄
|
|
243
193
|
|
|
244
|
-
|
|
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
|
-
|
|
201
|
+
---
|
|
252
202
|
|
|
253
|
-
|
|
203
|
+
## Roadmap 🗺️
|
|
254
204
|
|
|
255
|
-
|
|
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
|
-
|
|
207
|
+
---
|
|
263
208
|
|
|
264
|
-
|
|
265
|
-
|
|
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
|
-
|
|
213
|
+
Feel free to open issues or pull requests.
|
|
269
214
|
|
|
270
|
-
|
|
215
|
+
---
|
|
271
216
|
|
|
272
|
-
|
|
217
|
+
## License 📄
|
|
273
218
|
|
|
274
|
-
|
|
219
|
+
MIT © [Marçal Albert](https://github.com/macalbert).
|
|
275
220
|
|
|
276
|
-
|
|
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/
|
|
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,
|
|
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 {
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
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 +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"}
|