Skip to content

Commit 5de0705

Browse files
committed
chore: relay upgrade
attempt to upgrade react-relay, relay-nextjs, react-relay-network-modern, relay-runtime, and relay-compiler
1 parent 0fba489 commit 5de0705

8 files changed

+63
-114
lines changed

app/lib/relay/client.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import { Environment, RecordSource, Store } from 'relay-runtime';
2-
import { getRelaySerializedState } from 'relay-nextjs';
32
import {
43
RelayNetworkLayer,
54
urlMiddleware,
65
batchMiddleware,
76
cacheMiddleware,
87
uploadMiddleware,
9-
} from 'react-relay-network-modern/node8';
8+
} from 'react-relay-network-modern';
109
import debounceMutationMiddleware from './debounceMutationMiddleware';
1110

1211
const oneMinute = 60 * 1000;
@@ -41,7 +40,7 @@ export function getClientEnvironment() {
4140
if (clientEnv == null) {
4241
clientEnv = new Environment({
4342
network: createClientNetwork(),
44-
store: new Store(new RecordSource(getRelaySerializedState()?.records)),
43+
store: new Store(new RecordSource()),
4544
isServer: false,
4645
});
4746
}

app/lib/relay/debounceMutationMiddleware.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
RelayNetworkLayerRequest,
44
RelayNetworkLayerResponse,
55
CacheConfig,
6-
} from 'react-relay-network-modern/node8';
6+
} from 'react-relay-network-modern';
77

