@reventlessdev/reventless-aws 3.0.0-alpha.202 → 3.0.0-alpha.204
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,20 @@
|
|
|
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.204 (2026-07-13)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **admin:** skip over-long Source-C subscriptions on the ApiFragmentRegistry aggregate (deploy [#6](https://github.com/ReventlessDev/reventless-core/issues/6)) ([0977120](https://github.com/ReventlessDev/reventless-core/commit/0977120d5c6cb2331d9384747d136fe99855690e))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# 3.0.0-alpha.203 (2026-07-13)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **admin:** orphan resolvers on the ApiFragmentRegistry aggregate deploy (deploy [#5](https://github.com/ReventlessDev/reventless-core/issues/5)) ([9572344](https://github.com/ReventlessDev/reventless-core/commit/95723443bad8ae8143ceaea209827ee5bd4d0ae5)), closes [#2](https://github.com/ReventlessDev/reventless-core/issues/2)
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
# 3.0.0-alpha.202 (2026-07-13)
|
|
7
21
|
|
|
8
22
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-aws",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.204",
|
|
4
4
|
"description": "AWS adapters for Reventless",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"dependencies": {
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
"sury": "11.0.0-alpha.4",
|
|
10
10
|
"uuid": "^13.0.0",
|
|
11
11
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.27",
|
|
12
|
-
"@reventlessdev/rescript-aws-sdk": "2.2.0-alpha.21",
|
|
13
|
-
"@reventlessdev/rescript-jest": "1.0.0-alpha.7",
|
|
14
12
|
"@reventlessdev/rescript-pulumi-aws": "2.4.0-alpha.50",
|
|
13
|
+
"@reventlessdev/rescript-jest": "1.0.0-alpha.7",
|
|
15
14
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.15",
|
|
15
|
+
"@reventlessdev/rescript-aws-sdk": "2.2.0-alpha.21",
|
|
16
16
|
"@reventlessdev/rescript-uuid": "1.1.0-alpha.15",
|
|
17
|
-
"@reventlessdev/reventless-core": "3.0.0-alpha.
|
|
17
|
+
"@reventlessdev/reventless-core": "3.0.0-alpha.163",
|
|
18
18
|
"@reventlessdev/reventless-infra": "3.0.0-alpha.98",
|
|
19
|
-
"@reventlessdev/reventless-
|
|
20
|
-
"@reventlessdev/reventless-
|
|
21
|
-
"@reventlessdev/reventless-
|
|
19
|
+
"@reventlessdev/reventless-interop": "3.0.0-alpha.26",
|
|
20
|
+
"@reventlessdev/reventless-postgres": "3.0.0-alpha.27",
|
|
21
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.76"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"rescript": "^12.3.0",
|
package/src/Platform.res
CHANGED
|
@@ -1499,7 +1499,13 @@ module MakeWithConfig = (
|
|
|
1499
1499
|
let moduleUrl: string = ReventlessCore.ApiFragmentsProjection.moduleUrl
|
|
1500
1500
|
let mappings: array<module(Mapping)> = ReventlessCore.ApiFragmentsProjection.mappings
|
|
1501
1501
|
}
|
|
1502
|
-
|
|
1502
|
+
// NoResolver builder: the ApiFragments RM's query surface is the dedicated
|
|
1503
|
+
// Platform_ApiFragments Lambda (declared in baseFragment), NOT an auto-generated
|
|
1504
|
+
// Connection resolver — so it must not emit AppSync query resolvers (they'd orphan
|
|
1505
|
+
// against the static pushed baseFragment: "No field named apiFragments on type Query").
|
|
1506
|
+
// Still stream-projects the table from the aggregate's event stream. Mirrors local's
|
|
1507
|
+
// MakeNoResolver.
|
|
1508
|
+
module ApiFragmentsReadModel = ReadModel_Builder_NoResolver_Stream.Make(
|
|
1503
1509
|
ReventlessCore.ApiFragmentsReadModelSpec,
|
|
1504
1510
|
ApiFragmentsReadModelMappings,
|
|
1505
1511
|
)
|
package/src/Platform.res.mjs
CHANGED
|
@@ -101,6 +101,7 @@ import * as CommandGeneratorResolvers_AppSync$ReventlessAws from "./adapter/Comm
|
|
|
101
101
|
import * as EventTopicPublisher_DynamoDbStream$ReventlessAws from "./adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs";
|
|
102
102
|
import * as InboundTranslationResolvers_AppSync$ReventlessAws from "./adapter/CommandGenerator/InboundTranslationResolvers_AppSync.res.mjs";
|
|
103
103
|
import * as PluginExtensionPointRuntime_Builder$ReventlessAws from "./plugin/runtime/PluginExtensionPointRuntime_Builder.res.mjs";
|
|
104
|
+
import * as ReadModel_Builder_NoResolver_Stream$ReventlessAws from "./components/ReadModel_Builder_NoResolver_Stream.res.mjs";
|
|
104
105
|
import * as EventCollectorRuntime_Builder_Single$ReventlessAws from "./adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs";
|
|
105
106
|
import * as Platform_ComponentDefinitions_Lambda$ReventlessAws from "./adapter/Api/Platform_ComponentDefinitions_Lambda.res.mjs";
|
|
106
107
|
import * as StateViewSliceRuntime_Builder_Single$ReventlessAws from "./adapter/Runtime/StateViewSliceRuntime_Builder_Single.res.mjs";
|
|
@@ -983,7 +984,7 @@ function MakeWithConfig(Config) {
|
|
|
983
984
|
moduleUrl: ApiFragmentsProjection$ReventlessCore.moduleUrl,
|
|
984
985
|
mappings: ApiFragmentsProjection$ReventlessCore.mappings
|
|
985
986
|
};
|
|
986
|
-
let ApiFragmentsReadModel =
|
|
987
|
+
let ApiFragmentsReadModel = ReadModel_Builder_NoResolver_Stream$ReventlessAws.Make({
|
|
987
988
|
Id: Id$Reventless.$$String,
|
|
988
989
|
name: ApiFragmentsReadModelSpec$ReventlessCore.name,
|
|
989
990
|
moduleUrl: ApiFragmentsReadModelSpec$ReventlessCore.moduleUrl,
|
|
@@ -2420,7 +2421,7 @@ function Make($star) {
|
|
|
2420
2421
|
moduleUrl: ApiFragmentsProjection$ReventlessCore.moduleUrl,
|
|
2421
2422
|
mappings: ApiFragmentsProjection$ReventlessCore.mappings
|
|
2422
2423
|
};
|
|
2423
|
-
let ApiFragmentsReadModel =
|
|
2424
|
+
let ApiFragmentsReadModel = ReadModel_Builder_NoResolver_Stream$ReventlessAws.Make({
|
|
2424
2425
|
Id: Id$Reventless.$$String,
|
|
2425
2426
|
name: ApiFragmentsReadModelSpec$ReventlessCore.name,
|
|
2426
2427
|
moduleUrl: ApiFragmentsReadModelSpec$ReventlessCore.moduleUrl,
|
|
@@ -150,9 +150,18 @@ let make: ReventlessCore.CommandGenerator_Adapter.resolversMaker<api, Util.Lambd
|
|
|
150
150
|
// fragment's subscription-source metadata) handles
|
|
151
151
|
// delivery. AWS requires a dataSourceName even on UNIT subscription resolvers,
|
|
152
152
|
// so we reuse the mutation's data source (its code never executes for subs).
|
|
153
|
+
//
|
|
154
|
+
// Skip fields whose `on<field>` subscription name exceeds AppSync's 50-char cap — the
|
|
155
|
+
// pushed SDL drops those Source-C subscription fields (Plugin_SubscriptionSchema.sourceCFields
|
|
156
|
+
// applies the SAME gate), so creating their resolvers would fail CreateResolver NotFound
|
|
157
|
+
// (e.g. the admin-aggregate `Platform_ApiFragmentRegistry_DeregisterApiFragment` → 52 chars).
|
|
158
|
+
let subscribableFields =
|
|
159
|
+
fields->Array.filter(field =>
|
|
160
|
+
`on${field}`->String.length <= ReventlessCore.Api_Naming.appSyncSubscriptionMaxLen
|
|
161
|
+
)
|
|
153
162
|
CommandSubscriptionResolvers_AppSync.make(
|
|
154
163
|
~api,
|
|
155
|
-
~mutationFields=
|
|
164
|
+
~mutationFields=subscribableFields,
|
|
156
165
|
~dataSourceName=dataSource.name->Pulumi.Output.asInput,
|
|
157
166
|
~opts,
|
|
158
167
|
)
|
|
@@ -11,6 +11,7 @@ import * as Lambda$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/Lambda
|
|
|
11
11
|
import * as AWS$ReventlessAws from "../AWS.res.mjs";
|
|
12
12
|
import * as Adapter$ReventlessCore from "@reventlessdev/reventless-core/src/adapter/Adapter.res.mjs";
|
|
13
13
|
import * as PolicyDocument$PulumiAws from "@reventlessdev/rescript-pulumi-aws/src/IAM/PolicyDocument.res.mjs";
|
|
14
|
+
import * as Api_Naming$ReventlessCore from "@reventlessdev/reventless-core/src/components/Api/Api_Naming.res.mjs";
|
|
14
15
|
import * as Util_AppSync$ReventlessAws from "../../util/Util_AppSync.res.mjs";
|
|
15
16
|
import * as Util_Pulumi$ReventlessCore from "@reventlessdev/reventless-core/src/util/Util_Pulumi.res.mjs";
|
|
16
17
|
import * as Util_Adapter$ReventlessCore from "@reventlessdev/reventless-core/src/util/Util_Adapter.res.mjs";
|
|
@@ -78,7 +79,8 @@ function make(name, api, fields, param, runtime, resources, opts) {
|
|
|
78
79
|
let commandName = Stdlib_String.capitalize(Stdlib_Option.getOr(parts[parts.length - 1 | 0], field));
|
|
79
80
|
return AppSync_Resolver_Retrying$ReventlessAws.makeUnitJsResolver(Stdlib_String.capitalize(field), api, dataSource.name, "Mutation", field, AppSync_Resolver_Functions$PulumiAws.invokeCommandGenerator(commandName), opts$1);
|
|
80
81
|
});
|
|
81
|
-
|
|
82
|
+
let subscribableFields = fields.filter(field => (`on` + field).length <= Api_Naming$ReventlessCore.appSyncSubscriptionMaxLen);
|
|
83
|
+
CommandSubscriptionResolvers_AppSync$ReventlessAws.make(api, subscribableFields, dataSource.name, opts$1);
|
|
82
84
|
let resources$1 = resolvers.map(Util_AppSync$ReventlessAws.toResourceNative);
|
|
83
85
|
return {
|
|
84
86
|
resources: resources$1
|