grafserv 0.1.1-beta.8 → 0.1.1-beta.9

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,44 @@
1
1
  # grafserv
2
2
 
3
+ ## 0.1.1-beta.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2046](https://github.com/graphile/crystal/pull/2046)
8
+ [`a5a0816bd`](https://github.com/graphile/crystal/commit/a5a0816bddc85a841770202db57457ff13137852)
9
+ Thanks [@benjie](https://github.com/benjie)! - Massive refactor of Grafserv
10
+ internals.
11
+
12
+ - Updated dependencies
13
+ [[`357d475f5`](https://github.com/graphile/crystal/commit/357d475f54fecc8c51892e0346d6872b34132430),
14
+ [`3551725e7`](https://github.com/graphile/crystal/commit/3551725e71c3ed876554e19e5ab2c1dcb0fb1143),
15
+ [`80836471e`](https://github.com/graphile/crystal/commit/80836471e5cedb29dee63bc5002550c4f1713cfd),
16
+ [`a5c20fefb`](https://github.com/graphile/crystal/commit/a5c20fefb571dea6d1187515dc48dd547e9e6204),
17
+ [`1ce08980e`](https://github.com/graphile/crystal/commit/1ce08980e2a52ed9bc81564d248c19648ecd3616),
18
+ [`dff4f2535`](https://github.com/graphile/crystal/commit/dff4f2535ac6ce893089b312fcd5fffcd98573a5),
19
+ [`a287a57c2`](https://github.com/graphile/crystal/commit/a287a57c2765da0fb6a132ea0953f64453210ceb),
20
+ [`2fe56f9a6`](https://github.com/graphile/crystal/commit/2fe56f9a6dac03484ace45c29c2223a65f9ca1db),
21
+ [`fed603d71`](https://github.com/graphile/crystal/commit/fed603d719c02f33e12190f925c9e3b06c581fac),
22
+ [`ed6e0d278`](https://github.com/graphile/crystal/commit/ed6e0d2788217a1c419634837f4208013eaf2923),
23
+ [`e82e4911e`](https://github.com/graphile/crystal/commit/e82e4911e32138df1b90ec0fde555ea963018d21),
24
+ [`42ece5aa6`](https://github.com/graphile/crystal/commit/42ece5aa6ca05345ebc17fb5c7d55df3b79b7612),
25
+ [`e0d69e518`](https://github.com/graphile/crystal/commit/e0d69e518a98c70f9b90f59d243ce33978c1b5a1),
26
+ [`db8ceed0f`](https://github.com/graphile/crystal/commit/db8ceed0f17923eb78ff09c9f3f28800a5c7e3b6),
27
+ [`6699388ec`](https://github.com/graphile/crystal/commit/6699388ec167d35c71220ce5d9113cac578da6cb),
28
+ [`966203504`](https://github.com/graphile/crystal/commit/96620350467ab8c65b56adf2f055e19450f8e772),
29
+ [`c1645b249`](https://github.com/graphile/crystal/commit/c1645b249aae949a548cd916e536ccfb63e5ab35),
30
+ [`ed8bbaa3c`](https://github.com/graphile/crystal/commit/ed8bbaa3cd1563a7601ca8c6b0412633b0ea4ce9),
31
+ [`a0e82b9c5`](https://github.com/graphile/crystal/commit/a0e82b9c5f4e585f1af1e147299cd07944ece6f8),
32
+ [`14e2412ee`](https://github.com/graphile/crystal/commit/14e2412ee368e8d53abf6774c7f0069f32d4e8a3),
33
+ [`57ab0e1e7`](https://github.com/graphile/crystal/commit/57ab0e1e72c01213b21d3efc539cd655d83d993a),
34
+ [`8442242e4`](https://github.com/graphile/crystal/commit/8442242e43cac7d89ca0c413cf42c9fabf6f247f),
35
+ [`64ce7b765`](https://github.com/graphile/crystal/commit/64ce7b7650530251aec38a51089da66f914c19b4),
36
+ [`cba842357`](https://github.com/graphile/crystal/commit/cba84235786acbd77ade53bae7a3fba4a9be1eb7),
37
+ [`2fa77d0f2`](https://github.com/graphile/crystal/commit/2fa77d0f237cdb98d3dafb6b5e4083a2c6c38673)]:
38
+ - grafast@0.1.1-beta.7
39
+ - graphile-config@0.0.1-beta.8
40
+ - ruru@2.0.0-beta.12
41
+
3
42
  ## 0.1.1-beta.8
4
43
 
5
44
  ### Patch Changes
package/README.md CHANGED
@@ -30,6 +30,7 @@ And please give some love to our featured sponsors 🤩:
30
30
  <td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
31
31
  </tr><tr>
32
32
  <td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
33
+ <td align="center"><a href="https://www.sylvera.com/"><img src="https://graphile.org/images/sponsors/sylvera.svg" width="90" height="90" alt="Sylvera" /><br />Sylvera</a> *</td>
33
34
  </tr></table>
34
35
 
35
36
  <em>\* Sponsors the entire Graphile suite</em>
@@ -1,17 +1,21 @@
1
1
  import type { PromiseOrDirect, TypedEventEmitter } from "grafast";
2
2
  import type { GraphQLSchema } from "grafast/graphql";
3
- import type { ErrorResult, GrafservConfig, HandlerResult, RequestDigest, Result, SchemaChangeEvent } from "../interfaces.js";
3
+ import type { DynamicOptions, ErrorResult, ExecutionConfig, GrafservConfig, HandlerResult, RequestDigest, Result, SchemaChangeEvent } from "../interfaces.js";
4
4
  import { makeGraphiQLHandler } from "../middleware/graphiql.js";
5
5
  import { makeGraphQLHandler } from "../middleware/graphql.js";
6
6
  export declare class GrafservBase {
7
7
  private releaseHandlers;
8
8
  private releasing;
9
+ dynamicOptions: DynamicOptions;
10
+ getExecutionConfig(_ctx: Partial<Grafast.RequestContext>): PromiseOrDirect<ExecutionConfig>;
9
11
  resolvedPreset: GraphileConfig.ResolvedPreset;
10
12
  protected schema: GraphQLSchema | PromiseLike<GraphQLSchema> | null;
11
13
  protected schemaError: PromiseLike<GraphQLSchema> | null;
12
14
  protected eventEmitter: TypedEventEmitter<{
13
15
  "schema:ready": GraphQLSchema;
14
16
  "schema:error": any;
17
+ "dynamicOptions:ready": Record<string, never>;
18
+ "dynamicOptions:error": any;
15
19
  }>;
16
20
  private initialized;
17
21
  graphqlHandler: ReturnType<typeof makeGraphQLHandler>;
@@ -23,9 +27,14 @@ export declare class GrafservBase {
23
27
  getSchema(): PromiseOrDirect<GraphQLSchema>;
24
28
  release(): Promise<void>;
25
29
  onRelease(cb: () => PromiseOrDirect<void>): void;
26
- setPreset(newPreset: GraphileConfig.Preset): void;
30
+ private _settingPreset;
31
+ setPreset(newPreset: GraphileConfig.Preset): PromiseOrDirect<void>;
27
32
  setSchema(newSchema: GraphQLSchema): void;
28
33
  private refreshHandlers;
34
+ private waitForGraphqlHandler;
35
+ private waitForGraphiqlHandler;
36
+ private failedGraphqlHandler;
37
+ private failedGraphiqlHandler;
29
38
  makeStream(): AsyncIterableIterator<SchemaChangeEvent>;
30
39
  }
31
40
  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;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAEV,WAAW,EAEX,cAAc,EACd,aAAa,EAIb,aAAa,EACb,MAAM,EACN,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAO9D,qBAAa,YAAY;IACvB,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,SAAS,CAAS;IAGnB,cAAc,EAAG,cAAc,CAAC,cAAc,CAAC;IACtD,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;KACrB,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;IAwBlC,OAAO,CAAC,eAAe;IAqDvB,SAAS,CAAC,cAAc,CACtB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC;IA0B1B,SAAS,IAAI,cAAc,CAAC,cAAc;IAI1C,SAAS,IAAI,eAAe,CAAC,aAAa,CAAC;IAIrC,OAAO;IAeb,SAAS,CAAC,EAAE,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC;IASzC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM;IAS1C,SAAS,CAAC,SAAS,EAAE,aAAa;IAuBzC,OAAO,CAAC,eAAe;IAiBhB,UAAU,IAAI,qBAAqB,CAAC,iBAAiB,CAAC;CAyD9D;AAQD,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,CAoLhC;AAED,eAAO,MAAM,yBAAyB,UAC7B,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;AAQlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,OAAO,KAAK,EAEV,cAAc,EACd,WAAW,EAEX,eAAe,EACf,cAAc,EACd,aAAa,EAIb,aAAa,EACb,MAAM,EACN,iBAAiB,EAClB,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;IAGrD,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;IAgClC,OAAO,CAAC,eAAe;IA0DvB,SAAS,CAAC,cAAc,CACtB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC;IA0B1B,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;IA2ClE,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,UAC7B,KAAK,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KACrC,WASF,CAAC"}
package/dist/core/base.js CHANGED
@@ -6,19 +6,123 @@ const eventemitter3_1 = tslib_1.__importDefault(require("eventemitter3"));
6
6
  const grafast_1 = require("grafast");
7
7
  const graphql = tslib_1.__importStar(require("grafast/graphql"));
8
8
  const graphile_config_1 = require("graphile-config");
9
+ const hooks_js_1 = require("../hooks.js");
9
10
  const mapIterator_js_1 = require("../mapIterator.js");
10
11
  const graphiql_js_1 = require("../middleware/graphiql.js");
11
12
  const graphql_js_1 = require("../middleware/graphql.js");
12
13
  const options_js_1 = require("../options.js");
13
14
  const utils_js_1 = require("../utils.js");
15
+ const failedToBuildHandlersError = new graphql.GraphQLError("Unknown error occurred.");
14
16
  const { isSchema, validateSchema } = graphql;
15
17
  class GrafservBase {
18
+ getExecutionConfig(_ctx) {
19
+ throw new Error("Overwritten in constructor");
20
+ }
16
21
  constructor(config) {
17
22
  this.releaseHandlers = [];
18
23
  this.releasing = false;
19
24
  this.initialized = false;
25
+ this._settingPreset = false;
26
+ this.waitForGraphqlHandler = function (...args) {
27
+ const [request] = args;
28
+ const deferred = (0, grafast_1.defer)();
29
+ const { dynamicOptions } = this;
30
+ const onReady = () => {
31
+ this.eventEmitter.off("dynamicOptions:ready", onReady);
32
+ this.eventEmitter.off("dynamicOptions:error", onError);
33
+ Promise.resolve()
34
+ .then(() => this.graphqlHandler(...args))
35
+ .then(deferred.resolve, deferred.reject);
36
+ };
37
+ const onError = (e) => {
38
+ this.eventEmitter.off("dynamicOptions:ready", onReady);
39
+ this.eventEmitter.off("dynamicOptions:error", onError);
40
+ const graphqlError = new graphql.GraphQLError("Unknown error occurred", null, null, null, null, e);
41
+ deferred.resolve({
42
+ type: "graphql",
43
+ request,
44
+ dynamicOptions,
45
+ payload: { errors: [graphqlError] },
46
+ statusCode: graphqlError.extensions?.statusCode ?? 503,
47
+ // Fall back to application/json; this is when an unexpected error happens
48
+ // so it shouldn't be hit.
49
+ contentType: graphql_js_1.APPLICATION_JSON,
50
+ });
51
+ };
52
+ this.eventEmitter.on("dynamicOptions:ready", onReady);
53
+ this.eventEmitter.on("dynamicOptions:error", onError);
54
+ setTimeout(onError, 5000, new Error("Server initialization timed out"));
55
+ return Promise.resolve(deferred);
56
+ };
57
+ this.waitForGraphiqlHandler = function (...args) {
58
+ const [request] = args;
59
+ const { dynamicOptions } = this;
60
+ const deferred = (0, grafast_1.defer)();
61
+ const onReady = () => {
62
+ this.eventEmitter.off("dynamicOptions:ready", onReady);
63
+ this.eventEmitter.off("dynamicOptions:error", onError);
64
+ Promise.resolve()
65
+ .then(() => this.graphiqlHandler(...args))
66
+ .then(deferred.resolve, deferred.reject);
67
+ };
68
+ const onError = (e) => {
69
+ this.eventEmitter.off("dynamicOptions:ready", onReady);
70
+ this.eventEmitter.off("dynamicOptions:error", onError);
71
+ const graphqlError = new graphql.GraphQLError("Unknown error occurred", null, null, null, null, e);
72
+ // TODO: this should be an HTML response
73
+ deferred.resolve({
74
+ type: "graphql",
75
+ request,
76
+ dynamicOptions,
77
+ payload: { errors: [graphqlError] },
78
+ statusCode: graphqlError.extensions?.statusCode ?? 503,
79
+ // Fall back to application/json; this is when an unexpected error happens
80
+ // so it shouldn't be hit.
81
+ contentType: graphql_js_1.APPLICATION_JSON,
82
+ });
83
+ };
84
+ this.eventEmitter.on("dynamicOptions:ready", onReady);
85
+ this.eventEmitter.on("dynamicOptions:error", onError);
86
+ setTimeout(onError, 5000, new Error("Server initialization timed out"));
87
+ return Promise.resolve(deferred);
88
+ };
89
+ this.failedGraphqlHandler = function (...args) {
90
+ const [request] = args;
91
+ const { dynamicOptions } = this;
92
+ return {
93
+ type: "graphql",
94
+ request,
95
+ dynamicOptions,
96
+ payload: { errors: [failedToBuildHandlersError] },
97
+ statusCode: 503,
98
+ // Fall back to application/json; this is when an unexpected error happens
99
+ // so it shouldn't be hit.
100
+ contentType: graphql_js_1.APPLICATION_JSON,
101
+ };
102
+ };
103
+ this.failedGraphiqlHandler = function (...args) {
104
+ const [request] = args;
105
+ const { dynamicOptions } = this;
106
+ return {
107
+ type: "graphql",
108
+ request,
109
+ dynamicOptions,
110
+ payload: { errors: [failedToBuildHandlersError] },
111
+ statusCode: 503,
112
+ // Fall back to application/json; this is when an unexpected error happens
113
+ // so it shouldn't be hit.
114
+ contentType: graphql_js_1.APPLICATION_JSON,
115
+ };
116
+ };
20
117
  this.eventEmitter = new eventemitter3_1.default();
21
- this.setPreset(config.preset ?? Object.create(null));
118
+ this.resolvedPreset = config.preset ? (0, graphile_config_1.resolvePresets)([config.preset]) : {};
119
+ this.dynamicOptions = {
120
+ validationRules: [...graphql.specifiedRules],
121
+ getExecutionConfig: defaultMakeGetExecutionConfig(),
122
+ ...(0, options_js_1.optionsFromConfig)(this.resolvedPreset),
123
+ };
124
+ this.getExecutionConfig = this.dynamicOptions.getExecutionConfig;
125
+ this.hooks = (0, hooks_js_1.getGrafservHooks)(this.resolvedPreset);
22
126
  this.schemaError = null;
23
127
  this.schema = config.schema;
24
128
  if ((0, grafast_1.isPromiseLike)(config.schema)) {
@@ -34,11 +138,15 @@ class GrafservBase {
34
138
  else {
35
139
  this.eventEmitter.emit("schema:ready", config.schema);
36
140
  }
37
- this.initialized = true;
38
- this.refreshHandlers();
141
+ this.graphqlHandler = this.waitForGraphqlHandler;
142
+ this.graphiqlHandler = this.waitForGraphiqlHandler;
143
+ this.setPreset(this.resolvedPreset);
39
144
  }
40
145
  _processRequest(inRequest) {
41
146
  const request = (0, utils_js_1.normalizeRequest)(inRequest);
147
+ if (!this.dynamicOptions) {
148
+ throw new Error(`GrafservInternalError<1377f225-31b7-4a81-a56e-a28e18a19899>: Attempted to process request prematurely`);
149
+ }
42
150
  const dynamicOptions = this.dynamicOptions;
43
151
  const forceCORS = !!this.resolvedPreset.grafserv?.dangerouslyAllowAllCORSRequests &&
44
152
  request.method === "OPTIONS";
@@ -52,14 +160,14 @@ class GrafservBase {
52
160
  request.method === "GET" &&
53
161
  request.path === dynamicOptions.graphiqlPath) {
54
162
  if (forceCORS)
55
- return optionsResponse(request, this.dynamicOptions);
163
+ return optionsResponse(request, dynamicOptions);
56
164
  return this.graphiqlHandler(request);
57
165
  }
58
166
  if (dynamicOptions.watch &&
59
167
  request.method === "GET" &&
60
168
  request.path === dynamicOptions.eventStreamPath) {
61
169
  if (forceCORS)
62
- return optionsResponse(request, this.dynamicOptions);
170
+ return optionsResponse(request, dynamicOptions);
63
171
  const stream = this.makeStream();
64
172
  return {
65
173
  type: "event-stream",
@@ -137,12 +245,42 @@ class GrafservBase {
137
245
  this.releaseHandlers.push(cb);
138
246
  }
139
247
  setPreset(newPreset) {
140
- this.resolvedPreset = (0, graphile_config_1.resolvePresets)([newPreset]);
141
- const newOptions = (0, options_js_1.optionsFromConfig)(this.resolvedPreset);
142
- if (this.dynamicOptions !== newOptions) {
143
- this.dynamicOptions = newOptions;
144
- this.refreshHandlers();
248
+ if (this._settingPreset) {
249
+ throw new Error(`Setting a preset is currently in progress; please wait for it to complete.`);
145
250
  }
251
+ this._settingPreset = true;
252
+ const resolvedPreset = (0, graphile_config_1.resolvePresets)([newPreset]);
253
+ const hooks = (0, hooks_js_1.getGrafservHooks)(this.resolvedPreset);
254
+ // Note: this gets directly mutated
255
+ const dynamicOptions = {
256
+ validationRules: [...graphql.specifiedRules],
257
+ getExecutionConfig: defaultMakeGetExecutionConfig(),
258
+ ...(0, options_js_1.optionsFromConfig)(resolvedPreset),
259
+ };
260
+ const initResult = hooks.process("init", dynamicOptions);
261
+ return (Promise.resolve(initResult)
262
+ .then(() => {
263
+ // Overwrite all the `this.*` properties at once
264
+ this.resolvedPreset = resolvedPreset;
265
+ this.hooks = hooks;
266
+ this.dynamicOptions = dynamicOptions;
267
+ this.initialized = true;
268
+ // ENHANCE: this.graphqlHandler?.release()?
269
+ this.refreshHandlers();
270
+ this.getExecutionConfig = dynamicOptions.getExecutionConfig;
271
+ // MUST come after the handlers have been refreshed, otherwise we'll
272
+ // get infinite loops
273
+ this.eventEmitter.emit("dynamicOptions:ready", {});
274
+ })
275
+ .then(null, (e) => {
276
+ this.graphqlHandler = this.failedGraphqlHandler;
277
+ this.graphiqlHandler = this.failedGraphiqlHandler;
278
+ this.eventEmitter.emit("dynamicOptions:error", e);
279
+ })
280
+ // Finally:
281
+ .then(() => {
282
+ this._settingPreset = false;
283
+ }));
146
284
  }
147
285
  setSchema(newSchema) {
148
286
  if (!newSchema) {
@@ -164,11 +302,11 @@ class GrafservBase {
164
302
  }
165
303
  refreshHandlers() {
166
304
  if (!this.initialized) {
305
+ // This will be handled once `setPreset` completes
167
306
  return;
168
307
  }
169
- // ENHANCE: this.graphqlHandler?.release()?
170
- this.graphqlHandler = (0, graphql_js_1.makeGraphQLHandler)(this.resolvedPreset, this.dynamicOptions, this.schema);
171
- this.graphiqlHandler = (0, graphiql_js_1.makeGraphiQLHandler)(this.resolvedPreset, this.dynamicOptions);
308
+ this.graphqlHandler = (0, graphql_js_1.makeGraphQLHandler)(this);
309
+ this.graphiqlHandler = (0, graphiql_js_1.makeGraphiQLHandler)(this.resolvedPreset, this.hooks, this.dynamicOptions);
172
310
  }
173
311
  // TODO: Rename this, or make it a middleware, or something
174
312
  makeStream() {
@@ -228,6 +366,83 @@ class GrafservBase {
228
366
  }
229
367
  }
230
368
  exports.GrafservBase = GrafservBase;
369
+ function defaultMakeGetExecutionConfig() {
370
+ let latestSchema;
371
+ let latestSchemaOrPromise;
372
+ let latestParseAndValidate;
373
+ let schemaPrepare = null;
374
+ return function getExecutionConfig() {
375
+ // Get up to date schema, in case we're in watch mode
376
+ const schemaOrPromise = this.getSchema();
377
+ const { resolvedPreset, dynamicOptions } = this;
378
+ if (schemaOrPromise !== latestSchemaOrPromise) {
379
+ latestSchemaOrPromise = schemaOrPromise;
380
+ if ("then" in schemaOrPromise) {
381
+ schemaPrepare = (async () => {
382
+ latestSchema = await schemaOrPromise;
383
+ latestSchemaOrPromise = schemaOrPromise;
384
+ latestParseAndValidate = (0, graphql_js_1.makeParseAndValidateFunction)(latestSchema, resolvedPreset, dynamicOptions);
385
+ schemaPrepare = null;
386
+ return true;
387
+ })();
388
+ }
389
+ else {
390
+ if (latestSchema === schemaOrPromise) {
391
+ // No action necessary
392
+ }
393
+ else {
394
+ latestSchema = schemaOrPromise;
395
+ latestParseAndValidate = (0, graphql_js_1.makeParseAndValidateFunction)(latestSchema, resolvedPreset, dynamicOptions);
396
+ }
397
+ }
398
+ }
399
+ if (schemaPrepare !== null) {
400
+ const sleeper = (0, utils_js_1.sleep)(dynamicOptions.schemaWaitTime);
401
+ const schemaReadyPromise = Promise.race([schemaPrepare, sleeper.promise]);
402
+ return schemaReadyPromise.then((schemaReady) => {
403
+ sleeper.release();
404
+ if (schemaReady !== true) {
405
+ // Handle missing schema
406
+ throw new Error(`Schema isn't ready`);
407
+ }
408
+ return {
409
+ schema: latestSchema,
410
+ parseAndValidate: latestParseAndValidate,
411
+ resolvedPreset,
412
+ execute: grafast_1.execute,
413
+ subscribe: grafast_1.subscribe,
414
+ contextValue: Object.create(null),
415
+ };
416
+ });
417
+ }
418
+ /*
419
+ if (schemaOrPromise == null) {
420
+ const err = Promise.reject(
421
+ new GraphQLError(
422
+ "The schema is currently unavailable",
423
+ null,
424
+ null,
425
+ null,
426
+ null,
427
+ null,
428
+ {
429
+ statusCode: 503,
430
+ },
431
+ ),
432
+ );
433
+ return () => err;
434
+ }
435
+ */
436
+ return {
437
+ schema: latestSchema,
438
+ parseAndValidate: latestParseAndValidate,
439
+ resolvedPreset,
440
+ execute: grafast_1.execute,
441
+ subscribe: grafast_1.subscribe,
442
+ contextValue: Object.create(null),
443
+ };
444
+ };
445
+ }
231
446
  const END = Buffer.from("\r\n-----\r\n", "utf8");
232
447
  const DIVIDE = Buffer.from(`\r\n---\r\nContent-Type: application/json\r\n\r\n`, "utf8");
233
448
  function convertHandlerResultToResult(handlerResult) {
@@ -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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"}
@@ -0,0 +1,12 @@
1
+ import { type GetEnvelopedFn } from "@envelop/core";
2
+ import type { GraphileConfig } from "graphile-config";
3
+ declare global {
4
+ namespace GraphileConfig {
5
+ interface GrafservOptions {
6
+ getEnveloped?: GetEnvelopedFn<any>;
7
+ }
8
+ }
9
+ }
10
+ export declare const GrafservEnvelopPlugin: GraphileConfig.Plugin;
11
+ export declare const GrafservEnvelopPreset: GraphileConfig.Preset;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/envelop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKtD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,eAAe;YACvB,YAAY,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;SACpC;KACF;CACF;AAED,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,MA6DlD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,MAQlD,CAAC"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrafservEnvelopPreset = exports.GrafservEnvelopPlugin = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@envelop/core");
6
+ const graphql = tslib_1.__importStar(require("graphql"));
7
+ const version_js_1 = require("../version.js");
8
+ exports.GrafservEnvelopPlugin = {
9
+ name: "GrafservEnvelopPlugin",
10
+ version: version_js_1.version,
11
+ grafserv: {
12
+ hooks: {
13
+ init(info, event) {
14
+ const userGetEnveloped = info.resolvedPreset.grafserv?.getEnveloped;
15
+ if (!userGetEnveloped) {
16
+ throw new Error(`GrafservEnvelopPlugin is enabled, but there is no 'preset.grafserv.getEnveloped' method to call`);
17
+ }
18
+ const originalGetExecutionConfig = event.getExecutionConfig;
19
+ event.getExecutionConfig = async function getExecutionConfig(ctx) {
20
+ const config = await originalGetExecutionConfig.call(this, ctx);
21
+ const getEnveloped = (0, core_1.envelop)({
22
+ plugins: [
23
+ // PERF: memoize argument if it makes any difference
24
+ (0, core_1.useEngine)({
25
+ ...graphql,
26
+ execute: config.execute,
27
+ subscribe: config.subscribe,
28
+ specifiedRules: event.validationRules,
29
+ }),
30
+ (0, core_1.useSchema)(config.schema),
31
+ (0, core_1.useEnvelop)(userGetEnveloped),
32
+ ],
33
+ });
34
+ const { schema, execute, subscribe, contextFactory, parse: envelopedParse, validate: envelopedValidate, } = getEnveloped(ctx);
35
+ const parseAndValidate = (query) => {
36
+ const source = new graphql.Source(query, "GraphQL HTTP Request");
37
+ let document;
38
+ try {
39
+ document = envelopedParse(source);
40
+ }
41
+ catch (e) {
42
+ return { errors: [e] };
43
+ }
44
+ const errors = envelopedValidate(schema, document);
45
+ return errors.length ? { errors } : { document };
46
+ };
47
+ return {
48
+ ...config,
49
+ contextValue: contextFactory(ctx),
50
+ schema,
51
+ execute,
52
+ subscribe,
53
+ parseAndValidate,
54
+ };
55
+ };
56
+ },
57
+ },
58
+ },
59
+ };
60
+ exports.GrafservEnvelopPreset = {
61
+ plugins: [exports.GrafservEnvelopPlugin],
62
+ grafserv: {
63
+ // Let Envelop handle error masking
64
+ maskError(e) {
65
+ return e;
66
+ },
67
+ },
68
+ };
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/envelop/index.ts"],"names":[],"mappings":";;;;AAAA,wCAMuB;AAEvB,yDAAmC;AAEnC,8CAAwC;AAU3B,QAAA,qBAAqB,GAA0B;IAC1D,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAP,oBAAO;IAEP,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,CAAC,IAAI,EAAE,KAAK;gBACd,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACpE,IAAI,CAAC,gBAAgB,EAAE;oBACrB,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;iBACH;gBACD,MAAM,0BAA0B,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBAC5D,KAAK,CAAC,kBAAkB,GAAG,KAAK,UAAU,kBAAkB,CAAC,GAAG;oBAC9D,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAChE,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC;wBAC3B,OAAO,EAAE;4BACP,oDAAoD;4BACpD,IAAA,gBAAS,EAAC;gCACR,GAAG,OAAO;gCACV,OAAO,EAAE,MAAM,CAAC,OAAO;gCACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,cAAc,EAAE,KAAK,CAAC,eAAe;6BACtC,CAAC;4BACF,IAAA,gBAAS,EAAC,MAAM,CAAC,MAAM,CAAC;4BACxB,IAAA,iBAAU,EAAC,gBAAgB,CAAC;yBAC7B;qBACF,CAAC,CAAC;oBACH,MAAM,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,cAAc,EACd,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,iBAAiB,GAC5B,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;wBACzC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;wBACjE,IAAI,QAAQ,CAAC;wBACb,IAAI;4BACF,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;yBACnC;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACxB;wBACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBACnD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;oBACnD,CAAC,CAAC;oBAEF,OAAO;wBACL,GAAG,MAAM;wBACT,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC;wBACjC,MAAM;wBACN,OAAO;wBACP,SAAS;wBACT,gBAAgB;qBACjB,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;SACF;KACF;CACF,CAAC;AAEW,QAAA,qBAAqB,GAA0B;IAC1D,OAAO,EAAE,CAAC,6BAAqB,CAAC;IAChC,QAAQ,EAAE;QACR,mCAAmC;QACnC,SAAS,CAAC,CAAC;YACT,OAAO,CAAC,CAAC;QACX,CAAC;KACF;CACF,CAAC"}
package/dist/hooks.d.ts CHANGED
@@ -1,3 +1,7 @@
1
1
  import { AsyncHooks } from "graphile-config";
2
- export declare function getGrafservHooks(resolvedPreset: GraphileConfig.ResolvedPreset): AsyncHooks<GraphileConfig.GrafservHooks>;
2
+ declare const $$hooks: unique symbol;
3
+ export declare function getGrafservHooks(resolvedPreset: GraphileConfig.ResolvedPreset & {
4
+ [$$hooks]?: AsyncHooks<GraphileConfig.GrafservHooks>;
5
+ }): AsyncHooks<GraphileConfig.GrafservHooks>;
6
+ export {};
3
7
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,cAAc,CAAC,cAAc,4CAkB9C"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIzD,QAAA,MAAM,OAAO,eAAkB,CAAC;AAEhC,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,cAAc,CAAC,cAAc,GAAG;IAC9C,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;CACtD,4CA0BF"}
package/dist/hooks.js CHANGED
@@ -2,7 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getGrafservHooks = void 0;
4
4
  const graphile_config_1 = require("graphile-config");
5
+ // We could use a global WeakMap, but storing directly onto the resolvedPreset
6
+ // should use more traditional garbage collection.
7
+ const $$hooks = Symbol("hooks");
5
8
  function getGrafservHooks(resolvedPreset) {
9
+ if (resolvedPreset[$$hooks]) {
10
+ return resolvedPreset[$$hooks];
11
+ }
6
12
  const hooks = new graphile_config_1.AsyncHooks();
7
13
  (0, graphile_config_1.applyHooks)(resolvedPreset.plugins, (p) => p.grafserv?.hooks, (name, fn, _plugin) => {
8
14
  const context = {
@@ -10,6 +16,12 @@ function getGrafservHooks(resolvedPreset) {
10
16
  };
11
17
  hooks.hook(name, ((...args) => fn(context, ...args)));
12
18
  });
19
+ try {
20
+ resolvedPreset[$$hooks] = hooks;
21
+ }
22
+ catch {
23
+ // Ignore - preset must be readonly
24
+ }
13
25
  return hooks;
14
26
  }
15
27
  exports.getGrafservHooks = getGrafservHooks;
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":";;;AAAA,qDAAyD;AAEzD,SAAgB,gBAAgB,CAC9B,cAA6C;IAE7C,MAAM,KAAK,GAAG,IAAI,4BAAU,EAAgC,CAAC;IAC7D,IAAA,4BAAU,EACR,cAAc,CAAC,OAAO,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EACxB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG;YACd,cAAc;SACf,CAAC;QAED,KAAK,CAAC,IAAY,CACjB,IAAW,EACX,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAE,EAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAQ,CAC3D,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAnBD,4CAmBC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":";;;AAAA,qDAAyD;AAEzD,8EAA8E;AAC9E,kDAAkD;AAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAEhC,SAAgB,gBAAgB,CAC9B,cAEC;IAED,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;KAChC;IACD,MAAM,KAAK,GAAG,IAAI,4BAAU,EAAgC,CAAC;IAC7D,IAAA,4BAAU,EACR,cAAc,CAAC,OAAO,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EACxB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG;YACd,cAAc;SACf,CAAC;QAED,KAAK,CAAC,IAAY,CACjB,IAAW,EACX,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAE,EAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAQ,CAC3D,CAAC;IACJ,CAAC,CACF,CAAC;IACF,IAAI;QACF,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;KACjC;IAAC,MAAM;QACN,mCAAmC;KACpC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA7BD,4CA6BC"}