envilder 0.9.2 → 0.9.4

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 (63) hide show
  1. package/README.md +204 -278
  2. package/ROADMAP.md +5 -5
  3. package/docs/CHANGELOG.md +9 -513
  4. package/docs/changelogs/cli.md +498 -0
  5. package/docs/changelogs/gha.md +74 -0
  6. package/docs/changelogs/sdk-dotnet.md +80 -0
  7. package/docs/changelogs/sdk-nodejs.md +22 -0
  8. package/docs/changelogs/sdk-python.md +82 -0
  9. package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js +3 -3
  10. package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map +1 -1
  11. package/lib/sdks/nodejs/src/application/envilder-client.d.ts +29 -0
  12. package/lib/sdks/nodejs/src/application/envilder-client.d.ts.map +1 -0
  13. package/lib/sdks/nodejs/src/application/envilder-client.js +60 -0
  14. package/lib/sdks/nodejs/src/application/envilder-client.js.map +1 -0
  15. package/lib/sdks/nodejs/src/application/envilder.d.ts +64 -0
  16. package/lib/sdks/nodejs/src/application/envilder.d.ts.map +1 -0
  17. package/lib/sdks/nodejs/src/application/envilder.js +168 -0
  18. package/lib/sdks/nodejs/src/application/envilder.js.map +1 -0
  19. package/lib/sdks/nodejs/src/application/map-file-parser.d.ts +14 -0
  20. package/lib/sdks/nodejs/src/application/map-file-parser.d.ts.map +1 -0
  21. package/lib/sdks/nodejs/src/application/map-file-parser.js +55 -0
  22. package/lib/sdks/nodejs/src/application/map-file-parser.js.map +1 -0
  23. package/lib/sdks/nodejs/src/application/secret-validation.d.ts +18 -0
  24. package/lib/sdks/nodejs/src/application/secret-validation.d.ts.map +1 -0
  25. package/lib/sdks/nodejs/src/application/secret-validation.js +32 -0
  26. package/lib/sdks/nodejs/src/application/secret-validation.js.map +1 -0
  27. package/lib/sdks/nodejs/src/domain/envilder-options.d.ts +7 -0
  28. package/lib/sdks/nodejs/src/domain/envilder-options.d.ts.map +1 -0
  29. package/lib/sdks/nodejs/src/domain/envilder-options.js +2 -0
  30. package/lib/sdks/nodejs/src/domain/envilder-options.js.map +1 -0
  31. package/lib/sdks/nodejs/src/domain/map-file-config.d.ts +7 -0
  32. package/lib/sdks/nodejs/src/domain/map-file-config.d.ts.map +1 -0
  33. package/lib/sdks/nodejs/src/domain/map-file-config.js +2 -0
  34. package/lib/sdks/nodejs/src/domain/map-file-config.js.map +1 -0
  35. package/lib/sdks/nodejs/src/domain/parsed-map-file.d.ts +6 -0
  36. package/lib/sdks/nodejs/src/domain/parsed-map-file.d.ts.map +1 -0
  37. package/lib/sdks/nodejs/src/domain/parsed-map-file.js +2 -0
  38. package/lib/sdks/nodejs/src/domain/parsed-map-file.js.map +1 -0
  39. package/lib/sdks/nodejs/src/domain/ports/secret-provider.d.ts +18 -0
  40. package/lib/sdks/nodejs/src/domain/ports/secret-provider.d.ts.map +1 -0
  41. package/lib/sdks/nodejs/src/domain/ports/secret-provider.js +2 -0
  42. package/lib/sdks/nodejs/src/domain/ports/secret-provider.js.map +1 -0
  43. package/lib/sdks/nodejs/src/domain/secret-provider-type.d.ts +5 -0
  44. package/lib/sdks/nodejs/src/domain/secret-provider-type.d.ts.map +1 -0
  45. package/lib/sdks/nodejs/src/domain/secret-provider-type.js +6 -0
  46. package/lib/sdks/nodejs/src/domain/secret-provider-type.js.map +1 -0
  47. package/lib/sdks/nodejs/src/index.d.ts +12 -0
  48. package/lib/sdks/nodejs/src/index.d.ts.map +1 -0
  49. package/lib/sdks/nodejs/src/index.js +11 -0
  50. package/lib/sdks/nodejs/src/index.js.map +1 -0
  51. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.d.ts +17 -0
  52. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.d.ts.map +1 -0
  53. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.js +56 -0
  54. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.js.map +1 -0
  55. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.d.ts +15 -0
  56. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.d.ts.map +1 -0
  57. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.js +68 -0
  58. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.js.map +1 -0
  59. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.d.ts +5 -0
  60. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.d.ts.map +1 -0
  61. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.js +42 -0
  62. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.js.map +1 -0
  63. package/package.json +17 -8
