ruru-components 2.0.0-alpha.2 → 2.0.0-beta.10

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +130 -11
  2. package/dist/components/Copy.d.ts +2 -1
  3. package/dist/components/Copy.d.ts.map +1 -1
  4. package/dist/components/Copy.js +8 -11
  5. package/dist/components/Copy.js.map +1 -1
  6. package/dist/components/ErrorPopup.js +2 -6
  7. package/dist/components/ErrorPopup.js.map +1 -1
  8. package/dist/components/Explain.d.ts +5 -0
  9. package/dist/components/Explain.d.ts.map +1 -1
  10. package/dist/components/Explain.js +46 -46
  11. package/dist/components/Explain.js.map +1 -1
  12. package/dist/components/Footer.js +2 -6
  13. package/dist/components/Footer.js.map +1 -1
  14. package/dist/components/FormatSQL.js +14 -18
  15. package/dist/components/FormatSQL.js.map +1 -1
  16. package/dist/components/Mermaid.d.ts +2 -1
  17. package/dist/components/Mermaid.d.ts.map +1 -1
  18. package/dist/components/Mermaid.js +24 -17
  19. package/dist/components/Mermaid.js.map +1 -1
  20. package/dist/defaultQuery.js +1 -4
  21. package/dist/defaultQuery.js.map +1 -1
  22. package/dist/hooks/useExplain.d.ts +1 -1
  23. package/dist/hooks/useExplain.js +9 -13
  24. package/dist/hooks/useExplain.js.map +1 -1
  25. package/dist/hooks/useFetcher.d.ts +5 -4
  26. package/dist/hooks/useFetcher.d.ts.map +1 -1
  27. package/dist/hooks/useFetcher.js +18 -22
  28. package/dist/hooks/useFetcher.js.map +1 -1
  29. package/dist/hooks/useGraphQLChangeStream.js +6 -10
  30. package/dist/hooks/useGraphQLChangeStream.js.map +1 -1
  31. package/dist/hooks/usePrettify.js +6 -10
  32. package/dist/hooks/usePrettify.js.map +1 -1
  33. package/dist/hooks/useStorage.d.ts +0 -2
  34. package/dist/hooks/useStorage.d.ts.map +1 -1
  35. package/dist/hooks/useStorage.js +5 -11
  36. package/dist/hooks/useStorage.js.map +1 -1
  37. package/dist/index.js +1 -5
  38. package/dist/index.js.map +1 -1
  39. package/dist/interfaces.d.ts +27 -0
  40. package/dist/interfaces.d.ts.map +1 -1
  41. package/dist/interfaces.js +1 -2
  42. package/dist/plugins/explain.js +9 -12
  43. package/dist/plugins/explain.js.map +1 -1
  44. package/dist/ruru.d.ts +3 -1
  45. package/dist/ruru.d.ts.map +1 -1
  46. package/dist/ruru.js +43 -45
  47. package/dist/ruru.js.map +1 -1
  48. package/package.json +30 -23
  49. package/dist/hooks/useSchema.d.ts +0 -8
  50. package/dist/hooks/useSchema.d.ts.map +0 -1
  51. package/dist/hooks/useSchema.js +0 -75
  52. package/dist/hooks/useSchema.js.map +0 -1
