envilder 0.9.3 → 0.10.0
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 +46 -13
- package/ROADMAP.md +3 -3
- package/docs/CHANGELOG.md +9 -609
- package/docs/changelogs/cli.md +519 -0
- package/docs/changelogs/gha.md +88 -0
- package/docs/changelogs/sdk-dotnet.md +96 -0
- package/docs/changelogs/sdk-nodejs.md +38 -0
- package/docs/changelogs/sdk-python.md +98 -0
- package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js +3 -3
- package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map +1 -1
- package/lib/envilder/core/infrastructure/variableStore/FileVariableStore.d.ts.map +1 -1
- package/lib/envilder/core/infrastructure/variableStore/FileVariableStore.js +7 -1
- package/lib/envilder/core/infrastructure/variableStore/FileVariableStore.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 +16 -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 +64 -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 +11 -7
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## [0.2.0] - 2026-05-03
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
* **Map-file JSON Schema support** — Map files can now include
|
|
6
|
+
`"$schema": "https://envilder.com/schema/map-file.v1.json"` for IDE
|
|
7
|
+
autocomplete and validation without affecting secret resolution
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
* **Reserved key filtering** — All `$`-prefixed keys are now excluded from
|
|
12
|
+
variable mappings. Previously only `$config` was filtered
|
|
13
|
+
([#218](https://github.com/macalbert/envilder/pull/218))
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## [0.1.1] - 2026-05-02
|
|
18
|
+
|
|
19
|
+
### Documentation
|
|
20
|
+
|
|
21
|
+
* Add Node.js SDK references to root README, website, and installation guide
|
|
22
|
+
|
|
23
|
+
## [0.1.0] - 2026-04-25
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
* **Initial release** — Node.js runtime SDK for loading secrets directly
|
|
28
|
+
into `process.env` from a map file. Supports AWS SSM Parameter Store and
|
|
29
|
+
Azure Key Vault
|
|
30
|
+
* **Envilder facade** — `load()`, `resolveFile()`, `fromMapFile()` fluent
|
|
31
|
+
builder for one-liner or fine-grained secret loading
|
|
32
|
+
* **EnvilderClient** — Core resolver with `resolveSecrets()` and
|
|
33
|
+
`injectIntoEnvironment()` for custom provider usage
|
|
34
|
+
* **MapFileParser** — Parse `$config` section and variable mappings from JSON
|
|
35
|
+
* **Secret validation** — Opt-in `validateSecrets()` throws
|
|
36
|
+
`SecretValidationError` for empty or missing values
|
|
37
|
+
* **Environment-based routing** — Load different secret files per environment
|
|
38
|
+
(production, development, test)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
## [0.4.0] - 2026-05-03
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
* **Map-file JSON Schema support** — Map files can now include
|
|
6
|
+
`"$schema": "https://envilder.com/schema/map-file.v1.json"` for IDE
|
|
7
|
+
autocomplete and validation without affecting secret resolution
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
* **Reserved key filtering** — All `$`-prefixed keys are now excluded from
|
|
12
|
+
variable mappings. Previously only `$config` was filtered
|
|
13
|
+
([#218](https://github.com/macalbert/envilder/pull/218))
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## [0.3.2] - 2026-04-18
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
* **Encapsulate `SecretProviderFactory`** — Renamed to `_SecretProviderFactory` and removed
|
|
22
|
+
from public re-exports; consumers should use the `Envilder` facade instead of creating
|
|
23
|
+
providers manually
|
|
24
|
+
([#167](https://github.com/macalbert/envilder/pull/167))
|
|
25
|
+
* **Cross-provider validation** — `_SecretProviderFactory.create()` now rejects invalid
|
|
26
|
+
combinations: AWS profile with Azure provider, or vault URL with AWS provider
|
|
27
|
+
([#167](https://github.com/macalbert/envilder/pull/167))
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
* **Delegate default AWS region resolution to boto3** — When no profile is set, the factory
|
|
32
|
+
no longer manually resolves the region from environment variables. Instead it creates a plain
|
|
33
|
+
`boto3.Session()` which uses the full AWS SDK resolution chain (env vars → `~/.aws/config` →
|
|
34
|
+
instance metadata), correctly picking up the default config file settings
|
|
35
|
+
([#166](https://github.com/macalbert/envilder/pull/166))
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## [0.3.1] - 2026-04-17
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
|
|
43
|
+
* **Remove `mypy-boto3-ssm` runtime dependency** — `AwsSsmSecretProvider` imported
|
|
44
|
+
`mypy_boto3_ssm.SSMClient` at runtime, but the package is a dev-only type stub.
|
|
45
|
+
Consumers installing `envilder` from PyPI got `ModuleNotFoundError`. Replaced with
|
|
46
|
+
`botocore.client.BaseClient` which is already bundled with `boto3`
|
|
47
|
+
([#165](https://github.com/macalbert/envilder/pull/165))
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## [0.3.0] - 2026-04-17
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
|
|
55
|
+
* **Environment-based loading** — `Envilder.load(env, env_mapping)` and
|
|
56
|
+
`Envilder.resolve_file(env, env_mapping)` accept a dictionary mapping environment names to
|
|
57
|
+
secrets-map file paths (or `None` to skip). Enables environment-aware secret loading without
|
|
58
|
+
external branching logic ([#163](https://github.com/macalbert/envilder/pull/163))
|
|
59
|
+
* **Source validation** — Empty or whitespace-only file paths in `env_mapping` now raise
|
|
60
|
+
`ValueError` with a descriptive message including the environment key
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## [0.2.0] - 2026-04-16
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
* **Fluent API facade** — `Envilder` high-level entry point with `load()`, `resolve_file()`,
|
|
69
|
+
and `from_map_file()` methods, plus fluent override methods (`with_provider()`, `with_vault_url()`,
|
|
70
|
+
`with_profile()`) ([#161](https://github.com/macalbert/envilder/pull/161))
|
|
71
|
+
* **Facade docstrings** — All public methods on the `Envilder` facade now have docstrings with
|
|
72
|
+
usage examples, improving IDE tooltips and `help()` output for external consumers
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## [0.1.0] - 2026-04-14
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
|
|
80
|
+
* **Initial release** — Runtime library for loading secrets from AWS SSM Parameter Store or
|
|
81
|
+
Azure Key Vault directly into Python applications
|
|
82
|
+
([#157](https://github.com/macalbert/envilder/pull/157))
|
|
83
|
+
* `Envilder` facade — High-level entry point with `load()`, `resolve_file()`, and `from_map_file()` methods
|
|
84
|
+
* `EnvilderClient` — Resolves secrets from a map-file and injects them into `os.environ`
|
|
85
|
+
* `MapFileParser` — Parses `param-map.json` files with `$config` section and variable mappings
|
|
86
|
+
* `SecretProviderFactory` — Creates the appropriate secret provider based on configuration
|
|
87
|
+
* `AwsSsmSecretProvider` — Fetches secrets from AWS SSM Parameter Store via boto3
|
|
88
|
+
* `AzureKeyVaultSecretProvider` — Fetches secrets from Azure Key Vault
|
|
89
|
+
* `EnvilderOptions` — Runtime overrides for provider, vault URL, and AWS profile
|
|
90
|
+
* Synchronous API — no async/await, uses boto3 natively
|
|
91
|
+
* Protocol-based ports — Python `Protocol` instead of ABC
|
|
92
|
+
* Python 3.10+ with full type annotations (`py.typed`)
|
|
93
|
+
* Published to PyPI as `envilder`
|
|
94
|
+
|
|
95
|
+
### Testing
|
|
96
|
+
|
|
97
|
+
* Unit tests with pytest using `Should_<Expected>_When_<Condition>` naming
|
|
98
|
+
* Acceptance tests with TestContainers (LocalStack for AWS, Lowkey Vault for Azure)
|
|
@@ -82,7 +82,7 @@ let PushEnvToSecretsCommandHandler = class PushEnvToSecretsCommandHandler {
|
|
|
82
82
|
const existingMasked = new EnvironmentVariable(existing.sourceKeys[0], existing.value, true).maskedValue;
|
|
83
83
|
const newMasked = new EnvironmentVariable(envKey, envValue, true)
|
|
84
84
|
.maskedValue;
|
|
85
|
-
throw new Error(`Conflicting values for secret path '${secretPath}': ` +
|
|
85
|
+
throw new Error(`Conflicting values for secret path '${EnvironmentVariable.maskSecretPath(secretPath)}': ` +
|
|
86
86
|
`'${existing.sourceKeys[0]}' has value '${existingMasked}' ` +
|
|
87
87
|
`but '${envKey}' has value '${newMasked}'`);
|
|
88
88
|
}
|
|
@@ -115,8 +115,8 @@ let PushEnvToSecretsCommandHandler = class PushEnvToSecretsCommandHandler {
|
|
|
115
115
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
116
|
const envVariable = new EnvironmentVariable(sourceKeys[0], value, true);
|
|
117
117
|
yield this.secretProvider.setSecret(secretPath, value);
|
|
118
|
-
const keysDescription = sourceKeys.length > 1 ?
|
|
119
|
-
this.logger.info(`Pushed ${keysDescription}=${envVariable.maskedValue} to secret store at path ${secretPath}`);
|
|
118
|
+
const keysDescription = sourceKeys.length > 1 ? sourceKeys.join(', ') : sourceKeys[0];
|
|
119
|
+
this.logger.info(`Pushed ${keysDescription}=${envVariable.maskedValue} to secret store at path ${EnvironmentVariable.maskSecretPath(secretPath)}`);
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
122
|
/**
|
package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushEnvToSecretsCommandHandler.js","sourceRoot":"","sources":["../../../../../src/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PushEnvToSecretsCommandHandler.js","sourceRoot":"","sources":["../../../../../src/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileVariableStore.d.ts","sourceRoot":"","sources":["../../../../../src/envilder/core/infrastructure/variableStore/FileVariableStore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,qBACa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAU;gBAEW,MAAM,EAAE,OAAO;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAK3D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"FileVariableStore.d.ts","sourceRoot":"","sources":["../../../../../src/envilder/core/infrastructure/variableStore/FileVariableStore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,qBACa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAU;gBAEW,MAAM,EAAE,OAAO;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAK3D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAchD,YAAY;IAmBpB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAc/D,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAiBhB,OAAO,CAAC,cAAc;CASvB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC,CAkBxB"}
|
|
@@ -53,7 +53,13 @@ let FileVariableStore = class FileVariableStore {
|
|
|
53
53
|
const raw = yield this.readJsonFile(source);
|
|
54
54
|
const { $config } = raw, rest = __rest(raw, ["$config"]);
|
|
55
55
|
const config = $config && typeof $config === 'object' ? $config : {};
|
|
56
|
-
|
|
56
|
+
const mappings = {};
|
|
57
|
+
for (const [key, value] of Object.entries(rest)) {
|
|
58
|
+
if (!key.startsWith('$') && typeof value === 'string') {
|
|
59
|
+
mappings[key] = value;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return { config, mappings };
|
|
57
63
|
});
|
|
58
64
|
}
|
|
59
65
|
readJsonFile(source) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileVariableStore.js","sourceRoot":"","sources":["../../../../../src/envilder/core/infrastructure/variableStore/FileVariableStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGhC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAG5B,YAAmC,MAAe;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEK,UAAU,CAAC,MAAc;;YAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEK,gBAAgB,CAAC,MAAc;;YACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,EAAE,OAAO,KAAc,GAAG,EAAZ,IAAI,UAAK,GAAG,EAA1B,WAAoB,CAAM,CAAC;YACjC,MAAM,MAAM,GACV,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,
|
|
1
|
+
{"version":3,"file":"FileVariableStore.js","sourceRoot":"","sources":["../../../../../src/envilder/core/infrastructure/variableStore/FileVariableStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ParsedMapFile } from '../domain/parsed-map-file.js';
|
|
2
|
+
import type { ISecretProvider } from '../domain/ports/secret-provider.js';
|
|
3
|
+
/**
|
|
4
|
+
* Core client that resolves secrets from a configured provider.
|
|
5
|
+
*
|
|
6
|
+
* For most use cases prefer the {@link Envilder} facade.
|
|
7
|
+
* Use this class directly when you need a custom {@link ISecretProvider}.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const provider = new MyCustomProvider();
|
|
12
|
+
* const mapFile = new MapFileParser().parse(json);
|
|
13
|
+
* const secrets = await new EnvilderClient(provider).resolveSecrets(mapFile);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class EnvilderClient {
|
|
17
|
+
private readonly secretProvider;
|
|
18
|
+
constructor(secretProvider: ISecretProvider);
|
|
19
|
+
/**
|
|
20
|
+
* Resolves all mappings against the configured secret provider.
|
|
21
|
+
* Entries whose secret does not exist are silently omitted.
|
|
22
|
+
*/
|
|
23
|
+
resolveSecrets(mapFile: ParsedMapFile): Promise<Map<string, string>>;
|
|
24
|
+
/**
|
|
25
|
+
* Sets every key/value pair as a process-level environment variable.
|
|
26
|
+
*/
|
|
27
|
+
static injectIntoEnvironment(secrets: Map<string, string>): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=envilder-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envilder-client.d.ts","sourceRoot":"","sources":["../../../../../src/sdks/nodejs/src/application/envilder-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;gBAErC,cAAc,EAAE,eAAe;IAO3C;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAmB1E;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAKjE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Core client that resolves secrets from a configured provider.
|
|
12
|
+
*
|
|
13
|
+
* For most use cases prefer the {@link Envilder} facade.
|
|
14
|
+
* Use this class directly when you need a custom {@link ISecretProvider}.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const provider = new MyCustomProvider();
|
|
19
|
+
* const mapFile = new MapFileParser().parse(json);
|
|
20
|
+
* const secrets = await new EnvilderClient(provider).resolveSecrets(mapFile);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class EnvilderClient {
|
|
24
|
+
constructor(secretProvider) {
|
|
25
|
+
if (!secretProvider) {
|
|
26
|
+
throw new Error('secretProvider cannot be null');
|
|
27
|
+
}
|
|
28
|
+
this.secretProvider = secretProvider;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolves all mappings against the configured secret provider.
|
|
32
|
+
* Entries whose secret does not exist are silently omitted.
|
|
33
|
+
*/
|
|
34
|
+
resolveSecrets(mapFile) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
if (mapFile.mappings.size === 0) {
|
|
37
|
+
return new Map();
|
|
38
|
+
}
|
|
39
|
+
const secretPaths = [...new Set(mapFile.mappings.values())];
|
|
40
|
+
const resolved = yield this.secretProvider.getSecrets(secretPaths);
|
|
41
|
+
const result = new Map();
|
|
42
|
+
for (const [envVarName, secretPath] of mapFile.mappings) {
|
|
43
|
+
const value = resolved.get(secretPath);
|
|
44
|
+
if (value !== undefined) {
|
|
45
|
+
result.set(envVarName, value);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Sets every key/value pair as a process-level environment variable.
|
|
53
|
+
*/
|
|
54
|
+
static injectIntoEnvironment(secrets) {
|
|
55
|
+
for (const [key, value] of secrets) {
|
|
56
|
+
process.env[key] = value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=envilder-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envilder-client.js","sourceRoot":"","sources":["../../../../../src/sdks/nodejs/src/application/envilder-client.ts"],"names":[],"mappings":";;;;;;;;;AAGA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,cAAc;IAGzB,YAAY,cAA+B;QACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;OAGG;IACG,cAAc,CAAC,OAAsB;;YACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,GAAG,EAAE,CAAC;YACnB,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;YACzC,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAA4B;QACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { SecretProviderType } from '../domain/secret-provider-type.js';
|
|
2
|
+
/**
|
|
3
|
+
* Facade for loading secrets from cloud providers.
|
|
4
|
+
*
|
|
5
|
+
* Supports loading from a single map file or from an
|
|
6
|
+
* environment-based mapping that routes each environment name
|
|
7
|
+
* to its own map file (or `null` to skip).
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // One-liner — resolve + inject into process.env:
|
|
12
|
+
* await Envilder.load('secrets-map.json');
|
|
13
|
+
*
|
|
14
|
+
* // Resolve without injecting:
|
|
15
|
+
* const secrets = await Envilder.resolveFile('secrets-map.json');
|
|
16
|
+
*
|
|
17
|
+
* // Fluent builder with provider override:
|
|
18
|
+
* const secrets = await Envilder.fromMapFile('secrets-map.json')
|
|
19
|
+
* .withProvider(SecretProviderType.Azure)
|
|
20
|
+
* .withVaultUrl('https://my-vault.vault.azure.net')
|
|
21
|
+
* .inject();
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class Envilder {
|
|
25
|
+
private readonly filePath;
|
|
26
|
+
private options;
|
|
27
|
+
private constructor();
|
|
28
|
+
/**
|
|
29
|
+
* Returns a fluent builder bound to the given map file.
|
|
30
|
+
*
|
|
31
|
+
* Chain `.withProvider()`, `.withVaultUrl()`, or `.withProfile()`
|
|
32
|
+
* before calling `.resolve()` or `.inject()`.
|
|
33
|
+
*/
|
|
34
|
+
static fromMapFile(filePath: string): Envilder;
|
|
35
|
+
/**
|
|
36
|
+
* Resolves secrets and injects them into `process.env`.
|
|
37
|
+
*
|
|
38
|
+
* Can be called in two ways:
|
|
39
|
+
* - `load(filePath)` — load from a single map file
|
|
40
|
+
* - `load(env, envMapping)` — look up env in the mapping
|
|
41
|
+
*/
|
|
42
|
+
static load(filePathOrEnv: string, envMapping?: Record<string, string | null>): Promise<Map<string, string>>;
|
|
43
|
+
/**
|
|
44
|
+
* Resolves secrets without injecting into `process.env`.
|
|
45
|
+
*
|
|
46
|
+
* Can be called in two ways:
|
|
47
|
+
* - `resolveFile(filePath)` — resolve from a single map file
|
|
48
|
+
* - `resolveFile(env, envMapping)` — look up env in the mapping
|
|
49
|
+
*/
|
|
50
|
+
static resolveFile(filePathOrEnv: string, envMapping?: Record<string, string | null>): Promise<Map<string, string>>;
|
|
51
|
+
/** Override the secret provider (AWS or Azure). */
|
|
52
|
+
withProvider(provider: SecretProviderType): Envilder;
|
|
53
|
+
/** Override the Azure Key Vault URL. */
|
|
54
|
+
withVaultUrl(vaultUrl: string): Envilder;
|
|
55
|
+
/** Override the AWS named profile. */
|
|
56
|
+
withProfile(profile: string): Envilder;
|
|
57
|
+
/** Resolve secrets and return them as a Map. */
|
|
58
|
+
resolve(): Promise<Map<string, string>>;
|
|
59
|
+
/** Resolve secrets, inject into `process.env`, and return them. */
|
|
60
|
+
inject(): Promise<Map<string, string>>;
|
|
61
|
+
private parseFile;
|
|
62
|
+
private buildOptions;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=envilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envilder.d.ts","sourceRoot":"","sources":["../../../../../src/sdks/nodejs/src/application/envilder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAK5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,OAAO,CAAuB;IAEtC,OAAO;IAIP;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAK9C;;;;;;OAMG;WACU,IAAI,CACf,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa/B;;;;;;OAMG;WACU,WAAW,CACtB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa/B,mDAAmD;IACnD,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,QAAQ;IAKpD,wCAAwC;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAKxC,sCAAsC;IACtC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAKtC,gDAAgD;IAC1C,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAQ7C,mEAAmE;IAC7D,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAM9B,SAAS;IAavB,OAAO,CAAC,YAAY;CAOrB"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { readFile } from 'node:fs/promises';
|
|
11
|
+
import { createSecretProvider } from '../infrastructure/secret-provider-factory.js';
|
|
12
|
+
import { EnvilderClient } from './envilder-client.js';
|
|
13
|
+
import { MapFileParser } from './map-file-parser.js';
|
|
14
|
+
/**
|
|
15
|
+
* Facade for loading secrets from cloud providers.
|
|
16
|
+
*
|
|
17
|
+
* Supports loading from a single map file or from an
|
|
18
|
+
* environment-based mapping that routes each environment name
|
|
19
|
+
* to its own map file (or `null` to skip).
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // One-liner — resolve + inject into process.env:
|
|
24
|
+
* await Envilder.load('secrets-map.json');
|
|
25
|
+
*
|
|
26
|
+
* // Resolve without injecting:
|
|
27
|
+
* const secrets = await Envilder.resolveFile('secrets-map.json');
|
|
28
|
+
*
|
|
29
|
+
* // Fluent builder with provider override:
|
|
30
|
+
* const secrets = await Envilder.fromMapFile('secrets-map.json')
|
|
31
|
+
* .withProvider(SecretProviderType.Azure)
|
|
32
|
+
* .withVaultUrl('https://my-vault.vault.azure.net')
|
|
33
|
+
* .inject();
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export class Envilder {
|
|
37
|
+
constructor(filePath) {
|
|
38
|
+
this.options = {};
|
|
39
|
+
this.filePath = filePath;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns a fluent builder bound to the given map file.
|
|
43
|
+
*
|
|
44
|
+
* Chain `.withProvider()`, `.withVaultUrl()`, or `.withProfile()`
|
|
45
|
+
* before calling `.resolve()` or `.inject()`.
|
|
46
|
+
*/
|
|
47
|
+
static fromMapFile(filePath) {
|
|
48
|
+
validateFilePath(filePath);
|
|
49
|
+
return new Envilder(filePath.trim());
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Resolves secrets and injects them into `process.env`.
|
|
53
|
+
*
|
|
54
|
+
* Can be called in two ways:
|
|
55
|
+
* - `load(filePath)` — load from a single map file
|
|
56
|
+
* - `load(env, envMapping)` — look up env in the mapping
|
|
57
|
+
*/
|
|
58
|
+
static load(filePathOrEnv, envMapping) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
if (envMapping !== undefined) {
|
|
61
|
+
const source = resolveEnvSource(filePathOrEnv, envMapping);
|
|
62
|
+
if (source === null) {
|
|
63
|
+
return new Map();
|
|
64
|
+
}
|
|
65
|
+
return new Envilder(source).inject();
|
|
66
|
+
}
|
|
67
|
+
validateFilePath(filePathOrEnv);
|
|
68
|
+
return new Envilder(filePathOrEnv.trim()).inject();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Resolves secrets without injecting into `process.env`.
|
|
73
|
+
*
|
|
74
|
+
* Can be called in two ways:
|
|
75
|
+
* - `resolveFile(filePath)` — resolve from a single map file
|
|
76
|
+
* - `resolveFile(env, envMapping)` — look up env in the mapping
|
|
77
|
+
*/
|
|
78
|
+
static resolveFile(filePathOrEnv, envMapping) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
if (envMapping !== undefined) {
|
|
81
|
+
const source = resolveEnvSource(filePathOrEnv, envMapping);
|
|
82
|
+
if (source === null) {
|
|
83
|
+
return new Map();
|
|
84
|
+
}
|
|
85
|
+
return new Envilder(source).resolve();
|
|
86
|
+
}
|
|
87
|
+
validateFilePath(filePathOrEnv);
|
|
88
|
+
return new Envilder(filePathOrEnv.trim()).resolve();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/** Override the secret provider (AWS or Azure). */
|
|
92
|
+
withProvider(provider) {
|
|
93
|
+
this.options.provider = provider;
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
/** Override the Azure Key Vault URL. */
|
|
97
|
+
withVaultUrl(vaultUrl) {
|
|
98
|
+
this.options.vaultUrl = vaultUrl;
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/** Override the AWS named profile. */
|
|
102
|
+
withProfile(profile) {
|
|
103
|
+
this.options.profile = profile;
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
/** Resolve secrets and return them as a Map. */
|
|
107
|
+
resolve() {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const mapFile = yield this.parseFile();
|
|
110
|
+
const options = this.buildOptions();
|
|
111
|
+
const provider = createSecretProvider(mapFile.config, options);
|
|
112
|
+
const client = new EnvilderClient(provider);
|
|
113
|
+
return client.resolveSecrets(mapFile);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Resolve secrets, inject into `process.env`, and return them. */
|
|
117
|
+
inject() {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
const secrets = yield this.resolve();
|
|
120
|
+
EnvilderClient.injectIntoEnvironment(secrets);
|
|
121
|
+
return secrets;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
parseFile() {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
let json;
|
|
127
|
+
try {
|
|
128
|
+
json = yield readFile(this.filePath, 'utf-8');
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {
|
|
132
|
+
throw new Error(`Map file not found: ${this.filePath}`);
|
|
133
|
+
}
|
|
134
|
+
throw err;
|
|
135
|
+
}
|
|
136
|
+
return new MapFileParser().parse(json);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
buildOptions() {
|
|
140
|
+
const hasOverrides = this.options.provider !== undefined ||
|
|
141
|
+
this.options.vaultUrl !== undefined ||
|
|
142
|
+
this.options.profile !== undefined;
|
|
143
|
+
return hasOverrides ? this.options : undefined;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function validateFilePath(filePath) {
|
|
147
|
+
if (!(filePath === null || filePath === void 0 ? void 0 : filePath.trim())) {
|
|
148
|
+
throw new Error('file path cannot be empty');
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function resolveEnvSource(env, envMapping) {
|
|
152
|
+
if (!(env === null || env === void 0 ? void 0 : env.trim())) {
|
|
153
|
+
throw new Error('env cannot be empty');
|
|
154
|
+
}
|
|
155
|
+
const normalized = env.trim();
|
|
156
|
+
if (!Object.hasOwn(envMapping, normalized)) {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
const source = envMapping[normalized];
|
|
160
|
+
if (source === null) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
if (!source.trim()) {
|
|
164
|
+
throw new Error(`envMapping contains an empty file path for environment '${normalized}'.`);
|
|
165
|
+
}
|
|
166
|
+
return source.trim();
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=envilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envilder.js","sourceRoot":"","sources":["../../../../../src/sdks/nodejs/src/application/envilder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,QAAQ;IAInB,YAAoB,QAAgB;QAF5B,YAAO,GAAoB,EAAE,CAAC;QAGpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,QAAgB;QACjC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAO,IAAI,CACf,aAAqB,EACrB,UAA0C;;YAE1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,IAAI,GAAG,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,CAAC;YAED,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAChC,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;KAAA;IAED;;;;;;OAMG;IACH,MAAM,CAAO,WAAW,CACtB,aAAqB,EACrB,UAA0C;;YAE1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,IAAI,GAAG,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC;YAED,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAChC,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;KAAA;IAED,mDAAmD;IACnD,YAAY,CAAC,QAA4B;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAwC;IACxC,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IACtC,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IAC1C,OAAO;;YACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;KAAA;IAED,mEAAmE;IAC7D,MAAM;;YACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEa,SAAS;;YACrB,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;KAAA;IAEO,YAAY;QAClB,MAAM,YAAY,GAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YACnC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;QACrC,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACjD,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAW,EACX,UAAyC;IAEzC,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAA,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,2DAA2D,UAAU,IAAI,CAC1E,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ParsedMapFile } from '../domain/parsed-map-file.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses a JSON map-file string into a {@link ParsedMapFile}.
|
|
4
|
+
*/
|
|
5
|
+
export declare class MapFileParser {
|
|
6
|
+
/**
|
|
7
|
+
* Parse a JSON map-file string, extracting `$config` and variable mappings.
|
|
8
|
+
*
|
|
9
|
+
* @param json - Raw JSON string of the map file.
|
|
10
|
+
* @returns Parsed config and variable mappings.
|
|
11
|
+
*/
|
|
12
|
+
parse(json: string): ParsedMapFile;
|
|
13
|
+
private parseRawJson;
|
|
14
|
+
private parseConfig;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=map-file-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-file-parser.d.ts","sourceRoot":"","sources":["../../../../../src/sdks/nodejs/src/application/map-file-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAUlE;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAqBlC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,WAAW;CAqBpB"}
|