postgraphile 5.0.0-beta.25 → 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 +80 -0
- package/dist/presets/lazy-jwt.d.ts.map +1 -1
- package/dist/presets/lazy-jwt.js +13 -9
- package/dist/presets/lazy-jwt.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +18 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,85 @@
|
|
|
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
|
+
|
|
3
83
|
## 5.0.0-beta.25
|
|
4
84
|
|
|
5
85
|
### 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;
|
|
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"}
|
package/dist/presets/lazy-jwt.js
CHANGED
|
@@ -9,18 +9,20 @@ const GrafservPgJWTPlugin = {
|
|
|
9
9
|
name: "GrafservPgJWTPlugin",
|
|
10
10
|
version: version_js_1.version,
|
|
11
11
|
grafast: {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const { args
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
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()
|
|
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,
|
|
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.
|
|
1
|
+
export declare const version = "5.0.0-beta.26";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postgraphile",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
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.
|
|
208
|
-
"@dataplan/pg": "0.0.1-beta.
|
|
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.
|
|
214
|
-
"grafserv": "^0.1.1-beta.
|
|
215
|
-
"graphile-build": "5.0.0-beta.
|
|
216
|
-
"graphile-build-pg": "5.0.0-beta.
|
|
217
|
-
"graphile-config": "^0.0.1-beta.
|
|
218
|
-
"graphile-utils": "^5.0.0-beta.
|
|
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.
|
|
230
|
-
"@dataplan/pg": "0.0.1-beta.
|
|
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.
|
|
233
|
-
"grafserv": "^0.1.1-beta.
|
|
234
|
-
"graphile-build": "5.0.0-beta.
|
|
235
|
-
"graphile-build-pg": "5.0.0-beta.
|
|
236
|
-
"graphile-config": "^0.0.1-beta.
|
|
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.
|
|
262
|
-
"graphile-export": "^0.0.2-beta.
|
|
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",
|