package/dist/ruru.js CHANGED
@@ -1,74 +1,72 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RuruInner = exports.Ruru = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const plugin_explorer_1 = require("@graphiql/plugin-explorer");
6
- const react_1 = require("@graphiql/react");
7
- const graphiql_1 = require("graphiql");
8
- const react_2 = require("react");
9
- const ErrorPopup_js_1 = require("./components/ErrorPopup.js");
10
- const Footer_js_1 = require("./components/Footer.js");
11
- const defaultQuery_js_1 = require("./defaultQuery.js");
12
- const useExplain_js_1 = require("./hooks/useExplain.js");
13
- const useFetcher_js_1 = require("./hooks/useFetcher.js");
14
- const usePrettify_js_1 = require("./hooks/usePrettify.js");
15
- const useSchema_js_1 = require("./hooks/useSchema.js");
16
- const useStorage_js_1 = require("./hooks/useStorage.js");
17
- const explain_js_1 = require("./plugins/explain.js");
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { explorerPlugin as makeExplorerPlugin } from "@graphiql/plugin-explorer";
3
+ import { CopyIcon, GraphiQLProvider as GP2, MergeIcon, PrettifyIcon, SettingsIcon, ToolbarButton, ToolbarMenu, useCopyQuery, useMergeQuery, useSchemaContext, } from "@graphiql/react";
4
+ import { GraphiQL, GraphiQLInterface, GraphiQLProvider } from "graphiql";
5
+ import { useCallback, useMemo, useState } from "react";
6
+ import { ErrorPopup } from "./components/ErrorPopup.js";
7
+ import { RuruFooter } from "./components/Footer.js";
8
+ import { defaultQuery as DEFAULT_QUERY } from "./defaultQuery.js";
9
+ import { ExplainContext, useExplain } from "./hooks/useExplain.js";
10
+ import { useFetcher } from "./hooks/useFetcher.js";
11
+ import { useGraphQLChangeStream } from "./hooks/useGraphQLChangeStream.js";
12
+ import { usePrettify } from "./hooks/usePrettify.js";
13
+ import { useStorage } from "./hooks/useStorage.js";
14
+ import { EXPLAIN_PLUGIN } from "./plugins/explain.js";
15
+ if (GP2 !== GraphiQLProvider) {
16
+ throw new Error("PACKAGE MANAGEMENT ERROR! The providers don't match up!");
17
+ }
18
18
  const checkCss = { width: "1.5rem", display: "inline-block" };
