@reventlessdev/reventless-local 3.0.0-alpha.225 → 3.0.0-alpha.226
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 +8 -0
- package/package.json +10 -10
- package/src/Platform.res +1 -1
- package/src/adapter/EventLog/EventLogStorage_Sqlite.res +1 -1
- package/src/adapter/QueryDb/LocalQueryDbStorage.res +1 -1
- package/tests/adapter/DcbEventLogStorageSqliteTest.res +1 -1
- package/tests/adapter/DcbEventLogStorageTest.res +1 -1
- package/tests/adapter/EventLogSnapshotParityTest.res +1 -1
- package/tests/components/readmodel/DcbReadModelE2EFixtures.res +1 -1
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.226 (2026-08-16)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @reventlessdev/reventless-local
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# 3.0.0-alpha.225 (2026-08-16)
|
|
7
15
|
|
|
8
16
|
### Bug Fixes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-local",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.226",
|
|
4
4
|
"description": "Local platform for Reventless (in-memory or SQLite backend, for development and testing without AWS)",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"bin": {
|
|
@@ -35,23 +35,23 @@
|
|
|
35
35
|
"sury": "11.0.0-alpha.4",
|
|
36
36
|
"ws": "^8.18.0",
|
|
37
37
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.32",
|
|
38
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
38
39
|
"@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.27",
|
|
39
40
|
"@reventlessdev/rescript-mcp-sdk": "1.0.0-alpha.21",
|
|
40
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.10",
|
|
41
41
|
"@reventlessdev/rescript-node": "2.0.0-alpha.7",
|
|
42
42
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.19",
|
|
43
|
-
"@reventlessdev/reventless-
|
|
44
|
-
"@reventlessdev/reventless-infra": "3.0.0-alpha.
|
|
45
|
-
"@reventlessdev/reventless-
|
|
46
|
-
"@reventlessdev/reventless-
|
|
47
|
-
"@reventlessdev/reventless-postgres": "3.0.0-alpha.
|
|
48
|
-
"@reventlessdev/reventless-
|
|
49
|
-
"@reventlessdev/reventless-
|
|
43
|
+
"@reventlessdev/reventless-graphql-server": "1.0.0-alpha.86",
|
|
44
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.144",
|
|
45
|
+
"@reventlessdev/reventless-gwt": "1.0.0-alpha.185",
|
|
46
|
+
"@reventlessdev/reventless-core": "3.0.0-alpha.238",
|
|
47
|
+
"@reventlessdev/reventless-postgres": "3.0.0-alpha.102",
|
|
48
|
+
"@reventlessdev/reventless-seed": "1.0.0-alpha.15",
|
|
49
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.116"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"rescript": "12.3.0",
|
|
53
53
|
"sury-ppx": "11.0.0-alpha.2",
|
|
54
|
-
"@reventlessdev/reventless-ppx": "1.0.0-alpha.
|
|
54
|
+
"@reventlessdev/reventless-ppx": "1.0.0-alpha.68"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"rescript": "12.3.0"
|
package/src/Platform.res
CHANGED
|
@@ -700,7 +700,7 @@ module MakeWithConfig = (
|
|
|
700
700
|
StateViewSliceMaker.Make(Spec, Projection)
|
|
701
701
|
}
|
|
702
702
|
|
|
703
|
-
// Admin UI-fragment registry (docs/plans/event-sourced-fragment-registries.md): the
|
|
703
|
+
// Admin UI-fragment registry (docs/plans/done/event-sourced-fragment-registries.md): the
|
|
704
704
|
// platform UI-fragment registry hosted as an admin DCB slice on the admin DcbEventLog.
|
|
705
705
|
// Built once and passed into Admin.construct below.
|
|
706
706
|
module UiFragmentRegistrySlice = StateChangeSlice.Make(
|
|
@@ -20,7 +20,7 @@ let ensureSchema = (db: SqliteDriver.t) => {
|
|
|
20
20
|
db->SqliteDriver.exec(
|
|
21
21
|
"CREATE TABLE IF NOT EXISTS event_log (log_name TEXT NOT NULL, aggregate_id TEXT NOT NULL, seq_nr INTEGER NOT NULL, payload TEXT NOT NULL, PRIMARY KEY (log_name, aggregate_id, seq_nr))",
|
|
22
22
|
)
|
|
23
|
-
// Keep-one aggregate-state snapshots (docs/plans/aggregate-snapshotting.md):
|
|
23
|
+
// Keep-one aggregate-state snapshots (docs/plans/done/aggregate-snapshotting.md):
|
|
24
24
|
// one row per (log, aggregate), overwritten on every snapshot write. `state`
|
|
25
25
|
// is the JSON-encoded fold of events seq 0..seq_nr-1; `schema_hash` lets the
|
|
26
26
|
// consumer detect a state-schema drift and fall back to full replay.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// refactor. So under Backend.Postgres the read-model live-query path uses the
|
|
10
10
|
// in-memory arm (getDb() is None for Postgres → Memory), rebuilt by replay from
|
|
11
11
|
// the durable pg event log; the deploy-usable ReventlessPostgres.QueryDbStorage_Postgres
|
|
12
|
-
// serves non-local compute layers. See docs/plans/postgres-storage-adapter.md §E.
|
|
12
|
+
// serves non-local compute layers. See docs/plans/done/postgres-storage-adapter.md §E.
|
|
13
13
|
|
|
14
14
|
module Make = (Bus: LocalBus.T) => {
|
|
15
15
|
module Mem = QueryDbStorage_InMemory.Make(Bus)
|
|
@@ -94,7 +94,7 @@ describe("DcbEventLogStorage_Sqlite", () => {
|
|
|
94
94
|
// Backend contract: an empty tag value (an absent composite-partition member) is
|
|
95
95
|
// legitimate — it appends, is recorded verbatim, and keeps matching through both
|
|
96
96
|
// the partition read and a composite read. Held identically by the in-memory and
|
|
97
|
-
// DynamoDB backends. See docs/plans/dcb-empty-tag-values-break-append.md.
|
|
97
|
+
// DynamoDB backends. See docs/plans/done/dcb-empty-tag-values-break-append.md.
|
|
98
98
|
testPromise("an empty tag value appends and stays readable", async () => {
|
|
99
99
|
await runUnderSqlite(async () => {
|
|
100
100
|
module TestBus = LocalBus.Make()
|
|
@@ -145,7 +145,7 @@ describe("DcbEventLogStorage_InMemory", () => {
|
|
|
145
145
|
// An empty tag value is a legitimate model state — an absent member of a
|
|
146
146
|
// composite partition key. Every backend must accept it, record it verbatim,
|
|
147
147
|
// and keep matching the event through its partition and composite reads. See
|
|
148
|
-
// docs/plans/dcb-empty-tag-values-break-append.md.
|
|
148
|
+
// docs/plans/done/dcb-empty-tag-values-break-append.md.
|
|
149
149
|
testPromise("an empty tag value appends and stays readable", async () => {
|
|
150
150
|
let storage = makeStorage()
|
|
151
151
|
let ops = await storage.operations->TestRunner.resolve
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Backend-parity tests for the EventLog snapshot ops
|
|
2
|
-
// (docs/plans/aggregate-snapshotting.md): the in-memory and SQLite backends
|
|
2
|
+
// (docs/plans/done/aggregate-snapshotting.md): the in-memory and SQLite backends
|
|
3
3
|
// must behave identically for latestSnapshot / writeSnapshot (keep-one) and
|
|
4
4
|
// the replayStream ~fromSeq delta read, so GWT/local tests of
|
|
5
5
|
// snapshot-enabled aggregates give the same results under either backend.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// `meta.service` with the `allEventTopics` dict key, plus the Phase 3
|
|
6
6
|
// `Reventless.Projection.DcbSource` helper.
|
|
7
7
|
//
|
|
8
|
-
// Plan 03: docs/plans/mixed-source-readmodel.md
|
|
8
|
+
// Plan 03: docs/plans/done/mixed-source-readmodel.md
|
|
9
9
|
|
|
10
10
|
open TestFixtures
|
|
11
11
|
open Reventless
|