diff --git a/CHANGELOG.md b/CHANGELOG.md
index a7d472aa..c974db38 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,23 @@
- Add support for `autoExhaustiveTypes` config and a `@nonExhaustive` directive to control automatic exhaustive checks for unions/interfaces.
+- Add React-free mode support and split React APIs into `RescriptRelayReact`.
+
+ - New compiler config: `rescriptRelayMode: "Default" | "NonReact"` (defaults to `"Default"`).
+ - PPX `-non-react`
+ - Mark `@rescript/react` and `react-relay` as optional peer deps so non‑React usage does not require them.
+
+- BREAKING: Move all React-specific APIs out of `RescriptRelay` into `RescriptRelayReact`.
+
+ - `RescriptRelay.Context.Provider` -> `RescriptRelayReact.Context.Provider`
+ - `RescriptRelay.useEnvironmentFromContext` -> `RescriptRelayReact.useEnvironmentFromContext`
+ - `RescriptRelay.useSubscribeToInvalidationState` -> `RescriptRelayReact.useSubscribeToInvalidationState`
+
+ Migration:
+
+ - Update imports/usages in app code to reference `RescriptRelayReact` for the APIs listed above.
+ - For non‑React usage, set `rescriptRelayMode: "NonReact"` in `relay.config.js` and pass `-non-react` to the PPX.
+
# 4.0.0
- Support `@exhaustive` on interfaces as well.
diff --git a/packages/relay b/packages/relay
index 08b7496e..9296be1f 160000
--- a/packages/relay
+++ b/packages/relay
@@ -1 +1 @@
-Subproject commit 08b7496e4cd75faa183399bfebbafb342efdf7ad
+Subproject commit 9296be1f6fa7b8fd9fd326d556b20222b04c331e
diff --git a/packages/rescript-relay/__tests__/TestProviders.res b/packages/rescript-relay/__tests__/TestProviders.res
index da9b0d78..6af42562 100644
--- a/packages/rescript-relay/__tests__/TestProviders.res
+++ b/packages/rescript-relay/__tests__/TestProviders.res
@@ -2,6 +2,6 @@ module Wrapper = {
@react.component
let make = (~environment, ~children) =>
{React.string("Loading...")} }>
- children
+ children
}
diff --git a/packages/rescript-relay/__tests__/Test_connections.res b/packages/rescript-relay/__tests__/Test_connections.res
index fb736eda..90a5c0a2 100644
--- a/packages/rescript-relay/__tests__/Test_connections.res
+++ b/packages/rescript-relay/__tests__/Test_connections.res
@@ -137,7 +137,7 @@ module Test = {
let user = Fragment.use(query.loggedInUser.fragmentRefs)
let friends = user.friendsConnection->Fragment.getConnectionNodes
let (addFriend, _isAddingFriend) = AddFriendMutation.use()
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let addFriend = useFindAllConnectionIds =>
addFriend(
~variables={
diff --git a/packages/rescript-relay/__tests__/Test_localPayload.res b/packages/rescript-relay/__tests__/Test_localPayload.res
index cf698abc..96b0449c 100644
--- a/packages/rescript-relay/__tests__/Test_localPayload.res
+++ b/packages/rescript-relay/__tests__/Test_localPayload.res
@@ -54,7 +54,7 @@ module Fragment = %relay(`
module Test = {
@react.component
let make = () => {
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let data = Query.use(~variables=())
let user = Fragment.use(data.loggedInUser.fragmentRefs)
diff --git a/packages/rescript-relay/__tests__/Test_mutation.res b/packages/rescript-relay/__tests__/Test_mutation.res
index fa730905..8c3df786 100644
--- a/packages/rescript-relay/__tests__/Test_mutation.res
+++ b/packages/rescript-relay/__tests__/Test_mutation.res
@@ -79,7 +79,7 @@ module InlineFragment = %relay(`
module Test = {
@react.component
let make = () => {
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let query = Query.use(~variables=())
let data = Fragment.use(query.loggedInUser.fragmentRefs)
let (mutate, isMutating) = Mutation.use()
diff --git a/packages/rescript-relay/__tests__/Test_nullableVariables.res b/packages/rescript-relay/__tests__/Test_nullableVariables.res
index 4ef7351c..df32837f 100644
--- a/packages/rescript-relay/__tests__/Test_nullableVariables.res
+++ b/packages/rescript-relay/__tests__/Test_nullableVariables.res
@@ -20,7 +20,7 @@ module Mutation = %relay(`
module Test = {
@react.component
let make = () => {
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let query = Query.use(~variables=())
let data = query.loggedInUser
diff --git a/packages/rescript-relay/__tests__/Test_query.res b/packages/rescript-relay/__tests__/Test_query.res
index de7bb3c4..0cf1f761 100644
--- a/packages/rescript-relay/__tests__/Test_query.res
+++ b/packages/rescript-relay/__tests__/Test_query.res
@@ -50,7 +50,7 @@ module TestPreloaded = {
module Test = {
@react.component
let make = () => {
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let (status, setStatus) = React.useState(() => Some(RelaySchemaAssets_graphql.Online))
let (queryRefFromModule, setQueryRefFromModule) = React.useState(() => None)
diff --git a/packages/rescript-relay/__tests__/Test_subscription.res b/packages/rescript-relay/__tests__/Test_subscription.res
index 046dae80..b4d083c6 100644
--- a/packages/rescript-relay/__tests__/Test_subscription.res
+++ b/packages/rescript-relay/__tests__/Test_subscription.res
@@ -30,7 +30,7 @@ module UserUpdatedSubscription = %relay(`
module Test = {
@react.component
let make = () => {
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let query = Query.use(~variables=())
let data = Fragment.use(query.loggedInUser.fragmentRefs)
let (ready, setReady) = React.useState(() => false)
diff --git a/packages/rescript-relay/__tests__/Test_updatableFragments.res b/packages/rescript-relay/__tests__/Test_updatableFragments.res
index 05897a72..07dfd3cf 100644
--- a/packages/rescript-relay/__tests__/Test_updatableFragments.res
+++ b/packages/rescript-relay/__tests__/Test_updatableFragments.res
@@ -24,7 +24,7 @@ module Test = {
@react.component
let make = () => {
let query = Query.use(~variables=())
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
let {loggedInUser: {firstName, isOnline, updatableFragmentRefs, bestFriend}} = Fragment.use(
query.fragmentRefs,
)
diff --git a/packages/rescript-relay/__tests__/Test_updatableQuery.res b/packages/rescript-relay/__tests__/Test_updatableQuery.res
index 6500aa1d..126e4a6b 100644
--- a/packages/rescript-relay/__tests__/Test_updatableQuery.res
+++ b/packages/rescript-relay/__tests__/Test_updatableQuery.res
@@ -14,7 +14,7 @@ module Test = {
@react.component
let make = () => {
let query = Query.use(~variables={id: "user-1"})
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
switch query.user {
| Some({firstName, isOnline, bestFriend}) =>
diff --git a/packages/rescript-relay/__tests__/__generated__/TestAliasedFragmentsQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestAliasedFragmentsQuery_graphql.res
index 32dd9f50..69b1f07a 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestAliasedFragmentsQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestAliasedFragmentsQuery_graphql.res
@@ -231,7 +231,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCatchLoggedInUserPropQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCatchLoggedInUserPropQuery_graphql.res
index cf8be883..aa7641fc 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCatchLoggedInUserPropQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCatchLoggedInUserPropQuery_graphql.res
@@ -191,7 +191,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropNestedQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropNestedQuery_graphql.res
index 23f5bdfd..94edaecf 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropNestedQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropNestedQuery_graphql.res
@@ -272,7 +272,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropQuery_graphql.res
index bbccc8a9..a9a3bc37 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCatchMemberPropQuery_graphql.res
@@ -215,7 +215,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCatchMembersPropQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCatchMembersPropQuery_graphql.res
index ea3e51d0..ab98d67e 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCatchMembersPropQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCatchMembersPropQuery_graphql.res
@@ -265,7 +265,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCatchUnionMemberQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCatchUnionMemberQuery_graphql.res
index b58dfad9..6414b720 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCatchUnionMemberQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCatchUnionMemberQuery_graphql.res
@@ -218,7 +218,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCodesplitQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCodesplitQuery_graphql.res
index ab3f6f47..21db2265 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCodesplitQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCodesplitQuery_graphql.res
@@ -470,7 +470,7 @@ let node = RescriptRelay_Internal.applyCodesplitMetadata(node, [
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestConnectionsQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestConnectionsQuery_graphql.res
index 3bee4814..00c188e8 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestConnectionsQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestConnectionsQuery_graphql.res
@@ -314,7 +314,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestCustomScalarsQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestCustomScalarsQuery_graphql.res
index 498a14f9..042cad39 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestCustomScalarsQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestCustomScalarsQuery_graphql.res
@@ -307,7 +307,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestFragmentQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestFragmentQuery_graphql.res
index 8b87d04b..ee9f89cc 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestFragmentQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestFragmentQuery_graphql.res
@@ -314,7 +314,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestFragmentRequiredQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestFragmentRequiredQuery_graphql.res
index 386db231..acdc53ac 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestFragmentRequiredQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestFragmentRequiredQuery_graphql.res
@@ -253,7 +253,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestInputUnionQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestInputUnionQuery_graphql.res
index bc74263f..497004ad 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestInputUnionQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestInputUnionQuery_graphql.res
@@ -154,7 +154,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadQuery_graphql.res
index cfe04352..57f7d3f4 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadQuery_graphql.res
@@ -385,7 +385,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadViaNodeInterfaceQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadViaNodeInterfaceQuery_graphql.res
index d828de88..86d036ff 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadViaNodeInterfaceQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestLocalPayloadViaNodeInterfaceQuery_graphql.res
@@ -445,7 +445,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersMeQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersMeQuery_graphql.res
index 03a38289..3ab9c8c2 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersMeQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersMeQuery_graphql.res
@@ -163,7 +163,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersQuery_graphql.res
index 3c35ab8a..acaea7b3 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestMissingFieldHandlersQuery_graphql.res
@@ -199,7 +199,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestMutationQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestMutationQuery_graphql.res
index 5147e71d..ddd1e3da 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestMutationQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestMutationQuery_graphql.res
@@ -230,7 +230,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceOnAbstractTypeQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceOnAbstractTypeQuery_graphql.res
index c6beecac..695288ae 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceOnAbstractTypeQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceOnAbstractTypeQuery_graphql.res
@@ -235,7 +235,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceQuery_graphql.res
index 38cdf653..f95a6428 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestNodeInterfaceQuery_graphql.res
@@ -271,7 +271,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestNonReactQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestNonReactQuery_graphql.res
index e37f3d0a..65f42ae0 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestNonReactQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestNonReactQuery_graphql.res
@@ -176,7 +176,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestNullableVariablesQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestNullableVariablesQuery_graphql.res
index 456e570b..9e4dcc3d 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestNullableVariablesQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestNullableVariablesQuery_graphql.res
@@ -163,7 +163,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestObserverQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestObserverQuery_graphql.res
index a8352506..d32676d8 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestObserverQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestObserverQuery_graphql.res
@@ -143,7 +143,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeQuery_graphql.res
index 764d9910..75520b28 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeQuery_graphql.res
@@ -330,7 +330,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeRefetchQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeRefetchQuery_graphql.res
index bf3eb56e..a6eee2dc 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeRefetchQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestPaginationInNodeRefetchQuery_graphql.res
@@ -394,7 +394,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionQuery_graphql.res
index 302fa279..0ae7862e 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionQuery_graphql.res
@@ -353,7 +353,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionRefetchQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionRefetchQuery_graphql.res
index 69e72a51..4b31b7c2 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionRefetchQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestPaginationUnionRefetchQuery_graphql.res
@@ -413,7 +413,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestParseCustomScalarArrayQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestParseCustomScalarArrayQuery_graphql.res
index 3ed5b0aa..cc39ff17 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestParseCustomScalarArrayQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestParseCustomScalarArrayQuery_graphql.res
@@ -197,7 +197,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationQuery_graphql.res
index 7b514860..f1ac5687 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationQuery_graphql.res
@@ -249,7 +249,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationRefetchQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationRefetchQuery_graphql.res
index bde1a36e..aa056425 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationRefetchQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestPrefetchablePaginationRefetchQuery_graphql.res
@@ -319,7 +319,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestProvidedVariablesQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestProvidedVariablesQuery_graphql.res
index eed6d17b..d57b30ba 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestProvidedVariablesQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestProvidedVariablesQuery_graphql.res
@@ -254,7 +254,7 @@ let node: operationType = makeNode(providedVariablesDefinition)
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestQueryInputObjectsQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestQueryInputObjectsQuery_graphql.res
index c4a9ab3d..bccf7044 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestQueryInputObjectsQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestQueryInputObjectsQuery_graphql.res
@@ -152,7 +152,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestQuery_graphql.res
index 859beb70..27b50628 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestQuery_graphql.res
@@ -224,7 +224,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeQuery_graphql.res
index d3539653..c464a9eb 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeQuery_graphql.res
@@ -283,7 +283,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeRefetchQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeRefetchQuery_graphql.res
index a36973c0..418a3599 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeRefetchQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRefetchingInNodeRefetchQuery_graphql.res
@@ -296,7 +296,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRefetchingNoArgsRefetchQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRefetchingNoArgsRefetchQuery_graphql.res
index 3f8391cb..dbc361d5 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRefetchingNoArgsRefetchQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRefetchingNoArgsRefetchQuery_graphql.res
@@ -144,7 +144,7 @@ let node: operationType = %raw(json` {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRefetchingQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRefetchingQuery_graphql.res
index d9a1a087..7c06c26c 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRefetchingQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRefetchingQuery_graphql.res
@@ -222,7 +222,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRefetchingRefetchQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRefetchingRefetchQuery_graphql.res
index 03a7b1c4..50c8837e 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRefetchingRefetchQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRefetchingRefetchQuery_graphql.res
@@ -330,7 +330,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRelayResolversAllQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRelayResolversAllQuery_graphql.res
index cb348d46..7c54e405 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRelayResolversAllQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRelayResolversAllQuery_graphql.res
@@ -391,7 +391,7 @@ let node: operationType = makeNode(LocalUser__id_graphql.node, LocalUser____rela
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRelayResolversQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRelayResolversQuery_graphql.res
index 1ffbbb47..c1438373 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRelayResolversQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRelayResolversQuery_graphql.res
@@ -209,7 +209,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestRequiredFieldLoggerQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestRequiredFieldLoggerQuery_graphql.res
index 156d3aef..21658bf1 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestRequiredFieldLoggerQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestRequiredFieldLoggerQuery_graphql.res
@@ -167,7 +167,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestSubscriptionQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestSubscriptionQuery_graphql.res
index 70e2b9fc..d3d7ce89 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestSubscriptionQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestSubscriptionQuery_graphql.res
@@ -178,7 +178,7 @@ let node: operationType = %raw(json` {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestUnionFragmentQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestUnionFragmentQuery_graphql.res
index 13fb6bf7..81cf6d51 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestUnionFragmentQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestUnionFragmentQuery_graphql.res
@@ -227,7 +227,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestUnionsQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestUnionsQuery_graphql.res
index 2113e82c..f0a2e9e0 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestUnionsQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestUnionsQuery_graphql.res
@@ -387,7 +387,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestUpdatableFragmentsQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestUpdatableFragmentsQuery_graphql.res
index a06d087a..4c937703 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestUpdatableFragmentsQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestUpdatableFragmentsQuery_graphql.res
@@ -197,7 +197,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests__/__generated__/TestUpdatableQuery_graphql.res b/packages/rescript-relay/__tests__/__generated__/TestUpdatableQuery_graphql.res
index 6e39f7f4..d2029ee5 100644
--- a/packages/rescript-relay/__tests__/__generated__/TestUpdatableQuery_graphql.res
+++ b/packages/rescript-relay/__tests__/__generated__/TestUpdatableQuery_graphql.res
@@ -226,7 +226,7 @@ return {
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/__tests_preloaded__/Test_preloadedQuery.res b/packages/rescript-relay/__tests_preloaded__/Test_preloadedQuery.res
index abb966e6..4b923a1d 100644
--- a/packages/rescript-relay/__tests_preloaded__/Test_preloadedQuery.res
+++ b/packages/rescript-relay/__tests_preloaded__/Test_preloadedQuery.res
@@ -73,7 +73,7 @@ module Test = {
@react.component
let make = () => {
let (queryRef, setQueryRef) = React.useState(() => None)
- let environment = RescriptRelay.useEnvironmentFromContext()
+ let environment = RescriptRelayReact.useEnvironmentFromContext()
React.useEffect0(() => {
setQueryRef(_ => Some(
diff --git a/packages/rescript-relay/__tests_preloaded__/__generated__/TestPreloadedQuery_preloadable_graphql.res b/packages/rescript-relay/__tests_preloaded__/__generated__/TestPreloadedQuery_preloadable_graphql.res
index 48cefb35..a516d383 100644
--- a/packages/rescript-relay/__tests_preloaded__/__generated__/TestPreloadedQuery_preloadable_graphql.res
+++ b/packages/rescript-relay/__tests_preloaded__/__generated__/TestPreloadedQuery_preloadable_graphql.res
@@ -91,7 +91,7 @@ let node: operationType = makeNode(providedVariablesDefinition)
~fetchKey=?,
~networkCacheConfig=?,
) =>
- RescriptRelay.loadQuery(
+ RescriptRelayReact.loadQuery(
environment,
node,
variables->Internal.convertVariables,
diff --git a/packages/rescript-relay/package.json b/packages/rescript-relay/package.json
index 9c9dc8d3..b7336dc6 100644
--- a/packages/rescript-relay/package.json
+++ b/packages/rescript-relay/package.json
@@ -64,6 +64,14 @@
"relay-runtime": "20.1.1",
"rescript": "^12.0.0-0"
},
+ "peerDependenciesMeta": {
+ "@rescript/react": {
+ "optional": true
+ },
+ "react-relay": {
+ "optional": true
+ }
+ },
"dependencies": {
"detect-libc": "^2.0.1"
}
diff --git a/packages/rescript-relay/rescript-relay-ppx/library/DeferredComp.ml b/packages/rescript-relay/rescript-relay-ppx/library/DeferredComp.ml
index 9af261fb..5eaa14f6 100644
--- a/packages/rescript-relay/rescript-relay-ppx/library/DeferredComp.ml
+++ b/packages/rescript-relay/rescript-relay-ppx/library/DeferredComp.ml
@@ -6,10 +6,10 @@ open Util
let lazyExtension =
Extension.declare "relay.deferredComponent" Extension.Context.module_expr
(let open Ast_pattern in
- single_expr_payload
- (pexp_ident __
- ||| map (pexp_construct __ none) ~f:(fun f ident ->
- f (Ldot (ident, "make")))))
+ single_expr_payload
+ (pexp_ident __
+ ||| map (pexp_construct __ none) ~f:(fun f ident ->
+ f (Ldot (ident, "make")))))
(fun ~loc ~path:_ ident ->
match ident with
| Ldot (Lident moduleName, "make") ->
@@ -30,7 +30,7 @@ let lazyExtension =
chunk = [%e makeStringExpr ~loc moduleName];
load = preload;
}
- [@@live]]
+ [@@live]]
|> UncurriedUtils.wrapAsUncurriedFn ~arity:1;
[%stri let make = React.lazy_ loadComponent];
];
diff --git a/packages/rescript-relay/rescript-relay-ppx/library/Fragment.ml b/packages/rescript-relay/rescript-relay-ppx/library/Fragment.ml
index 1e9fc343..73d8c535 100644
--- a/packages/rescript-relay/rescript-relay-ppx/library/Fragment.ml
+++ b/packages/rescript-relay/rescript-relay-ppx/library/Fragment.ml
@@ -23,7 +23,9 @@ let make ~loc ~moduleName ~refetchableQueryName
[%t typeFromGeneratedModule ["Types"; "fragment"]] =
[%e valFromGeneratedModule ["Internal"; "convertFragment"]]];
];
- (match (!NonReactUtils.enabled, hasAutocodesplitDirective) with
+ (match
+ (NonReactUtils.enabled.contents, hasAutocodesplitDirective)
+ with
| true, _ -> []
| false, true ->
[
@@ -34,15 +36,24 @@ let make ~loc ~moduleName ~refetchableQueryName
]
| false, false -> []);
[
- [%stri
- let waitForFragmentData ~environment fRef =
- RescriptRelay_Fragment.waitForFragmentData ~environment
- ~convertFragment
- ~fRef:
- (fRef |. [%e valFromGeneratedModule ["getFragmentRef"]])
- ~node:[%e valFromGeneratedModule ["node"]]];
+ (if NonReactUtils.enabled.contents then
+ [%stri
+ let waitForFragmentData ~environment fRef =
+ RescriptRelay_FragmentNonReact.waitForFragmentData
+ ~environment ~convertFragment
+ ~fRef:
+ (fRef |. [%e valFromGeneratedModule ["getFragmentRef"]])
+ ~node:[%e valFromGeneratedModule ["node"]]]
+ else
+ [%stri
+ let waitForFragmentData ~environment fRef =
+ RescriptRelay_Fragment.waitForFragmentData ~environment
+ ~convertFragment
+ ~fRef:
+ (fRef |. [%e valFromGeneratedModule ["getFragmentRef"]])
+ ~node:[%e valFromGeneratedModule ["node"]]]);
];
- (match (!NonReactUtils.enabled, hasInlineDirective) with
+ (match (NonReactUtils.enabled.contents, hasInlineDirective) with
| true, _ -> []
| false, false ->
[
@@ -72,15 +83,44 @@ let make ~loc ~moduleName ~refetchableQueryName
| false ->
[
(if isPlural then
+ if NonReactUtils.enabled.contents then
+ [%stri
+ let readResolverFragment fRef :
+ [%t typeFromGeneratedModule ["Types"; "fragment"]] =
+ let fRef =
+ fRef
+ |. RescriptRelay_Internal
+ .internal_resolverFragmentRefsToFragmentRefsPlural
+ in
+ RescriptRelay_FragmentNonReact.read ~convertFragment
+ ~fRef:
+ (fRef
+ |. [%e valFromGeneratedModule ["getFragmentRef"]])
+ ~node:[%e valFromGeneratedModule ["node"]]]
+ else
+ [%stri
+ let readResolverFragment fRef :
+ [%t typeFromGeneratedModule ["Types"; "fragment"]] =
+ let fRef =
+ fRef
+ |. RescriptRelay_Internal
+ .internal_resolverFragmentRefsToFragmentRefsPlural
+ in
+ RescriptRelay_Fragment.read ~convertFragment
+ ~fRef:
+ (fRef
+ |. [%e valFromGeneratedModule ["getFragmentRef"]])
+ ~node:[%e valFromGeneratedModule ["node"]]]
+ else if NonReactUtils.enabled.contents then
[%stri
let readResolverFragment fRef :
[%t typeFromGeneratedModule ["Types"; "fragment"]] =
let fRef =
fRef
|. RescriptRelay_Internal
- .internal_resolverFragmentRefsToFragmentRefsPlural
+ .internal_resolverFragmentRefsToFragmentRefs
in
- RescriptRelay_Fragment.read ~convertFragment
+ RescriptRelay_FragmentNonReact.read ~convertFragment
~fRef:
(fRef
|. [%e valFromGeneratedModule ["getFragmentRef"]])
@@ -101,20 +141,32 @@ let make ~loc ~moduleName ~refetchableQueryName
~node:[%e valFromGeneratedModule ["node"]]]);
]
| true -> []);
- (match (!NonReactUtils.enabled, hasInlineDirective) with
+ (match (NonReactUtils.enabled.contents, hasInlineDirective) with
| true, _ -> []
| false, true ->
[
- [%stri
- let readInline fRef :
- [%t typeFromGeneratedModule ["Types"; "fragment"]] =
- RescriptRelay_Fragment.readInlineData ~convertFragment
- ~fRef:
- (fRef |. [%e valFromGeneratedModule ["getFragmentRef"]])
- ~node:[%e valFromGeneratedModule ["node"]]];
+ (if NonReactUtils.enabled.contents then
+ [%stri
+ let readInline fRef :
+ [%t typeFromGeneratedModule ["Types"; "fragment"]] =
+ RescriptRelay_FragmentNonReact.readInlineData_
+ ~convertFragment
+ ~fRef:
+ (fRef
+ |. [%e valFromGeneratedModule ["getFragmentRef"]])
+ ~node:[%e valFromGeneratedModule ["node"]]]
+ else
+ [%stri
+ let readInline fRef :
+ [%t typeFromGeneratedModule ["Types"; "fragment"]] =
+ RescriptRelay_Fragment.readInlineData ~convertFragment
+ ~fRef:
+ (fRef
+ |. [%e valFromGeneratedModule ["getFragmentRef"]])
+ ~node:[%e valFromGeneratedModule ["node"]]]);
]
| false, false -> []);
- (match (!NonReactUtils.enabled, refetchableQueryName) with
+ (match (NonReactUtils.enabled.contents, refetchableQueryName) with
| true, _ | false, None -> []
| false, Some refetchableQueryName -> (
let typeFromRefetchableModule =
diff --git a/packages/rescript-relay/rescript-relay-ppx/library/Mutation.ml b/packages/rescript-relay/rescript-relay-ppx/library/Mutation.ml
index ef69f805..42f4b9ab 100644
--- a/packages/rescript-relay/rescript-relay-ppx/library/Mutation.ml
+++ b/packages/rescript-relay/rescript-relay-ppx/library/Mutation.ml
@@ -32,14 +32,22 @@ let make ~loc ~moduleName =
[%e
valFromGeneratedModule
["Internal"; "convertWrapRawResponse"]]];
- [%stri
- let commitMutation =
- RescriptRelay_Mutation.commitMutation ~convertVariables
- ~convertResponse ~convertWrapRawResponse
- ~node:[%e valFromGeneratedModule ["node"]]];
+ (if NonReactUtils.enabled.contents then
+ [%stri
+ let commitMutation =
+ RescriptRelay_MutationNonReact.commitMutation
+ ~convertVariables ~convertResponse
+ ~convertWrapRawResponse
+ ~node:[%e valFromGeneratedModule ["node"]]]
+ else
+ [%stri
+ let commitMutation =
+ RescriptRelay_Mutation.commitMutation ~convertVariables
+ ~convertResponse ~convertWrapRawResponse
+ ~node:[%e valFromGeneratedModule ["node"]]]);
]
@
- if not !NonReactUtils.enabled then
+ if not NonReactUtils.enabled.contents then
[
[%stri
let use =
diff --git a/packages/rescript-relay/rescript-relay-ppx/library/Query.ml b/packages/rescript-relay/rescript-relay-ppx/library/Query.ml
index d204ac82..6053dcb4 100644
--- a/packages/rescript-relay/rescript-relay-ppx/library/Query.ml
+++ b/packages/rescript-relay/rescript-relay-ppx/library/Query.ml
@@ -9,39 +9,40 @@ let make ~loc ~moduleName ~hasRawResponseType ~hasAutocodesplitDirective =
(Pmod_structure
(List.concat
[
- [
- [%stri [@@@ocaml.warning "-32-34-60"]];
- [%stri include [%m moduleIdentFromGeneratedModule ["Utils"]]];
- [%stri module Operation = [%m moduleIdentFromGeneratedModule []]];
- [%stri
- module Types = [%m moduleIdentFromGeneratedModule ["Types"]]];
- [%stri
- let convertVariables :
- [%t typeFromGeneratedModule ["Types"; "variables"]] ->
- [%t typeFromGeneratedModule ["Types"; "variables"]] =
- [%e valFromGeneratedModule ["Internal"; "convertVariables"]]];
- [%stri
- let convertResponse :
- [%t typeFromGeneratedModule ["Types"; "response"]] ->
- [%t typeFromGeneratedModule ["Types"; "response"]] =
- [%e valFromGeneratedModule ["Internal"; "convertResponse"]]];
- [%stri
- let convertWrapRawResponse :
- [%t typeFromGeneratedModule ["Types"; "rawResponse"]] ->
- [%t typeFromGeneratedModule ["Types"; "rawResponse"]] =
- [%e
- valFromGeneratedModule
- ["Internal"; "convertWrapRawResponse"]]];
- [%stri
- external mkQueryRefOpt :
- [%t typeFromGeneratedModule ["queryRef"]] option ->
- [%t typeFromGeneratedModule ["queryRef"]] option = "%identity"];
- [%stri
- external mkQueryRef :
- [%t typeFromGeneratedModule ["queryRef"]] ->
- [%t typeFromGeneratedModule ["queryRef"]] = "%identity"];
- ]
- @ (if not !NonReactUtils.enabled then
+ ([
+ [%stri [@@@ocaml.warning "-32-34-60"]];
+ [%stri include [%m moduleIdentFromGeneratedModule ["Utils"]]];
+ [%stri module Operation = [%m moduleIdentFromGeneratedModule []]];
+ [%stri
+ module Types = [%m moduleIdentFromGeneratedModule ["Types"]]];
+ [%stri
+ let convertVariables :
+ [%t typeFromGeneratedModule ["Types"; "variables"]] ->
+ [%t typeFromGeneratedModule ["Types"; "variables"]] =
+ [%e valFromGeneratedModule ["Internal"; "convertVariables"]]];
+ [%stri
+ let convertResponse :
+ [%t typeFromGeneratedModule ["Types"; "response"]] ->
+ [%t typeFromGeneratedModule ["Types"; "response"]] =
+ [%e valFromGeneratedModule ["Internal"; "convertResponse"]]];
+ [%stri
+ let convertWrapRawResponse :
+ [%t typeFromGeneratedModule ["Types"; "rawResponse"]] ->
+ [%t typeFromGeneratedModule ["Types"; "rawResponse"]] =
+ [%e
+ valFromGeneratedModule
+ ["Internal"; "convertWrapRawResponse"]]];
+ [%stri
+ external mkQueryRefOpt :
+ [%t typeFromGeneratedModule ["queryRef"]] option ->
+ [%t typeFromGeneratedModule ["queryRef"]] option
+ = "%identity"];
+ [%stri
+ external mkQueryRef :
+ [%t typeFromGeneratedModule ["queryRef"]] ->
+ [%t typeFromGeneratedModule ["queryRef"]] = "%identity"];
+ ]
+ @ (if not NonReactUtils.enabled.contents then
[
[%stri
let use =
@@ -60,7 +61,34 @@ let make ~loc ~moduleName ~hasRawResponseType ~hasAutocodesplitDirective =
~node:[%e valFromGeneratedModule ["node"]]];
]
else [])
- @ [
+ @
+ if NonReactUtils.enabled.contents then
+ [
+ [%stri
+ let fetch =
+ RescriptRelay_QueryNonReact.fetch ~convertResponse
+ ~convertVariables
+ ~node:[%e valFromGeneratedModule ["node"]]];
+ [%stri
+ let fetchPromised =
+ RescriptRelay_QueryNonReact.fetchPromised ~convertResponse
+ ~convertVariables
+ ~node:[%e valFromGeneratedModule ["node"]]];
+ [%stri
+ let retain =
+ RescriptRelay_QueryNonReact.retain ~convertVariables
+ ~node:[%e valFromGeneratedModule ["node"]]];
+ (match hasRawResponseType with
+ | true ->
+ [%stri
+ let commitLocalPayload =
+ RescriptRelay_QueryNonReact.commitLocalPayload
+ ~convertVariables ~convertWrapRawResponse
+ ~node:[%e valFromGeneratedModule ["node"]]]
+ | false -> [%stri ()]);
+ ]
+ else
+ [
[%stri
let fetch =
RescriptRelay_Query.fetch ~convertResponse ~convertVariables
@@ -82,8 +110,10 @@ let make ~loc ~moduleName ~hasRawResponseType ~hasAutocodesplitDirective =
~convertWrapRawResponse
~node:[%e valFromGeneratedModule ["node"]]]
| false -> [%stri ()]);
- ];
- (match (!NonReactUtils.enabled, hasAutocodesplitDirective) with
+ ]);
+ (match
+ (NonReactUtils.enabled.contents, hasAutocodesplitDirective)
+ with
| true, _ -> []
| false, true ->
[
diff --git a/packages/rescript-relay/rescript-relay-ppx/library/UncurriedUtils.ml b/packages/rescript-relay/rescript-relay-ppx/library/UncurriedUtils.ml
index e18c6079..31e08630 100644
--- a/packages/rescript-relay/rescript-relay-ppx/library/UncurriedUtils.ml
+++ b/packages/rescript-relay/rescript-relay-ppx/library/UncurriedUtils.ml
@@ -113,4 +113,5 @@ let uncurriedMapper =
}
let mapStructureItem str =
- if !enabled then uncurriedMapper.structure_item uncurriedMapper str else str
+ if enabled.contents then uncurriedMapper.structure_item uncurriedMapper str
+ else str
diff --git a/packages/rescript-relay/rescript-relay-ppx/library/UpdatableFragment.ml b/packages/rescript-relay/rescript-relay-ppx/library/UpdatableFragment.ml
index b4296f17..d50681d5 100644
--- a/packages/rescript-relay/rescript-relay-ppx/library/UpdatableFragment.ml
+++ b/packages/rescript-relay/rescript-relay-ppx/library/UpdatableFragment.ml
@@ -12,7 +12,8 @@ let make ~loc ~moduleName =
[%stri
module Types = [%m moduleIdentFromGeneratedModule ["Types"]]];
[%stri
- let readUpdatableFragment = [%e valFromGeneratedModule ["readUpdatableFragment"]]];
+ let readUpdatableFragment =
+ [%e valFromGeneratedModule ["readUpdatableFragment"]]];
];
]
|> List.map UncurriedUtils.mapStructureItem))
diff --git a/packages/rescript-relay/src/RescriptRelay.res b/packages/rescript-relay/src/RescriptRelay.res
index 64aaca48..2148395a 100644
--- a/packages/rescript-relay/src/RescriptRelay.res
+++ b/packages/rescript-relay/src/RescriptRelay.res
@@ -827,33 +827,7 @@ module Environment = {
}
}
-module Context = {
- type t
-
- type contextShape = {"environment": Environment.t}
-
- @module("react-relay")
- external context: React.Context.t