88
export interface CacheConfigWithDebounce extends CacheConfig {
99
debounceKey?: string;

app/lib/relay/withRelayOptions.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import type { NextPageContext } from 'next';
2-
import { WiredOptions } from 'relay-nextjs/wired/component';
32
import { NextRouter } from 'next/router';
43
import { isAuthenticated } from '@bcgov-cas/sso-express/dist/helpers';
54
import safeJsonParse from 'lib/helpers/safeJsonParse';
65
import { DEFAULT_PAGE_SIZE } from 'components/Table/Pagination';
76
import { getClientEnvironment } from './client';
87
import isRouteAuthorized from '../../utils/isRouteAuthorized';
98

10-
const withRelayOptions: WiredOptions<any> = {
9+
const withRelayOptions = {
1110
fallback: <div>Loading...</div>,
1211
ErrorComponent: (props) => {
1312
throw props.error;

app/package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,11 @@
9898
"postinstall-postinstall": "^2.1.0",
9999
"react": "^18.2.0",
100100
"react-currency-input-field": "^3.6.4",
101-
"react-relay": "^13.2.0",
102-
"react-relay-network-modern": "^6.2.1",
101+
"react-relay": "^16.2.0",
102+
"react-relay-network-modern": "^6.2.2",
103103
"react-typography": "^0.16.20",
104-
"relay-nextjs": "^0.8.0",
105-
"relay-runtime": "^13.2.0",
104+
"relay-nextjs": "^3.0.1",
105+
"relay-runtime": "^16.2.0",
106106
"styled-components": "^5.3.5",
107107
"typography": "^0.16.21",
108108
"url": "^0.11.3",
@@ -160,7 +160,7 @@
160160
"nodemon": "^2.0.20",
161161
"prettier": "^3.2.5",
162162
"react-dom": "^18.2.0",
163-
"relay-compiler": "^13.2.0",
163+
"relay-compiler": "^16.2.0",
164164
"relay-test-utils": "^13.2.0",
165165
"supertest": "^6.3.4",
166166
"ts-jest": "^28.0.2",

app/pages/_app.tsx

+4-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import getConfig from 'next/config';
44
import { ThemeProvider } from '@mui/material';
55
import theme from 'styles/muiTheme';
66
import { RelayEnvironmentProvider } from 'react-relay/hooks';
7-
import { getInitialPreloadedQuery, getRelayProps } from 'relay-nextjs/app';
7+
import { useRelayNextjs } from 'relay-nextjs/app';
88
import { newTracker, trackPageView } from '@snowplow/browser-tracker';
99
import { Settings } from 'luxon';
1010
import * as Sentry from '@sentry/nextjs';
@@ -21,11 +21,6 @@ import { SessionExpiryHandler } from 'components';
2121

2222
config.autoAddCss = false;
2323

24-
const clientEnv = getClientEnvironment();
25-
const initialPreloadedQuery = getInitialPreloadedQuery({
26-
createClientEnvironment: () => getClientEnvironment()!,
27-
});
28-
2924
const growthbook = new GrowthBook();
3025

3126
const { publicRuntimeConfig } = getConfig();
@@ -42,8 +37,9 @@ try {
4237
}
4338

4439
const MyApp = ({ Component, pageProps }: AppProps) => {
45-
const relayProps = getRelayProps(pageProps, initialPreloadedQuery);
46-
const env = relayProps.preloadedQuery?.environment ?? clientEnv!;
40+
const { env, ...relayProps } = useRelayNextjs(pageProps, {
41+
createClientEnvironment: () => getClientEnvironment()!,
42+
});
4743
const router = useRouter();
4844
Settings.defaultZone = 'America/Vancouver';
4945
Settings.defaultLocale = 'en-CA';

app/pages/_document.tsx

-64
This file was deleted.

app/tests/utils/formTestRenderer.tsx

+4-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { RelayEnvironmentProvider } from 'react-relay/hooks';
22
import { FormBase } from 'components/Form/';
3-
import { getInitialPreloadedQuery, getRelayProps } from 'relay-nextjs/app';
43
import { getClientEnvironment } from 'lib/relay/client';
54
import defaultTheme from 'lib/theme/DefaultTheme';
65
import GlobalTheme from 'styles/GlobalTheme';
76
import { RJSFSchema } from '@rjsf/utils';
7+
import { useRelayNextjs } from 'relay-nextjs/app';
88

99
type Props = {
1010
formData: any;
@@ -14,20 +14,16 @@ type Props = {
1414
formContext: any;
1515
};
1616

17-
const clientEnv = getClientEnvironment();
18-
const initialPreloadedQuery = getInitialPreloadedQuery({
19-
createClientEnvironment: () => getClientEnvironment()!,
20-
});
21-
2217
const FormTestRenderer: React.FC<Props> = ({
2318
formData,
2419
onSubmit,
2520
schema,
2621
uiSchema,
2722
formContext = null,
2823
}) => {
29-
const relayProps = getRelayProps({}, initialPreloadedQuery);
30-
const env = relayProps.preloadedQuery?.environment ?? clientEnv!;
24+
const { env } = useRelayNextjs(null, {
25+
createClientEnvironment: () => getClientEnvironment()!,
26+
});
3127

3228
return (
3329
<RelayEnvironmentProvider environment={env}>

app/yarn.lock

+46-23
Original file line numberDiff line numberDiff line change
@@ -4903,6 +4903,13 @@
49034903
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.0.tgz#4668bc392bb6938637b47e98b1f2ed5426f33316"
49044904
integrity sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==
49054905

4906+
"@types/node@^18.14.6":
4907+
version "18.19.31"
4908+
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.31.tgz#b7d4a00f7cb826b60a543cebdbda5d189aaecdcd"
4909+
integrity sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==
4910+
dependencies:
4911+
undici-types "~5.26.4"
4912+
49064913
"@types/object-path@^0.11.1":
49074914
version "0.11.1"
49084915
resolved "https://registry.yarnpkg.com/@types/object-path/-/object-path-0.11.1.tgz#eea5b357518597fc9c0a067ea3147f599fc1514f"
@@ -6572,10 +6579,10 @@ cookiejar@^2.1.4:
65726579
resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b"
65736580
integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==
65746581

6575-
core-js@^3.0.0:
6576-
version "3.22.7"
6577-
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.22.7.tgz#8d6c37f630f6139b8732d10f2c114c3f1d00024f"
6578-
integrity sha512-Jt8SReuDKVNZnZEzyEQT5eK6T2RRCXkfTq7Lo09kpm+fHjgGewSbNjV+Wt4yZMhPDdzz2x1ulI5z/w4nxpBseg==
6582+
core-js@^3.29.0:
6583+
version "3.37.0"
6584+
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb"
6585+
integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==
65796586

65806587
core-js@^3.6.5, core-js@^3.8.2:
65816588
version "3.22.5"
@@ -10490,6 +10497,11 @@ lodash.isboolean@^3.0.3:
1049010497
resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
1049110498
integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==
1049210499

10500+
lodash.isequal@^4.5.0:
10501+
version "4.5.0"
10502+
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
10503+
integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
10504+
1049310505
lodash.isinteger@^4.0.4:
1049410506
version "4.0.4"
1049510507
resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
@@ -12031,24 +12043,25 @@ [email protected]:
1203112043
resolved "https://registry.yarnpkg.com/react-property/-/react-property-2.0.0.tgz#2156ba9d85fa4741faf1918b38efc1eae3c6a136"
1203212044
integrity sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==
1203312045

12034-
react-relay-network-modern@^6.2.1:
12035-
version "6.2.1"
12036-
resolved "https://registry.yarnpkg.com/react-relay-network-modern/-/react-relay-network-modern-6.2.1.tgz#34e93110cf1bb0e666bffb00b513335c37950bc9"
12037-
integrity sha512-O1kP9GkNrm4d+ibfuTY9yNbkXV6vAByJ4jYTZIXn8nh7jLWoe6PneF1VcBYvYvzWYsebpCLDQHDPoXI05S+rhQ==
12046+
react-relay-network-modern@^6.2.2:
12047+
version "6.2.2"
12048+
resolved "https://registry.yarnpkg.com/react-relay-network-modern/-/react-relay-network-modern-6.2.2.tgz#8f1ddf2ad3ad07d41d215df642d3fc659ff99180"
12049+
integrity sha512-069KzBi7X6+mYtQgiNMblKr8n9ftme6N7neG+ZwAgV5w9SmQRg1020X7OE3RWWeMHKL+nTyx+JTc17yAtfNSQw==
1203812050
dependencies:
12039-
core-js "^3.0.0"
12051+
"@types/node" "^18.14.6"
12052+
core-js "^3.29.0"
1204012053
extract-files "^9.0.0"
1204112054

12042-
react-relay@^13.2.0:
12043-
version "13.2.0"
12044-
resolved "https://registry.yarnpkg.com/react-relay/-/react-relay-13.2.0.tgz#3f8cf7bb4058d293b079d107b204fb5c27d7a4e7"
12045-
integrity sha512-ldUMWZ5nIMhz1VpRylFhMGc8lEaufR0ZwwfW6YqTMU/Rsy5c5nHGN7hvktPvdUV+biy6pzdRzfFiny469gok4A==
12055+
react-relay@^16.2.0:
12056+
version "16.2.0"
12057+
resolved "https://registry.yarnpkg.com/react-relay/-/react-relay-16.2.0.tgz#ce74e771ee925c03a62491f3cb8268b4d5d82514"
12058+
integrity sha512-f/HtC4whyYmK6/WUeOVakXRoBkV+JEgoSeBHXfIC2U6AuH14NrKXnFicX65LksfzgD1OUfYF6IqGQ4MvO52lTQ==
1204612059
dependencies:
1204712060
"@babel/runtime" "^7.0.0"
1204812061
fbjs "^3.0.2"
1204912062
invariant "^2.2.4"
1205012063
nullthrows "^1.1.1"
12051-
relay-runtime "13.2.0"
12064+
relay-runtime "16.2.0"
1205212065

1205312066
react-router-dom@^6.0.0:
1205412067
version "6.3.0"
@@ -12214,19 +12227,20 @@ regexpp@^3.2.0:
1221412227
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
1221512228
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
1221612229

12217-
relay-compiler@^13.2.0:
12218-
version "13.2.0"
12219-
resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-13.2.0.tgz#06dd416e19e1cd22008b89499726ea5eb342c36e"
12220-
integrity sha512-GGLWTJYqQ5jQLMXlq++Fl17f4gMuvmIi3+xU/TrD4UqWZLI3qhxE0NFAmOvg6xgBQ8xtCMhP066kv+3bhL+7Aw==
12230+
relay-compiler@^16.2.0:
12231+
version "16.2.0"
12232+
resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-16.2.0.tgz#5b90fa8ea4aa246738a8a0679f7e4464f8bdeb60"
12233+
integrity sha512-KuyzUBKL9PZRNtIZWNlWEOl7OliUxaGJ2d+3mkiWEiGCEuGnNTxqEg4kJyL341aIGZC4gSqEpfvRTcMqnSM4qQ==
1222112234

12222-
relay-nextjs@^0.8.0:
12223-
version "0.8.0"
12224-
resolved "https://registry.yarnpkg.com/relay-nextjs/-/relay-nextjs-0.8.0.tgz#cb2832e984339fb30448c30f4c9c44191074ba88"
12225-
integrity sha512-rOR1o8uTmIe6lcILT9AsINBgogAD3wm5gnM3SBFy8IEj68a8ViA2o1Qy1zfCXr3hXOOThFThD1nbXtd9AUi9tQ==
12235+
relay-nextjs@^3.0.1:
12236+
version "3.0.1"
12237+
resolved "https://registry.yarnpkg.com/relay-nextjs/-/relay-nextjs-3.0.1.tgz#3499e47dc8962a028745efa3d266d52b8674a93f"
12238+
integrity sha512-FQaQ59kQaDGchjXY5MYMsS0RXFPemXeqbT2CDZ07Jd7rM4lsTrItKTr1GZlJLomrlpvIN9ijNfokXR2ykBPWLA==
1222612239
dependencies:
12240+
lodash.isequal "^4.5.0"
1222712241
serialize-javascript "^5.0.1"
1222812242

12229-
[email protected], relay-runtime@^13.2.0:
12243+
1223012244
version "13.2.0"
1223112245
resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-13.2.0.tgz#e587e8c5cc9decdacb11227425bfe9cd5d9fa36f"
1223212246
integrity sha512-iDS/fy5iWg9EhySaPpeo4Fwy1cYwNJqLHdhdGncpJBtSogFFd3fI+K0SafUoxX7+Moj6a+aMQt/JKN78HdeLhA==
@@ -12235,6 +12249,15 @@ [email protected], relay-runtime@^13.2.0:
1223512249
fbjs "^3.0.2"
1223612250
invariant "^2.2.4"
1223712251

12252+
[email protected], relay-runtime@^16.2.0:
12253+
version "16.2.0"
12254+
resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-16.2.0.tgz#1126b67749b89f6d4855ebd7e5749033fab5b97f"
12255+
integrity sha512-SrIyYItH1EZUj37NI8nZALasuq7mNyFrrSNgMefhgxNZxTVnr1KCp43LaxUfZqhsWbw4Y00JSGDRQXlcv4STHQ==
12256+
dependencies:
12257+
"@babel/runtime" "^7.0.0"
12258+
fbjs "^3.0.2"
12259+
invariant "^2.2.4"
12260+
1223812261
relay-test-utils@^13.2.0:
1223912262
version "13.2.0"
1224012263
resolved "https://registry.yarnpkg.com/relay-test-utils/-/relay-test-utils-13.2.0.tgz#8438c2097155d6c989c70dd3c86b7bff68f9db88"

0 commit comments

Comments
 (0)