envilder 0.9.3 → 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.
- package/README.md +38 -13
- package/ROADMAP.md +3 -3
- package/docs/CHANGELOG.md +9 -609
- package/docs/changelogs/cli.md +498 -0
- package/docs/changelogs/gha.md +74 -0
- package/docs/changelogs/sdk-dotnet.md +80 -0
- package/docs/changelogs/sdk-nodejs.md +22 -0
- package/docs/changelogs/sdk-python.md +82 -0
- package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js +3 -3
- package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map +1 -1
- package/lib/sdks/nodejs/src/application/envilder-client.d.ts +29 -0
- package/lib/sdks/nodejs/src/application/envilder-client.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/application/envilder-client.js +60 -0
- package/lib/sdks/nodejs/src/application/envilder-client.js.map +1 -0
- package/lib/sdks/nodejs/src/application/envilder.d.ts +64 -0
- package/lib/sdks/nodejs/src/application/envilder.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/application/envilder.js +168 -0
- package/lib/sdks/nodejs/src/application/envilder.js.map +1 -0
- package/lib/sdks/nodejs/src/application/map-file-parser.d.ts +14 -0
- package/lib/sdks/nodejs/src/application/map-file-parser.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/application/map-file-parser.js +55 -0
- package/lib/sdks/nodejs/src/application/map-file-parser.js.map +1 -0
- package/lib/sdks/nodejs/src/application/secret-validation.d.ts +18 -0
- package/lib/sdks/nodejs/src/application/secret-validation.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/application/secret-validation.js +32 -0
- package/lib/sdks/nodejs/src/application/secret-validation.js.map +1 -0
- package/lib/sdks/nodejs/src/domain/envilder-options.d.ts +7 -0
- package/lib/sdks/nodejs/src/domain/envilder-options.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/domain/envilder-options.js +2 -0
- package/lib/sdks/nodejs/src/domain/envilder-options.js.map +1 -0
- package/lib/sdks/nodejs/src/domain/map-file-config.d.ts +7 -0
- package/lib/sdks/nodejs/src/domain/map-file-config.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/domain/map-file-config.js +2 -0
- package/lib/sdks/nodejs/src/domain/map-file-config.js.map +1 -0
- package/lib/sdks/nodejs/src/domain/parsed-map-file.d.ts +6 -0
- package/lib/sdks/nodejs/src/domain/parsed-map-file.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/domain/parsed-map-file.js +2 -0
- package/lib/sdks/nodejs/src/domain/parsed-map-file.js.map +1 -0
- package/lib/sdks/nodejs/src/domain/ports/secret-provider.d.ts +18 -0
- package/lib/sdks/nodejs/src/domain/ports/secret-provider.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/domain/ports/secret-provider.js +2 -0
- package/lib/sdks/nodejs/src/domain/ports/secret-provider.js.map +1 -0
- package/lib/sdks/nodejs/src/domain/secret-provider-type.d.ts +5 -0
- package/lib/sdks/nodejs/src/domain/secret-provider-type.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/domain/secret-provider-type.js +6 -0
- package/lib/sdks/nodejs/src/domain/secret-provider-type.js.map +1 -0
- package/lib/sdks/nodejs/src/index.d.ts +12 -0
- package/lib/sdks/nodejs/src/index.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/index.js +11 -0
- package/lib/sdks/nodejs/src/index.js.map +1 -0
- package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.d.ts +17 -0
- package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.js +56 -0
- package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.js.map +1 -0
- package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.d.ts +15 -0
- package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.js +68 -0
- package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.js.map +1 -0
- package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.d.ts +5 -0
- package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.d.ts.map +1 -0
- package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.js +42 -0
- package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.js.map +1 -0
- package/package.json +9 -7
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
# CLI Changelog
|
|
2
|
+
|
|
3
|
+
Changes specific to the CLI (`envilder` npm package).
|
|
4
|
+
For SDK-specific changes, see `sdk-dotnet.md`, `sdk-python.md`, or `sdk-nodejs.md`.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## [0.9.4] - 2026-05-03
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
* Mask secret path in bulk push log output (#185)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## [0.9.3] - 2026-04-17
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
* **Runtime SDKs now available** — Load secrets directly into your application
|
|
21
|
+
at startup, no `.env` file needed:
|
|
22
|
+
|
|
23
|
+
**.NET** ([NuGet](https://www.nuget.org/packages/Envilder)):
|
|
24
|
+
|
|
25
|
+
```csharp
|
|
26
|
+
builder.Configuration.AddEnvilder("secrets-map.json");
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Python** ([PyPI](https://pypi.org/project/envilder)):
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from envilder import Envilder
|
|
33
|
+
Envilder.load('secrets-map.json')
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**CLI** (as always):
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx envilder --map=secrets-map.json --envfile=.env
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**GitHub Action:**
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
- uses: macalbert/envilder/github-action@v0
|
|
46
|
+
with:
|
|
47
|
+
map-file: secrets-map.json
|
|
48
|
+
env-file: .env
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
* **README rewritten** — Streamlined messaging, accurate comparison
|
|
54
|
+
tables, simplified quick start (2 steps), and reduced noise
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
* **ci(publish-npm):** Narrowed `paths` filter from `src/**` to
|
|
59
|
+
`src/envilder/**` so SDK/website/IaC changes no longer trigger the
|
|
60
|
+
npm publish workflow
|
|
61
|
+
* **ci(publish-npm):** Replaced `npm view` with `curl` against the npm
|
|
62
|
+
registry API to avoid `.npmrc` auth failures during version detection
|
|
63
|
+
* **ci(publish-website):** Added `docs/CHANGELOG.md` and
|
|
64
|
+
`docs/changelogs/**` to path filters so changelog updates trigger
|
|
65
|
+
website deployment
|
|
66
|
+
|
|
67
|
+
### Dependencies
|
|
68
|
+
|
|
69
|
+
* Bump `typescript` from 6.0.2 to 6.0.3
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## [0.9.2] - 2026-04-02
|
|
74
|
+
|
|
75
|
+
### Added
|
|
76
|
+
|
|
77
|
+
* **LocalStack sponsor section** — Added sponsor section to website homepage and README with LocalStack logos
|
|
78
|
+
(dark, light, color variants) and a new `Sponsors.astro` component
|
|
79
|
+
([#136](https://github.com/macalbert/envilder/pull/136))
|
|
80
|
+
* **Website test suite** — Added `tests/website/` with Vitest coverage for i18n utilities and Markdown helpers
|
|
81
|
+
* **`BackToTop` component** — New scroll-to-top button component for the documentation website
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
|
|
85
|
+
* **Project layout restructured for SDK platform readiness** ([#134](https://github.com/macalbert/envilder/pull/134)):
|
|
86
|
+
* Core domain layer moved from `src/envilder/` to `src/envilder/core/`
|
|
87
|
+
* Website moved from `src/apps/website/` to `src/website/`
|
|
88
|
+
* All imports, `tsconfig.json`, `package.json`, and workspace config updated accordingly
|
|
89
|
+
* **Website UX improvements** — `DocsContent`, `HowItWorks`, `ThemeSwitcher`, `TerminalMockup`, and
|
|
90
|
+
`BaseLayout` components updated; global CSS expanded; i18n keys added for new content
|
|
91
|
+
|
|
92
|
+
### Fixed
|
|
93
|
+
|
|
94
|
+
* **README:** Replace `#gh-light-mode-only` / `#gh-dark-mode-only` image fragments with a `<picture>`
|
|
95
|
+
element using `prefers-color-scheme` media queries
|
|
96
|
+
* **ci:** Update version check in publish workflow to use published version from npm
|
|
97
|
+
|
|
98
|
+
### Dependencies
|
|
99
|
+
|
|
100
|
+
* Bump `@aws-sdk/client-ssm` from 3.1019.0 to 3.1021.0 ([#140](https://github.com/macalbert/envilder/pull/140))
|
|
101
|
+
* Bump `@aws-sdk/credential-providers` from 3.1019.0 to 3.1021.0 ([#142](https://github.com/macalbert/envilder/pull/142))
|
|
102
|
+
* Bump `secretlint` from 11.4.0 to 11.4.1 ([#141](https://github.com/macalbert/envilder/pull/141))
|
|
103
|
+
* Bump `@secretlint/secretlint-rule-preset-recommend` from 11.4.0 to 11.4.1 ([#144](https://github.com/macalbert/envilder/pull/144))
|
|
104
|
+
* Bump `astro` from 6.1.1 to 6.1.2 ([#143](https://github.com/macalbert/envilder/pull/143))
|
|
105
|
+
* Bump `actions/configure-pages` from 5 to 6 ([#139](https://github.com/macalbert/envilder/pull/139))
|
|
106
|
+
* Bump `actions/deploy-pages` from 4 to 5 ([#138](https://github.com/macalbert/envilder/pull/138))
|
|
107
|
+
* Bump `pnpm/action-setup` from 4 to 5 ([#137](https://github.com/macalbert/envilder/pull/137))
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## [0.9.1] - 2026-03-30
|
|
112
|
+
|
|
113
|
+
### Added
|
|
114
|
+
|
|
115
|
+
* **Documentation website** — Full Astro-based docs site deployed at [envilder.com](https://envilder.com),
|
|
116
|
+
with multi-language support (EN, ES, CA), dark/retro and light themes, and a dedicated changelog page
|
|
117
|
+
|
|
118
|
+
### Changed
|
|
119
|
+
|
|
120
|
+
* Updated Envilder logo in README
|
|
121
|
+
|
|
122
|
+
### Fixed
|
|
123
|
+
|
|
124
|
+
* **deps:** Move `@types/node` from `dependencies` to `devDependencies` to prevent it from being bundled as a runtime dependency
|
|
125
|
+
* **e2e:** Use unique SSM paths per CLI test run to prevent race conditions between parallel test executions
|
|
126
|
+
|
|
127
|
+
### Dependencies
|
|
128
|
+
|
|
129
|
+
* Bump `brace-expansion` from 5.0.4 to 5.0.5 (security patch)
|
|
130
|
+
* Bump `@azure/core-rest-pipeline` and `@azure/identity` group updates
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## [0.8.0] - 2026-03-22
|
|
135
|
+
|
|
136
|
+
### Added
|
|
137
|
+
|
|
138
|
+
* **`$config` section in map files** — Map files now support an optional `$config` key to declare provider
|
|
139
|
+
and connection details inline (e.g., `"provider": "azure"`, `"vaultUrl": "https://..."`,
|
|
140
|
+
`"profile": "dev-account"`)
|
|
141
|
+
* New CLI flag `--vault-url <url>` — Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
|
|
142
|
+
* Precedence chain: CLI flags > `$config` in map file > defaults
|
|
143
|
+
* Backward compatible: existing map files without `$config` continue to work (defaults to AWS provider)
|
|
144
|
+
* **Azure Key Vault support** — Use `--provider=azure` to pull/push secrets from Azure Key Vault ([#90](https://github.com/macalbert/envilder/pull/90))
|
|
145
|
+
* New infrastructure adapter: `AzureKeyVaultSecretProvider` implementing `ISecretProvider`
|
|
146
|
+
* New CLI option `--provider <name>` to select cloud provider (`aws` or `azure`, default: `aws`)
|
|
147
|
+
* Azure authentication via `DefaultAzureCredential` (supports Azure CLI, managed identity, etc.)
|
|
148
|
+
|
|
149
|
+
### Changed
|
|
150
|
+
|
|
151
|
+
* **CLI flag `--ssm-path` renamed to `--secret-path`** — The old flag is still accepted as a deprecated
|
|
152
|
+
alias and prints a warning. It will be removed in a future release.
|
|
153
|
+
* `configureInfrastructureServices()` now receives a single `MapFileConfig` object instead of separate parameters
|
|
154
|
+
* CLI reads `$config` from the map file and merges with CLI flags
|
|
155
|
+
* Extracted shared `ContainerConfiguration` module for DI setup reused by CLI and GitHub Action
|
|
156
|
+
* Updated CLI description to include Azure Key Vault examples
|
|
157
|
+
|
|
158
|
+
### Dependencies
|
|
159
|
+
|
|
160
|
+
* Added `@azure/keyvault-secrets`
|
|
161
|
+
* Added `@azure/identity`
|
|
162
|
+
* Added `@azure/core-rest-pipeline`
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## [0.7.12] - 2026-03-22
|
|
167
|
+
|
|
168
|
+
### Fixed
|
|
169
|
+
|
|
170
|
+
* **ssm:** Upgrade AWS SDK to resolve fast-xml-parser CVEs ([#128](https://github.com/macalbert/envilder/pull/128))
|
|
171
|
+
|
|
172
|
+
### Changed
|
|
173
|
+
|
|
174
|
+
* **ci:** Upgrade `dorny/test-reporter` to v3 for Node.js 24 support ([#127](https://github.com/macalbert/envilder/pull/127))
|
|
175
|
+
* **dx:** Add AI workflow agents, prompts, and lefthook pre-commit hook ([#125](https://github.com/macalbert/envilder/pull/125))
|
|
176
|
+
|
|
177
|
+
### Dependencies
|
|
178
|
+
|
|
179
|
+
* Bump `undici` from 7.22.0 to 7.24.1 ([#126](https://github.com/macalbert/envilder/pull/126))
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## [0.7.11] - 2026-03-08
|
|
184
|
+
|
|
185
|
+
### Security
|
|
186
|
+
|
|
187
|
+
* Bump AWS SDK packages to resolve `fast-xml-parser` vulnerability ([#124](https://github.com/macalbert/envilder/pull/124))
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## [0.7.10] - 2026-03-02
|
|
192
|
+
|
|
193
|
+
### Changed
|
|
194
|
+
|
|
195
|
+
* **ci:** Update CI configuration for improved build reliability
|
|
196
|
+
* Bump AWS SDK SSM to 3.1000.0 and align CI/publish workflows ([#123](https://github.com/macalbert/envilder/pull/123))
|
|
197
|
+
|
|
198
|
+
### Dependencies
|
|
199
|
+
|
|
200
|
+
* Bump `@aws-sdk/credential-providers` from 3.995.0 to 3.1000.0 ([#122](https://github.com/macalbert/envilder/pull/122))
|
|
201
|
+
* Bump `@types/node` from 25.3.0 to 25.3.3 ([#121](https://github.com/macalbert/envilder/pull/121))
|
|
202
|
+
* Bump `minimatch` ([#119](https://github.com/macalbert/envilder/pull/119))
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## [0.7.9] - 2026-02-22
|
|
207
|
+
|
|
208
|
+
### Fixed
|
|
209
|
+
|
|
210
|
+
* **security:** Patch transitive dependency vulnerabilities ([#118](https://github.com/macalbert/envilder/pull/118))
|
|
211
|
+
* **ci:** Simplify npm publish command in workflow
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## [0.7.8] - 2026-02-05
|
|
216
|
+
|
|
217
|
+
### Fixed
|
|
218
|
+
|
|
219
|
+
* **deps:** Upgrade AWS SDK to resolve `fast-xml-parser` DoS vulnerability ([#116](https://github.com/macalbert/envilder/pull/116))
|
|
220
|
+
|
|
221
|
+
### Dependencies
|
|
222
|
+
|
|
223
|
+
* Bump `@isaacs/brace-expansion` ([#115](https://github.com/macalbert/envilder/pull/115))
|
|
224
|
+
* Bump `@secretlint/secretlint-rule-preset-recommend` ([#114](https://github.com/macalbert/envilder/pull/114))
|
|
225
|
+
* Bump `commander` from 14.0.2 to 14.0.3 ([#113](https://github.com/macalbert/envilder/pull/113))
|
|
226
|
+
* Bump `@aws-sdk/client-ssm` from 3.958.0 to 3.980.0 ([#112](https://github.com/macalbert/envilder/pull/112))
|
|
227
|
+
* Bump `secretlint` from 11.2.5 to 11.3.1 ([#110](https://github.com/macalbert/envilder/pull/110))
|
|
228
|
+
* Bump `@commitlint/cli` from 20.3.0 to 20.4.0 ([#111](https://github.com/macalbert/envilder/pull/111))
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## [0.7.7] - 2026-01-27
|
|
233
|
+
|
|
234
|
+
### Added
|
|
235
|
+
|
|
236
|
+
* **push:** AWS throttling retry logic and duplicate SSM path validation ([#109](https://github.com/macalbert/envilder/pull/109))
|
|
237
|
+
|
|
238
|
+
### Fixed
|
|
239
|
+
|
|
240
|
+
* **ci:** Streamline `npm publish` workflow to prevent failures ([#106](https://github.com/macalbert/envilder/pull/106))
|
|
241
|
+
|
|
242
|
+
### Dependencies
|
|
243
|
+
|
|
244
|
+
* Bump `lodash` ([#108](https://github.com/macalbert/envilder/pull/108))
|
|
245
|
+
* Bump `diff` ([#107](https://github.com/macalbert/envilder/pull/107))
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## [0.7.6] - 2026-01-16
|
|
250
|
+
|
|
251
|
+
### Fixed
|
|
252
|
+
|
|
253
|
+
* **ci:** Align npm publish script with CI workflow expectations to prevent failures
|
|
254
|
+
* Removed redundant validation steps (lint, build, test) from publish script
|
|
255
|
+
|
|
256
|
+
### Changed
|
|
257
|
+
|
|
258
|
+
* Simplified npm publish script from full validation pipeline to `npm pack --dry-run && npm publish`
|
|
259
|
+
* Updated README badge links
|
|
260
|
+
* Converted README badges from HTML to standard Markdown format
|
|
261
|
+
|
|
262
|
+
### Removed
|
|
263
|
+
|
|
264
|
+
* **ci:** Deleted deprecated `publish-action.yml` workflow
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## [0.7.5] - 2026-01-15
|
|
269
|
+
|
|
270
|
+
### Documentation
|
|
271
|
+
|
|
272
|
+
* Remove changelog generation instructions from documentation ([#104](https://github.com/macalbert/envilder/pull/104))
|
|
273
|
+
|
|
274
|
+
### Dependencies
|
|
275
|
+
|
|
276
|
+
* Bump undici to address security vulnerability ([#105](https://github.com/macalbert/envilder/pull/105))
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## [0.7.4] - 2026-01-02
|
|
281
|
+
|
|
282
|
+
### Dependencies
|
|
283
|
+
|
|
284
|
+
* Bump @commitlint/cli from 20.1.0 to 20.2.0 ([#103](https://github.com/macalbert/envilder/pull/103))
|
|
285
|
+
* Bump testcontainers from 11.9.0 to 11.11.0 ([#102](https://github.com/macalbert/envilder/pull/102))
|
|
286
|
+
* Bump @types/node from 24.10.1 to 25.0.3 ([#101](https://github.com/macalbert/envilder/pull/101))
|
|
287
|
+
* Bump @testcontainers/localstack from 11.9.0 to 11.11.0 ([#100](https://github.com/macalbert/envilder/pull/100))
|
|
288
|
+
* Bump @commitlint/config-conventional ([#99](https://github.com/macalbert/envilder/pull/99))
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## [0.7.3] - 2025-11-29
|
|
293
|
+
|
|
294
|
+
### Changed
|
|
295
|
+
|
|
296
|
+
* **ci:** Update Node.js version to 24 in workflow
|
|
297
|
+
* Update publish command to use pnpm
|
|
298
|
+
* Add repository field to package.json
|
|
299
|
+
* Standardize quotes in publish-npm.yml
|
|
300
|
+
|
|
301
|
+
### Dependencies
|
|
302
|
+
|
|
303
|
+
* Bump actions/checkout from 5 to 6 ([#98](https://github.com/macalbert/envilder/pull/98))
|
|
304
|
+
* Bump glob from 11.1.0 to 13.0.0 ([#97](https://github.com/macalbert/envilder/pull/97))
|
|
305
|
+
* Bump pnpm/action-setup from 2 to 4 ([#92](https://github.com/macalbert/envilder/pull/92))
|
|
306
|
+
* Bump @commitlint/cli from 19.8.1 to 20.1.0 ([#94](https://github.com/macalbert/envilder/pull/94))
|
|
307
|
+
* Bump glob in the npm_and_yarn group ([#96](https://github.com/macalbert/envilder/pull/96))
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## [0.7.1] - 2025-11-16
|
|
312
|
+
|
|
313
|
+
### Documentation
|
|
314
|
+
|
|
315
|
+
* Update README and ROADMAP for GitHub Action integration ([#95](https://github.com/macalbert/envilder/pull/95))
|
|
316
|
+
|
|
317
|
+
### Changed
|
|
318
|
+
|
|
319
|
+
* **ci:** Update workflow to use pnpm for dependency management
|
|
320
|
+
|
|
321
|
+
### Tests
|
|
322
|
+
|
|
323
|
+
* Increase timeout for E2E tests to 60 seconds
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## [0.7.0] - 2025-11-16
|
|
328
|
+
|
|
329
|
+
### Added
|
|
330
|
+
|
|
331
|
+
* **packaging:** Add project build and uninstall functionality
|
|
332
|
+
|
|
333
|
+
### Fixed
|
|
334
|
+
|
|
335
|
+
* **cli:** Correct build command from `ppnpm` to `pnpm`
|
|
336
|
+
|
|
337
|
+
### Changed
|
|
338
|
+
|
|
339
|
+
* Move GitHub Action to `github-action/` subfolder
|
|
340
|
+
|
|
341
|
+
### Breaking Changes
|
|
342
|
+
|
|
343
|
+
* Action path changed from `macalbert/envilder@v1` to `macalbert/envilder/github-action@v1`
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## [0.6.6] - 2025-11-02
|
|
348
|
+
|
|
349
|
+
### Changed
|
|
350
|
+
|
|
351
|
+
* Updated AWS credentials configuration in workflows
|
|
352
|
+
* Bumped vite, @types/node, @biomejs/biome, GitHub/codeql-action, actions/setup-node, vitest
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## [0.6.5] - 2025-10-15
|
|
357
|
+
|
|
358
|
+
### Added
|
|
359
|
+
|
|
360
|
+
* Enabled npm trusted publishing with OIDC authentication
|
|
361
|
+
|
|
362
|
+
### Dependencies
|
|
363
|
+
|
|
364
|
+
* Bumped tmp, @types/node, @testcontainers/localstack, testcontainers, @aws-sdk/credential-providers
|
|
365
|
+
* Bumped secretlint, @biomejs/biome, @secretlint/secretlint-rule-preset-recommend
|
|
366
|
+
* Bumped vite, commander, inversify
|
|
367
|
+
* Updated actions/checkout, actions/setup-node, actions/upload-pages-artifact, aws-actions/configure-aws-credentials
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## [0.6.4] - 2025-08-02
|
|
372
|
+
|
|
373
|
+
### Dependencies
|
|
374
|
+
|
|
375
|
+
* Bumped typescript from 5.8.3 to 5.9.2
|
|
376
|
+
* Bumped secretlint, @types/glob, @secretlint/secretlint-rule-preset-recommend, @biomejs/biome
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## [0.6.3] - 2025-07-20
|
|
381
|
+
|
|
382
|
+
### Changed
|
|
383
|
+
|
|
384
|
+
* Bump version to 0.6.3 in package.json
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## [0.6.2] - 2025-07-20
|
|
389
|
+
|
|
390
|
+
### Changed
|
|
391
|
+
|
|
392
|
+
* **di:** Implement .NET-Style DIP Startup Pattern for dependency injection ([#59](https://github.com/macalbert/envilder/pull/59))
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## [0.6.1] - 2025-07-13
|
|
397
|
+
|
|
398
|
+
### Added
|
|
399
|
+
|
|
400
|
+
* **Push Mode** functionality to upload environment variables to AWS SSM Parameter Store
|
|
401
|
+
* File-based approach for pushing multiple variables from `.env` files
|
|
402
|
+
* Single-variable approach for direct command line uploads
|
|
403
|
+
* Support for working with different AWS profiles when pushing secrets
|
|
404
|
+
|
|
405
|
+
### Security
|
|
406
|
+
|
|
407
|
+
* Implemented secure parameter handling to protect sensitive values
|
|
408
|
+
|
|
409
|
+
### Changed
|
|
410
|
+
|
|
411
|
+
* Designed clean, modular command structure for Push Mode operations
|
|
412
|
+
* Added new domain models and handlers to support Push feature
|
|
413
|
+
* Maintained separation of concerns between infrastructure and application layers
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## [0.6.0] - 2025-07-13
|
|
418
|
+
|
|
419
|
+
### Added
|
|
420
|
+
|
|
421
|
+
* **push:** Introduced Push Mode — sync local `.env` variables to AWS SSM Parameter Store ([#57](https://github.com/macalbert/envilder/pull/57))
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## [0.5.6] - 2025-07-06
|
|
426
|
+
|
|
427
|
+
### Added
|
|
428
|
+
|
|
429
|
+
* Introduced new logger interface for seamless integration of custom logging implementations
|
|
430
|
+
|
|
431
|
+
### Changed
|
|
432
|
+
|
|
433
|
+
* Updated several packages for improved security and performance
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
## [0.5.5] - 2025-06-29
|
|
438
|
+
|
|
439
|
+
### Changed
|
|
440
|
+
|
|
441
|
+
* Moved `EnvilderBuilder` from `domain` to `application/builders` directory
|
|
442
|
+
* Updated import paths across codebase for better organization
|
|
443
|
+
|
|
444
|
+
### Fixed
|
|
445
|
+
|
|
446
|
+
* Fixed glob pattern and path handling in test cleanup functions
|
|
447
|
+
* Corrected file path resolution in end-to-end tests
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
## [0.5.4] - 2025-06-10
|
|
452
|
+
|
|
453
|
+
### Added
|
|
454
|
+
|
|
455
|
+
* Added unit tests for error handling with missing CLI arguments
|
|
456
|
+
* Enhanced unit test reporting with JUnit format for better CI integration
|
|
457
|
+
|
|
458
|
+
### Changed
|
|
459
|
+
|
|
460
|
+
* Refactored `EnvFileManager` and related interfaces to use async/await
|
|
461
|
+
* Improved error handling and modularized secret processing
|
|
462
|
+
* Extracted `PackageJsonFinder` class
|
|
463
|
+
* Updated dependencies for better reliability
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## [0.5.3] - 2025-06-07
|
|
468
|
+
|
|
469
|
+
### Added
|
|
470
|
+
|
|
471
|
+
* Modular CLI for environment variable synchronization with pluggable secret providers
|
|
472
|
+
* Builder pattern for flexible CLI configuration and usage
|
|
473
|
+
* Extensive unit, integration, and end-to-end tests
|
|
474
|
+
* AWS integration testing using LocalStack with TestContainers
|
|
475
|
+
|
|
476
|
+
### Changed
|
|
477
|
+
|
|
478
|
+
* **BREAKING**: Full TypeScript migration from JavaScript
|
|
479
|
+
* Introduced modular, layered architecture with clear separation
|
|
480
|
+
* Migrated CI/CD workflows from Yarn to npm
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## [0.5.2] - 2025-05-18
|
|
485
|
+
|
|
486
|
+
### Added
|
|
487
|
+
|
|
488
|
+
* Comprehensive E2E validation test in CI/CD pipeline
|
|
489
|
+
* Ensures package integrity and command-line operability before release
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
## [0.5.1] - 2025-05-16
|
|
494
|
+
|
|
495
|
+
### Fixed
|
|
496
|
+
|
|
497
|
+
* CLI command not recognized after global install (`npm install -g envilder`)
|
|
498
|
+
* Fixed missing compiled `lib/` files in published package
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
## [0.9.4] - 2026-05-03
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
* Rebuild stale dist and remove force-tracked build artifacts (#193)
|
|
6
|
+
|
|
7
|
+
### Dependencies
|
|
8
|
+
|
|
9
|
+
* Bundle updated with latest CLI core (dependency bumps)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## [0.9.3] - 2026-04-17
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
* Bundle updated with latest CLI core (runtime SDKs announcement, dependency bumps)
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
* **ci(publish-npm):** Narrowed `paths` filter from `src/**` to
|
|
22
|
+
`src/envilder/**` so SDK/website/IaC changes no longer trigger the
|
|
23
|
+
npm publish workflow
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## [0.9.2] - 2026-04-02
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
* Bundle updated with latest CLI core (Azure Key Vault, `$config` map-file support)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## [0.8.0] - 2026-03-22
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
* **Azure Key Vault support** — Use `provider: azure` input to pull secrets from Azure Key Vault
|
|
40
|
+
* New input `vault-url` — Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
|
|
41
|
+
* New input `provider` — Select cloud provider (`aws` or `azure`, default: `aws`)
|
|
42
|
+
* `$config` section support in map files — declare provider and connection details inline
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
* Updated `action.yml` description and inputs to reflect multi-provider support
|
|
47
|
+
* Both CLI and GHA now use shared `ContainerConfiguration` module for DI setup
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## [0.7.1] - 2025-11-16
|
|
52
|
+
|
|
53
|
+
### Documentation
|
|
54
|
+
|
|
55
|
+
* Update GitHub Action version from v1 to v0.7.1 in documentation
|
|
56
|
+
* Fix example version references
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## [0.7.0] - 2025-11-16
|
|
61
|
+
|
|
62
|
+
### Added
|
|
63
|
+
|
|
64
|
+
* **Initial GitHub Action release** — Use Envilder in CI/CD workflows natively
|
|
65
|
+
* Pull secrets from AWS SSM Parameter Store into `.env` files during workflow runs
|
|
66
|
+
* End-to-end tests for GitHub Actions simulation
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
69
|
+
|
|
70
|
+
* Action moved to `github-action/` subfolder
|
|
71
|
+
|
|
72
|
+
### Breaking Changes
|
|
73
|
+
|
|
74
|
+
* Action path changed from `macalbert/envilder@v1` to `macalbert/envilder/github-action@v1`
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
## [0.2.0] - 2026-04-18
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
* **Static facade** — `Envilder` class with one-liner API for resolving and injecting secrets
|
|
6
|
+
* `ResolveFile(path)` / `ResolveFileAsync(path)` — Resolve secrets from a map file
|
|
7
|
+
* `Load(path)` / `LoadAsync(path)` — Resolve and inject secrets into `Environment`
|
|
8
|
+
* `ResolveFile(env, mapping)` / `Load(env, mapping)` — Environment-routed overloads
|
|
9
|
+
* `FromMapFile(path)` — Fluent builder with `.WithProvider()`, `.WithProfile()`, `.WithVaultUrl()`
|
|
10
|
+
* `EnvilderBuilder.Resolve()` / `ResolveAsync()` / `Inject()` / `InjectAsync()` — Fluent terminal methods
|
|
11
|
+
* `ISecretProvider.GetSecret(name)` — Synchronous secret retrieval (new interface method)
|
|
12
|
+
* `AwsSsmSecretProvider.GetSecret(name)` — Sync AWS SSM implementation
|
|
13
|
+
* `AzureKeyVaultSecretProvider.GetSecret(name)` — Sync Azure Key Vault implementation
|
|
14
|
+
* `EnvilderClient.ResolveSecrets(mapFile)` — Sync secret resolution
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
* **Simplify `AddEnvilder` extensions** — `IConfigurationBuilder.AddEnvilder()` and
|
|
19
|
+
`IServiceCollection.AddEnvilder()` now accept `(string mapFilePath, EnvilderOptions? options)`
|
|
20
|
+
instead of requiring a manually-created `ISecretProvider`
|
|
21
|
+
([#167](https://github.com/macalbert/envilder/pull/167))
|
|
22
|
+
* **Cross-provider validation** — `SecretProviderFactory` now rejects invalid combinations:
|
|
23
|
+
AWS profile with Azure provider, or Vault URL with AWS provider
|
|
24
|
+
([#167](https://github.com/macalbert/envilder/pull/167))
|
|
25
|
+
|
|
26
|
+
### Breaking
|
|
27
|
+
|
|
28
|
+
* `SecretProviderFactory` is now `internal` — External code that referenced this type
|
|
29
|
+
directly will no longer compile. Use the `Envilder` facade, `EnvilderBuilder`
|
|
30
|
+
(`Envilder.FromMapFile(...)`), or the `AddEnvilder(string, EnvilderOptions?)` extensions instead
|
|
31
|
+
([#167](https://github.com/macalbert/envilder/pull/167))
|
|
32
|
+
* `ISecretProvider.GetSecret(string name)` — New required interface method. External
|
|
33
|
+
implementations of `ISecretProvider` must add a synchronous `GetSecret` method
|
|
34
|
+
(return `null` for missing secrets, matching the `GetSecretAsync` contract)
|
|
35
|
+
* `ServiceCollectionExtensions.AddEnvilder(string, ISecretProvider)` signature removed — Use
|
|
36
|
+
`AddEnvilder(string, EnvilderOptions?)` instead
|
|
37
|
+
* `ConfigurationBuilderExtensions.AddEnvilder(string, ISecretProvider)` signature removed — Use
|
|
38
|
+
`AddEnvilder(string, EnvilderOptions?)` instead
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
* **Delegate default AWS region resolution to the AWS SDK** — When no profile is set, the
|
|
43
|
+
factory no longer manually resolves the region via `ResolveRegion()`. Instead it creates a
|
|
44
|
+
plain `AmazonSimpleSystemsManagementClient()` which uses the full AWS SDK resolution chain
|
|
45
|
+
(env vars → `~/.aws/config` → instance metadata), correctly picking up the default config
|
|
46
|
+
file settings
|
|
47
|
+
([#166](https://github.com/macalbert/envilder/pull/166))
|
|
48
|
+
* **Respect `AWS_SHARED_CREDENTIALS_FILE` for profile resolution** — `CredentialProfileStoreChain`
|
|
49
|
+
now receives the credentials file path from the `AWS_SHARED_CREDENTIALS_FILE` environment
|
|
50
|
+
variable, fixing profile discovery when credentials are stored at non-default locations
|
|
51
|
+
([#166](https://github.com/macalbert/envilder/pull/166))
|
|
52
|
+
|
|
53
|
+
### Testing
|
|
54
|
+
|
|
55
|
+
* Unit tests for facade validation, env routing, and fluent builder chaining
|
|
56
|
+
* Acceptance tests for `ResolveFile` and `Load` against LocalStack
|
|
57
|
+
* Sync `GetSecret` tests for AWS SSM and Azure Key Vault providers
|
|
58
|
+
* Sync `ResolveSecrets` test for `EnvilderClient`
|
|
59
|
+
|
|
60
|
+
## [0.1.0] - 2026-04-09
|
|
61
|
+
|
|
62
|
+
### Added
|
|
63
|
+
|
|
64
|
+
* **Initial release** — Runtime library for loading secrets from AWS SSM Parameter Store or Azure Key Vault
|
|
65
|
+
directly into .NET applications ([#147](https://github.com/macalbert/envilder/pull/147))
|
|
66
|
+
* `EnvilderClient` — Resolves secrets from a map-file and returns them as a dictionary
|
|
67
|
+
* `MapFileParser` — Parses `param-map.json` files with `$config` section and variable mappings
|
|
68
|
+
* `SecretProviderFactory` — Creates the appropriate secret provider based on configuration
|
|
69
|
+
* `AwsSsmSecretProvider` — Fetches secrets from AWS SSM Parameter Store
|
|
70
|
+
* `AzureKeyVaultSecretProvider` — Fetches secrets from Azure Key Vault
|
|
71
|
+
* `IConfiguration` extensions — Load secrets directly into .NET configuration
|
|
72
|
+
* `IServiceCollection` extensions — Register Envilder in the DI container
|
|
73
|
+
* `EnvilderOptions` — Runtime overrides for provider, vault URL, and AWS profile
|
|
74
|
+
* Targets .NET Standard 2.0 (compatible with .NET 6+, .NET Framework 4.6.1+)
|
|
75
|
+
* Published to NuGet as `Envilder`
|
|
76
|
+
|
|
77
|
+
### Testing
|
|
78
|
+
|
|
79
|
+
* Unit tests with xUnit, NSubstitute, AwesomeAssertions, and AutoFixture
|
|
80
|
+
* Acceptance tests with TestContainers (LocalStack for AWS, Lowkey Vault for Azure)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
## [0.1.1] - 2026-05-02
|
|
2
|
+
|
|
3
|
+
### Documentation
|
|
4
|
+
|
|
5
|
+
* Add Node.js SDK references to root README, website, and installation guide
|
|
6
|
+
|
|
7
|
+
## [0.1.0] - 2026-04-25
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
* **Initial release** — Node.js runtime SDK for loading secrets directly
|
|
12
|
+
into `process.env` from a map file. Supports AWS SSM Parameter Store and
|
|
13
|
+
Azure Key Vault
|
|
14
|
+
* **Envilder facade** — `load()`, `resolveFile()`, `fromMapFile()` fluent
|
|
15
|
+
builder for one-liner or fine-grained secret loading
|
|
16
|
+
* **EnvilderClient** — Core resolver with `resolveSecrets()` and
|
|
17
|
+
`injectIntoEnvironment()` for custom provider usage
|
|
18
|
+
* **MapFileParser** — Parse `$config` section and variable mappings from JSON
|
|
19
|
+
* **Secret validation** — Opt-in `validateSecrets()` throws
|
|
20
|
+
`SecretValidationError` for empty or missing values
|
|
21
|
+
* **Environment-based routing** — Load different secret files per environment
|
|
22
|
+
(production, development, test)
|