@reventlessdev/reventless-graphql-server 1.0.0-alpha.13 → 1.0.0-alpha.14

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,13 @@
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
+ # 1.0.0-alpha.14 (2026-07-14)
7
+
8
+ ### Features
9
+
10
+ * **local:** plugin=subgraph composition — per-plugin subschemas merged at start (Phase 6, plan complete) ([40f44c5](https://github.com/ReventlessDev/reventless-core/commit/40f44c5c6aa32fbbd64f362841cf41ba4e2fc2e0))
11
+
12
+
6
13
  # 1.0.0-alpha.13 (2026-07-14)
7
14
 
8
15
  **Note:** Version bump only for package @reventlessdev/reventless-graphql-server
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-graphql-server",
3
- "version": "1.0.0-alpha.13",
3
+ "version": "1.0.0-alpha.14",
4
4
  "description": "Transport-neutral GraphQL server runtime for Reventless: schema-from-fragments, resolver registration, an HTTP + graphql-ws listener, and a subscription fan-out bridge with a pluggable PubSub backend",
5
5
  "license": "Apache-2.0",
6
6
  "dependencies": {
7
- "@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.20",
8
- "@reventlessdev/reventless-core": "3.0.0-alpha.166"
7
+ "@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.21",
8
+ "@reventlessdev/reventless-core": "3.0.0-alpha.167"
9
9
  },
10
10
  "devDependencies": {
11
11
  "rescript": "^12.3.0"
@@ -101,8 +101,15 @@ let make = (~label: string="GraphQL"): t => {
101
101
  )
102
102
  }
103
103
 
104
+ // Identical type blocks dedupe: shared-type registrations (e.g. the
105
+ // CommandResult union family) may be repeated by every component that needs
106
+ // them; a duplicate definition in one document would fail createSchema.
104
107
  let registerTypes = (~sdlTypes: array<string>) => {
105
- typeDefinitions.contents = typeDefinitions.contents->Array.concat(sdlTypes)
108
+ sdlTypes->Array.forEach(t =>
109
+ if !(typeDefinitions.contents->Array.includes(t)) {
110
+ typeDefinitions.contents->Array.push(t)
111
+ }
112
+ )
106
113
  }
107
114
 
108
115
  let getMutationResolver = (fieldName: string): option<resolverFn> =>
@@ -69,7 +69,12 @@ function make(labelOpt) {
69
69
  });
70
70
  };
71
71
  let registerTypes = sdlTypes => {
72
- typeDefinitions.contents = typeDefinitions.contents.concat(sdlTypes);
72
+ sdlTypes.forEach(t => {
73
+ if (!typeDefinitions.contents.includes(t)) {
74
+ typeDefinitions.contents.push(t);
75
+ return;
76
+ }
77
+ });
73
78
  };
74
79
  let getMutationResolver = fieldName => mutationResolvers.contents[fieldName];
75
80
  let getQueryResolver = fieldName => queryResolvers.contents[fieldName];