ruru-components 2.0.0-beta.23 → 2.0.0-beta.25

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
@@ -1,5 +1,26 @@
1
1
  # ruru-components
2
2
 
3
+ ## 2.0.0-beta.25
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2266](https://github.com/graphile/crystal/pull/2266)
8
+ [`38163c86a`](https://github.com/graphile/crystal/commit/38163c86ae628fed84cf38fc6a1cc76a7bc7932a)
9
+ Thanks [@hos](https://github.com/hos)! - Fix white-screen-of-death caused by
10
+ EventSource disconnection. Instead, handle errors gracefully. Also, allow
11
+ overriding of the EventSource configuration options.
12
+ - Updated dependencies
13
+ [[`69ab227b5`](https://github.com/graphile/crystal/commit/69ab227b5e1c057a6fc8ebba87bde80d5aa7f3c8)]:
14
+ - grafast@0.1.1-beta.17
15
+
16
+ ## 2.0.0-beta.24
17
+
18
+ ### Patch Changes
19
+
20
+ - Updated dependencies
21
+ [[`76c7340b7`](https://github.com/graphile/crystal/commit/76c7340b74d257c454beec883384d19ef078b21e)]:
22
+ - grafast@0.1.1-beta.16
23
+
3
24
  ## 2.0.0-beta.23
4
25
 
5
26
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"useGraphQLChangeStream.d.ts","sourceRoot":"","sources":["../../src/hooks/useGraphQLChangeStream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,sBAAsB,UAC1B,SAAS,WACP,MAAM,IAAI,kBACH,MAAM,GAAG,IAAI;;CAyD9B,CAAC"}
1
+ {"version":3,"file":"useGraphQLChangeStream.d.ts","sourceRoot":"","sources":["../../src/hooks/useGraphQLChangeStream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,sBAAsB,UAC1B,SAAS,WACP,MAAM,IAAI,kBACH,MAAM,GAAG,IAAI;;CA0D9B,CAAC"}
@@ -5,7 +5,7 @@ export const useGraphQLChangeStream = (props, refetch, streamEndpoint) => {
5
5
  // Starts listening to the event stream at the `sourceUrl`.
6
6
  useEffect(() => {
7
7
  eventSourceRef.current = streamEndpoint
8
- ? new EventSource(streamEndpoint)
8
+ ? new EventSource(streamEndpoint, props.eventSourceInit)
9
9
  : null;
10
10
  const eventSource = eventSourceRef.current;
11
11
  return () => {
@@ -22,7 +22,8 @@ export const useGraphQLChangeStream = (props, refetch, streamEndpoint) => {
22
22
  useEffect(() => {
23
23
  if (eventSource) {
24
24
  if (eventSource.readyState === eventSource.CLOSED) {
25
- throw new Error("Lifecycle management error for EventSource");
25
+ console.warn("Ruru: EventSource is closed, reopening");
26
+ setError(new Error("Ruru: EventSource is closed, reopening"));
26
27
  }
27
28
  const onOpen = () => {
28
29
  console.log("Ruru: Listening for server sent events");
@@ -1 +1 @@
1
- {"version":3,"file":"useGraphQLChangeStream.js","sourceRoot":"","sources":["../../src/hooks/useGraphQLChangeStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAgB,EAChB,OAAmB,EACnB,cAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAExD,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,OAAO,GAAG,cAAc;YACrC,CAAC,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,cAAc,CAAC,OAAO,KAAK,WAAW,EAAE;oBAC1C,OAAO,CAAC,KAAK,CACX,+DAA+D,CAChE,CAAC;iBACH;gBACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;aAC/B;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,MAAM,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;YAED,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC/B,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAChE,QAAQ,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEF,mEAAmE;YACnE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACvD,2DAA2D;YAC3D,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACpD,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAEtD,2DAA2D;YAC3D,OAAO,GAAG,EAAE;gBACV,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1D,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvD,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"useGraphQLChangeStream.js","sourceRoot":"","sources":["../../src/hooks/useGraphQLChangeStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAgB,EAChB,OAAmB,EACnB,cAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAExD,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,OAAO,GAAG,cAAc;YACrC,CAAC,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,cAAc,CAAC,OAAO,KAAK,WAAW,EAAE;oBAC1C,OAAO,CAAC,KAAK,CACX,+DAA+D,CAChE,CAAC;iBACH;gBACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;aAC/B;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,MAAM,EAAE;gBACjD,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,QAAQ,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;aAC/D;YAED,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC/B,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAChE,QAAQ,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEF,mEAAmE;YACnE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACvD,2DAA2D;YAC3D,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACpD,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAEtD,2DAA2D;YAC3D,OAAO,GAAG,EAAE;gBACV,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1D,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvD,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC"}
@@ -1,6 +1,13 @@
1
1
  import type { Fetcher } from "@graphiql/toolkit";
2
2
  import type { GraphiQLProps } from "graphiql";
3
3
  export { Fetcher };
4
+ /**
5
+ * The `EventSource` specification only specifies the `withCredentials` option,
6
+ * but some implementations support additional options. Our configuration
7
+ * allows arbitrary options.
8
+ */
9
+ interface RuruEventSourceInit extends EventSourceInit, Record<string, any> {
10
+ }
4
11
  export interface RuruProps {
5
12
  /**
6
13
  * Optionally override the fetcher.
@@ -50,5 +57,15 @@ export interface RuruProps {
50
57
  * Callback executed when the variables change.
51
58
  */
52
59
  onEditVariables?: GraphiQLProps["onEditVariables"];
60
+ /**
61
+ * Will be passed to `new EventSource(url, eventSourceInit)`.
62
+ *
63
+ * Per the specification, the only option is `withCredentials`; however, some
64
+ * implementations support additional options. For example:
65
+ *
66
+ * - `reconnectInterval: 1000`
67
+ * - `maxReconnectAttempts: 3`
68
+ */
69
+ eventSourceInit?: RuruEventSourceInit;
53
70
  }
54
71
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACpD"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;GAIG;AACH,UAAU,mBAAoB,SAAQ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAE7E,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAEnD;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ruru-components",
3
- "version": "2.0.0-beta.23",
3
+ "version": "2.0.0-beta.25",
4
4
  "description": "Grafast-flavoured GraphiQL distribution; the underlying React components",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "@graphiql/react": "^0.20.3-canary-64994e0e.0",
43
43
  "@graphiql/toolkit": "^0.9.1",
44
44
  "@types/node": "^20.5.7",
45
- "grafast": "^0.1.1-beta.15",
45
+ "grafast": "^0.1.1-beta.17",
46
46
  "graphiql": "^3.1.1-canary-64994e0e.0",
47
47
  "graphql-ws": "^5.14.0",
48
48
  "react": "^18.2.0",