@gezelligate/core 0.1.1 → 0.1.2
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/dist/dependencies.d.ts.map +1 -1
- package/dist/dependencies.js +28 -10
- package/dist/dependencies.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEtD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,UAAU,GACf,eAAe,
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEtD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,UAAU,GACf,eAAe,CAkGjB"}
|
package/dist/dependencies.js
CHANGED
|
@@ -6,14 +6,15 @@ export function resolveEnabledServices(configured, repo) {
|
|
|
6
6
|
// wizard choice.
|
|
7
7
|
for (const [name, def] of repo) {
|
|
8
8
|
if ((def.required || def.kernel === true) && !enabled.has(name)) {
|
|
9
|
-
enabled.set(name,
|
|
9
|
+
enabled.set(name, withFormDefaults(name, def, configured.get(name)));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
for (const [name, cfg] of configured) {
|
|
13
|
-
|
|
13
|
+
const def = repo.get(name);
|
|
14
|
+
if (!def) {
|
|
14
15
|
throw new Error(`Configured service "${name}" is not in the repository`);
|
|
15
16
|
}
|
|
16
|
-
enabled.set(name, cfg);
|
|
17
|
+
enabled.set(name, withFormDefaults(name, def, cfg));
|
|
17
18
|
}
|
|
18
19
|
// Iteratively pull in dependencies until fixed point.
|
|
19
20
|
let changed = true;
|
|
@@ -28,7 +29,7 @@ export function resolveEnabledServices(configured, repo) {
|
|
|
28
29
|
}
|
|
29
30
|
const shouldEnable = dep.required || (dep.when !== undefined && evalWhen(dep.when, cfg));
|
|
30
31
|
if (shouldEnable && !enabled.has(dep.service)) {
|
|
31
|
-
enabled.set(dep.service,
|
|
32
|
+
enabled.set(dep.service, withFormDefaults(dep.service, depDef, configured.get(dep.service)));
|
|
32
33
|
changed = true;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -47,7 +48,7 @@ export function resolveEnabledServices(configured, repo) {
|
|
|
47
48
|
const dbProviderName = findProviderInRepo(repo, "sharedDatabase");
|
|
48
49
|
if (dbProviderName && !enabled.has(dbProviderName)) {
|
|
49
50
|
const dbDef = repo.get(dbProviderName);
|
|
50
|
-
enabled.set(dbProviderName,
|
|
51
|
+
enabled.set(dbProviderName, withFormDefaults(dbProviderName, dbDef, configured.get(dbProviderName)));
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
// Same for redis: find provides.sharedRedis, never assume the service
|
|
@@ -59,7 +60,7 @@ export function resolveEnabledServices(configured, repo) {
|
|
|
59
60
|
const redisProviderName = findProviderInRepo(repo, "sharedRedis");
|
|
60
61
|
if (redisProviderName && !enabled.has(redisProviderName)) {
|
|
61
62
|
const redisDef = repo.get(redisProviderName);
|
|
62
|
-
enabled.set(redisProviderName,
|
|
63
|
+
enabled.set(redisProviderName, withFormDefaults(redisProviderName, redisDef, configured.get(redisProviderName)));
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
// Bridge is no longer auto-included. It's a normal user-pickable service
|
|
@@ -93,14 +94,31 @@ function findProviderInRepo(repo, capability) {
|
|
|
93
94
|
}
|
|
94
95
|
return undefined;
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Merge service.yaml form defaults under the user's saved form values.
|
|
99
|
+
* The wizard PUTs only the fields the user actually touched, so a fresh
|
|
100
|
+
* service config can have an empty `form: {}` — without this fallback,
|
|
101
|
+
* templates that reference defaulted fields (e.g. {{form.subdomain}})
|
|
102
|
+
* throw "X not defined in [object Object]" during render.
|
|
103
|
+
*
|
|
104
|
+
* Precedence: user value > default. Falsy user values (empty string, 0,
|
|
105
|
+
* false) still win — they were chosen, not absent — so we key on
|
|
106
|
+
* Object.prototype.hasOwnProperty, not truthiness.
|
|
107
|
+
*/
|
|
108
|
+
function withFormDefaults(name, def, cfg) {
|
|
109
|
+
const merged = {};
|
|
98
110
|
for (const field of def.form) {
|
|
99
111
|
if (field.default !== undefined) {
|
|
100
|
-
|
|
112
|
+
merged[field.key] = field.default;
|
|
101
113
|
}
|
|
102
114
|
}
|
|
103
|
-
|
|
115
|
+
if (cfg) {
|
|
116
|
+
for (const [key, value] of Object.entries(cfg.form)) {
|
|
117
|
+
merged[key] = value;
|
|
118
|
+
}
|
|
119
|
+
return { ...cfg, service: name, form: merged };
|
|
120
|
+
}
|
|
121
|
+
return { service: name, form: merged };
|
|
104
122
|
}
|
|
105
123
|
function evalWhen(expr, cfg) {
|
|
106
124
|
// Minimal expression: "form.<key> == <literal>"
|
package/dist/dependencies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,sBAAsB,CACpC,UAAoB,EACpB,IAAgB;IAEhB,MAAM,OAAO,GAAoB,IAAI,GAAG,EAAE,CAAC;IAE3C,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,iBAAiB;IACjB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gezelligate/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Core engine for Gezelligate: schema, loader, templating, validation, and target abstraction. Consumed by @gezelligate/{cli,studio,k8s,docker,dev}.",
|
|
6
6
|
"license": "MIT",
|