@reventlessdev/reventless-infra 3.0.0-alpha.134 → 3.0.0-alpha.136
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 +15 -0
- package/package.json +2 -2
- package/src/types/Platform.res +38 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,21 @@
|
|
|
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.136 (2026-08-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @reventlessdev/reventless-infra
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# 3.0.0-alpha.135 (2026-08-12)
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **platform:** bake a curated component manifest as a static asset ([4f30265](https://github.com/ReventlessDev/reventless-core/commit/4f30265a51fc2c59e69afd8074cf1b2534c06378))
|
|
19
|
+
|
|
20
|
+
|
|
6
21
|
# 3.0.0-alpha.134 (2026-08-11)
|
|
7
22
|
|
|
8
23
|
**Note:** Version bump only for package @reventlessdev/reventless-infra
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-infra",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.136",
|
|
4
4
|
"description": "Infrastructure types for Reventless framework",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
20
20
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.18",
|
|
21
21
|
"@reventlessdev/rescript-uuid": "2.0.0-alpha.0",
|
|
22
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.
|
|
22
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.110"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"rescript": "12.3.0",
|
package/src/types/Platform.res
CHANGED
|
@@ -114,6 +114,34 @@ type capability =
|
|
|
114
114
|
// A provisioned geocoding place index, as returned by the framework's geocoding
|
|
115
115
|
// capability helper. A record rather than a bare name so the handle can grow
|
|
116
116
|
// (ARN, data source) without moving every call site.
|
|
117
|
+
/** One plugin's slice of the baked manifest. `views` / `commands` unset ⇒
|
|
118
|
+
every public component of that kind; set ⇒ exactly the named ones.
|
|
119
|
+
An include-list rather than an exclude-list, so a component added later
|
|
120
|
+
has to be opted in and cannot silently widen a curated shell's surface.
|
|
121
|
+
A name that matches nothing fails the deploy naming it — a silent no-op
|
|
122
|
+
here produces a missing page no log explains. */
|
|
123
|
+
type bakedManifestSelection = {
|
|
124
|
+
plugin: string,
|
|
125
|
+
views?: array<string>,
|
|
126
|
+
commands?: array<string>,
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/** Declaration for the baked component manifest — the static JSON a shell
|
|
130
|
+
reads instead of calling the admin-gated `Platform_ComponentDefinitions`.
|
|
131
|
+
The deployment declares WHAT TO INCLUDE, not what to write: the content is
|
|
132
|
+
derived from the registered plugins' structures, which only the framework
|
|
133
|
+
knows.
|
|
134
|
+
|
|
135
|
+
Unset ⇒ no file written ⇒ a shell configured for it 404s and any existing
|
|
136
|
+
deployment is byte-identical to today. This is curation (what exists for
|
|
137
|
+
this deployment's audience), never authorization (what this caller may
|
|
138
|
+
do) — the server-side gate on every query and mutation is untouched. */
|
|
139
|
+
type bakedManifest = {
|
|
140
|
+
components: array<bakedManifestSelection>,
|
|
141
|
+
/** Defaults to `component-manifest.json`, written beside `config.json`. */
|
|
142
|
+
key?: string,
|
|
143
|
+
}
|
|
144
|
+
|
|
117
145
|
type geocoderIndex = {indexName: Pulumi.Input.t<string>}
|
|
118
146
|
|
|
119
147
|
// Options for the shell's map view mode. Written to config.json flat, beside
|
|
@@ -351,6 +379,11 @@ module type T = {
|
|
|
351
379
|
// no file written; the shell treats the 404 as "no hints" and boots
|
|
352
380
|
// unchanged. In-memory platforms ignore this.
|
|
353
381
|
uiHintsFile?: string,
|
|
382
|
+
// Optional baked component manifest. When set, the curated manifest is
|
|
383
|
+
// written beside `config.json` at deploy time; the shell reads it through
|
|
384
|
+
// its `manifestUrl` config key and never calls the platform's admin API.
|
|
385
|
+
// Unset ⇒ no file written, and the deployment behaves as it does today.
|
|
386
|
+
bakedManifest?: bakedManifest,
|
|
354
387
|
// Optional geocoding place index. When set, the deploy provisions the
|
|
355
388
|
// capability's client door — a Cognito-authenticated `Query.geocode` resolver
|
|
356
389
|
// on the platform API — and exports the index name for the unattended slice
|
|
@@ -382,10 +415,14 @@ module type T = {
|
|
|
382
415
|
}
|
|
383
416
|
|
|
384
417
|
/** Deploy a complete platform: creates the scheduler, builds each plugin,
|
|
385
|
-
creates admin components internally, and wires everything (schema stitching + stack exports).
|
|
418
|
+
creates admin components internally, and wires everything (schema stitching + stack exports).
|
|
419
|
+
Pass `~hostUiBundle` to declare host-shell assets this path owns — in-memory
|
|
420
|
+
that is where `bakedManifest` is declared, since a local platform has no
|
|
421
|
+
deploy step to hang it off. */
|
|
386
422
|
let makePlatform: (
|
|
387
423
|
~version: string,
|
|
388
424
|
~plugins: array<module(PluginMaker)>,
|
|
425
|
+
~hostUiBundle: hostUiBundleConfig=?,
|
|
389
426
|
) => unit
|
|
390
427
|
|
|
391
428
|
/** Deploy only the platform (admin components, scheduler, shared API).
|