@bluelibs/runner-dev 4.4.9 → 4.4.11
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/dist/resources/server.resource.js +7 -3
- package/dist/resources/server.resource.js.map +1 -1
- package/dist/resources/templates/voyager.html.d.ts +2 -0
- package/dist/resources/templates/voyager.html.js +269 -0
- package/dist/resources/templates/voyager.html.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -2
|
@@ -16,10 +16,10 @@ const express_1 = __importDefault(require("express"));
|
|
|
16
16
|
const node_path_1 = __importDefault(require("node:path"));
|
|
17
17
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
18
18
|
const ui_static_1 = require("./ui.static");
|
|
19
|
-
const middleware_1 = require("graphql-voyager/middleware");
|
|
20
19
|
const printSchema_1 = require("graphql/utilities/printSchema");
|
|
21
20
|
const getDocsData_1 = require("./routeHandlers/getDocsData");
|
|
22
21
|
const createDocsServeHandler_1 = require("./routeHandlers/createDocsServeHandler");
|
|
22
|
+
const voyager_html_1 = __importDefault(require("./templates/voyager.html"));
|
|
23
23
|
exports.serverResource = (0, runner_1.resource)({
|
|
24
24
|
id: "runner-dev.resources.server",
|
|
25
25
|
meta: {
|
|
@@ -61,8 +61,12 @@ exports.serverResource = (0, runner_1.resource)({
|
|
|
61
61
|
};
|
|
62
62
|
},
|
|
63
63
|
}));
|
|
64
|
-
// Voyager UI at /voyager (
|
|
65
|
-
app.
|
|
64
|
+
// Voyager UI at /voyager (simple CDN-based standalone page)
|
|
65
|
+
app.get("/voyager", (_req, res) => {
|
|
66
|
+
const html = voyager_html_1.default;
|
|
67
|
+
res.setHeader("Content-Type", "text/html; charset=utf-8");
|
|
68
|
+
res.send(html);
|
|
69
|
+
});
|
|
66
70
|
// Static UI (Vite build output) + runtime JS placeholder injection
|
|
67
71
|
// Vite builds to dist/ui (see src/ui/vite.config.ts)
|
|
68
72
|
// When used as a dependency, process.cwd() may not point to this package root.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.resource.js","sourceRoot":"","sources":["../../src/resources/server.resource.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAqD;AACrD,2CAA8C;AAE9C,iFAA4E;AAE5E,mEAAuD;AACvD,mDAAuC;AACvC,mDAA8C;AAC9C,wDAA8D;AAC9D,2DAA+C;AAC/C,sDAAqD;AACrD,0DAA6B;AAC7B,sDAAyB;AACzB,2CAAmD;AACnD
|
|
1
|
+
{"version":3,"file":"server.resource.js","sourceRoot":"","sources":["../../src/resources/server.resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <title>GraphQL Voyager</title>\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/graphql-voyager@1.3.0/dist/voyager.css\" />\n <script crossorigin src=\"https://unpkg.com/react@17/umd/react.production.min.js\"></script>\n <script crossorigin src=\"https://unpkg.com/react-dom@17/umd/react-dom.production.min.js\"></script>\n <script src=\"https://cdn.jsdelivr.net/npm/graphql-voyager@1.3.0/dist/voyager.min.js\"></script>\n <style>\n :root {\n --bg-primary: #0d1117;\n --bg-secondary: #161b22;\n --bg-tertiary: #21262d;\n --bg-hover: #30363d;\n --bg-gradient: linear-gradient(135deg, #0d1117 0%, #1c1f26 25%, #2d1b69 75%, #1e3a8a 100%);\n \n --text-primary: #f0f6fc;\n --text-secondary: #b3b9c4;\n --text-muted: #7d8590;\n \n --accent-purple: #8b5cf6;\n --accent-purple-hover: #a78bfa;\n --accent-blue: #3b82f6;\n --accent-blue-hover: #60a5fa;\n --accent-deep-blue: #1e3a8a;\n \n --border-primary: #30363d;\n --border-secondary: #21262d;\n --border-accent: var(--accent-purple);\n \n --shadow-purple: 0 0 20px rgba(139, 92, 246, 0.3);\n --shadow-blue: 0 0 15px rgba(59, 130, 246, 0.2);\n }\n \n html, body, #voyager { \n height: 100%; \n width: 100%; \n margin: 0; \n padding: 0; \n }\n\n\n \n body { \n background: var(--bg-gradient);\n color: var(--text-primary);\n }\n \n /* Panel Styles */\n .doc-panel { \n background: var(--bg-primary); \n color: var(--text-primary);\n border-right: 1px solid var(--border-primary);\n font-family: \"JetBrains Mono\", \"SF Mono\", Consolas, \"Liberation Mono\", monospace;\n }\n .doc-panel > .header { \n color: var(--text-secondary);\n background: var(--bg-secondary);\n border-bottom: 1px solid var(--border-primary);\n }\n \n /* Content Styles */\n .contents { \n background: var(--bg-primary); \n color: var(--text-primary); \n }\n .contents > p { \n background: var(--bg-primary); \n color: var(--text-primary); \n font-family: \"JetBrains Mono\", \"SF Mono\", Consolas, \"Liberation Mono\", monospace;\n }\n .contents .search-box-wrapper input { \n color: var(--text-primary);\n background: var(--bg-secondary);\n border-radius: 6px;\n padding: 8px;\n }\n .contents .search-box-wrapper input:focus {\n border-color: var(--accent-purple);\n box-shadow: var(--shadow-purple);\n }\n \n /* Type Documentation */\n .type-doc { \n background: var(--bg-primary); \n color: var(--text-primary); \n margin-top: 0; \n padding-top: 15px; \n }\n\n .graphql-voyager > .menu-content > .setting-other-options {\n padding: 10px 32px 0px 10px;\n }\n\n .type-doc.-scalar, .type-name.-built-in {\n color: var(--accent-purple);\n }\n .type-doc > .doc-navigation { \n background: var(--bg-secondary); \n color: var(--text-primary);\n border-bottom: 1px solid var(--border-primary);\n }\n .type-doc > div { \n background: var(--bg-primary); \n color: var(--text-primary); \n }\n \n /* List Items */\n .typelist-item { \n background: var(--bg-secondary); \n color: var(--text-primary);\n border: 1px solid var(--border-secondary);\n border-radius: 4px;\n margin: 4px 0;\n transition: all 0.2s ease;\n }\n .typelist-item:hover {\n background: var(--bg-hover);\n border-color: var(--accent-purple);\n box-shadow: var(--shadow-purple);\n }\n \n /* Search */\n .search-box-wrapper { \n background: var(--bg-secondary); \n color: var(--text-primary);\n border-radius: 8px;\n padding: 8px;\n }\n \n /* Field Names */\n .field-name { \n color: var(--accent-purple);\n font-weight: 600;\n }\n \n\n .field-name.edge-source:hover,\n g.field.edge-source:hover .type-link,\n #graph0 g.field.edge-source:hover text.type-link {\n fill: var(--accent-blue-hover) !important;\n color: var(--accent-blue-hover) !important;\n text-decoration-color: var(--accent-blue-hover);\n filter: drop-shadow(0 0 4px rgba(59, 130, 246, 0.5));\n }\n \n /* Category Items */\n .doc-category > .item:hover { \n background: var(--bg-hover);\n border-left: 3px solid var(--accent-purple);\n transition: all 0.2s ease;\n }\n \n /* Voyager Menu */\n .graphql-voyager .menu-content { \n background: var(--bg-primary); \n color: var(--text-primary);\n border: 1px solid var(--border-primary);\n border-radius: 8px;\n box-shadow: var(--shadow-blue);\n }\n .menu-content .setting-change-root { \n display: none; \n }\n \n /* Graph Nodes */\n #graph0 g.node polygon { \n fill: var(--bg-tertiary);\n stroke: rgba(139, 92, 246, 0.3);\n stroke-width: 1;\n transition: all 0.3s ease;\n }\n #graph0 g.node:hover polygon { \n fill: rgba(139, 92, 246, 0.15);\n stroke: rgba(139, 92, 246, 0.6);\n stroke-width: 1.5;\n }\n #graph0 g.node.selected polygon { \n fill: rgba(139, 92, 246, 0.25) !important;\n stroke: rgba(139, 92, 246, 0.8) !important; \n stroke-width: 2 !important;\n filter: drop-shadow(0 0 6px rgba(139, 92, 246, 0.2)) !important;\n }\n #graph0 g.node.selected text { \n fill: var(--text-primary) !important;\n stroke: none !important;\n font-weight: 600 !important;\n }\n #graph0 g.node.selected-reachable polygon {\n fill: rgba(59, 130, 246, 0.15) !important;\n stroke: rgba(59, 130, 246, 0.5) !important;\n stroke-width: 1.5 !important;\n }\n #graph0 g.node.selected-reachable text { \n fill: rgba(167, 139, 250, 0.9) !important;\n stroke: none !important;\n font-weight: 500 !important;\n }\n #graph0 text { \n fill: var(--text-secondary); \n font-weight: 500; \n stroke: none;\n }\n\n /* Specific Node Types */\n #graph0 g#TYPE::Query polygon { \n fill: var(--accent-deep-blue);\n stroke: var(--accent-purple);\n stroke-width: 2;\n }\n #graph0 g#FIELD::Query::tags polygon { \n fill: var(--bg-tertiary);\n stroke: var(--accent-blue);\n }\n \n /* Modern Scrollbar */\n ::-webkit-scrollbar {\n width: 10px;\n height: 10px;\n }\n ::-webkit-scrollbar-track {\n background: var(--bg-secondary);\n border-radius: 6px;\n }\n ::-webkit-scrollbar-thumb {\n background: linear-gradient(45deg, var(--accent-purple), var(--accent-blue));\n border-radius: 6px;\n border: 1px solid var(--border-primary);\n }\n ::-webkit-scrollbar-thumb:hover {\n background: linear-gradient(45deg, var(--accent-purple-hover), var(--accent-blue-hover));\n box-shadow: var(--shadow-purple);\n }\n ::-webkit-scrollbar-corner {\n background: var(--bg-secondary);\n }\n \n /* Firefox Scrollbar */\n * {\n scrollbar-width: thin;\n scrollbar-color: var(--accent-purple) var(--bg-secondary);\n }\n \n </style>\n </head>\n\n <body>\n <div id=\"voyager\">Loading...</div>\n <script>\n const GRAPHQL_ENDPOINT = window.location.origin + '/graphql';\n function introspectionProvider(query) {\n return fetch(GRAPHQL_ENDPOINT, {\n method: 'post',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ query })\n }).then(r => r.json());\n }\n // Render <Voyager />\n GraphQLVoyager.init(document.getElementById('voyager'), {\n introspection: introspectionProvider,\n });\n </script>\n </body>\n </html>";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = `<!DOCTYPE html>
|
|
4
|
+
<html>
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
<title>GraphQL Voyager</title>
|
|
9
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/graphql-voyager@1.3.0/dist/voyager.css" />
|
|
10
|
+
<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
|
|
11
|
+
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
|
|
12
|
+
<script src="https://cdn.jsdelivr.net/npm/graphql-voyager@1.3.0/dist/voyager.min.js"></script>
|
|
13
|
+
<style>
|
|
14
|
+
:root {
|
|
15
|
+
--bg-primary: #0d1117;
|
|
16
|
+
--bg-secondary: #161b22;
|
|
17
|
+
--bg-tertiary: #21262d;
|
|
18
|
+
--bg-hover: #30363d;
|
|
19
|
+
--bg-gradient: linear-gradient(135deg, #0d1117 0%, #1c1f26 25%, #2d1b69 75%, #1e3a8a 100%);
|
|
20
|
+
|
|
21
|
+
--text-primary: #f0f6fc;
|
|
22
|
+
--text-secondary: #b3b9c4;
|
|
23
|
+
--text-muted: #7d8590;
|
|
24
|
+
|
|
25
|
+
--accent-purple: #8b5cf6;
|
|
26
|
+
--accent-purple-hover: #a78bfa;
|
|
27
|
+
--accent-blue: #3b82f6;
|
|
28
|
+
--accent-blue-hover: #60a5fa;
|
|
29
|
+
--accent-deep-blue: #1e3a8a;
|
|
30
|
+
|
|
31
|
+
--border-primary: #30363d;
|
|
32
|
+
--border-secondary: #21262d;
|
|
33
|
+
--border-accent: var(--accent-purple);
|
|
34
|
+
|
|
35
|
+
--shadow-purple: 0 0 20px rgba(139, 92, 246, 0.3);
|
|
36
|
+
--shadow-blue: 0 0 15px rgba(59, 130, 246, 0.2);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
html, body, #voyager {
|
|
40
|
+
height: 100%;
|
|
41
|
+
width: 100%;
|
|
42
|
+
margin: 0;
|
|
43
|
+
padding: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
body {
|
|
49
|
+
background: var(--bg-gradient);
|
|
50
|
+
color: var(--text-primary);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Panel Styles */
|
|
54
|
+
.doc-panel {
|
|
55
|
+
background: var(--bg-primary);
|
|
56
|
+
color: var(--text-primary);
|
|
57
|
+
border-right: 1px solid var(--border-primary);
|
|
58
|
+
font-family: "JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", monospace;
|
|
59
|
+
}
|
|
60
|
+
.doc-panel > .header {
|
|
61
|
+
color: var(--text-secondary);
|
|
62
|
+
background: var(--bg-secondary);
|
|
63
|
+
border-bottom: 1px solid var(--border-primary);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Content Styles */
|
|
67
|
+
.contents {
|
|
68
|
+
background: var(--bg-primary);
|
|
69
|
+
color: var(--text-primary);
|
|
70
|
+
}
|
|
71
|
+
.contents > p {
|
|
72
|
+
background: var(--bg-primary);
|
|
73
|
+
color: var(--text-primary);
|
|
74
|
+
font-family: "JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", monospace;
|
|
75
|
+
}
|
|
76
|
+
.contents .search-box-wrapper input {
|
|
77
|
+
color: var(--text-primary);
|
|
78
|
+
background: var(--bg-secondary);
|
|
79
|
+
border-radius: 6px;
|
|
80
|
+
padding: 8px;
|
|
81
|
+
}
|
|
82
|
+
.contents .search-box-wrapper input:focus {
|
|
83
|
+
border-color: var(--accent-purple);
|
|
84
|
+
box-shadow: var(--shadow-purple);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* Type Documentation */
|
|
88
|
+
.type-doc {
|
|
89
|
+
background: var(--bg-primary);
|
|
90
|
+
color: var(--text-primary);
|
|
91
|
+
margin-top: 0;
|
|
92
|
+
padding-top: 15px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.graphql-voyager > .menu-content > .setting-other-options {
|
|
96
|
+
padding: 10px 32px 0px 10px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.type-doc.-scalar, .type-name.-built-in {
|
|
100
|
+
color: var(--accent-purple);
|
|
101
|
+
}
|
|
102
|
+
.type-doc > .doc-navigation {
|
|
103
|
+
background: var(--bg-secondary);
|
|
104
|
+
color: var(--text-primary);
|
|
105
|
+
border-bottom: 1px solid var(--border-primary);
|
|
106
|
+
}
|
|
107
|
+
.type-doc > div {
|
|
108
|
+
background: var(--bg-primary);
|
|
109
|
+
color: var(--text-primary);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* List Items */
|
|
113
|
+
.typelist-item {
|
|
114
|
+
background: var(--bg-secondary);
|
|
115
|
+
color: var(--text-primary);
|
|
116
|
+
border: 1px solid var(--border-secondary);
|
|
117
|
+
border-radius: 4px;
|
|
118
|
+
margin: 4px 0;
|
|
119
|
+
transition: all 0.2s ease;
|
|
120
|
+
}
|
|
121
|
+
.typelist-item:hover {
|
|
122
|
+
background: var(--bg-hover);
|
|
123
|
+
border-color: var(--accent-purple);
|
|
124
|
+
box-shadow: var(--shadow-purple);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* Search */
|
|
128
|
+
.search-box-wrapper {
|
|
129
|
+
background: var(--bg-secondary);
|
|
130
|
+
color: var(--text-primary);
|
|
131
|
+
border-radius: 8px;
|
|
132
|
+
padding: 8px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Field Names */
|
|
136
|
+
.field-name {
|
|
137
|
+
color: var(--accent-purple);
|
|
138
|
+
font-weight: 600;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
.field-name.edge-source:hover,
|
|
143
|
+
g.field.edge-source:hover .type-link,
|
|
144
|
+
#graph0 g.field.edge-source:hover text.type-link {
|
|
145
|
+
fill: var(--accent-blue-hover) !important;
|
|
146
|
+
color: var(--accent-blue-hover) !important;
|
|
147
|
+
text-decoration-color: var(--accent-blue-hover);
|
|
148
|
+
filter: drop-shadow(0 0 4px rgba(59, 130, 246, 0.5));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* Category Items */
|
|
152
|
+
.doc-category > .item:hover {
|
|
153
|
+
background: var(--bg-hover);
|
|
154
|
+
border-left: 3px solid var(--accent-purple);
|
|
155
|
+
transition: all 0.2s ease;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* Voyager Menu */
|
|
159
|
+
.graphql-voyager .menu-content {
|
|
160
|
+
background: var(--bg-primary);
|
|
161
|
+
color: var(--text-primary);
|
|
162
|
+
border: 1px solid var(--border-primary);
|
|
163
|
+
border-radius: 8px;
|
|
164
|
+
box-shadow: var(--shadow-blue);
|
|
165
|
+
}
|
|
166
|
+
.menu-content .setting-change-root {
|
|
167
|
+
display: none;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/* Graph Nodes */
|
|
171
|
+
#graph0 g.node polygon {
|
|
172
|
+
fill: var(--bg-tertiary);
|
|
173
|
+
stroke: rgba(139, 92, 246, 0.3);
|
|
174
|
+
stroke-width: 1;
|
|
175
|
+
transition: all 0.3s ease;
|
|
176
|
+
}
|
|
177
|
+
#graph0 g.node:hover polygon {
|
|
178
|
+
fill: rgba(139, 92, 246, 0.15);
|
|
179
|
+
stroke: rgba(139, 92, 246, 0.6);
|
|
180
|
+
stroke-width: 1.5;
|
|
181
|
+
}
|
|
182
|
+
#graph0 g.node.selected polygon {
|
|
183
|
+
fill: rgba(139, 92, 246, 0.25) !important;
|
|
184
|
+
stroke: rgba(139, 92, 246, 0.8) !important;
|
|
185
|
+
stroke-width: 2 !important;
|
|
186
|
+
filter: drop-shadow(0 0 6px rgba(139, 92, 246, 0.2)) !important;
|
|
187
|
+
}
|
|
188
|
+
#graph0 g.node.selected text {
|
|
189
|
+
fill: var(--text-primary) !important;
|
|
190
|
+
stroke: none !important;
|
|
191
|
+
font-weight: 600 !important;
|
|
192
|
+
}
|
|
193
|
+
#graph0 g.node.selected-reachable polygon {
|
|
194
|
+
fill: rgba(59, 130, 246, 0.15) !important;
|
|
195
|
+
stroke: rgba(59, 130, 246, 0.5) !important;
|
|
196
|
+
stroke-width: 1.5 !important;
|
|
197
|
+
}
|
|
198
|
+
#graph0 g.node.selected-reachable text {
|
|
199
|
+
fill: rgba(167, 139, 250, 0.9) !important;
|
|
200
|
+
stroke: none !important;
|
|
201
|
+
font-weight: 500 !important;
|
|
202
|
+
}
|
|
203
|
+
#graph0 text {
|
|
204
|
+
fill: var(--text-secondary);
|
|
205
|
+
font-weight: 500;
|
|
206
|
+
stroke: none;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* Specific Node Types */
|
|
210
|
+
#graph0 g#TYPE\:\:Query polygon {
|
|
211
|
+
fill: var(--accent-deep-blue);
|
|
212
|
+
stroke: var(--accent-purple);
|
|
213
|
+
stroke-width: 2;
|
|
214
|
+
}
|
|
215
|
+
#graph0 g#FIELD\:\:Query\:\:tags polygon {
|
|
216
|
+
fill: var(--bg-tertiary);
|
|
217
|
+
stroke: var(--accent-blue);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Modern Scrollbar */
|
|
221
|
+
::-webkit-scrollbar {
|
|
222
|
+
width: 10px;
|
|
223
|
+
height: 10px;
|
|
224
|
+
}
|
|
225
|
+
::-webkit-scrollbar-track {
|
|
226
|
+
background: var(--bg-secondary);
|
|
227
|
+
border-radius: 6px;
|
|
228
|
+
}
|
|
229
|
+
::-webkit-scrollbar-thumb {
|
|
230
|
+
background: linear-gradient(45deg, var(--accent-purple), var(--accent-blue));
|
|
231
|
+
border-radius: 6px;
|
|
232
|
+
border: 1px solid var(--border-primary);
|
|
233
|
+
}
|
|
234
|
+
::-webkit-scrollbar-thumb:hover {
|
|
235
|
+
background: linear-gradient(45deg, var(--accent-purple-hover), var(--accent-blue-hover));
|
|
236
|
+
box-shadow: var(--shadow-purple);
|
|
237
|
+
}
|
|
238
|
+
::-webkit-scrollbar-corner {
|
|
239
|
+
background: var(--bg-secondary);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* Firefox Scrollbar */
|
|
243
|
+
* {
|
|
244
|
+
scrollbar-width: thin;
|
|
245
|
+
scrollbar-color: var(--accent-purple) var(--bg-secondary);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
</style>
|
|
249
|
+
</head>
|
|
250
|
+
|
|
251
|
+
<body>
|
|
252
|
+
<div id="voyager">Loading...</div>
|
|
253
|
+
<script>
|
|
254
|
+
const GRAPHQL_ENDPOINT = window.location.origin + '/graphql';
|
|
255
|
+
function introspectionProvider(query) {
|
|
256
|
+
return fetch(GRAPHQL_ENDPOINT, {
|
|
257
|
+
method: 'post',
|
|
258
|
+
headers: { 'Content-Type': 'application/json' },
|
|
259
|
+
body: JSON.stringify({ query })
|
|
260
|
+
}).then(r => r.json());
|
|
261
|
+
}
|
|
262
|
+
// Render <Voyager />
|
|
263
|
+
GraphQLVoyager.init(document.getElementById('voyager'), {
|
|
264
|
+
introspection: introspectionProvider,
|
|
265
|
+
});
|
|
266
|
+
</script>
|
|
267
|
+
</body>
|
|
268
|
+
</html>`;
|
|
269
|
+
//# sourceMappingURL=voyager.html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voyager.html.js","sourceRoot":"","sources":["../../../src/resources/templates/voyager.html.ts"],"names":[],"mappings":";;AAAA,kBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAyQN,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const v = "4.4.
|
|
1
|
+
declare const v = "4.4.11";
|
|
2
2
|
export default v;
|
package/dist/version.js
CHANGED
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,mEAAmE;AACnE,MAAM,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,mEAAmE;AACnE,MAAM,CAAC,GAAG,QAAQ,CAAC;AACnB,kBAAe,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bluelibs/runner-dev",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.11",
|
|
4
4
|
"description": "BlueLibs Runner DevTools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -94,7 +94,6 @@
|
|
|
94
94
|
"@types/prismjs": "^1.26.5",
|
|
95
95
|
"express": "^5.0.0",
|
|
96
96
|
"graphql": "^16.11.0",
|
|
97
|
-
"graphql-voyager": "^1.3.0",
|
|
98
97
|
"lru-cache": "^11.1.0",
|
|
99
98
|
"prismjs": "^1.30.0",
|
|
100
99
|
"react": "18.3.1",
|