package/ROADMAP.md CHANGED
@@ -31,15 +31,15 @@ or directly inside application code at runtime.
31
31
  | **Azure Key Vault** | Multi-backend via `$config` map-file section ([#90](https://github.com/macalbert/envilder/pull/90)) |
32
32
  | **Documentation website** | [envilder.com](https://envilder.com) |
33
33
  | **Onboarding documentation** | [Setup guide](./docs/requirements-installation.md) |
34
+ | **.NET SDK** (`Envilder`) | First runtime SDK — load secrets into `IConfiguration` or `EnvilderClient`. AWS SSM + Azure Key Vault. [Documentation](./src/sdks/dotnet/README.md) |
35
+ | **Python SDK** (`envilder`) | Runtime library for Python — Django, FastAPI, data pipelines. Sync API with `EnvilderClient`, `MapFileParser`, `SecretProviderFactory`. AWS SSM + Azure Key Vault. Published to PyPI. [Documentation](./src/sdks/python/README.md) |
36
+ | **Node.js SDK** (`@envilder/sdk`) | Runtime library for Node.js — load secrets directly into `process.env` from a map-file. AWS SSM + Azure Key Vault. Published to npm. [Documentation](./src/sdks/nodejs/README.md) |
34
37
 
35
38
  ### 🔥 Up Next
36
39
 
37
40
  | Feature | Priority | Notes |
38
41
  |---------|----------|-------|
39
- | **TypeScript SDK** (`@envilder/sdk`) | 🔴 High | Native runtime library — load secrets directly into `process.env` from a map-file. No `.env` file needed. Published to npm |
40
- | **Python SDK** (`envilder`) | 🔴 High | Runtime library for Python — Django/FastAPI/data pipelines. Published to PyPI |
41
42
  | **Go SDK** (`envilder`) | 🔴 High | Runtime library for Go — cloud-native apps, Kubernetes tooling. Published as Go module |
42
- | **.NET SDK** (`Envilder`) | 🔴 High | Runtime library for .NET — enterprise apps, Azure-native shops. Published to NuGet |
43
43
  | **Java SDK** (`envilder`) | 🔴 High | Runtime library for Java/Kotlin — Spring Boot, Android backends. Published to Maven Central |
44
44
  | **Map-file JSON Schema** | 🔴 High | Formal spec for the map-file format at `spec/` — serves as the contract between all SDKs and tools |
45
45
  | **SDK conformance tests** | 🔴 High | Language-agnostic test fixtures (JSON input → expected output) that all SDKs must pass |
@@ -82,7 +82,7 @@ All five SDKs are developed **in parallel** — same map-file contract, same con
82
82
 
83
83
  | SDK | Package | Registry |
84
84
  |-----|---------|----------|
85
- | **TypeScript** | `@envilder/sdk` | npm |
85
+ | **Node.js** | `@envilder/sdk` | npm |
86
86
  | **Python** | `envilder` | PyPI |
87
87
  | **Go** | `envilder` | Go module |
88
88
  | **.NET** | `Envilder` | NuGet |
@@ -92,7 +92,7 @@ All five SDKs are developed **in parallel** — same map-file contract, same con
92
92
 
93
93
  - **One map-file spec** — formal JSON Schema at `spec/` is the source of truth for all SDKs
94
94
  - **Conformance tests** — language-agnostic fixtures that every SDK must pass
95
- - **Independent versioning** — each SDK has its own semver (`sdk-ts@1.2.0`, `sdk-py@0.3.0`)
95
+ - **Independent versioning** — each SDK has its own semver (`sdk-node@1.2.0`, `sdk-py@0.3.0`)
96
96
  - **Shared test infrastructure** — LocalStack (AWS) and Lowkey Vault (Azure) via Docker Compose serve all SDKs
97
97
 
98
98
  ---
package/docs/CHANGELOG.md CHANGED
@@ -1,515 +1,11 @@
1
- ## [0.9.1] - 2026-03-30
1
+ # Changelog
2
2
 
3
- ### Added
3
+ Each Envilder component maintains its own changelog:
4
4
 
5
- * **Documentation website** Full Astro-based docs site deployed at [envilder.com](https://envilder.com), with multi-language support (EN, ES, CA), dark/retro and light themes, and a dedicated changelog page
6
-
7
- ### Changed
8
-
9
- * Updated Envilder logo in README
10
-
11
- ### Fixed
12
-
13
- * **deps:** Move `@types/node` from `dependencies` to `devDependencies` to prevent it from being bundled as a runtime dependency
14
- * **e2e:** Use unique SSM paths per CLI test run to prevent race conditions between parallel test executions
15
-
16
- ### Dependencies
17
-
18
- * Bump `brace-expansion` from 5.0.4 to 5.0.5 (security patch)
19
- * Bump `@azure/core-rest-pipeline` and `@azure/identity` group updates
20
-
21
- ---
22
-
23
- ## [0.8.0] - 2026-03-22
24
-
25
- ### Added
26
-
27
- * **`$config` section in map files** — Map files now support an optional `$config` key to declare provider and connection
28
- details inline (e.g., `"provider": "azure"`, `"vaultUrl": "https://..."`, `"profile": "dev-account"`)
29
- * New CLI flag `--vault-url <url>` — Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
30
- * New GitHub Action input `vault-url` — Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
31
- * Precedence chain: CLI flags / GHA inputs > `$config` in map file > defaults
32
- * Backward compatible: existing map files without `$config` continue to work (defaults to AWS provider)
33
- * **Azure Key Vault support** — Use `--provider=azure` (CLI) or `provider: azure` (GitHub Action) to pull/push secrets
34
- from Azure Key Vault ([#90](https://github.com/macalbert/envilder/pull/90))
35
- * New infrastructure adapter: `AzureKeyVaultSecretProvider` implementing `ISecretProvider`
36
- * New CLI option `--provider <name>` to select cloud provider (`aws` or `azure`, default: `aws`)
37
- * New GitHub Action input `provider` for selecting the cloud provider
38
- * Azure authentication via `DefaultAzureCredential` (supports Azure CLI, managed identity, etc.)
39
- * Automatic secret name normalization for Azure Key Vault naming constraints
40
-
41
- ### Changed
42
-
43
- * **CLI flag `--ssm-path` renamed to `--secret-path`** — The old flag is still accepted as a deprecated alias and
44
- prints a warning. It will be removed in a future release.
45
- * `configureInfrastructureServices()` now receives a single `MapFileConfig` object instead of separate parameters
46
- * CLI and GHA entry points read `$config` from the map file and merge with CLI flags / GHA inputs
47
- * Extracted shared `ContainerConfiguration` module (`src/envilder/apps/shared/`) for DI setup reused by CLI and GitHub Action
48
- * Both `Startup.ts` files (CLI and GHA) now delegate to shared `configureInfrastructureServices()` and `configureApplicationServices()`
49
- * Updated CLI description to include Azure Key Vault examples
50
- * Updated `action.yml` description and inputs to reflect multi-provider support
51
-
52
- ### Dependencies
53
-
54
- * Added `@azure/keyvault-secrets`
55
- * Added `@azure/identity`
56
- * Added `@azure/core-rest-pipeline`
57
-
58
- ### Documentation
59
-
60
- * Updated all documentation to reflect `$config` map-file section and `--vault-url` flag
61
- * Updated architecture diagrams and DI code snippets
62
- * Updated GitHub Action examples to use `vault-url` input
63
- * Updated ROADMAP to mark Azure Key Vault as fully implemented
64
-
65
- ---
66
-
67
- ## [0.7.12] - 2026-03-22
68
-
69
- ### Fixed
70
-
71
- * **ssm:** Upgrade AWS SDK to resolve fast-xml-parser CVEs ([#128](https://github.com/macalbert/envilder/pull/128))
72
-
73
- ### Changed
74
-
75
- * **ci:** Upgrade `dorny/test-reporter` to v3 for Node.js 24 support ([#127](https://github.com/macalbert/envilder/pull/127))
76
- * **dx:** Add AI workflow agents, prompts, and lefthook pre-commit hook ([#125](https://github.com/macalbert/envilder/pull/125))
77
-
78
- ### Dependencies
79
-
80
- * Bump `undici` from 7.22.0 to 7.24.1 ([#126](https://github.com/macalbert/envilder/pull/126))
81
-
82
- ---
83
-
84
- ## [0.7.11] - 2026-03-08
85
-
86
- ### Security
87
-
88
- * Bump AWS SDK packages to resolve `fast-xml-parser` vulnerability ([#124](https://github.com/macalbert/envilder/pull/124))
89
-
90
- ---
91
-
92
- ## [0.7.10] - 2026-03-02
93
-
94
- ### Changed
95
-
96
- * **ci:** Update CI configuration for improved build reliability
97
- * Bump AWS SDK SSM to 3.1000.0 and align CI/publish workflows ([#123](https://github.com/macalbert/envilder/pull/123))
98
-
99
- ### Dependencies
100
-
101
- * Bump `@aws-sdk/credential-providers` from 3.995.0 to 3.1000.0 ([#122](https://github.com/macalbert/envilder/pull/122))
102
- * Bump `@types/node` from 25.3.0 to 25.3.3 ([#121](https://github.com/macalbert/envilder/pull/121))
103
- * Bump `minimatch` ([#119](https://github.com/macalbert/envilder/pull/119))
104
-
105
- ---
106
-
107
- ## [0.7.9] - 2026-02-22
108
-
109
- ### Fixed
110
-
111
- * **security:** Patch transitive dependency vulnerabilities ([#118](https://github.com/macalbert/envilder/pull/118))
112
- * **ci:** Simplify npm publish command in workflow
113
-
114
- ### Documentation
115
-
116
- * Updated GitHub Action docs to reference v0.7.9
117
-
118
- ---
119
-
120
- ## [0.7.8] - 2026-02-05
121
-
122
- ### Fixed
123
-
124
- * **deps:** Upgrade AWS SDK to resolve `fast-xml-parser` DoS vulnerability ([#116](https://github.com/macalbert/envilder/pull/116))
125
-
126
- ### Dependencies
127
-
128
- * Bump `@isaacs/brace-expansion` ([#115](https://github.com/macalbert/envilder/pull/115))
129
- * Bump `@secretlint/secretlint-rule-preset-recommend` ([#114](https://github.com/macalbert/envilder/pull/114))
130
- * Bump `commander` from 14.0.2 to 14.0.3 ([#113](https://github.com/macalbert/envilder/pull/113))
131
- * Bump `@aws-sdk/client-ssm` from 3.958.0 to 3.980.0 ([#112](https://github.com/macalbert/envilder/pull/112))
132
- * Bump `secretlint` from 11.2.5 to 11.3.1 ([#110](https://github.com/macalbert/envilder/pull/110))
133
- * Bump `@commitlint/cli` from 20.3.0 to 20.4.0 ([#111](https://github.com/macalbert/envilder/pull/111))
134
-
135
- ---
136
-
137
- ## [0.7.7] - 2026-01-27
138
-
139
- ### Added
140
-
141
- * **push:** AWS throttling retry logic and duplicate SSM path validation ([#109](https://github.com/macalbert/envilder/pull/109))
142
-
143
- ### Fixed
144
-
145
- * **ci:** Streamline `npm publish` workflow to prevent failures ([#106](https://github.com/macalbert/envilder/pull/106))
146
- * **ci-publish:** Update publish command in workflow
147
-
148
- ### Dependencies
149
-
150
- * Bump `lodash` ([#108](https://github.com/macalbert/envilder/pull/108))
151
- * Bump `diff` ([#107](https://github.com/macalbert/envilder/pull/107))
152
-
153
- ---
154
-
155
- ## [0.7.6] - 2026-01-16
156
-
157
- ### Fixed
158
-
159
- * **ci:** Align npm publish script with CI workflow expectations to prevent failures
160
- * Removed redundant validation steps (lint, build, test) from publish script that were already executed in CI
161
-
162
- ### Changed
163
-
164
- * Simplified npm publish script from full validation pipeline to `npm pack --dry-run && npm publish`
165
- * Updated README badge links - npm downloads now links to npmcharts for visual statistics
166
- * Converted README badges from HTML to standard Markdown format for better maintainability
167
- * Updated GitHub Action version references from v0.7.2 to v0.7.6 in documentation
168
-
169
- ### Removed
170
-
171
- * **ci:** Deleted deprecated `publish-action.yml` workflow
172
-
173
- ---
174
-
175
- ## [0.7.5] - 2026-01-15
176
-
177
- ### Documentation
178
-
179
- * Remove changelog generation instructions from documentation ([#104](https://github.com/macalbert/envilder/pull/104))
180
- * Update GitHub Copilot instructions
181
-
182
- ### Dependencies
183
-
184
- * Bump undici to address security vulnerability ([#105](https://github.com/macalbert/envilder/pull/105))
185
-
186
- ---
187
-
188
- ## [0.7.4] - 2026-01-02
189
-
190
- ### Changed
191
-
192
- * **ci:** Update npm publish command to include `--no-git-checks` flag
193
-
194
- ### Dependencies
195
-
196
- * Bump @commitlint/cli from 20.1.0 to 20.2.0 ([#103](https://github.com/macalbert/envilder/pull/103))
197
- * Bump testcontainers from 11.9.0 to 11.11.0 ([#102](https://github.com/macalbert/envilder/pull/102))
198
- * Bump @types/node from 24.10.1 to 25.0.3 ([#101](https://github.com/macalbert/envilder/pull/101))
199
- * Bump @testcontainers/localstack from 11.9.0 to 11.11.0 ([#100](https://github.com/macalbert/envilder/pull/100))
200
- * Bump @commitlint/config-conventional ([#99](https://github.com/macalbert/envilder/pull/99))
201
-
202
- ---
203
-
204
- ## [0.7.3] - 2025-11-29
205
-
206
- ### Changed
207
-
208
- * **ci:** Update Node.js version to 24 in workflow
209
- * Update publish command to use pnpm
210
- * Add repository field to package.json
211
- * Standardize quotes in publish-npm.yml
212
-
213
- ### Dependencies
214
-
215
- * Bump actions/checkout from 5 to 6 ([#98](https://github.com/macalbert/envilder/pull/98))
216
- * Bump glob from 11.1.0 to 13.0.0 ([#97](https://github.com/macalbert/envilder/pull/97))
217
- * Bump pnpm/action-setup from 2 to 4 ([#92](https://github.com/macalbert/envilder/pull/92))
218
- * Bump @commitlint/cli from 19.8.1 to 20.1.0 ([#94](https://github.com/macalbert/envilder/pull/94))
219
- * Bump glob in the npm_and_yarn group ([#96](https://github.com/macalbert/envilder/pull/96))
220
-
221
- ---
222
-
223
- ## [0.7.1] - 2025-11-16
224
-
225
- ### Documentation
226
-
227
- * Update README and ROADMAP for GitHub Action integration ([#95](https://github.com/macalbert/envilder/pull/95))
228
- * Update GitHub Action version from v1 to v0.7.1
229
- * Fix example version for GitHub Action
230
-
231
- ### Changed
232
-
233
- * **ci:** Update workflow to use pnpm for dependency management
234
-
235
- ### Tests
236
-
237
- * Increase timeout for E2E tests to 60 seconds
238
-
239
- ---
240
-
241
- ## [0.7.0] - 2025-11-16
242
-
243
- ### Added
244
-
245
- * **githubAction:** Add end-to-end tests for GitHub Actions simulation
246
- * **githubAction:** Update action paths and add new GitHub Action implementation
247
- * **packaging:** Add project build and uninstall functionality
248
-
249
- ### Fixed
250
-
251
- * **githubAction:** Correct author name in action.yml
252
- * **githubAction:** Correct build command from `ppnpm` to `pnpm`
253
- * **githubAction:** Correct path to `GitHubAction.js` in validation step
254
- * **githubAction:** Remove source map generation from `build:gha` script
255
- * **githubAction:** Update action references in documentation and code
256
-
257
- ### Changed
258
-
259
- * Move GitHub Action to `github-action/` subfolder
260
-
261
- ### Breaking Changes
262
-
263
- * Action path changed from `macalbert/envilder@v1` to `macalbert/envilder/github-action@v1`
264
-
265
- ---
266
-
267
- ## [0.6.6] - 2025-11-02
268
-
269
- ### Changed
270
-
271
- * Updated AWS credentials configuration in workflows
272
- * Bumped vite from 7.1.10 to 7.1.11
273
- * Bumped @types/node from 24.7.2 to 24.9.2
274
- * Bumped @biomejs/biome from 2.2.6 to 2.3.2
275
- * Bumped GitHub/codeql-action from 3 to 4
276
- * Bumped actions/setup-node from 5 to 6
277
- * Bumped vitest from 3.2.4 to 4.0.6
278
-
279
- ### Documentation
280
-
281
- * Added Snyk badge for known vulnerabilities in README
282
-
283
- ## [0.6.5] - 2025-10-15
284
-
285
- ### Added
286
-
287
- * Enabled npm trusted publishing with OIDC authentication
288
-
289
- ### Changed
290
-
291
- * Bumped tmp from 0.2.3 to 0.2.4
292
- * Bumped @types/node from 22.16.3 to 24.3.0
293
- * Bumped @testcontainers/localstack from 11.2.1 to 11.5.1
294
- * Bumped testcontainers from 11.2.1 to 11.5.1
295
- * Bumped @aws-sdk/credential-providers from 3.844.0 to 3.879.0
296
- * Bumped secretlint from 10.2.1 to 11.2.0
297
- * Bumped @biomejs/biome from 2.1.3 to 2.2.4
298
- * Bumped @secretlint/secretlint-rule-preset-recommend from 10.2.1 to 11.2.4
299
- * Bumped vite from 7.0.4 to 7.1.5
300
- * Bumped commander from 14.0.0 to 14.0.1
301
- * Bumped inversify from 7.6.1 to 7.10.2
302
- * Updated actions/checkout from 4 to 5
303
- * Updated actions/setup-node from 4 to 5
304
- * Updated actions/upload-pages-artifact from 3 to 4
305
- * Updated aws-actions/configure-aws-credentials from 4 to 5
306
-
307
- ## [0.6.4] - 2025-08-02
308
-
309
- ### Changed
310
-
311
- * Bumped typescript from 5.8.3 to 5.9.2
312
- * Bumped secretlint from 10.2.0 to 10.2.1
313
- * Bumped @types/glob from 8.1.0 to 9.0.0
314
- * Bumped @secretlint/secretlint-rule-preset-recommend from 10.2.0 to 10.2.1
315
- * Bumped @biomejs/biome from 2.1.1 to 2.1.3
316
-
317
- ## [0.6.3] - 2025-07-20
318
-
319
- ### Changed
320
-
321
- * Bump version to 0.6.3 in package.json
322
-
323
- ---
324
-
325
- ## [0.6.2] - 2025-07-20
326
-
327
- ### Changed
328
-
329
- * **di:** Implement .NET-Style DIP Startup Pattern for dependency injection — improved separation of concerns in DI configuration ([#59](https://github.com/macalbert/envilder/pull/59))
330
-
331
- ---
332
-
333
- ## [0.6.1] - 2025-07-13
334
-
335
- ### Added
336
-
337
- * **Push Mode** functionality to upload environment variables to AWS SSM Parameter Store
338
- * File-based approach for pushing multiple variables from `.env` files
339
- * Single-variable approach for direct command line uploads
340
- * Support for working with different AWS profiles when pushing secrets
341
- * Comprehensive test coverage for all Push Mode functionality
342
-
343
- ### Security
344
-
345
- * Implemented secure parameter handling to protect sensitive values
346
- * Maintained AWS IAM best practices for least privilege
347
- * Added safeguards against accidental overwrites of critical parameters
348
-
349
- ### Changed
350
-
351
- * Designed clean, modular command structure for Push Mode operations
352
- * Added new domain models and handlers to support Push feature
353
- * Maintained separation of concerns between infrastructure and application layers
354
- * Ensured backward compatibility with existing Pull Mode features
355
-
356
- ### Documentation
357
-
358
- * Added comprehensive examples for all new Push Mode commands
359
- * Created visual diagrams explaining Push Mode data flow
360
- * Documented options and parameters for Push Mode operations
361
-
362
- ---
363
-
364
- ## [0.6.0] - 2025-07-13
365
-
366
- ### Added
367
-
368
- * **push:** Introduced Push Mode — sync local `.env` variables to AWS SSM Parameter Store ([#57](https://github.com/macalbert/envilder/pull/57))
369
-
370
- ---
371
-
372
- ## [0.5.6] - 2025-07-06
373
-
374
- ### Added
375
-
376
- * Introduced new logger interface for seamless integration of custom logging implementations
377
-
378
- ### Changed
379
-
380
- * Updated several packages to latest versions for improved security and performance
381
-
382
- ### Documentation
383
-
384
- * Added video guide to README demonstrating CLI usage
385
- * Enhanced user onboarding materials
386
-
387
- ## [0.5.5] - 2025-06-29
388
-
389
- ### Changed
390
-
391
- * Moved `EnvilderBuilder` from `domain` to `application/builders` directory
392
- * Updated import paths across codebase for better organization
393
- * Enhanced code architecture alignment with domain-driven design principles
394
-
395
- ### Fixed
396
-
397
- * Fixed glob pattern and path handling in test cleanup functions
398
- * Corrected file path resolution in end-to-end tests
399
- * Improved error handling during test file deletions
400
-
401
- ### Documentation
402
-
403
- * Extensively updated README with clearer structure and table of contents
404
- * Added feature status table to clarify implemented vs planned features
405
- * Simplified installation and usage instructions
406
- * Revamped pull request template for better contributor experience
407
- * Removed outdated environment-specific parameter examples
408
-
409
- ## [0.5.4] - 2025-06-10
410
-
411
- ### Added
412
-
413
- * Added unit tests for error handling with missing CLI arguments
414
- * Enhanced unit test reporting with JUnit format for better CI integration
415
-
416
- ### Changed
417
-
418
- * Refactored `EnvFileManager` and related interfaces to use async/await
419
- * Improved error handling and modularized secret processing in `Envilder`
420
- * Enhanced error handling for missing secrets with clearer feedback
421
- * Renamed methods, test suite descriptions, and filenames for consistency
422
- * Extracted package.json version retrieval into dedicated `PackageJsonFinder` class
423
- * Modularized and simplified `escapeEnvValue` method and related tests
424
- * Updated dependencies for better reliability
425
- * Improved test cleanup for more reliable test runs
426
- * Added and reorganized permissions in CI workflow
427
- * Updated `.gitattributes` for better language stats on GitHub
428
-
429
- ## [0.5.3] - 2025-06-07
430
-
431
- ### Added
432
-
433
- * Modular CLI for environment variable synchronization with pluggable secret providers
434
- * Builder pattern for flexible CLI configuration and usage
435
- * Extensive unit, integration, and end-to-end tests
436
- * AWS integration testing using Localstack with Testcontainers
437
- * Expanded tests for environment file escaping and builder configuration
438
-
439
- ### Changed
440
-
441
- * **BREAKING**: Full TypeScript migration from JavaScript
442
- * Introduced modular, layered architecture with clear separation
443
- * Restructured CLI internals for improved maintainability
444
- * Test structure now mirrors production code structure
445
- * Migrated CI/CD workflows and scripts from Yarn to npm
446
- * Updated ignore files and configuration
447
-
448
- ### Documentation
449
-
450
- * Updated documentation to focus on npm commands
451
- * Improved workflow and script documentation
452
-
453
- ## [0.5.2] - 2025-05-18
454
-
455
- ### Added
456
-
457
- * Comprehensive E2E validation test in CI/CD pipeline
458
- * Validation includes: build, `npm pack`, local install, and CLI command execution
459
- * Ensures package integrity and command-line operability before release
460
-
461
- ## [0.5.1] - 2025-05-16
462
-
463
- ### Fixed
464
-
465
- * CLI command not recognized after global install (`npm install -g envilder`)
466
- * Fixed missing compiled `lib/` files in published package
467
-
468
- ---
469
-
470
- > **Note:** Versions below 0.5.1 are deprecated on npm and no longer supported.
471
- > They are preserved here for historical reference only.
472
-
473
- ---
474
-
475
- ## [0.3.0] - 2025-05-09 [DEPRECATED]
476
-
477
- ### Added
478
-
479
- * Support for working with different AWS accounts and configurations via AWS profiles
480
-
481
- ### Changed
482
-
483
- * Bumped @secretlint/secretlint-rule-preset-recommend from 9.3.0 to 9.3.2
484
- * Bumped @types/node from 22.14.1 to 22.15.3
485
- * Bumped commander from 12.1.0 to 13.1.0
486
- * Bumped vite from 6.2.6 to 6.3.4
487
- * Bumped @aws-sdk/client-ssm from 3.787.0 to 3.799.0
488
-
489
- ## [0.2.3] - 2025-04-12 [DEPRECATED]
490
-
491
- ### Changed
492
-
493
- * Updated multiple dependencies including:
494
- * @types/node from 22.7.5 to 22.10.3
495
- * @aws-sdk/client-ssm from 3.670.0 to 3.716.0
496
- * @biomejs/biome from 1.9.3 to 1.9.4
497
- * nanoid from 3.3.7 to 3.3.8
498
- * @secretlint/secretlint-rule-preset-recommend from 8.5.0 to 9.0.0
499
- * secretlint from 8.5.0 to 9.0.0
500
-
501
- ## [0.2.1] - 2024-10-16 [DEPRECATED]
502
-
503
- ### Added
504
-
505
- * Code coverage reporting and deployment to GitHub Pages
506
- * CodeQL workflow for security analysis
507
- * Preserve existing `.env` file and update values if present
508
-
509
- ### Documentation
510
-
511
- * Updated README.md with improved documentation
512
-
513
- ## [0.1.4] - 2024-10-01 [DEPRECATED]
514
-
515
- Initial public release of Envilder.
5
+ | Component | Changelog | Package |
6
+ |-----------|-----------|---------|
7
+ | CLI | [cli.md](changelogs/cli.md) | [npm](https://www.npmjs.com/package/envilder) |
8
+ | GitHub Action | [gha.md](changelogs/gha.md) | [Marketplace](https://github.com/marketplace/actions/envilder) |
9
+ | .NET SDK | [sdk-dotnet.md](changelogs/sdk-dotnet.md) | [NuGet](https://www.nuget.org/packages/Envilder) |
10
+ | Python SDK | [sdk-python.md](changelogs/sdk-python.md) | [PyPI](https://pypi.org/project/envilder) |
11
+ | Node.js SDK | [sdk-nodejs.md](changelogs/sdk-nodejs.md) | [npm](https://www.npmjs.com/package/@envilder/sdk) |