grafserv 0.1.1-beta.26 → 0.1.1-beta.27

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,118 @@
1
1
  # grafserv
2
2
 
3
+ ## 0.1.1-beta.27
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2578](https://github.com/graphile/crystal/pull/2578)
8
+ [`1d76d2f`](https://github.com/graphile/crystal/commit/1d76d2f0d19b4d56895ee9988440a35d2c60f9f9)
9
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 **Ruru has been "rebuilt"!
10
+ The loading methods and APIs have changed!**
11
+
12
+ Ruru is now built on top of GraphiQL v5, which moves to using the Monaco
13
+ editor (the same editor used in VSCode) enabling more familiar keybindings and
14
+ more features (e.g. press F1 in the editor to see the command palette, and you
15
+ can now add comments in the variables JSON). This has required a
16
+ rearchitecture to Ruru's previously "single file" approach since Monaco uses
17
+ workers which require additional files.
18
+
19
+ In this release we have embraced the bundle splitting approach. We now bundle
20
+ both `prettier` and `mermaid`, and they are now loaded on-demand.
21
+
22
+ Usage instructions for all environments have had to change since we can no
23
+ longer serve Ruru as a single HTML file. We now include helpers for serving
24
+ Ruru's static files from whatever JS-based webserver you are using.
25
+
26
+ We've also added some additional improvements:
27
+ - Formatting with prettier now maintains the cursor position
28
+ (`Ctrl-Shift-P`/`Meta-Shift-P`/`Cmd-Shift-P` depending on platform)
29
+ - All editors are now formatted, not just the GraphQL editor
30
+ - Prettier and mermaid should now work offline
31
+ - Even more GraphiQL props are now passed through, including
32
+ `inputValueDeprecation` and `schemaDeprecation` which you can set to false
33
+ if your GraphQL server is, _ahem_, a little behind the GraphQL spec draft.
34
+
35
+ 🚨 **Changes you need to make:** 🚨
36
+ - If you are using Ruru directly (i.e. importing from `ruru/server`), please
37
+ see the new Ruru README for setup instructions, you'll want to switch out
38
+ your previous setup. In particular, `ruru/bundle` no longer exists and you
39
+ now need to serve the static files (via `ruru/static`).
40
+ - `defaultHTMLParts` is no more; instead `config.htmlParts` (also
41
+ `preset.ruru.htmlParts` for Graphile Config users) now allows the entries to
42
+ be callback functions reducing boilerplate:
43
+ ```diff
44
+ -import { defaultHTMLParts } from "ruru/server";
45
+ const config = {
46
+ htmlParts: {
47
+ - metaTags: defaultHTMLParts.metaTags + "<!-- local override -->",
48
+ + metaTags: (base) => base + "<!-- local override -->",
49
+ }
50
+ }
51
+ ```
52
+ (alternatively you can use `makeHTMLParts(config)`)
53
+ - Grafserv users: `plugin.grafserv.middleware.ruruHTMLParts` is renamed to
54
+ `ruruHTML` and wraps the generation of the HTML - simply trim `Parts` from
55
+ the name and be sure calling `next()` is the final line of the function
56
+ ```diff
57
+ const plugin = {
58
+ grafserv: {
59
+ middleware: {
60
+ - ruruHTMLParts(next, event) {
61
+ + ruruHTML(next, event) {
62
+ const { htmlParts, request } = event;
63
+ htmlParts.titleTag = `<title>${escapeHTML(
64
+ "Ruru | " + request.getHeader("host"),
65
+ )}</title>`;
66
+ return next();
67
+ },
68
+ },
69
+ },
70
+ };
71
+ ```
72
+
73
+ Additional changes:
74
+ - `RuruConfig.clientConfig` has been added for props to explicitly pass to
75
+ Ruru making it explicit that these will be sent to the client
76
+ - `RuruServerConfig` has deprecated the client options `editorTheme`,
77
+ `debugTools` and `eventSourceInit` at the top level; instead these should be
78
+ passed via `RuruServerConfig.clientConfig` making it explicit these will be
79
+ sent to the client and expanding to cover more props
80
+ ```diff
81
+ const config = {
82
+ endpoint: "/graphql",
83
+ + clientConfig: {
84
+ editorTheme: "dark",
85
+ + },
86
+ }
87
+ ```
88
+
89
+ - [#2622](https://github.com/graphile/crystal/pull/2622)
90
+ [`a480f6d`](https://github.com/graphile/crystal/commit/a480f6d22605fbb0d0fcdf6845cbdf294d3194b5)
91
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 Since Ruru now needs to
92
+ serve static assets due to the upgrade to GraphiQL v5 and Monaco, we've had to
93
+ extend Grafserv to do so. We've (theoretically) added support in the H3, Hono
94
+ and Fastify adaptors, along with the base node adaptor (used by Node, Express,
95
+ Koa); however - if you have your own adaptor for a different server, you'll
96
+ need to be sure to call the `.graphiqlStaticHandler` for URLs that start with
97
+ `dynamicOptions.graphiqlStaticPath`.
98
+
99
+ Whilst at it, we've added more places where headers can be added, and we've
100
+ added a new "raw" ResultType which can be used to serve a Node Buffer with
101
+ entirely custom headers (e.g. set your own `Content-Type`).
102
+
103
+ - [#2600](https://github.com/graphile/crystal/pull/2600)
104
+ [`ad588ec`](https://github.com/graphile/crystal/commit/ad588ecde230359f56800e414b7c5fa1aed14957)
105
+ Thanks [@benjie](https://github.com/benjie)! - Mark all
106
+ peerDependencies=dependencies modules as optional peerDependencies to make
107
+ pnpm marginally happier hopefully.
108
+ - Updated dependencies
109
+ [[`1d76d2f`](https://github.com/graphile/crystal/commit/1d76d2f0d19b4d56895ee9988440a35d2c60f9f9),
110
+ [`c54c6db`](https://github.com/graphile/crystal/commit/c54c6db320b3967ab16784a504770c9b5ef24494),
111
+ [`24d379a`](https://github.com/graphile/crystal/commit/24d379ae4b8a3c0afe3f1a309d87806a05e8d00d),
112
+ [`ad588ec`](https://github.com/graphile/crystal/commit/ad588ecde230359f56800e414b7c5fa1aed14957)]:
113
+ - ruru@2.0.0-beta.25
114
+ - grafast@0.1.1-beta.24
115
+
3
116
  ## 0.1.1-beta.26
4
117
 
5
118
  ### Patch Changes
@@ -290,7 +403,6 @@
290
403
  accepts `resolvedPreset` and `requestContext` directly; passing these through
291
404
  additional arguments is now deprecated and support will be removed in a future
292
405
  revision. This affects:
293
-
294
406
  - `grafast()`
295
407
  - `execute()`
296
408
  - `subscribe()`
@@ -336,14 +448,12 @@
336
448
  `plugin.grafserv.hooks.*` are still supported but deprecated; instead use
337
449
  middleware `plugin.grafserv.middleware.*` (note that call signatures have
338
450
  changed slightly, similar to the diff above):
339
-
340
451
  - `hooks.init` -> `middleware.setPreset`
341
452
  - `hooks.processGraphQLRequestBody` -> `middleware.processGraphQLRequestBody`
342
453
  - `hooks.ruruHTMLParts` -> `middleware.ruruHTMLParts`
343
454
 
344
455
  A few TypeScript types related to Hooks have been renamed, but their old names
345
456
  are still available, just deprecated. They will be removed in a future update:
346
-
347
457
  - `HookObject` -> `FunctionalityObject`
348
458
  - `PluginHook` -> `CallbackOrDescriptor`
349
459
  - `PluginHookObject` -> `CallbackDescriptor`
@@ -2,7 +2,7 @@ import type { PromiseOrDirect, TypedEventEmitter } from "grafast";
2
2
  import type { GraphQLSchema } from "grafast/graphql";
3
3
  import type { Middleware } from "graphile-config";
4
4
  import type { DynamicOptions, ErrorResult, ExecutionConfig, GrafservConfig, HandlerResult, RequestDigest, Result, SchemaChangeEvent } from "../interfaces.js";
5
- import { makeGraphiQLHandler } from "../middleware/graphiql.js";
5
+ import { makeGraphiQLHandler, makeGraphiQLStaticHandler } from "../middleware/graphiql.js";
6
6
  import { makeGraphQLHandler } from "../middleware/graphql.js";
7
7
  export declare class GrafservBase {
8
8
  private releaseHandlers;
@@ -22,6 +22,7 @@ export declare class GrafservBase {
22
22
  private initialized;
23
23
  graphqlHandler: ReturnType<typeof makeGraphQLHandler>;
24
24
  graphiqlHandler: ReturnType<typeof makeGraphiQLHandler>;
25
+ graphiqlStaticHandler: ReturnType<typeof makeGraphiQLStaticHandler>;
25
26
  constructor(config: GrafservConfig);
26
27
  protected processRequest(requestDigest: RequestDigest): PromiseOrDirect<Result | null>;
27
28
  getPreset(): GraphileConfig.ResolvedPreset;
@@ -34,8 +35,10 @@ export declare class GrafservBase {
34
35
  private refreshHandlers;
35
36
  private waitForGraphqlHandler;
36
37
  private waitForGraphiqlHandler;
38
+ private waitForGraphiqlStaticHandler;
37
39
  private failedGraphqlHandler;
38
40
  private failedGraphiqlHandler;
41
+ private failedGraphiqlStaticHandler;
39
42
  makeStream(): AsyncIterableIterator<SchemaChangeEvent>;
40
43
  }
41
44
  export declare function convertHandlerResultToResult(handlerResult: HandlerResult | null): PromiseOrDirect<Result | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AASlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,KAAK,EAEV,cAAc,EACd,WAAW,EAEX,eAAe,EACf,cAAc,EACd,aAAa,EAKb,aAAa,EACb,MAAM,EACN,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAUlC,qBAAa,YAAY;IACvB,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,SAAS,CAAS;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CACvB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GACpC,eAAe,CAAC,eAAe,CAAC;IAG5B,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;IAG9C,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC9E,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;QACxC,cAAc,EAAE,aAAa,CAAC;QAC9B,cAAc,EAAE,GAAG,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,sBAAsB,EAAE,GAAG,CAAC;KAC7B,CAAC,CAAC;IACH,OAAO,CAAC,WAAW,CAAS;IACrB,cAAc,EAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACvD,eAAe,EAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;gBAEpD,MAAM,EAAE,cAAc;IA4FlC,SAAS,CAAC,cAAc,CACtB,aAAa,EAAE,aAAa,GAC3B,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC;IAY1B,SAAS,IAAI,cAAc,CAAC,cAAc;IAI1C,SAAS,IAAI,eAAe,CAAC,aAAa,CAAC;IAIrC,OAAO;IAeb,SAAS,CAAC,EAAE,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC;IAShD,OAAO,CAAC,cAAc,CAAS;IACxB,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAmDlE,SAAS,CAAC,SAAS,EAAE,aAAa;IAuBzC,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,qBAAqB,CAuCzB;IAEJ,OAAO,CAAC,sBAAsB,CAwC1B;IAEJ,OAAO,CAAC,oBAAoB,CAcxB;IAEJ,OAAO,CAAC,qBAAqB,CAczB;IAGG,UAAU,IAAI,qBAAqB,CAAC,iBAAiB,CAAC;CAyD9D;AA+FD,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,CAoLhC;AAED,eAAO,MAAM,yBAAyB,GACpC,OAAO,KAAK,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KACrC,WASF,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AASlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,KAAK,EAGV,cAAc,EACd,WAAW,EAEX,eAAe,EACf,cAAc,EACd,aAAa,EAKb,aAAa,EACb,MAAM,EACN,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAiBlC,qBAAa,YAAY;IACvB,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,SAAS,CAAS;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CACvB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GACpC,eAAe,CAAC,eAAe,CAAC;IAG5B,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;IAG9C,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC9E,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;QACxC,cAAc,EAAE,aAAa,CAAC;QAC9B,cAAc,EAAE,GAAG,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,sBAAsB,EAAE,GAAG,CAAC;KAC7B,CAAC,CAAC;IACH,OAAO,CAAC,WAAW,CAAS;IACrB,cAAc,EAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACvD,eAAe,EAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACzD,qBAAqB,EAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;gBAEhE,MAAM,EAAE,cAAc;IAuGlC,SAAS,CAAC,cAAc,CACtB,aAAa,EAAE,aAAa,GAC3B,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC;IAY1B,SAAS,IAAI,cAAc,CAAC,cAAc;IAI1C,SAAS,IAAI,eAAe,CAAC,aAAa,CAAC;IAIrC,OAAO;IAeb,SAAS,CAAC,EAAE,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC;IAShD,OAAO,CAAC,cAAc,CAAS;IACxB,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAoDlE,SAAS,CAAC,SAAS,EAAE,aAAa;IAuBzC,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,qBAAqB,CAuCzB;IAEJ,OAAO,CAAC,sBAAsB,CAwC1B;IAEJ,OAAO,CAAC,4BAA4B,CA6BlC;IAEF,OAAO,CAAC,oBAAoB,CAcxB;IAEJ,OAAO,CAAC,qBAAqB,CAczB;IAEJ,OAAO,CAAC,2BAA2B,CAYjC;IAGK,UAAU,IAAI,qBAAqB,CAAC,iBAAiB,CAAC;CAyD9D;AA0GD,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,CA4KhC;AAED,eAAO,MAAM,yBAAyB,GACpC,OAAO,KAAK,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KACrC,WASF,CAAC"}
package/dist/core/base.js CHANGED
@@ -13,6 +13,8 @@ const graphiql_js_1 = require("../middleware/graphiql.js");
13
13
  const graphql_js_1 = require("../middleware/graphql.js");
14
14
  const options_js_1 = require("../options.js");
15
15
  const utils_js_1 = require("../utils.js");
16
+ const buffer404 = Buffer.from(`<!doctype html><html><head><title>Not found</title></head><body><h1>Not found</h1><p>Please try again with a different URL</p></body></html>`, "utf8");
17
+ const buffer503 = Buffer.from("Service unavailable", "utf8");
16
18
  const failedToBuildHandlersError = new graphql.GraphQLError("Unknown error occurred.");
17
19
  const { isSchema, validateSchema } = graphql;
18
20
  class GrafservBase {
@@ -87,6 +89,34 @@ class GrafservBase {
87
89
  setTimeout(onError, 5000, new Error("Server initialization timed out"));
88
90
  return Promise.resolve(deferred);
89
91
  };
92
+ this.waitForGraphiqlStaticHandler = function (...args) {
93
+ const [request] = args;
94
+ const { dynamicOptions } = this;
95
+ const deferred = (0, grafast_1.defer)();
96
+ const onReady = () => {
97
+ this.eventEmitter.off("dynamicOptions:ready", onReady);
98
+ this.eventEmitter.off("dynamicOptions:error", onError);
99
+ Promise.resolve()
100
+ .then(() => this.graphiqlStaticHandler(...args))
101
+ .then(deferred.resolve, deferred.reject);
102
+ };
103
+ const onError = (e) => {
104
+ this.eventEmitter.off("dynamicOptions:ready", onReady);
105
+ this.eventEmitter.off("dynamicOptions:error", onError);
106
+ deferred.resolve({
107
+ type: "raw",
108
+ request,
109
+ dynamicOptions,
110
+ statusCode: e.statusCode ?? 503,
111
+ headers: { "content-type": "text/plain" },
112
+ payload: Buffer.from("Service unavailable", "utf8"),
113
+ });
114
+ };
115
+ this.eventEmitter.on("dynamicOptions:ready", onReady);
116
+ this.eventEmitter.on("dynamicOptions:error", onError);
117
+ setTimeout(onError, 5000, new Error("Server initialization timed out"));
118
+ return Promise.resolve(deferred);
119
+ };
90
120
  this.failedGraphqlHandler = function (...args) {
91
121
  const [request] = args;
92
122
  const { dynamicOptions } = this;
@@ -115,6 +145,17 @@ class GrafservBase {
115
145
  contentType: graphql_js_1.APPLICATION_JSON,
116
146
  };
117
147
  };
148
+ this.failedGraphiqlStaticHandler = function (...args) {
149
+ const [request] = args;
150
+ const { dynamicOptions } = this;
151
+ return {
152
+ type: "text",
153
+ request,
154
+ dynamicOptions,
155
+ statusCode: 503,
156
+ payload: buffer503,
157
+ };
158
+ };
118
159
  this.eventEmitter = new eventemitter3_1.default();
119
160
  this.resolvedPreset = (0, graphile_config_1.resolvePreset)(config.preset ? config.preset : {});
120
161
  this.dynamicOptions = {
@@ -140,8 +181,10 @@ class GrafservBase {
140
181
  else {
141
182
  this.eventEmitter.emit("schema:ready", config.schema);
142
183
  }
184
+ // These are overwritten by setPreset() resolving
143
185
  this.graphqlHandler = this.waitForGraphqlHandler;
144
186
  this.graphiqlHandler = this.waitForGraphiqlHandler;
187
+ this.graphiqlStaticHandler = this.waitForGraphiqlStaticHandler;
145
188
  this.setPreset(this.resolvedPreset);
146
189
  }
147
190
  /** @internal */
@@ -156,7 +199,7 @@ class GrafservBase {
156
199
  try {
157
200
  if (request.path === dynamicOptions.graphqlPath) {
158
201
  if (forceCORS)
159
- return optionsResponse(request, this.dynamicOptions);
202
+ return optionsResponse(request, dynamicOptions);
160
203
  return this.graphqlHandler(request, this.graphiqlHandler);
161
204
  }
162
205
  if (dynamicOptions.graphiql &&
@@ -180,6 +223,13 @@ class GrafservBase {
180
223
  statusCode: 200,
181
224
  };
182
225
  }
226
+ if (dynamicOptions.graphiql &&
227
+ request.method === "GET" &&
228
+ request.path.startsWith(dynamicOptions.graphiqlStaticPath)) {
229
+ if (forceCORS)
230
+ return optionsResponse(request, dynamicOptions);
231
+ return this.graphiqlStaticHandler(request);
232
+ }
183
233
  // Unhandled
184
234
  return null;
185
235
  }
@@ -267,6 +317,7 @@ class GrafservBase {
267
317
  .then(null, (e) => {
268
318
  this.graphqlHandler = this.failedGraphqlHandler;
269
319
  this.graphiqlHandler = this.failedGraphiqlHandler;
320
+ this.graphiqlStaticHandler = this.failedGraphiqlStaticHandler;
270
321
  this.eventEmitter.emit("dynamicOptions:error", e);
271
322
  })
272
323
  // Finally:
@@ -299,6 +350,7 @@ class GrafservBase {
299
350
  }
300
351
  this.graphqlHandler = (0, graphql_js_1.makeGraphQLHandler)(this);
301
352
  this.graphiqlHandler = (0, graphiql_js_1.makeGraphiQLHandler)(this.resolvedPreset, this.middleware, this.dynamicOptions);
353
+ this.graphiqlStaticHandler = (0, graphiql_js_1.makeGraphiQLStaticHandler)(this.resolvedPreset, this.middleware, this.dynamicOptions);
302
354
  }
303
355
  // TODO: Rename this, or make it a middleware, or something
304
356
  makeStream() {
@@ -437,6 +489,16 @@ function defaultMakeGetExecutionConfig() {
437
489
  }
438
490
  const END = Buffer.from("\r\n-----\r\n", "utf8");
439
491
  const DIVIDE = Buffer.from(`\r\n---\r\nContent-Type: application/json\r\n\r\n`, "utf8");
492
+ function eventStreamHeaders(dynamicOptions) {
493
+ if (!dynamicOptions.watch)
494
+ return null;
495
+ return { ["x-graphql-event-stream"]: dynamicOptions.eventStreamPath };
496
+ }
497
+ const CONTENT_TYPE_HEADERS = {
498
+ raw: null,
499
+ html: { "content-type": "text/html; charset=utf-8" },
500
+ text: { "content-type": "text/plain; charset=utf-8" },
501
+ };
440
502
  function convertHandlerResultToResult(handlerResult) {
441
503
  if (handlerResult === null) {
442
504
  return null;
@@ -445,38 +507,30 @@ function convertHandlerResultToResult(handlerResult) {
445
507
  case "graphql": {
446
508
  const { payload, statusCode = 200, contentType, outputDataAsString, dynamicOptions, request: { preferJSON }, } = handlerResult;
447
509
  (0, utils_js_1.handleErrors)(payload);
448
- const headers = Object.create(null);
449
- headers["Content-Type"] = contentType;
450
- if (dynamicOptions.watch) {
451
- headers["X-GraphQL-Event-Stream"] = dynamicOptions.eventStreamPath;
452
- }
510
+ const headers = {
511
+ __proto__: null,
512
+ ...eventStreamHeaders(dynamicOptions),
513
+ "content-type": contentType,
514
+ ...handlerResult.headers,
515
+ };
453
516
  if (preferJSON && !outputDataAsString) {
454
- return {
455
- type: "json",
456
- statusCode,
457
- headers,
458
- json: payload,
459
- };
517
+ return { type: "json", statusCode, headers, json: payload };
460
518
  }
461
519
  else {
462
520
  const buffer = Buffer.from((0, grafast_1.stringifyPayload)(payload, outputDataAsString), "utf8");
463
- headers["Content-Length"] = buffer.length;
464
- return {
465
- type: "buffer",
466
- statusCode,
467
- headers,
468
- buffer,
469
- };
521
+ headers["content-length"] = String(buffer.length);
522
+ return { type: "buffer", statusCode, headers, buffer };
470
523
  }
471
524
  }
472
525
  case "graphqlIncremental": {
473
526
  const { iterator, statusCode = 200, outputDataAsString, dynamicOptions, } = handlerResult;
474
- const headers = Object.create(null);
475
- headers["Content-Type"] = 'multipart/mixed; boundary="-"';
476
- headers["Transfer-Encoding"] = "chunked";
477
- if (dynamicOptions.watch) {
478
- headers["X-GraphQL-Event-Stream"] = dynamicOptions.eventStreamPath;
479
- }
527
+ const headers = {
528
+ __proto__: null,
529
+ ...eventStreamHeaders(dynamicOptions),
530
+ "content-type": 'multipart/mixed; boundary="-"',
531
+ "transfer-encoding": "chunked",
532
+ ...handlerResult.headers,
533
+ };
480
534
  const bufferIterator = (0, mapIterator_js_1.mapIterator)(iterator, (payload) => {
481
535
  (0, utils_js_1.handleErrors)(payload);
482
536
  const payloadBuffer = Buffer.from((0, grafast_1.stringifyPayload)(payload, outputDataAsString), "utf8");
@@ -493,47 +547,47 @@ function convertHandlerResultToResult(handlerResult) {
493
547
  };
494
548
  }
495
549
  case "text":
496
- case "html": {
497
- const { payload, statusCode = 200 } = handlerResult;
498
- const headers = Object.create(null);
499
- if (handlerResult.type === "html") {
500
- headers["Content-Type"] = "text/html; charset=utf-8";
501
- }
502
- else {
503
- headers["Content-Type"] = "text/plain; charset=utf-8";
504
- }
505
- headers["Content-Length"] = payload.length;
506
- return {
507
- type: "buffer",
508
- statusCode,
509
- headers,
510
- buffer: payload,
550
+ case "html":
551
+ case "raw": {
552
+ const { payload: buffer, statusCode = 200 } = handlerResult;
553
+ const headers = {
554
+ __proto__: null,
555
+ ...CONTENT_TYPE_HEADERS[handlerResult.type],
556
+ "content-length": String(buffer.length),
557
+ ...handlerResult.headers,
511
558
  };
559
+ return { type: "buffer", statusCode, headers, buffer };
512
560
  }
513
561
  case "noContent": {
514
562
  const { statusCode = 204 } = handlerResult;
515
- const headers = Object.create(null);
516
- return {
517
- type: "noContent",
518
- statusCode,
519
- headers,
563
+ const headers = {
564
+ __proto__: null,
565
+ ...handlerResult.headers,
566
+ };
567
+ return { type: "noContent", statusCode, headers };
568
+ }
569
+ case "notFound": {
570
+ const { statusCode = 404, payload: buffer = buffer404 } = handlerResult;
571
+ const headers = {
572
+ __proto__: null,
573
+ ...CONTENT_TYPE_HEADERS.html,
574
+ ...handlerResult.headers,
520
575
  };
576
+ return { type: "buffer", statusCode, headers, buffer };
521
577
  }
522
578
  case "event-stream": {
523
579
  const { payload: stream, statusCode = 200, request: { httpVersionMajor }, } = handlerResult;
524
580
  // Making sure these options are set.
525
581
  // Set headers for Server-Sent Events.
526
- const headers = Object.create(null);
527
- // Don't buffer EventStream in nginx
528
- headers["X-Accel-Buffering"] = "no";
529
- headers["Content-Type"] = "text/event-stream";
530
- headers["Cache-Control"] = "no-cache, no-transform";
531
- if (httpVersionMajor >= 2) {
532
- // NOOP
533
- }
534
- else {
535
- headers["Connection"] = "keep-alive";
536
- }
582
+ const headers = {
583
+ __proto__: null,
584
+ // Don't buffer EventStream in nginx
585
+ "x-accel-buffering": "no",
586
+ "content-type": "text/event-stream",
587
+ "cache-control": "no-cache, no-transform",
588
+ ...(httpVersionMajor >= 2 ? null : { connection: "keep-alive" }),
589
+ ...handlerResult.headers,
590
+ };
537
591
  // Creates a stream for the response
538
592
  const event2buffer = (event) => {
539
593
  let payload = "";
@@ -564,16 +618,14 @@ function convertHandlerResultToResult(handlerResult) {
564
618
  default: {
565
619
  const never = handlerResult;
566
620
  console.error(`Did not understand '${never}' passed to convertHandlerResultToResult`);
567
- const payload = Buffer.from("Unexpected input to convertHandlerResultToResult", "utf8");
568
- const headers = Object.create(null);
569
- headers["Content-Type"] = "text/plain; charset=utf-8";
570
- headers["Content-Length"] = payload.length;
571
- return {
572
- type: "buffer",
573
- statusCode: 500,
574
- headers,
575
- buffer: payload,
621
+ const statusCode = 500;
622
+ const buffer = Buffer.from("Unexpected input to convertHandlerResultToResult", "utf8");
623
+ const headers = {
624
+ __proto__: null,
625
+ "content-type": "text/plain; charset=utf-8",
626
+ "content-length": String(buffer.length),
576
627
  };
628
+ return { type: "buffer", statusCode, headers, buffer };
577
629
  }
578
630
  }
579
631
  }
@@ -592,15 +644,19 @@ function dangerousCorsWrap(result) {
592
644
  if (result === null) {
593
645
  return result;
594
646
  }
595
- result.headers["Access-Control-Allow-Origin"] = "*";
596
- result.headers["Access-Control-Allow-Headers"] = "*";
647
+ if (!result.headers["access-control-allow-origin"]) {
648
+ result.headers["access-control-allow-origin"] = "*";
649
+ }
650
+ if (!result.headers["access-control-allow-headers"]) {
651
+ result.headers["access-control-allow-headers"] = "*";
652
+ }
597
653
  return result;
598
654
  }
599
655
  function optionsResponse(request, dynamicOptions) {
600
656
  return {
601
657
  type: "noContent",
602
658
  request,
603
- dynamicOptions: dynamicOptions,
659
+ dynamicOptions,
604
660
  statusCode: 204,
605
661
  };
606
662
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"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"}
package/dist/hooks.js CHANGED
@@ -39,7 +39,7 @@ function getGrafservMiddleware(resolvedPreset) {
39
39
  break;
40
40
  }
41
41
  case "ruruHTMLParts": {
42
- middleware.register("ruruHTMLParts", (next, event) => {
42
+ middleware.register("ruruHTML", (next, event) => {
43
43
  const { resolvedPreset, request, htmlParts } = event;
44
44
  const result = fn({ resolvedPreset }, htmlParts, {
45
45
  request,
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { PromiseOrDirect } from "grafast";
2
2
  import type { ExecutionArgs, GraphQLError } from "grafast/graphql";
3
3
  import type { CallbackOrDescriptor, MiddlewareHandlers } from "graphile-config";
4
4
  import type { RuruHTMLParts } from "ruru/server";
5
- import type { GrafservPluginContext, InitEvent, MaskErrorFn, NormalizedRequestDigest, OnSubscribeEvent, ProcessGraphQLRequestBodyEvent, ProcessRequestEvent, RequestContentType, Result, RuruHTMLPartsEvent } from "./interfaces.js";
5
+ import type { GrafservPluginContext, InitEvent, MaskErrorFn, NormalizedRequestDigest, OnSubscribeEvent, ProcessGraphQLRequestBodyEvent, ProcessRequestEvent, RequestContentType, Result, RuruHTMLEvent } from "./interfaces.js";
6
6
  export { convertErrorToErrorResult, convertHandlerResultToResult, GrafservBase, } from "./core/base.js";
7
7
  export type { BufferResult, BufferStreamResult, ErrorResult, EventStreamHeandlerResult, ExecutionConfig, GrafservBody, GrafservBodyBuffer, GrafservBodyJSON, GrafservBodyText, GrafservConfig, GraphQLHandlerResult, GraphQLIncrementalHandlerResult, HandlerResult, HTMLHandlerResult, JSONObject, JSONResult, JSONValue, NoContentHandlerResult, NoContentResult, NormalizedRequestDigest, ParsedGraphQLBody, ProcessGraphQLRequestBodyEvent, RequestDigest, Result, TextHandlerResult, ValidatedGraphQLBody, } from "./interfaces.js";
8
8
  export { DEFAULT_ALLOWED_REQUEST_CONTENT_TYPES } from "./middleware/graphql.js";
@@ -46,6 +46,8 @@ declare global {
46
46
  graphiqlOnGraphQLGET?: boolean;
47
47
  /** The path at which GraphiQL will be available; usually / */
48
48
  graphiqlPath?: string;
49
+ /** The path from which GraphiQL's static assets are served, must end in a slash. Usually /ruru-static/ */
50
+ graphiqlStaticPath?: string;
49
51
  /** Set true to enable watch mode */
50
52
  watch?: boolean;
51
53
  /** The length, in bytes, for the largest request body that grafserv will accept */
@@ -104,7 +106,7 @@ declare global {
104
106
  init(event: InitEvent): PromiseOrDirect<void>;
105
107
  /** @deprecated Please use middleware instead */
106
108
  processGraphQLRequestBody(event: ProcessGraphQLRequestBodyEvent): PromiseOrDirect<void>;
107
- /** @deprecated Please use middleware instead */
109
+ /** @deprecated Please use ruruHTML middleware instead */
108
110
  ruruHTMLParts(parts: RuruHTMLParts, extra: {
109
111
  request: NormalizedRequestDigest;
110
112
  }): PromiseOrDirect<void>;
@@ -113,7 +115,10 @@ declare global {
113
115
  setPreset(event: InitEvent): PromiseOrDirect<void>;
114
116
  processRequest(event: ProcessRequestEvent): PromiseOrDirect<Result | null>;
115
117
  processGraphQLRequestBody(event: ProcessGraphQLRequestBodyEvent): PromiseOrDirect<void>;
116
- ruruHTMLParts(event: RuruHTMLPartsEvent): PromiseOrDirect<void>;
118
+ /**
119
+ * Wraps the generation of the HTML to render from Ruru
120
+ */
121
+ ruruHTML(event: RuruHTMLEvent): PromiseOrDirect<string>;
117
122
  onSubscribe(event: OnSubscribeEvent): TruePromiseOrDirect<void | readonly GraphQLError[] | ExecutionArgs>;
118
123
  }
119
124
  }