postgraphile 4.13.0 → 4.14.0
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/README.md +27 -13
- package/build/index.d.ts +1 -1
- package/build/index.js +3 -2
- package/build/interfaces.d.ts +1 -0
- package/build/postgraphile/cli.js +6 -4
- package/build/postgraphile/index.d.ts +1 -0
- package/build/postgraphile/index.js +4 -2
- package/build-turbo/index.d.ts +1 -1
- package/build-turbo/index.js +3 -2
- package/build-turbo/interfaces.d.ts +1 -0
- package/build-turbo/postgraphile/cli.js +5 -3
- package/build-turbo/postgraphile/index.d.ts +1 -0
- package/build-turbo/postgraphile/index.js +4 -2
- package/package.json +6 -6
- package/sponsors.json +57 -49
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<img width="120" height="120" title="PostGraphile logo" src="https://cdn.rawgit.com/graphile/graphile.github.io/a6225f8c3052df5c276ecef28aeb0cade1aec16a/logos/postgraphile.optimized.svg" />
|
|
2
2
|
|
|
3
|
-
# PostGraphile
|
|
3
|
+
# PostGraphile V4
|
|
4
4
|
|
|
5
5
|
[](https://github.com/sponsors/benjie)
|
|
6
6
|
[](https://patreon.com/benjie)
|
|
@@ -11,34 +11,48 @@
|
|
|
11
11
|
|
|
12
12
|
_**Instant lightning-fast GraphQL API backed primarily by your PostgreSQL database. Highly customisable and extensible thanks to incredibly powerful plugin system.**_ _Formerly "PostGraphQL"._
|
|
13
13
|
|
|
14
|
-
## Documentation: [graphile.org/postgraphile](https://graphile.org/postgraphile)
|
|
14
|
+
## V4 Documentation: [graphile.org/postgraphile](https://graphile.org/postgraphile)
|
|
15
|
+
|
|
16
|
+
## ANNOUNCEMENT: Version 5 is in **OPEN BETA**
|
|
17
|
+
|
|
18
|
+
The long awaited PostGraphile Version 5 is now available for you to try out! There's still bugs to work out, types to improve, documentation and examples that need writing; read more about what beta means in our **[Beta announcement on dev.to](https://dev.to/graphile/postgraphile-v5-public-beta-get-involved-1lg9)**.
|
|
19
|
+
|
|
20
|
+
Other useful resources:
|
|
21
|
+
|
|
22
|
+
- **[Intro to V5 series](https://dev.to/benjie/series/23459)** on dev.to
|
|
23
|
+
- **[V5 Documentation](https://postgraphile.org)** at postgraphile.org
|
|
24
|
+
- **[V4 -> V5 migration guide](https://postgraphile.org/postgraphile/next/migrating-from-v4/)** at postgraphile.org
|
|
25
|
+
- **[Overview of new features](https://postgraphile.org/postgraphile/next/migrating-from-v4/v5-new-feature-summary)** at postgraphile.org
|
|
26
|
+
- **[💖 Sponsor us to help launch V5 sooner! 🚀](https://github.com/sponsors/benjie)**
|
|
27
|
+
|
|
28
|
+
Now is the perfect time to get your feet wet with V5 — even if you're not yet ready to migrate to it fully. **If you don't try V5 until after its public release then it may be too late to comment on things that could have been improved.** Access is now open to everyone, so dive in!
|
|
29
|
+
|
|
30
|
+
This release has taken a tremendous amount of work and we've forgone a significant amount of client work to build it for you. If you can afford even a couple dollars a month, please consider becoming a sponsor; we really need your support to help get V5 over the finish line!
|
|
31
|
+
|
|
32
|
+
And for those of you wondering when V5.0.0 will be released, here are the [issues that need to be solved before the final release](https://github.com/orgs/graphile/projects/3). The more support we get, the faster that day will come — please get involved, or sponsor us!
|
|
15
33
|
|
|
16
34
|
<!-- SPONSORS_BEGIN -->
|
|
17
35
|
|
|
18
36
|
## Crowd-funded open-source software
|
|
19
37
|
|
|
20
|
-
To help us develop this software sustainably
|
|
21
|
-
|
|
22
|
-
|
|
38
|
+
To help us develop this software sustainably, we ask all individuals and
|
|
39
|
+
businesses that use it to help support its ongoing maintenance and development
|
|
40
|
+
via sponsorship.
|
|
23
41
|
|
|
24
42
|
### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)
|
|
25
43
|
|
|
26
44
|
And please give some love to our featured sponsors 🤩:
|
|
27
45
|
|
|
28
46
|
<table><tr>
|
|
29
|
-
<td align="center"><a href="https://surge.io/"><img src="https://graphile.org/images/sponsors/surge.png" width="90" height="90" alt="Surge" /><br />Surge</a> *</td>
|
|
30
|
-
<td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
|
|
31
|
-
<td align="center"><a href="https://qwick.com/"><img src="https://graphile.org/images/sponsors/qwick.png" width="90" height="90" alt="Qwick" /><br />Qwick</a> *</td>
|
|
32
47
|
<td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
|
|
33
|
-
</tr><tr>
|
|
34
|
-
<td align="center"><a href="http://chads.website"><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
|
|
35
|
-
<td align="center"><a href="https://www.fanatics.com/"><img src="https://graphile.org/images/sponsors/fanatics.png" width="90" height="90" alt="Fanatics" /><br />Fanatics</a> *</td>
|
|
36
48
|
<td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
|
|
37
|
-
<td align="center"><a href="https://www.
|
|
49
|
+
<td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
|
|
50
|
+
<td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
|
|
38
51
|
</tr><tr>
|
|
39
52
|
<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>
|
|
53
|
+
<td align="center"><a href="https://www.accenture.com/"><img src="https://graphile.org/images/sponsors/accenture.svg" width="90" height="90" alt="Accenture" /><br />Accenture</a> *</td>
|
|
54
|
+
<td align="center"><a href="https://microteam.io/"><img src="https://graphile.org/images/sponsors/micro.png" width="90" height="90" alt="We Love Micro" /><br />We Love Micro</a> *</td>
|
|
40
55
|
<td align="center"><a href="https://politicsrewired.com/"><img src="https://graphile.org/images/sponsors/politics-rewired.png" width="90" height="90" alt="Politics Rewired" /><br />Politics Rewired</a></td>
|
|
41
|
-
<td align="center"><a href="https://iasql.com/"><img src="https://graphile.org/images/sponsors/IaSQL.png" width="90" height="90" alt="IaSQL" /><br />IaSQL</a></td>
|
|
42
56
|
</tr></table>
|
|
43
57
|
|
|
44
58
|
<em>\* Sponsors the entire Graphile suite</em>
|
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from 'graphile-utils';
|
|
2
2
|
export { mixed, Middleware, PostGraphileOptions, CreateRequestHandlerOptions, GraphQLFormattedErrorExtended, GraphQLErrorExtended, HttpRequestHandler, WithPostGraphileContextOptions, } from './interfaces';
|
|
3
3
|
export { Plugin, Build, Context, SchemaBuilder, SchemaListener, Inflection, Options, postGraphileBaseOverrides, postGraphileClassicIdsOverrides, PostGraphileInflectionPlugin, PostGraphileClassicIdsInflectionPlugin, } from 'postgraphile-core';
|
|
4
|
-
export { postgraphile, createPostGraphileSchema, watchPostGraphileSchema, withPostGraphileContext, enhanceHttpServerWithWebSockets, debugPgClient, postgraphile as postgraphql, createPostGraphileSchema as createPostGraphQLSchema, watchPostGraphileSchema as watchPostGraphQLSchema, withPostGraphileContext as withPostGraphQLContext, enhanceHttpServerWithWebSockets as enhanceHttpServerWithSubscriptions, } from './postgraphile';
|
|
4
|
+
export { postgraphile, createPostGraphileSchema, watchPostGraphileSchema, withPostGraphileContext, enhanceHttpServerWithWebSockets, debugPgClient, extendedFormatError, postgraphile as postgraphql, createPostGraphileSchema as createPostGraphQLSchema, watchPostGraphileSchema as watchPostGraphQLSchema, withPostGraphileContext as withPostGraphQLContext, enhanceHttpServerWithWebSockets as enhanceHttpServerWithSubscriptions, } from './postgraphile';
|
|
5
5
|
export { PostGraphileResponse, PostGraphileResponseNode, PostGraphileResponseKoa, PostGraphileResponseFastify3, } from './postgraphile/http/frameworks';
|
|
6
6
|
export { makePluginHook, PostGraphilePlugin } from './postgraphile/pluginHook';
|
|
7
7
|
import { postgraphile } from './postgraphile';
|
package/build/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makePluginHook = exports.PostGraphileResponseFastify3 = exports.PostGraphileResponseKoa = exports.PostGraphileResponseNode = exports.PostGraphileResponse = exports.enhanceHttpServerWithSubscriptions = exports.withPostGraphQLContext = exports.watchPostGraphQLSchema = exports.createPostGraphQLSchema = exports.postgraphql = exports.debugPgClient = exports.enhanceHttpServerWithWebSockets = exports.withPostGraphileContext = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.postgraphile = exports.PostGraphileClassicIdsInflectionPlugin = exports.PostGraphileInflectionPlugin = exports.postGraphileClassicIdsOverrides = exports.postGraphileBaseOverrides = exports.SchemaBuilder = void 0;
|
|
3
|
+
exports.makePluginHook = exports.PostGraphileResponseFastify3 = exports.PostGraphileResponseKoa = exports.PostGraphileResponseNode = exports.PostGraphileResponse = exports.enhanceHttpServerWithSubscriptions = exports.withPostGraphQLContext = exports.watchPostGraphQLSchema = exports.createPostGraphQLSchema = exports.postgraphql = exports.extendedFormatError = exports.debugPgClient = exports.enhanceHttpServerWithWebSockets = exports.withPostGraphileContext = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.postgraphile = exports.PostGraphileClassicIdsInflectionPlugin = exports.PostGraphileInflectionPlugin = exports.postGraphileClassicIdsOverrides = exports.postGraphileBaseOverrides = exports.SchemaBuilder = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("graphile-utils"), exports);
|
|
6
6
|
var postgraphile_core_1 = require("postgraphile-core");
|
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "watchPostGraphileSchema", { enumerable: true, ge
|
|
|
16
16
|
Object.defineProperty(exports, "withPostGraphileContext", { enumerable: true, get: function () { return postgraphile_1.withPostGraphileContext; } });
|
|
17
17
|
Object.defineProperty(exports, "enhanceHttpServerWithWebSockets", { enumerable: true, get: function () { return postgraphile_1.enhanceHttpServerWithWebSockets; } });
|
|
18
18
|
Object.defineProperty(exports, "debugPgClient", { enumerable: true, get: function () { return postgraphile_1.debugPgClient; } });
|
|
19
|
+
Object.defineProperty(exports, "extendedFormatError", { enumerable: true, get: function () { return postgraphile_1.extendedFormatError; } });
|
|
19
20
|
// Backwards compatibility
|
|
20
21
|
Object.defineProperty(exports, "postgraphql", { enumerable: true, get: function () { return postgraphile_1.postgraphile; } });
|
|
21
22
|
Object.defineProperty(exports, "createPostGraphQLSchema", { enumerable: true, get: function () { return postgraphile_1.createPostGraphileSchema; } });
|
|
@@ -31,4 +32,4 @@ var pluginHook_1 = require("./postgraphile/pluginHook");
|
|
|
31
32
|
Object.defineProperty(exports, "makePluginHook", { enumerable: true, get: function () { return pluginHook_1.makePluginHook; } });
|
|
32
33
|
const postgraphile_2 = require("./postgraphile");
|
|
33
34
|
exports.default = postgraphile_2.postgraphile;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlEQUErQjtBQWEvQix1REFZMkI7QUFSekIsa0hBQUEsYUFBYSxPQUFBO0FBSWIsOEhBQUEseUJBQXlCLE9BQUE7QUFDekIsb0lBQUEsK0JBQStCLE9BQUE7QUFDL0IsaUlBQUEsNEJBQTRCLE9BQUE7QUFDNUIsMklBQUEsc0NBQXNDLE9BQUE7QUFHeEMsK0NBY3dCO0FBYnRCLDRHQUFBLFlBQVksT0FBQTtBQUNaLHdIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtIQUFBLCtCQUErQixPQUFBO0FBQy9CLDZHQUFBLGFBQWEsT0FBQTtBQUNiLG1IQUFBLG1CQUFtQixPQUFBO0FBQ25CLDBCQUEwQjtBQUMxQiwyR0FBQSxZQUFZLE9BQWU7QUFDM0IsdUhBQUEsd0JBQXdCLE9BQTJCO0FBQ25ELHNIQUFBLHVCQUF1QixPQUEwQjtBQUNqRCxzSEFBQSx1QkFBdUIsT0FBMEI7QUFDakQsa0lBQUEsK0JBQStCLE9BQXNDO0FBR3ZFLDZEQUt3QztBQUp0QyxrSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixzSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwwSEFBQSw0QkFBNEIsT0FBQTtBQUc5Qix3REFBK0U7QUFBdEUsNEdBQUEsY0FBYyxPQUFBO0FBRXZCLGlEQUE4QztBQUM5QyxrQkFBZSwyQkFBWSxDQUFDIn0=
|
package/build/interfaces.d.ts
CHANGED
|
@@ -89,6 +89,7 @@ export interface PostGraphileOptions<Request extends IncomingMessage = IncomingM
|
|
|
89
89
|
pluginHook?: PluginHookFn;
|
|
90
90
|
simpleCollections?: 'omit' | 'both' | 'only';
|
|
91
91
|
queryCacheMaxSize?: number;
|
|
92
|
+
usePartitionedParent?: boolean;
|
|
92
93
|
}
|
|
93
94
|
export interface CreateRequestHandlerOptions extends PostGraphileOptions {
|
|
94
95
|
getGqlSchema: () => Promise<GraphQLSchema>;
|
|
@@ -97,7 +97,8 @@ program
|
|
|
97
97
|
.option('--simple-collections <omit|both|only>', '"omit" (default) - relay connections only, "only" - simple collections only (no Relay connections), "both" - both')
|
|
98
98
|
.option('--no-ignore-rbac', '[RECOMMENDED] set this to exclude fields, queries and mutations that are not available to any possible user (determined from the user in connection string and any role they can become); this will be enabled by default in v5')
|
|
99
99
|
.option('--no-ignore-indexes', '[RECOMMENDED] set this to exclude filters, orderBy, and relations that would be expensive to access due to missing indexes')
|
|
100
|
-
.option('--include-extension-resources', 'by default, tables and functions that come from extensions are excluded; use this flag to include them (not recommended)')
|
|
100
|
+
.option('--include-extension-resources', 'by default, tables and functions that come from extensions are excluded; use this flag to include them (not recommended)')
|
|
101
|
+
.option('--use-partitioned-parent', 'by default, partitioned table partitions are exposed and their parents are hidden; use this flag to hide partitions and expose their parents');
|
|
101
102
|
pluginHook('cli:flags:add:schema', addFlag);
|
|
102
103
|
// Error enhancements
|
|
103
104
|
program
|
|
@@ -203,7 +204,7 @@ const overridesFromOptions = {};
|
|
|
203
204
|
// something appropriate for JavaScript.
|
|
204
205
|
const { demo: isDemo = false, connection: pgConnectionString, ownerConnection, subscriptions, live, websockets = subscriptions || live ? ['v0', 'v1'] : [], websocketOperations = 'subscriptions', watch: watchPg, schema: dbSchema, host: hostname = 'localhost', port = 5000, timeout: serverTimeout, maxPoolSize, defaultRole: pgDefaultRole, retryOnInitFail, graphql: graphqlRoute = '/graphql', graphiql: graphiqlRoute = '/graphiql', enhanceGraphiql = false, disableGraphiql = false, secret: deprecatedJwtSecret, jwtSecret, jwtPublicKey, jwtAudiences, jwtVerifyAlgorithms, jwtVerifyAudience, jwtVerifyClockTolerance, jwtVerifyId, jwtVerifyIgnoreExpiration, jwtVerifyIgnoreNotBefore, jwtVerifyIssuer, jwtVerifySubject, jwtSignOptions = {}, jwtVerifyOptions: rawJwtVerifyOptions, jwtRole = ['role'], token: deprecatedJwtPgTypeIdentifier, jwtTokenIdentifier: jwtPgTypeIdentifier, cors: enableCors = false, classicIds = false, dynamicJson = false, disableDefaultMutations = false, ignoreRbac = true, includeExtensionResources = false, exportSchemaJson: exportJsonSchemaPath, exportSchemaGraphql: exportGqlSchemaPath, sortExport = false, showErrorStack: rawShowErrorStack, extendedErrors = [], bodySizeLimit, appendPlugins: appendPluginNames, prependPlugins: prependPluginNames,
|
|
205
206
|
// replaceAllPlugins is NOT exposed via the CLI
|
|
206
|
-
skipPlugins: skipPluginNames, readCache, writeCache, legacyRelations: rawLegacyRelations = 'deprecated', server: yesServer, clusterWorkers, enableQueryBatching, setofFunctionsContainNulls = true, legacyJsonUuid, disableQueryLog, allowExplain, simpleCollections, legacyFunctionsOnly, ignoreIndexes, } = Object.assign(Object.assign(Object.assign({}, postgraphilerc_1.default['options']), program), overridesFromOptions);
|
|
207
|
+
skipPlugins: skipPluginNames, readCache, writeCache, legacyRelations: rawLegacyRelations = 'deprecated', server: yesServer, clusterWorkers, enableQueryBatching, setofFunctionsContainNulls = true, legacyJsonUuid, disableQueryLog, allowExplain, simpleCollections, legacyFunctionsOnly, ignoreIndexes, usePartitionedParent = false, } = Object.assign(Object.assign(Object.assign({}, postgraphilerc_1.default['options']), program), overridesFromOptions);
|
|
207
208
|
const showErrorStack = (val => {
|
|
208
209
|
switch (val) {
|
|
209
210
|
case 'string':
|
|
@@ -391,7 +392,8 @@ const postgraphileOptions = pluginHook('cli:library:options', Object.assign(Obje
|
|
|
391
392
|
simpleCollections,
|
|
392
393
|
legacyFunctionsOnly,
|
|
393
394
|
ignoreIndexes,
|
|
394
|
-
ownerConnectionString
|
|
395
|
+
ownerConnectionString,
|
|
396
|
+
usePartitionedParent }), { config: postgraphilerc_1.default, cliOptions: program });
|
|
395
397
|
function killAllWorkers(signal = 'SIGTERM') {
|
|
396
398
|
for (const id in cluster.workers) {
|
|
397
399
|
const worker = cluster.workers[id];
|
|
@@ -538,4 +540,4 @@ else {
|
|
|
538
540
|
}
|
|
539
541
|
}
|
|
540
542
|
/* eslint-enable */
|
|
541
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Bvc3RncmFwaGlsZS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw0QkFBNEI7O0FBRTVCOzs7Ozs7R0FNRztBQUNILHFEQUFzQztBQUV0Qyx5QkFBeUI7QUFDekIsK0JBQW9DO0FBQ3BDLGlDQUEwQjtBQUMxQixxQ0FBc0M7QUFFdEMsK0RBQXdFO0FBQ3hFLGlEQUE0RTtBQUM1RSx3Q0FBMkQ7QUFDM0QsMkJBQXNDO0FBQ3RDLG1DQUFvQztBQUNwQyw2Q0FBa0U7QUFDbEUsc0NBQXVDO0FBRXZDLGtDQUFrQztBQUNsQywrQ0FBK0M7QUFDL0Msa0NBQWtDO0FBQ2xDLGdEQUFpRDtBQUNqRCx3REFBdUU7QUFDdkUsMkJBQWdDO0FBRWhDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRywwQkFBMEIsQ0FBQztBQUM1RDs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRyxlQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHVDQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUV0RixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLGFBQWEsQ0FBQztBQUU3RCxTQUFTLFFBQVEsQ0FBQyxHQUFZO0lBQzVCLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdEUsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFbEQsK0JBQStCO0FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUV6QixTQUFTLGNBQWMsQ0FDckIsT0FBc0I7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
|
|
543
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Bvc3RncmFwaGlsZS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw0QkFBNEI7O0FBRTVCOzs7Ozs7R0FNRztBQUNILHFEQUFzQztBQUV0Qyx5QkFBeUI7QUFDekIsK0JBQW9DO0FBQ3BDLGlDQUEwQjtBQUMxQixxQ0FBc0M7QUFFdEMsK0RBQXdFO0FBQ3hFLGlEQUE0RTtBQUM1RSx3Q0FBMkQ7QUFDM0QsMkJBQXNDO0FBQ3RDLG1DQUFvQztBQUNwQyw2Q0FBa0U7QUFDbEUsc0NBQXVDO0FBRXZDLGtDQUFrQztBQUNsQywrQ0FBK0M7QUFDL0Msa0NBQWtDO0FBQ2xDLGdEQUFpRDtBQUNqRCx3REFBdUU7QUFDdkUsMkJBQWdDO0FBRWhDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRywwQkFBMEIsQ0FBQztBQUM1RDs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRyxlQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHVDQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUV0RixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLGFBQWEsQ0FBQztBQUU3RCxTQUFTLFFBQVEsQ0FBQyxHQUFZO0lBQzVCLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdEUsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFbEQsK0JBQStCO0FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUV6QixTQUFTLGNBQWMsQ0FDckIsT0FBc0I7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
|
|
@@ -3,3 +3,4 @@ export { default as withPostGraphileContext, debugPgClient } from './withPostGra
|
|
|
3
3
|
export { createPostGraphileSchema, watchPostGraphileSchema } from 'postgraphile-core';
|
|
4
4
|
export { PostGraphilePlugin } from './pluginHook';
|
|
5
5
|
export { enhanceHttpServerWithWebSockets } from './http/subscriptions';
|
|
6
|
+
export { extendedFormatError } from './extendedFormatError';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enhanceHttpServerWithWebSockets = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.debugPgClient = exports.withPostGraphileContext = exports.postgraphile = void 0;
|
|
3
|
+
exports.extendedFormatError = exports.enhanceHttpServerWithWebSockets = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.debugPgClient = exports.withPostGraphileContext = exports.postgraphile = void 0;
|
|
4
4
|
var postgraphile_1 = require("./postgraphile");
|
|
5
5
|
Object.defineProperty(exports, "postgraphile", { enumerable: true, get: function () { return postgraphile_1.default; } });
|
|
6
6
|
var withPostGraphileContext_1 = require("./withPostGraphileContext");
|
|
@@ -11,4 +11,6 @@ Object.defineProperty(exports, "createPostGraphileSchema", { enumerable: true, g
|
|
|
11
11
|
Object.defineProperty(exports, "watchPostGraphileSchema", { enumerable: true, get: function () { return postgraphile_core_1.watchPostGraphileSchema; } });
|
|
12
12
|
var subscriptions_1 = require("./http/subscriptions");
|
|
13
13
|
Object.defineProperty(exports, "enhanceHttpServerWithWebSockets", { enumerable: true, get: function () { return subscriptions_1.enhanceHttpServerWithWebSockets; } });
|
|
14
|
-
|
|
14
|
+
var extendedFormatError_1 = require("./extendedFormatError");
|
|
15
|
+
Object.defineProperty(exports, "extendedFormatError", { enumerable: true, get: function () { return extendedFormatError_1.extendedFormatError; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9zdGdyYXBoaWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUF5RDtBQUFoRCw0R0FBQSxPQUFPLE9BQWdCO0FBQ2hDLHFFQUE4RjtBQUFyRixrSUFBQSxPQUFPLE9BQTJCO0FBQUUsd0hBQUEsYUFBYSxPQUFBO0FBQzFELHVEQUFzRjtBQUE3RSw2SEFBQSx3QkFBd0IsT0FBQTtBQUFFLDRIQUFBLHVCQUF1QixPQUFBO0FBRTFELHNEQUF1RTtBQUE5RCxnSUFBQSwrQkFBK0IsT0FBQTtBQUN4Qyw2REFBNEQ7QUFBbkQsMEhBQUEsbUJBQW1CLE9BQUEifQ==
|
package/build-turbo/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from 'graphile-utils';
|
|
2
2
|
export { mixed, Middleware, PostGraphileOptions, CreateRequestHandlerOptions, GraphQLFormattedErrorExtended, GraphQLErrorExtended, HttpRequestHandler, WithPostGraphileContextOptions, } from './interfaces';
|
|
3
3
|
export { Plugin, Build, Context, SchemaBuilder, SchemaListener, Inflection, Options, postGraphileBaseOverrides, postGraphileClassicIdsOverrides, PostGraphileInflectionPlugin, PostGraphileClassicIdsInflectionPlugin, } from 'postgraphile-core';
|
|
4
|
-
export { postgraphile, createPostGraphileSchema, watchPostGraphileSchema, withPostGraphileContext, enhanceHttpServerWithWebSockets, debugPgClient, postgraphile as postgraphql, createPostGraphileSchema as createPostGraphQLSchema, watchPostGraphileSchema as watchPostGraphQLSchema, withPostGraphileContext as withPostGraphQLContext, enhanceHttpServerWithWebSockets as enhanceHttpServerWithSubscriptions, } from './postgraphile';
|
|
4
|
+
export { postgraphile, createPostGraphileSchema, watchPostGraphileSchema, withPostGraphileContext, enhanceHttpServerWithWebSockets, debugPgClient, extendedFormatError, postgraphile as postgraphql, createPostGraphileSchema as createPostGraphQLSchema, watchPostGraphileSchema as watchPostGraphQLSchema, withPostGraphileContext as withPostGraphQLContext, enhanceHttpServerWithWebSockets as enhanceHttpServerWithSubscriptions, } from './postgraphile';
|
|
5
5
|
export { PostGraphileResponse, PostGraphileResponseNode, PostGraphileResponseKoa, PostGraphileResponseFastify3, } from './postgraphile/http/frameworks';
|
|
6
6
|
export { makePluginHook, PostGraphilePlugin } from './postgraphile/pluginHook';
|
|
7
7
|
import { postgraphile } from './postgraphile';
|
package/build-turbo/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makePluginHook = exports.PostGraphileResponseFastify3 = exports.PostGraphileResponseKoa = exports.PostGraphileResponseNode = exports.PostGraphileResponse = exports.enhanceHttpServerWithSubscriptions = exports.withPostGraphQLContext = exports.watchPostGraphQLSchema = exports.createPostGraphQLSchema = exports.postgraphql = exports.debugPgClient = exports.enhanceHttpServerWithWebSockets = exports.withPostGraphileContext = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.postgraphile = exports.PostGraphileClassicIdsInflectionPlugin = exports.PostGraphileInflectionPlugin = exports.postGraphileClassicIdsOverrides = exports.postGraphileBaseOverrides = exports.SchemaBuilder = void 0;
|
|
3
|
+
exports.makePluginHook = exports.PostGraphileResponseFastify3 = exports.PostGraphileResponseKoa = exports.PostGraphileResponseNode = exports.PostGraphileResponse = exports.enhanceHttpServerWithSubscriptions = exports.withPostGraphQLContext = exports.watchPostGraphQLSchema = exports.createPostGraphQLSchema = exports.postgraphql = exports.extendedFormatError = exports.debugPgClient = exports.enhanceHttpServerWithWebSockets = exports.withPostGraphileContext = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.postgraphile = exports.PostGraphileClassicIdsInflectionPlugin = exports.PostGraphileInflectionPlugin = exports.postGraphileClassicIdsOverrides = exports.postGraphileBaseOverrides = exports.SchemaBuilder = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("graphile-utils"), exports);
|
|
6
6
|
var postgraphile_core_1 = require("postgraphile-core");
|
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "watchPostGraphileSchema", { enumerable: true, ge
|
|
|
16
16
|
Object.defineProperty(exports, "withPostGraphileContext", { enumerable: true, get: function () { return postgraphile_1.withPostGraphileContext; } });
|
|
17
17
|
Object.defineProperty(exports, "enhanceHttpServerWithWebSockets", { enumerable: true, get: function () { return postgraphile_1.enhanceHttpServerWithWebSockets; } });
|
|
18
18
|
Object.defineProperty(exports, "debugPgClient", { enumerable: true, get: function () { return postgraphile_1.debugPgClient; } });
|
|
19
|
+
Object.defineProperty(exports, "extendedFormatError", { enumerable: true, get: function () { return postgraphile_1.extendedFormatError; } });
|
|
19
20
|
// Backwards compatibility
|
|
20
21
|
Object.defineProperty(exports, "postgraphql", { enumerable: true, get: function () { return postgraphile_1.postgraphile; } });
|
|
21
22
|
Object.defineProperty(exports, "createPostGraphQLSchema", { enumerable: true, get: function () { return postgraphile_1.createPostGraphileSchema; } });
|
|
@@ -31,4 +32,4 @@ var pluginHook_1 = require("./postgraphile/pluginHook");
|
|
|
31
32
|
Object.defineProperty(exports, "makePluginHook", { enumerable: true, get: function () { return pluginHook_1.makePluginHook; } });
|
|
32
33
|
const postgraphile_2 = require("./postgraphile");
|
|
33
34
|
exports.default = postgraphile_2.postgraphile;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlEQUErQjtBQWEvQix1REFZMkI7QUFSekIsa0hBQUEsYUFBYSxPQUFBO0FBSWIsOEhBQUEseUJBQXlCLE9BQUE7QUFDekIsb0lBQUEsK0JBQStCLE9BQUE7QUFDL0IsaUlBQUEsNEJBQTRCLE9BQUE7QUFDNUIsMklBQUEsc0NBQXNDLE9BQUE7QUFHeEMsK0NBY3dCO0FBYnRCLDRHQUFBLFlBQVksT0FBQTtBQUNaLHdIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtIQUFBLCtCQUErQixPQUFBO0FBQy9CLDZHQUFBLGFBQWEsT0FBQTtBQUNiLG1IQUFBLG1CQUFtQixPQUFBO0FBQ25CLDBCQUEwQjtBQUMxQiwyR0FBQSxZQUFZLE9BQWU7QUFDM0IsdUhBQUEsd0JBQXdCLE9BQTJCO0FBQ25ELHNIQUFBLHVCQUF1QixPQUEwQjtBQUNqRCxzSEFBQSx1QkFBdUIsT0FBMEI7QUFDakQsa0lBQUEsK0JBQStCLE9BQXNDO0FBR3ZFLDZEQUt3QztBQUp0QyxrSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixzSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwwSEFBQSw0QkFBNEIsT0FBQTtBQUc5Qix3REFBK0U7QUFBdEUsNEdBQUEsY0FBYyxPQUFBO0FBRXZCLGlEQUE4QztBQUM5QyxrQkFBZSwyQkFBWSxDQUFDIn0=
|
|
@@ -89,6 +89,7 @@ export interface PostGraphileOptions<Request extends IncomingMessage = IncomingM
|
|
|
89
89
|
pluginHook?: PluginHookFn;
|
|
90
90
|
simpleCollections?: 'omit' | 'both' | 'only';
|
|
91
91
|
queryCacheMaxSize?: number;
|
|
92
|
+
usePartitionedParent?: boolean;
|
|
92
93
|
}
|
|
93
94
|
export interface CreateRequestHandlerOptions extends PostGraphileOptions {
|
|
94
95
|
getGqlSchema: () => Promise<GraphQLSchema>;
|
|
@@ -97,7 +97,8 @@ program
|
|
|
97
97
|
.option('--simple-collections <omit|both|only>', '"omit" (default) - relay connections only, "only" - simple collections only (no Relay connections), "both" - both')
|
|
98
98
|
.option('--no-ignore-rbac', '[RECOMMENDED] set this to exclude fields, queries and mutations that are not available to any possible user (determined from the user in connection string and any role they can become); this will be enabled by default in v5')
|
|
99
99
|
.option('--no-ignore-indexes', '[RECOMMENDED] set this to exclude filters, orderBy, and relations that would be expensive to access due to missing indexes')
|
|
100
|
-
.option('--include-extension-resources', 'by default, tables and functions that come from extensions are excluded; use this flag to include them (not recommended)')
|
|
100
|
+
.option('--include-extension-resources', 'by default, tables and functions that come from extensions are excluded; use this flag to include them (not recommended)')
|
|
101
|
+
.option('--use-partitioned-parent', 'by default, partitioned table partitions are exposed and their parents are hidden; use this flag to hide partitions and expose their parents');
|
|
101
102
|
pluginHook('cli:flags:add:schema', addFlag);
|
|
102
103
|
// Error enhancements
|
|
103
104
|
program
|
|
@@ -203,7 +204,7 @@ const overridesFromOptions = {};
|
|
|
203
204
|
// something appropriate for JavaScript.
|
|
204
205
|
const { demo: isDemo = false, connection: pgConnectionString, ownerConnection, subscriptions, live, websockets = subscriptions || live ? ['v0', 'v1'] : [], websocketOperations = 'subscriptions', watch: watchPg, schema: dbSchema, host: hostname = 'localhost', port = 5000, timeout: serverTimeout, maxPoolSize, defaultRole: pgDefaultRole, retryOnInitFail, graphql: graphqlRoute = '/graphql', graphiql: graphiqlRoute = '/graphiql', enhanceGraphiql = false, disableGraphiql = false, secret: deprecatedJwtSecret, jwtSecret, jwtPublicKey, jwtAudiences, jwtVerifyAlgorithms, jwtVerifyAudience, jwtVerifyClockTolerance, jwtVerifyId, jwtVerifyIgnoreExpiration, jwtVerifyIgnoreNotBefore, jwtVerifyIssuer, jwtVerifySubject, jwtSignOptions = {}, jwtVerifyOptions: rawJwtVerifyOptions, jwtRole = ['role'], token: deprecatedJwtPgTypeIdentifier, jwtTokenIdentifier: jwtPgTypeIdentifier, cors: enableCors = false, classicIds = false, dynamicJson = false, disableDefaultMutations = false, ignoreRbac = true, includeExtensionResources = false, exportSchemaJson: exportJsonSchemaPath, exportSchemaGraphql: exportGqlSchemaPath, sortExport = false, showErrorStack: rawShowErrorStack, extendedErrors = [], bodySizeLimit, appendPlugins: appendPluginNames, prependPlugins: prependPluginNames,
|
|
205
206
|
// replaceAllPlugins is NOT exposed via the CLI
|
|
206
|
-
skipPlugins: skipPluginNames, readCache, writeCache, legacyRelations: rawLegacyRelations = 'deprecated', server: yesServer, clusterWorkers, enableQueryBatching, setofFunctionsContainNulls = true, legacyJsonUuid, disableQueryLog, allowExplain, simpleCollections, legacyFunctionsOnly, ignoreIndexes, } = { ...postgraphilerc_1.default['options'], ...program, ...overridesFromOptions };
|
|
207
|
+
skipPlugins: skipPluginNames, readCache, writeCache, legacyRelations: rawLegacyRelations = 'deprecated', server: yesServer, clusterWorkers, enableQueryBatching, setofFunctionsContainNulls = true, legacyJsonUuid, disableQueryLog, allowExplain, simpleCollections, legacyFunctionsOnly, ignoreIndexes, usePartitionedParent = false, } = { ...postgraphilerc_1.default['options'], ...program, ...overridesFromOptions };
|
|
207
208
|
const showErrorStack = (val => {
|
|
208
209
|
switch (val) {
|
|
209
210
|
case 'string':
|
|
@@ -422,6 +423,7 @@ const postgraphileOptions = pluginHook('cli:library:options', {
|
|
|
422
423
|
legacyFunctionsOnly,
|
|
423
424
|
ignoreIndexes,
|
|
424
425
|
ownerConnectionString,
|
|
426
|
+
usePartitionedParent,
|
|
425
427
|
}, { config: postgraphilerc_1.default, cliOptions: program });
|
|
426
428
|
function killAllWorkers(signal = 'SIGTERM') {
|
|
427
429
|
for (const id in cluster.workers) {
|
|
@@ -569,4 +571,4 @@ else {
|
|
|
569
571
|
}
|
|
570
572
|
}
|
|
571
573
|
/* eslint-enable */
|
|
572
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Bvc3RncmFwaGlsZS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw0QkFBNEI7O0FBRTVCOzs7Ozs7R0FNRztBQUNILHFEQUFzQztBQUV0Qyx5QkFBeUI7QUFDekIsK0JBQW9DO0FBQ3BDLGlDQUEwQjtBQUMxQixxQ0FBc0M7QUFFdEMsK0RBQXdFO0FBQ3hFLGlEQUE0RTtBQUM1RSx3Q0FBMkQ7QUFDM0QsMkJBQXNDO0FBQ3RDLG1DQUFvQztBQUNwQyw2Q0FBa0U7QUFDbEUsc0NBQXVDO0FBRXZDLGtDQUFrQztBQUNsQywrQ0FBK0M7QUFDL0Msa0NBQWtDO0FBQ2xDLGdEQUFpRDtBQUNqRCx3REFBdUU7QUFDdkUsMkJBQWdDO0FBRWhDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRywwQkFBMEIsQ0FBQztBQUM1RDs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRyxlQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHVDQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUV0RixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLGFBQWEsQ0FBQztBQUU3RCxTQUFTLFFBQVEsQ0FBQyxHQUFZO0lBQzVCLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdEUsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFbEQsK0JBQStCO0FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUV6QixTQUFTLGNBQWMsQ0FDckIsT0FBc0I7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
|
|
574
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Bvc3RncmFwaGlsZS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw0QkFBNEI7O0FBRTVCOzs7Ozs7R0FNRztBQUNILHFEQUFzQztBQUV0Qyx5QkFBeUI7QUFDekIsK0JBQW9DO0FBQ3BDLGlDQUEwQjtBQUMxQixxQ0FBc0M7QUFFdEMsK0RBQXdFO0FBQ3hFLGlEQUE0RTtBQUM1RSx3Q0FBMkQ7QUFDM0QsMkJBQXNDO0FBQ3RDLG1DQUFvQztBQUNwQyw2Q0FBa0U7QUFDbEUsc0NBQXVDO0FBRXZDLGtDQUFrQztBQUNsQywrQ0FBK0M7QUFDL0Msa0NBQWtDO0FBQ2xDLGdEQUFpRDtBQUNqRCx3REFBdUU7QUFDdkUsMkJBQWdDO0FBRWhDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRywwQkFBMEIsQ0FBQztBQUM1RDs7O0dBR0c7QUFDSCxNQUFNLGVBQWUsR0FBRyxlQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHVDQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUV0RixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLGFBQWEsQ0FBQztBQUU3RCxTQUFTLFFBQVEsQ0FBQyxHQUFZO0lBQzVCLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFdEUsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFbEQsK0JBQStCO0FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUV6QixTQUFTLGNBQWMsQ0FDckIsT0FBc0I7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
|
|
@@ -3,3 +3,4 @@ export { default as withPostGraphileContext, debugPgClient } from './withPostGra
|
|
|
3
3
|
export { createPostGraphileSchema, watchPostGraphileSchema } from 'postgraphile-core';
|
|
4
4
|
export { PostGraphilePlugin } from './pluginHook';
|
|
5
5
|
export { enhanceHttpServerWithWebSockets } from './http/subscriptions';
|
|
6
|
+
export { extendedFormatError } from './extendedFormatError';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enhanceHttpServerWithWebSockets = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.debugPgClient = exports.withPostGraphileContext = exports.postgraphile = void 0;
|
|
3
|
+
exports.extendedFormatError = exports.enhanceHttpServerWithWebSockets = exports.watchPostGraphileSchema = exports.createPostGraphileSchema = exports.debugPgClient = exports.withPostGraphileContext = exports.postgraphile = void 0;
|
|
4
4
|
var postgraphile_1 = require("./postgraphile");
|
|
5
5
|
Object.defineProperty(exports, "postgraphile", { enumerable: true, get: function () { return postgraphile_1.default; } });
|
|
6
6
|
var withPostGraphileContext_1 = require("./withPostGraphileContext");
|
|
@@ -11,4 +11,6 @@ Object.defineProperty(exports, "createPostGraphileSchema", { enumerable: true, g
|
|
|
11
11
|
Object.defineProperty(exports, "watchPostGraphileSchema", { enumerable: true, get: function () { return postgraphile_core_1.watchPostGraphileSchema; } });
|
|
12
12
|
var subscriptions_1 = require("./http/subscriptions");
|
|
13
13
|
Object.defineProperty(exports, "enhanceHttpServerWithWebSockets", { enumerable: true, get: function () { return subscriptions_1.enhanceHttpServerWithWebSockets; } });
|
|
14
|
-
|
|
14
|
+
var extendedFormatError_1 = require("./extendedFormatError");
|
|
15
|
+
Object.defineProperty(exports, "extendedFormatError", { enumerable: true, get: function () { return extendedFormatError_1.extendedFormatError; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9zdGdyYXBoaWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUF5RDtBQUFoRCw0R0FBQSxPQUFPLE9BQWdCO0FBQ2hDLHFFQUE4RjtBQUFyRixrSUFBQSxPQUFPLE9BQTJCO0FBQUUsd0hBQUEsYUFBYSxPQUFBO0FBQzFELHVEQUFzRjtBQUE3RSw2SEFBQSx3QkFBd0IsT0FBQTtBQUFFLDRIQUFBLHVCQUF1QixPQUFBO0FBRTFELHNEQUF1RTtBQUE5RCxnSUFBQSwrQkFBK0IsT0FBQTtBQUN4Qyw2REFBNEQ7QUFBbkQsMEhBQUEsbUJBQW1CLE9BQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postgraphile",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.14.0",
|
|
4
4
|
"description": "A GraphQL schema created by reflection over a PostgreSQL schema 🐘 (previously known as PostGraphQL)",
|
|
5
5
|
"author": "Benjie Gillam <benjie@graphile.org> (https://twitter.com/benjie)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"commander": "^2.19.0",
|
|
61
61
|
"debug": "^4.1.1",
|
|
62
62
|
"finalhandler": "^1.0.6",
|
|
63
|
-
"graphile-build": "4.
|
|
64
|
-
"graphile-build-pg": "4.
|
|
65
|
-
"graphile-utils": "^4.
|
|
63
|
+
"graphile-build": "4.14.0",
|
|
64
|
+
"graphile-build-pg": "4.14.0",
|
|
65
|
+
"graphile-utils": "^4.14.0",
|
|
66
66
|
"graphql": "^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.2 || ^15.0.0",
|
|
67
67
|
"graphql-ws": "^5.6.2",
|
|
68
68
|
"http-errors": "^1.5.1",
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"parseurl": "^1.3.2",
|
|
73
73
|
"pg": ">=6.1.0 <9",
|
|
74
74
|
"pg-connection-string": "^2.0.0",
|
|
75
|
-
"pg-sql2": "4.
|
|
76
|
-
"postgraphile-core": "4.
|
|
75
|
+
"pg-sql2": "4.14.0",
|
|
76
|
+
"postgraphile-core": "4.14.0",
|
|
77
77
|
"subscriptions-transport-ws": "^0.9.18",
|
|
78
78
|
"tslib": "^2.1.0",
|
|
79
79
|
"ws": "^7.4.2"
|
package/sponsors.json
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
[
|
|
2
|
-
"
|
|
2
|
+
"Accenture",
|
|
3
|
+
"Accenture",
|
|
4
|
+
"Accenture",
|
|
5
|
+
"Accenture",
|
|
6
|
+
"Accenture",
|
|
7
|
+
"Accenture",
|
|
3
8
|
"Alvin Ali Khaled",
|
|
9
|
+
"Andrew Joseph",
|
|
10
|
+
"Antonio Angelino",
|
|
4
11
|
"Axinom",
|
|
5
12
|
"Axinom",
|
|
6
13
|
"Axinom",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
14
|
+
"BairesDev",
|
|
15
|
+
"BairesDev",
|
|
16
|
+
"BairesDev",
|
|
17
|
+
"Beacon",
|
|
18
|
+
"Beacon",
|
|
19
|
+
"Beacon",
|
|
20
|
+
"Ben Periton",
|
|
10
21
|
"Benjamin Berman",
|
|
22
|
+
"Boo",
|
|
11
23
|
"CJ Lazell",
|
|
12
24
|
"CartoLab",
|
|
13
25
|
"Chad Furman",
|
|
@@ -16,7 +28,11 @@
|
|
|
16
28
|
"Chad Furman",
|
|
17
29
|
"Chad Furman",
|
|
18
30
|
"Chad Furman",
|
|
31
|
+
"Charlie Hadden",
|
|
19
32
|
"Chris Watland",
|
|
33
|
+
"Cintra",
|
|
34
|
+
"Cintra",
|
|
35
|
+
"Cintra",
|
|
20
36
|
"Daniel Einspanjer",
|
|
21
37
|
"DocIQ",
|
|
22
38
|
"DocIQ",
|
|
@@ -27,32 +43,19 @@
|
|
|
27
43
|
"Dovetail",
|
|
28
44
|
"Dovetail",
|
|
29
45
|
"Dovetail",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"Enzuzo",
|
|
34
|
-
"Enzuzo",
|
|
35
|
-
"Enzuzo",
|
|
36
|
-
"Fanatics",
|
|
37
|
-
"Fanatics",
|
|
38
|
-
"Fanatics",
|
|
39
|
-
"Fanatics",
|
|
40
|
-
"Fanatics",
|
|
41
|
-
"Fanatics",
|
|
46
|
+
"FOLX Health",
|
|
47
|
+
"FOLX Health",
|
|
48
|
+
"FOLX Health",
|
|
42
49
|
"Gamma Peak",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
50
|
+
"Giovanny Gutiérrez",
|
|
51
|
+
"Giovanny Gutiérrez",
|
|
52
|
+
"Giovanny Gutiérrez",
|
|
45
53
|
"HR-ON",
|
|
46
54
|
"IFCHOR GROUP",
|
|
47
|
-
"IaSQL",
|
|
48
|
-
"IaSQL",
|
|
49
|
-
"IaSQL",
|
|
50
|
-
"IaSQL",
|
|
51
|
-
"IaSQL",
|
|
52
|
-
"IaSQL",
|
|
53
55
|
"Ian Stewart",
|
|
54
56
|
"Ian Stewart",
|
|
55
57
|
"Ian Stewart",
|
|
58
|
+
"JYC",
|
|
56
59
|
"James Rascoe",
|
|
57
60
|
"Jimmy Liu",
|
|
58
61
|
"Joe Dennis",
|
|
@@ -60,15 +63,19 @@
|
|
|
60
63
|
"Joe Dennis",
|
|
61
64
|
"Kadi Kraman",
|
|
62
65
|
"Keith Layne",
|
|
66
|
+
"Kiron Open Higher Education",
|
|
63
67
|
"Luxor Labs",
|
|
64
68
|
"Luxor Labs",
|
|
65
69
|
"Luxor Labs",
|
|
66
70
|
"Mansoor Razzaq",
|
|
67
|
-
"Mark",
|
|
68
71
|
"Matt Bretl",
|
|
72
|
+
"Nate Smith",
|
|
69
73
|
"Nathanael Beisiegel",
|
|
70
74
|
"Nathanael Beisiegel",
|
|
71
75
|
"Nathanael Beisiegel",
|
|
76
|
+
"Ndustrial",
|
|
77
|
+
"Ndustrial",
|
|
78
|
+
"Ndustrial",
|
|
72
79
|
"Netflix",
|
|
73
80
|
"Netflix",
|
|
74
81
|
"Netflix",
|
|
@@ -79,9 +86,9 @@
|
|
|
79
86
|
"Notably",
|
|
80
87
|
"Notably",
|
|
81
88
|
"Notably",
|
|
82
|
-
"
|
|
89
|
+
"Old Grammar",
|
|
83
90
|
"Paul Melnikow",
|
|
84
|
-
"
|
|
91
|
+
"Peter C. Romano",
|
|
85
92
|
"Politics Rewired",
|
|
86
93
|
"Politics Rewired",
|
|
87
94
|
"Politics Rewired",
|
|
@@ -91,22 +98,20 @@
|
|
|
91
98
|
"PostHog",
|
|
92
99
|
"PostHog",
|
|
93
100
|
"PostHog",
|
|
94
|
-
"Postlight",
|
|
95
101
|
"Principia Mentis",
|
|
96
102
|
"Principia Mentis",
|
|
97
103
|
"Principia Mentis",
|
|
98
104
|
"Qwick",
|
|
99
105
|
"Qwick",
|
|
100
106
|
"Qwick",
|
|
101
|
-
"Qwick",
|
|
102
|
-
"Qwick",
|
|
103
|
-
"Qwick",
|
|
104
107
|
"Robert Claypool",
|
|
105
108
|
"Robert Claypool",
|
|
106
109
|
"Robert Claypool",
|
|
110
|
+
"SIED 70",
|
|
107
111
|
"Sam Levin",
|
|
108
|
-
"Sen Palanisami",
|
|
109
112
|
"Simon Elliott",
|
|
113
|
+
"SpaceFill",
|
|
114
|
+
"Spear AI",
|
|
110
115
|
"Splitgraph",
|
|
111
116
|
"Stellate",
|
|
112
117
|
"Stellate",
|
|
@@ -114,13 +119,6 @@
|
|
|
114
119
|
"Stellate",
|
|
115
120
|
"Stellate",
|
|
116
121
|
"Stellate",
|
|
117
|
-
"Stéphane Klein",
|
|
118
|
-
"Surge",
|
|
119
|
-
"Surge",
|
|
120
|
-
"Surge",
|
|
121
|
-
"Surge",
|
|
122
|
-
"Surge",
|
|
123
|
-
"Surge",
|
|
124
122
|
"Taiste",
|
|
125
123
|
"Taiste",
|
|
126
124
|
"Taiste",
|
|
@@ -130,22 +128,32 @@
|
|
|
130
128
|
"The Guild",
|
|
131
129
|
"The Guild",
|
|
132
130
|
"The Guild",
|
|
133
|
-
"
|
|
131
|
+
"The Outbound Collective",
|
|
132
|
+
"Trigger.dev",
|
|
133
|
+
"Trigger.dev",
|
|
134
|
+
"Trigger.dev",
|
|
135
|
+
"Two Bit Solutions",
|
|
136
|
+
"Two Bit Solutions",
|
|
137
|
+
"Two Bit Solutions",
|
|
138
|
+
"Vizcom",
|
|
139
|
+
"We Love Micro",
|
|
140
|
+
"We Love Micro",
|
|
141
|
+
"We Love Micro",
|
|
142
|
+
"We Love Micro",
|
|
143
|
+
"We Love Micro",
|
|
144
|
+
"We Love Micro",
|
|
134
145
|
"Zymego",
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
146
|
+
"dimply",
|
|
147
|
+
"dimply",
|
|
148
|
+
"dimply",
|
|
149
|
+
"garpulon",
|
|
138
150
|
"latch.bio",
|
|
139
151
|
"latch.bio",
|
|
140
152
|
"latch.bio",
|
|
141
|
-
"liteflow-labs",
|
|
142
|
-
"nick",
|
|
143
153
|
"nigelrmtaylor",
|
|
144
154
|
"nigelrmtaylor",
|
|
145
155
|
"nigelrmtaylor",
|
|
146
|
-
"nullachtvierzehn",
|
|
147
|
-
"nullachtvierzehn",
|
|
148
|
-
"nullachtvierzehn",
|
|
149
156
|
"stlbucket",
|
|
150
|
-
"svarmony"
|
|
157
|
+
"svarmony",
|
|
158
|
+
"urtho"
|
|
151
159
|
]
|