19
- const check = (0, jsx_runtime_1.jsx)("span", { style: checkCss, children: "\u2714" });
20
- const nocheck = (0, jsx_runtime_1.jsx)("span", { style: checkCss });
21
- const Ruru = (props) => {
22
- const storage = (0, useStorage_js_1.useStorage)();
19
+ const check = _jsx("span", { style: checkCss, children: "\u2714" });
20
+ const nocheck = _jsx("span", { style: checkCss });
21
+ export const Ruru = (props) => {
22
+ const storage = useStorage();
23
23
  const explain = storage.get("explain") === "true";
24
24
  const verbose = storage.get("verbose") === "true";
25
25
  const saveHeaders = storage.get("saveHeaders") === "true";
26
- const setExplain = (0, react_2.useCallback)((newExplain) => {
26
+ const setExplain = useCallback((newExplain) => {
27
27
  storage.set("explain", newExplain ? "true" : "");
28
28
  }, [storage]);
29
- const { fetcher, explainResults, streamEndpoint } = (0, useFetcher_js_1.useFetcher)(props, {
29
+ const { fetcher, explainResults, streamEndpoint } = useFetcher(props, {
30
30
  explain,
31
31
  verbose,
32
32
  });
33
- const [error, setError] = (0, react_2.useState)(null);
34
- const explainHelpers = (0, useExplain_js_1.useExplain)(storage);
35
- const { schema } = (0, useSchema_js_1.useSchema)(props, fetcher, setError, streamEndpoint);
36
- const defaultQuery = props.defaultQuery ?? defaultQuery_js_1.defaultQuery;
37
- const [query, setQuery] = (0, react_2.useState)(storage.get("query") ?? defaultQuery);
38
- const explorerPlugin = (0, plugin_explorer_1.useExplorerPlugin)({
39
- query,
40
- onEdit: setQuery,
33
+ const [error, setError] = useState(null);
34
+ const explainHelpers = useExplain(storage);
35
+ const defaultQuery = props.defaultQuery ?? DEFAULT_QUERY;
36
+ const explorerPlugin = makeExplorerPlugin({
41
37
  showAttribution: false,
42
38
  });
43
- const plugins = (0, react_2.useMemo)(() => {
44
- return [explorerPlugin, explain_js_1.EXPLAIN_PLUGIN];
39
+ const plugins = useMemo(() => {
40
+ return [explorerPlugin, EXPLAIN_PLUGIN];
45
41
  }, [explorerPlugin]);
46
- return ((0, jsx_runtime_1.jsx)(useExplain_js_1.ExplainContext.Provider, { value: {
42
+ return (
43
+ //EditorContextProvider
44
+ _jsx(ExplainContext.Provider, { value: {
47
45
  explainHelpers,
48
46
  explain,
49
47
  setExplain,
50
48
  explainResults,
51
- }, children: (0, jsx_runtime_1.jsx)(react_1.GraphiQLProvider, { fetcher: fetcher, schema: schema, defaultQuery: defaultQuery, query: query, plugins: plugins, shouldPersistHeaders: saveHeaders, children: (0, jsx_runtime_1.jsx)(exports.RuruInner, { storage: storage, editorTheme: props.editorTheme, error: error, setError: setError, onEditQuery: setQuery }) }) }));
49
+ }, children: _jsx(GraphiQLProvider, { fetcher: fetcher, defaultQuery: defaultQuery, query: props.query ?? props.initialQuery, variables: props.variables ?? props.initialVariables, plugins: plugins, shouldPersistHeaders: saveHeaders, children: _jsx(RuruInner, { storage: storage, editorTheme: props.editorTheme, error: error, setError: setError, onEditQuery: props.onEditQuery, onEditVariables: props.onEditVariables, streamEndpoint: streamEndpoint }) }) }));
52
50
  };
53
- exports.Ruru = Ruru;
54
- const RuruInner = (props) => {
55
- const { storage, editorTheme, error, setError, onEditQuery } = props;
56
- const prettify = (0, usePrettify_js_1.usePrettify)();
57
- const mergeQuery = (0, react_1.useMergeQuery)();
58
- const copyQuery = (0, react_1.useCopyQuery)();
59
- return ((0, jsx_runtime_1.jsxs)("div", { className: "graphiql-container", style: {
51
+ export const RuruInner = (props) => {
52
+ const { storage, editorTheme, error, setError, onEditQuery, onEditVariables, streamEndpoint, } = props;
53
+ const prettify = usePrettify();
54
+ const mergeQuery = useMergeQuery();
55
+ const copyQuery = useCopyQuery();
56
+ const schemaContext = useSchemaContext({ nonNull: true });
57
+ useGraphQLChangeStream(props, schemaContext.introspect, streamEndpoint);
58
+ return (_jsxs("div", { className: "graphiql-container", style: {
60
59
  position: "absolute",
61
60
  width: "100%",
62
61
  height: "100%",
63
62
  display: "flex",
64
63
  flexDirection: "column",
65
64
  overflow: "hidden",
66
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
65
+ }, children: [_jsx("div", { style: {
67
66
  display: "flex",
68
67
  flex: "1 1 100%",
69
68
  overflow: "hidden",
70
69
  position: "relative",
71
- }, children: (0, jsx_runtime_1.jsxs)(graphiql_1.GraphiQLInterface, { editorTheme: editorTheme ?? "graphiql", onEditQuery: onEditQuery, children: [(0, jsx_runtime_1.jsx)(graphiql_1.GraphiQL.Logo, { children: (0, jsx_runtime_1.jsx)("a", { href: "https://grafast.org/ruru", style: { textDecoration: "none" }, target: "_blank", rel: "noreferrer", children: "Ruru" }) }), (0, jsx_runtime_1.jsxs)(graphiql_1.GraphiQL.Toolbar, { children: [(0, jsx_runtime_1.jsx)(react_1.ToolbarButton, { onClick: prettify, label: "Prettify Query (Shift-Ctrl-P)", children: (0, jsx_runtime_1.jsx)(react_1.PrettifyIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), (0, jsx_runtime_1.jsx)(react_1.ToolbarButton, { onSelect: mergeQuery, label: "Merge Query (Shift-Ctrl-M)", children: (0, jsx_runtime_1.jsx)(react_1.MergeIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), (0, jsx_runtime_1.jsx)(react_1.ToolbarButton, { onClick: copyQuery, label: "Copy query (Shift-Ctrl-C)", children: (0, jsx_runtime_1.jsx)(react_1.CopyIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), (0, jsx_runtime_1.jsxs)(react_1.ToolbarMenu, { label: "Options", button: (0, jsx_runtime_1.jsx)(react_1.ToolbarButton, { label: "Options", children: (0, jsx_runtime_1.jsx)(react_1.SettingsIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), children: [(0, jsx_runtime_1.jsx)(react_1.ToolbarMenu.Item, { title: "View the SQL statements that this query invokes", onSelect: () => storage.toggle("explain"), children: (0, jsx_runtime_1.jsxs)("span", { children: [storage.get("explain") === "true" ? check : nocheck, "Explain (if supported)"] }) }), (0, jsx_runtime_1.jsx)(react_1.ToolbarMenu.Item, { title: "Don't hide explain from results", onSelect: () => storage.toggle("verbose"), children: (0, jsx_runtime_1.jsxs)("span", { children: [storage.get("verbose") === "true" ? check : nocheck, "Verbose"] }) }), (0, jsx_runtime_1.jsx)(react_1.ToolbarMenu.Item, { title: "Should we persist the headers to localStorage? Header editor is next to variable editor at the bottom.", onSelect: () => storage.toggle("saveHeaders"), children: (0, jsx_runtime_1.jsxs)("span", { children: [storage.get("saveHeaders") === "true" ? check : nocheck, "Save headers"] }) })] })] }), (0, jsx_runtime_1.jsx)(graphiql_1.GraphiQL.Footer, { children: (0, jsx_runtime_1.jsx)(Footer_js_1.RuruFooter, {}) })] }) }), error ? ((0, jsx_runtime_1.jsx)(ErrorPopup_js_1.ErrorPopup, { error: error, onClose: () => setError(null) })) : null] }));
70
+ }, children: _jsxs(GraphiQLInterface, { editorTheme: editorTheme ?? "graphiql", onEditQuery: onEditQuery, onEditVariables: onEditVariables, children: [_jsx(GraphiQL.Logo, { children: _jsx("a", { href: "https://grafast.org/ruru", style: { textDecoration: "none" }, target: "_blank", rel: "noreferrer", children: "Ruru" }) }), _jsxs(GraphiQL.Toolbar, { children: [_jsx(ToolbarButton, { onClick: prettify, label: "Prettify Query (Shift-Ctrl-P)", children: _jsx(PrettifyIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), _jsx(ToolbarButton, { onSelect: mergeQuery, label: "Merge Query (Shift-Ctrl-M)", children: _jsx(MergeIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), _jsx(ToolbarButton, { onClick: copyQuery, label: "Copy query (Shift-Ctrl-C)", children: _jsx(CopyIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), _jsxs(ToolbarMenu, { label: "Options", button: _jsx(ToolbarButton, { label: "Options", children: _jsx(SettingsIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" }) }), children: [_jsx(ToolbarMenu.Item, { title: "View the SQL statements that this query invokes", onSelect: () => storage.toggle("explain"), children: _jsxs("span", { children: [storage.get("explain") === "true" ? check : nocheck, "Explain (if supported)"] }) }), _jsx(ToolbarMenu.Item, { title: "Don't hide explain from results", onSelect: () => storage.toggle("verbose"), children: _jsxs("span", { children: [storage.get("verbose") === "true" ? check : nocheck, "Verbose"] }) }), _jsx(ToolbarMenu.Item, { title: "Should we persist the headers to localStorage? Header editor is next to variable editor at the bottom.", onSelect: () => storage.toggle("saveHeaders"), children: _jsxs("span", { children: [storage.get("saveHeaders") === "true" ? check : nocheck, "Save headers"] }) })] })] }), _jsx(GraphiQL.Footer, { children: _jsx(RuruFooter, {}) })] }) }), error ? (_jsx(ErrorPopup, { error: error, onClose: () => setError(null) })) : null] }));
72
71
  };
73
- exports.RuruInner = RuruInner;
74
72
  //# sourceMappingURL=ruru.js.map
package/dist/ruru.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ruru.js","sourceRoot":"","sources":["../src/ruru.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruru.js","sourceRoot":"","sources":["../src/ruru.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EACL,QAAQ,EACR,gBAAgB,IAAI,GAAG,EACvB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,IAAI,GAAG,KAAK,gBAAgB,EAAE;IAC5B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;CAC5E;AAED,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC9D,MAAM,KAAK,GAAG,eAAM,KAAK,EAAE,QAAQ,uBAAU,CAAC;AAC9C,MAAM,OAAO,GAAG,eAAM,KAAK,EAAE,QAAQ,GAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;IAC1D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,UAAmB,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;QACpE,OAAO;QACP,OAAO;KACR,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC;IACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC;QACxC,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAmB,GAAG,EAAE;QAC7C,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrB,OAAO;IACL,uBAAuB;IACvB,KAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;YACL,cAAc;YACd,OAAO;YACP,UAAU;YACV,cAAc;SACf,YAED,KAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,EACxC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB,EACpD,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,WAAW,YAEjC,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,cAAc,EAAE,cAAc,GAC9B,GACe,GACK,CAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAQjB,CAAC,KAAK,EAAE,EAAE;IACb,MAAM,EACJ,OAAO,EACP,WAAW,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,GACf,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAExE,OAAO,CACL,eACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,QAAQ;SACnB,aAED,cACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,UAAU;iBACrB,YAED,MAAC,iBAAiB,IAChB,WAAW,EAAE,WAAW,IAAI,UAAU,EACtC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,aAEhC,KAAC,QAAQ,CAAC,IAAI,cACZ,YACE,IAAI,EAAC,0BAA0B,EAC/B,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EACjC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,qBAGd,GACU,EAChB,MAAC,QAAQ,CAAC,OAAO,eACf,KAAC,aAAa,IACZ,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAC,+BAA+B,YAErC,KAAC,YAAY,IACX,SAAS,EAAC,uBAAuB,iBACrB,MAAM,GAClB,GACY,EAChB,KAAC,aAAa,IACZ,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAC,4BAA4B,YAElC,KAAC,SAAS,IAAC,SAAS,EAAC,uBAAuB,iBAAa,MAAM,GAAG,GACpD,EAChB,KAAC,aAAa,IACZ,OAAO,EAAE,SAAS,EAClB,KAAK,EAAC,2BAA2B,YAEjC,KAAC,QAAQ,IAAC,SAAS,EAAC,uBAAuB,iBAAa,MAAM,GAAG,GACnD,EAChB,MAAC,WAAW,IACV,KAAK,EAAC,SAAS,EACf,MAAM,EACJ,KAAC,aAAa,IAAC,KAAK,EAAC,SAAS,YAC5B,KAAC,YAAY,IACX,SAAS,EAAC,uBAAuB,iBACrB,MAAM,GAClB,GACY,aAGlB,KAAC,WAAW,CAAC,IAAI,IACf,KAAK,EAAC,iDAAiD,EACvD,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAEzC,2BACG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,8BAE/C,GACU,EACnB,KAAC,WAAW,CAAC,IAAI,IACf,KAAK,EAAC,iCAAiC,EACvC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAEzC,2BACG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,eAE/C,GACU,EACnB,KAAC,WAAW,CAAC,IAAI,IACf,KAAK,EAAC,wGAAwG,EAC9G,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,YAE7C,2BACG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,oBAEnD,GACU,IACP,IACG,EACnB,KAAC,QAAQ,CAAC,MAAM,cACd,KAAC,UAAU,KAAG,GACE,IACA,GAChB,EACL,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAI,CAC5D,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "ruru-components",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-beta.10",
4
4
  "description": "Grafast-flavoured GraphiQL distribution; the underlying React components",
5
5
  "main": "./dist/index.js",
6
+ "type": "module",
6
7
  "types": "./dist/index.d.ts",
7
8
  "exports": {
8
9
  ".": {
@@ -19,7 +20,7 @@
19
20
  },
20
21
  "repository": {
21
22
  "type": "git",
22
- "url": "git+https://github.com/graphile/heart.git"
23
+ "url": "git+https://github.com/graphile/crystal.git"
23
24
  },
24
25
  "keywords": [
25
26
  "graphile",
@@ -33,26 +34,32 @@
33
34
  "author": "Benjie Gillam <code@benjiegillam.com>",
34
35
  "license": "MIT",
35
36
  "bugs": {
36
- "url": "https://github.com/graphile/heart/issues"
37
+ "url": "https://github.com/graphile/crystal/issues"
37
38
  },
38
39
  "homepage": "https://grafast.org/ruru/",
39
40
  "dependencies": {
40
- "@graphiql/plugin-explorer": "^0.1.14",
41
- "@graphiql/react": "^0.17.0",
42
- "@graphiql/toolkit": "^0.8.2",
43
- "@types/node": "^18.15.5",
44
- "graphiql": "^2.4.0",
45
- "graphql-ws": "^5.11.3",
46
- "mermaid": "^8.14.0",
47
- "react": ">=16 <17",
48
- "react-dom": ">=16 <17",
49
- "tslib": "^2.5.0"
41
+ "@graphiql/plugin-explorer": "^0.3.4",
42
+ "@graphiql/react": "^0.19.3",
43
+ "@graphiql/toolkit": "^0.9.1",
44
+ "@types/node": "^20.5.7",
45
+ "grafast": "^0.1.1-beta.2",
46
+ "graphiql": "^3.0.5",
47
+ "graphql-ws": "^5.14.0",
48
+ "react": "^18.2.0",
49
+ "react-dom": "^18.2.0",
50
+ "tslib": "^2.6.2"
50
51
  },
51
52
  "engines": {
52
53
  "node": ">=16"
53
54
  },
54
55
  "peerDependencies": {
55
- "graphql": "^16.1.0-experimental-stream-defer.6"
56
+ "graphql": "^16.1.0-experimental-stream-defer.6",
57
+ "tamedevil": "^0.0.0-beta.3"
58
+ },
59
+ "peerDependenciesMeta": {
60
+ "tamedevil": {
61
+ "optional": true
62
+ }
56
63
  },
57
64
  "files": [
58
65
  "dist",
@@ -60,15 +67,15 @@
60
67
  "ruru.css"
61
68
  ],
62
69
  "devDependencies": {
63
- "@types/codemirror": "^5.60.5",
64
- "@types/debug": "^4.1.7",
65
- "@types/jest": "^27.5.1",
66
- "@types/nodemon": "1.19.1",
67
- "@types/react": "^18",
68
- "@types/react-dom": "^18.0.0",
70
+ "@types/codemirror": "^5.60.9",
71
+ "@types/debug": "^4.1.8",
72
+ "@types/jest": "^29.5.4",
73
+ "@types/nodemon": "1.19.2",
74
+ "@types/react": "^18.2.21",
75
+ "@types/react-dom": "^18.2.7",
69
76
  "graphql": "16.1.0-experimental-stream-defer.6",
70
- "jest": "^28.1.3",
71
- "nodemon": "^2.0.15",
72
- "typescript": "^5.0.4"
77
+ "jest": "^29.6.4",
78
+ "nodemon": "^3.0.1",
79
+ "typescript": "^5.2.2"
73
80
  }
74
81
  }
@@ -1,8 +0,0 @@
1
- import type { GraphiQLProps } from "graphiql";
2
- import type { GraphQLSchema } from "graphql";
3
- import type { Dispatch, SetStateAction } from "react";
4
- import type { RuruProps } from "../interfaces.js";
5
- export declare const useSchema: (props: RuruProps, fetcher: GraphiQLProps["fetcher"], setError: Dispatch<SetStateAction<Error | null>>, streamEndpoint: string | null) => {
6
- schema: GraphQLSchema | null;
7
- };
8
- //# sourceMappingURL=useSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSchema.d.ts","sourceRoot":"","sources":["../../src/hooks/useSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AAM9D,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,eAAO,MAAM,SAAS,UACb,SAAS,WACP,aAAa,CAAC,SAAS,CAAC,YACvB,SAAS,eAAe,KAAK,GAAG,IAAI,CAAC,CAAC,kBAChC,MAAM,GAAG,IAAI;;CAmF9B,CAAC"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSchema = void 0;
4
- const toolkit_1 = require("@graphiql/toolkit");
5
- const graphql_1 = require("graphql");
6
- const react_1 = require("react");
7
- // import { updateGraphiQLDocExplorerNavStack } from "../updateGraphiQLDocExplorerNavStack.js";
8
- const useGraphQLChangeStream_js_1 = require("./useGraphQLChangeStream.js");
9
- const useSchema = (props, fetcher, setError, streamEndpoint) => {
10
- const [schema, setSchema] = (0, react_1.useState)(null);
11
- const refetchStatusRef = (0, react_1.useRef)({
12
- inProgress: false,
13
- fetchAgain: null,
14
- });
15
- const refetch = (0, react_1.useCallback)(() => {
16
- if (refetchStatusRef.current.inProgress) {
17
- refetchStatusRef.current.fetchAgain = refetch;
18
- return;
19
- }
20
- refetchStatusRef.current.inProgress = true;
21
- refetchStatusRef.current.fetchAgain = null;
22
- (async () => {
23
- // Fetch the schema using our introspection query and report once that has
24
- // finished.
25
- const result = await fetcher({
26
- query: (0, graphql_1.getIntrospectionQuery)(),
27
- // TODO: remove this TypeScript hack once https://github.com/graphql/graphiql/pull/2373 is merged/released
28
- operationName: null,
29
- });
30
- let payload;
31
- if ((0, toolkit_1.isAsyncIterable)(result)) {
32
- // Handle async iterator; we're only expecting a single payload.
33
- for await (const entry of result) {
34
- payload = entry;
35
- }
36
- }
37
- else {
38
- payload = result;
39
- }
40
- const { data, errors } = payload;
41
- if (errors) {
42
- if (errors[0]) {
43
- throw new graphql_1.GraphQLError(errors[0].message ?? "Error has no message?!", null, null, null, errors[0].path, null, errors[0].extensions);
44
- }
45
- else {
46
- throw new Error("'errors' was set on the payload, but was empty or contained null? This is forbidden by the GraphQL spec.");
47
- }
48
- }
49
- // Use the data we got back from GraphQL to build a client schema (a
50
- // schema without resolvers).
51
- const schema = (0, graphql_1.buildClientSchema)(data);
52
- setSchema(schema);
53
- setError(null);
54
- console.log("Ruru: Schema updated");
55
- })()
56
- .catch((error) => {
57
- console.error("Error occurred when updating the schema:");
58
- console.error(error);
59
- setError(new Error(`Introspecting the GraphQL schema failed; please check the endpoint and try again.\n${String(error)}`));
60
- })
61
- .finally(() => {
62
- refetchStatusRef.current.inProgress = false;
63
- if (refetchStatusRef.current.fetchAgain) {
64
- refetchStatusRef.current.fetchAgain();
65
- }
66
- });
67
- }, [fetcher, setError]);
68
- (0, useGraphQLChangeStream_js_1.useGraphQLChangeStream)(props, refetch, streamEndpoint);
69
- (0, react_1.useEffect)(() => {
70
- refetch();
71
- }, [refetch]);
72
- return { schema };
73
- };
74
- exports.useSchema = useSchema;
75
- //# sourceMappingURL=useSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSchema.js","sourceRoot":"","sources":["../../src/hooks/useSchema.ts"],"names":[],"mappings":"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"}