@reventlessdev/reventless-core 3.0.0-alpha.229 → 3.0.0-alpha.230
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 3.0.0-alpha.230 (2026-08-13)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **aws:** bake the component manifest after every plugin stack is up ([2fff09a](https://github.com/ReventlessDev/reventless-core/commit/2fff09aa32b77cc8e33a65414c58c12026ca009e))
|
|
11
|
+
* **local:** bake one curated surface per audience ([3be6f63](https://github.com/ReventlessDev/reventless-core/commit/3be6f63e579cef8cd213a84b6ccded773b1abc9e))
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# 3.0.0-alpha.229 (2026-08-12)
|
|
7
15
|
|
|
8
16
|
### Bug Fixes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.230",
|
|
4
4
|
"description": "Core package for Reventless framework",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"sury": "11.0.0-alpha.4",
|
|
30
30
|
"uuid": "^13.0.0",
|
|
31
31
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
32
|
-
"@reventlessdev/rescript-fast-csv": "2.0.0-alpha.4",
|
|
33
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
34
|
-
"@reventlessdev/rescript-node": "2.0.0-alpha.4",
|
|
35
32
|
"@reventlessdev/rescript-hash-object": "1.2.0-alpha.14",
|
|
36
|
-
"@reventlessdev/rescript-
|
|
33
|
+
"@reventlessdev/rescript-fast-csv": "2.0.0-alpha.5",
|
|
34
|
+
"@reventlessdev/rescript-node": "2.0.0-alpha.5",
|
|
35
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
37
36
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.18",
|
|
37
|
+
"@reventlessdev/rescript-ssh2": "2.0.0-alpha.5",
|
|
38
38
|
"@reventlessdev/rescript-uuid": "2.0.0-alpha.0",
|
|
39
|
-
"@reventlessdev/reventless-infra": "3.0.0-alpha.
|
|
39
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.138",
|
|
40
40
|
"@reventlessdev/reventless-interop": "3.0.0-alpha.30",
|
|
41
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.
|
|
41
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.112"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"rescript": "12.3.0",
|
|
@@ -132,6 +132,43 @@ let curateStructure = (
|
|
|
132
132
|
}
|
|
133
133
|
})
|
|
134
134
|
|
|
135
|
+
// Where the file goes when the declaration does not say, and the URL a shell
|
|
136
|
+
// fetches it from.
|
|
137
|
+
//
|
|
138
|
+
// Both platforms write the manifest beside `config.json` at what is also the
|
|
139
|
+
// shell's URL root, so the key and the path the browser asks for are one string.
|
|
140
|
+
// Stated here, with the curation, because a platform that defaulted the key
|
|
141
|
+
// differently from the one that wrote `manifestUrl` would put the file where
|
|
142
|
+
// nothing reads it — and the symptom is an empty shop, not a missing file.
|
|
143
|
+
let defaultKey = "component-manifest.json"
|
|
144
|
+
|
|
145
|
+
let urlForKey = (key: option<string>): string => "/" ++ key->Option.getOr(defaultKey)
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
File name for a journey that did not choose one.
|
|
149
|
+
|
|
150
|
+
Derived from the group so two journeys cannot collide by accident, and
|
|
151
|
+
lower-cased with non-alphanumerics folded to `-` because a group name is a
|
|
152
|
+
Cognito identifier and a key is part of a URL. A deployment wanting something
|
|
153
|
+
else names it.
|
|
154
|
+
*/
|
|
155
|
+
let journeyKey = (~group: string): string => {
|
|
156
|
+
let slug =
|
|
157
|
+
group
|
|
158
|
+
->String.toLowerCase
|
|
159
|
+
->String.split("")
|
|
160
|
+
->Array.map(c =>
|
|
161
|
+
switch c {
|
|
162
|
+
| "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" => c
|
|
163
|
+
| "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" => c
|
|
164
|
+
| "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" => c
|
|
165
|
+
| _ => "-"
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
->Array.join("")
|
|
169
|
+
`component-manifest-${slug}.json`
|
|
170
|
+
}
|
|
171
|
+
|
|
135
172
|
// The whole file: one entry per selection, in the order the deployment declared
|
|
136
173
|
// them, so the include-list also states the order a consumer reads plugins in.
|
|
137
174
|
let curate = (
|
|
@@ -119,6 +119,59 @@ function curateStructure(pluginId, def, sel) {
|
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
let defaultKey = "component-manifest.json";
|
|
123
|
+
|
|
124
|
+
function urlForKey(key) {
|
|
125
|
+
return "/" + Stdlib_Option.getOr(key, defaultKey);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function journeyKey(group) {
|
|
129
|
+
let slug = group.toLowerCase().split("").map(c => {
|
|
130
|
+
switch (c) {
|
|
131
|
+
case "0" :
|
|
132
|
+
case "1" :
|
|
133
|
+
case "2" :
|
|
134
|
+
case "3" :
|
|
135
|
+
case "4" :
|
|
136
|
+
case "5" :
|
|
137
|
+
case "6" :
|
|
138
|
+
case "7" :
|
|
139
|
+
case "8" :
|
|
140
|
+
case "9" :
|
|
141
|
+
case "a" :
|
|
142
|
+
case "b" :
|
|
143
|
+
case "c" :
|
|
144
|
+
case "d" :
|
|
145
|
+
case "e" :
|
|
146
|
+
case "f" :
|
|
147
|
+
case "g" :
|
|
148
|
+
case "h" :
|
|
149
|
+
case "i" :
|
|
150
|
+
case "j" :
|
|
151
|
+
case "k" :
|
|
152
|
+
case "l" :
|
|
153
|
+
case "m" :
|
|
154
|
+
case "n" :
|
|
155
|
+
case "o" :
|
|
156
|
+
case "p" :
|
|
157
|
+
case "q" :
|
|
158
|
+
case "r" :
|
|
159
|
+
case "s" :
|
|
160
|
+
case "t" :
|
|
161
|
+
case "u" :
|
|
162
|
+
case "v" :
|
|
163
|
+
case "w" :
|
|
164
|
+
case "x" :
|
|
165
|
+
case "y" :
|
|
166
|
+
case "z" :
|
|
167
|
+
return c;
|
|
168
|
+
default:
|
|
169
|
+
return "-";
|
|
170
|
+
}
|
|
171
|
+
}).join("");
|
|
172
|
+
return `component-manifest-` + slug + `.json`;
|
|
173
|
+
}
|
|
174
|
+
|
|
122
175
|
function curate(structures, selections) {
|
|
123
176
|
return Stdlib_Result.map(Stdlib_Array.reduce(selections, {
|
|
124
177
|
TAG: "Ok",
|
|
@@ -151,6 +204,9 @@ export {
|
|
|
151
204
|
isSelected,
|
|
152
205
|
referencedEntities,
|
|
153
206
|
curateStructure,
|
|
207
|
+
defaultKey,
|
|
208
|
+
urlForKey,
|
|
209
|
+
journeyKey,
|
|
154
210
|
curate,
|
|
155
211
|
}
|
|
156
212
|
/* No side effect */
|