postgraphile 5.0.0-beta.24 → 5.0.0-beta.26

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,101 @@
1
1
  # postgraphile
2
2
 
3
+ ## 5.0.0-beta.26
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2071](https://github.com/graphile/crystal/pull/2071)
8
+ [`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)
9
+ Thanks [@benjie](https://github.com/benjie)! - `GrafastExecutionArgs` now
10
+ accepts `resolvedPreset` and `requestContext` directly; passing these through
11
+ additional arguments is now deprecated and support will be removed in a future
12
+ revision. This affects:
13
+
14
+ - `grafast()`
15
+ - `execute()`
16
+ - `subscribe()`
17
+ - `hookArgs()`
18
+
19
+ `graphile-config` has gained a middleware system which is more powerful than
20
+ it's AsyncHooks system. Old hooks can be emulated through the middleware
21
+ system safely since middleware is a superset of hooks' capabilities.
22
+ `applyHooks` has been renamed to `orderedApply` (because it applies to more
23
+ than just hooks), calling `applyHooks` will still work but is deprecated.
24
+
25
+ 🚨 `grafast` no longer automatically reads your `graphile.config.ts` or
26
+ similar; you must do that yourself and pass the `resolvedPreset` to grafast
27
+ via the `args`. This is to aid in bundling of grafast since it should not need
28
+ to read from filesystem or dynamically load modules.
29
+
30
+ `grafast` no longer outputs performance warning when you set
31
+ `GRAPHILE_ENV=development`.
32
+
33
+ 🚨 `plugin.grafast.hooks.args` is now `plugin.grafast.middleware.prepareArgs`,
34
+ and the signature has changed - you must be sure to call the `next()` function
35
+ and ctx/resolvedPreset can be extracted directly from `args`:
36
+
37
+ ```diff
38
+ const plugin = {
39
+ grafast: {
40
+ - hooks: {
41
+ + middleware: {
42
+ - args({ args, ctx, resolvedPreset }) {
43
+ + prepareArgs(next, { args }) {
44
+ + const { requestContext: ctx, resolvedPreset } = args;
45
+ // ...
46
+ + return next();
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ Many more middleware have been added; use TypeScript's autocomplete to see
54
+ what's available until we have proper documentation for them.
55
+
56
+ `plugin.grafserv.hooks.*` are still supported but deprecated; instead use
57
+ middleware `plugin.grafserv.middleware.*` (note that call signatures have
58
+ changed slightly, similar to the diff above):
59
+
60
+ - `hooks.init` -> `middleware.setPreset`
61
+ - `hooks.processGraphQLRequestBody` -> `middleware.processGraphQLRequestBody`
62
+ - `hooks.ruruHTMLParts` -> `middleware.ruruHTMLParts`
63
+
64
+ A few TypeScript types related to Hooks have been renamed, but their old names
65
+ are still available, just deprecated. They will be removed in a future update:
66
+
67
+ - `HookObject` -> `FunctionalityObject`
68
+ - `PluginHook` -> `CallbackOrDescriptor`
69
+ - `PluginHookObject` -> `CallbackDescriptor`
70
+ - `PluginHookCallback` -> `UnwrapCallback`
71
+
72
+ - Updated dependencies
73
+ [[`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)]:
74
+ - graphile-build@5.0.0-beta.21
75
+ - graphile-config@0.0.1-beta.9
76
+ - @dataplan/pg@0.0.1-beta.22
77
+ - grafserv@0.1.1-beta.13
78
+ - grafast@0.1.1-beta.11
79
+ - graphile-build-pg@5.0.0-beta.25
80
+ - graphile-utils@5.0.0-beta.25
81
+ - @dataplan/json@0.0.1-beta.20
82
+
83
+ ## 5.0.0-beta.25
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies
88
+ [[`3c161f7e1`](https://github.com/graphile/crystal/commit/3c161f7e13375105b1035a7d5d1c0f2b507ca5c7),
89
+ [`a674a9923`](https://github.com/graphile/crystal/commit/a674a9923bc908c9315afa40e0cb256ee0953d16),
90
+ [`b7cfeffd1`](https://github.com/graphile/crystal/commit/b7cfeffd1019d61c713a5054c4f5929960a2a6ab)]:
91
+ - grafast@0.1.1-beta.10
92
+ - @dataplan/json@0.0.1-beta.19
93
+ - @dataplan/pg@0.0.1-beta.21
94
+ - grafserv@0.1.1-beta.12
95
+ - graphile-build@5.0.0-beta.20
96
+ - graphile-build-pg@5.0.0-beta.24
97
+ - graphile-utils@5.0.0-beta.24
98
+
3
99
  ## 5.0.0-beta.24
4
100
 
5
101
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-jwt.d.ts","sourceRoot":"","sources":["../../src/presets/lazy-jwt.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EACV,oBAAoB,EAEpB,MAAM,EACN,aAAa,EACd,MAAM,cAAc,CAAC;AAKtB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,eAAe;YACvB,WAAW,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;YAC5C,kBAAkB,CAAC,EAAE,aAAa,CAAC;SACpC;KACF;CACF;AAwED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAE5C,CAAC"}
1
+ {"version":3,"file":"lazy-jwt.d.ts","sourceRoot":"","sources":["../../src/presets/lazy-jwt.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EACV,oBAAoB,EAEpB,MAAM,EACN,aAAa,EACd,MAAM,cAAc,CAAC;AAKtB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,eAAe;YACvB,WAAW,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;YAC5C,kBAAkB,CAAC,EAAE,aAAa,CAAC;SACpC;KACF;CACF;AA4ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAE5C,CAAC"}
@@ -9,18 +9,20 @@ const GrafservPgJWTPlugin = {
9
9
  name: "GrafservPgJWTPlugin",
10
10
  version: version_js_1.version,
11
11
  grafast: {
12
- hooks: {
13
- args(event) {
14
- const { args, ctx, resolvedPreset } = event;
15
- const secret = resolvedPreset.grafserv?.pgJwtSecret ??
16
- resolvedPreset.schema?.pgJwtSecret;
17
- const pgJwtVerifyOptions = resolvedPreset.grafserv?.pgJwtVerifyOptions;
12
+ middleware: {
13
+ prepareArgs(next, event) {
14
+ const { args } = event;
15
+ const { resolvedPreset, requestContext: ctx } = args;
16
+ const secret = resolvedPreset?.grafserv?.pgJwtSecret ??
17
+ resolvedPreset?.schema?.pgJwtSecret;
18
+ const pgJwtVerifyOptions = resolvedPreset?.grafserv?.pgJwtVerifyOptions;
18
19
  if (secret) {
19
- const authorization = ctx.node?.req?.headers?.authorization;
20
+ const authorization = ctx?.node?.req?.headers?.authorization;
20
21
  if (typeof authorization === "string") {
21
22
  const [bearer, token] = authorization.split(" ");
22
23
  if (bearer.toLowerCase() === "bearer") {
23
- return Promise.resolve().then(async () => {
24
+ return Promise.resolve()
25
+ .then(async () => {
24
26
  const claims = await new Promise((resolve, reject) => (0, jsonwebtoken_1.verify)(token, secret, {
25
27
  algorithms: ["HS256", "HS384"],
26
28
  audience: "postgraphile",
@@ -54,10 +56,12 @@ const GrafservPgJWTPlugin = {
54
56
  pgSettings[`jwt.claims.${key}`] = String(value);
55
57
  }
56
58
  }
57
- });
59
+ })
60
+ .then(next);
58
61
  }
59
62
  }
60
63
  }
64
+ return next();
61
65
  },
62
66
  },
63
67
  },
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-jwt.js","sourceRoot":"","sources":["../../src/presets/lazy-jwt.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAGzB,yDAAgD;AAOhD,+CAAmD;AAEnD,8CAAwC;AAWxC,MAAM,mBAAmB,GAA0B;IACjD,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAP,oBAAO;IAEP,OAAO,EAAE;QACP,KAAK,EAAE;YACL,IAAI,CAAC,KAAK;gBACR,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;gBAC5C,MAAM,MAAM,GACV,cAAc,CAAC,QAAQ,EAAE,WAAW;oBACpC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC;gBACrC,MAAM,kBAAkB,GAAG,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBACvE,IAAI,MAAM,EAAE;oBACV,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC;oBAC5D,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;wBACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACjD,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;4BACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gCACvC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAC9B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAClB,IAAA,qBAAS,EACP,KAAK,EACL,MAAM,EACN;oCACE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;oCAC9B,QAAQ,EAAE,cAAc;oCACxB,GAAG,kBAAkB;oCACrB,QAAQ,EAAE,KAAK;iCAChB,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oCACd,IAAI,GAAG,EAAE;wCACN,GAAW,CAAC,UAAU,GAAG,GAAG,CAAC;wCAC9B,MAAM,CAAC,GAAG,CAAC,CAAC;qCACb;yCAAM,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;wCAChD,MAAM,CACJ,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE;4CAC9C,UAAU,EAAE,GAAG;yCAChB,CAAC,CACH,CAAC;qCACH;yCAAM;wCACL,OAAO,CAAC,MAAM,CAAC,CAAC;qCACjB;gCACH,CAAC,CACF,CACJ,CAAC;gCACF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;oCACjC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iCACpD;gCACD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAW,CAAC;gCACjD,IAAI,MAAM,CAAC,IAAI,EAAE;oCACf,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;iCAC/B;gCACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oCACjD,IACE,KAAK;wCACL,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;wCAC/B,GAAG,CAAC,MAAM,IAAI,EAAE,EAChB;wCACA,UAAU,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qCACjD;iCACF;4BACH,CAAC,CAAC,CAAC;yBACJ;qBACF;iBACF;YACH,CAAC;SACF;KACF;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACU,QAAA,eAAe,GAA0B;IACpD,OAAO,EAAE,CAAC,+BAAW,EAAE,mBAAmB,CAAC;CAC5C,CAAC"}
1
+ {"version":3,"file":"lazy-jwt.js","sourceRoot":"","sources":["../../src/presets/lazy-jwt.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "5.0.0-beta.24";
1
+ export declare const version = "5.0.0-beta.26";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // This file is autogenerated by /scripts/postversion.mjs
5
- exports.version = "5.0.0-beta.24";
5
+ exports.version = "5.0.0-beta.26";
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "postgraphile",
3
- "version": "5.0.0-beta.24",
3
+ "version": "5.0.0-beta.26",
4
4
  "description": "Automatic, high performance, and highly customizable GraphQL API for PostgreSQL",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",
@@ -204,18 +204,18 @@
204
204
  },
205
205
  "homepage": "https://graphile.org/graphile-engine/",
206
206
  "dependencies": {
207
- "@dataplan/json": "0.0.1-beta.18",
208
- "@dataplan/pg": "0.0.1-beta.20",
207
+ "@dataplan/json": "0.0.1-beta.20",
208
+ "@dataplan/pg": "0.0.1-beta.22",
209
209
  "@graphile/lru": "^5.0.0-beta.3",
210
210
  "@types/node": "^20.5.7",
211
211
  "@types/pg": "^8.10.2",
212
212
  "debug": "^4.3.4",
213
- "grafast": "^0.1.1-beta.9",
214
- "grafserv": "^0.1.1-beta.11",
215
- "graphile-build": "5.0.0-beta.19",
216
- "graphile-build-pg": "5.0.0-beta.23",
217
- "graphile-config": "^0.0.1-beta.8",
218
- "graphile-utils": "^5.0.0-beta.23",
213
+ "grafast": "^0.1.1-beta.11",
214
+ "grafserv": "^0.1.1-beta.13",
215
+ "graphile-build": "5.0.0-beta.21",
216
+ "graphile-build-pg": "5.0.0-beta.25",
217
+ "graphile-config": "^0.0.1-beta.9",
218
+ "graphile-utils": "^5.0.0-beta.25",
219
219
  "graphql": "^16.1.0-experimental-stream-defer.6",
220
220
  "iterall": "^1.3.0",
221
221
  "jsonwebtoken": "^9.0.2",
@@ -226,14 +226,14 @@
226
226
  "ws": "^8.13.0"
227
227
  },
228
228
  "peerDependencies": {
229
- "@dataplan/json": "0.0.1-beta.18",
230
- "@dataplan/pg": "0.0.1-beta.20",
229
+ "@dataplan/json": "0.0.1-beta.20",
230
+ "@dataplan/pg": "0.0.1-beta.22",
231
231
  "@envelop/core": "^5.0.0",
232
- "grafast": "^0.1.1-beta.9",
233
- "grafserv": "^0.1.1-beta.11",
234
- "graphile-build": "5.0.0-beta.19",
235
- "graphile-build-pg": "5.0.0-beta.23",
236
- "graphile-config": "^0.0.1-beta.8",
232
+ "grafast": "^0.1.1-beta.11",
233
+ "grafserv": "^0.1.1-beta.13",
234
+ "graphile-build": "5.0.0-beta.21",
235
+ "graphile-build-pg": "5.0.0-beta.25",
236
+ "graphile-config": "^0.0.1-beta.9",
237
237
  "graphql": "^16.1.0-experimental-stream-defer.6",
238
238
  "pg": "^8.7.1",
239
239
  "pg-sql2": "^5.0.0-beta.6",
@@ -258,8 +258,8 @@
258
258
  "@types/jest": "^29.5.4",
259
259
  "@types/jsonwebtoken": "^9.0.2",
260
260
  "@types/nodemon": "1.19.2",
261
- "graphile": "^5.0.0-beta.24",
262
- "graphile-export": "^0.0.2-beta.14",
261
+ "graphile": "^5.0.0-beta.26",
262
+ "graphile-export": "^0.0.2-beta.16",
263
263
  "jest": "^29.6.4",
264
264
  "nodemon": "^3.0.1",
265
265
  "ts-node": "^10.9.1",