postgraphile 4.13.0 → 4.14.1

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 CHANGED
@@ -1,44 +1,64 @@
1
+ # This is V4; try V5!
2
+
3
+ You're looking at the README for **PostGraphile V4** — stable but feature-frozen.
4
+
5
+ **PostGraphile V5 beta** is nearing completion and has [frequent releases](https://www.npmjs.com/package/postgraphile?activeTab=versions)!
6
+
7
+ **Production-ready** and already powering many apps, V5 is a complete ground-up
8
+ rewrite powered by [Grafast](https://grafast.org), our cutting-edge planning
9
+ and execution engine for GraphQL. It dramatically reduces Postgres load,
10
+ supports true polymorphism, and introduces incremental delivery, executable
11
+ schema exports, greater control over your schema, and much more. Its efficient
12
+ and ergonomic extensibility guides you into the pit of success. It even
13
+ introduces an "eject button" for when you feel the need to move beyond an
14
+ autogenerated schema!
15
+
16
+ V5 remains in "beta" while we finalize the APIs, so minor adjustments may
17
+ be needed between updates. Postgres-centric users who leverage [trusted
18
+ documents](https://benjie.dev/graphql/trusted-documents) (highly recommended!)
19
+ should experience particularly smooth sailing!
20
+
21
+ - [**→ V5 status page**](https://postgraphile.org/v5beta)
22
+ - [**Overview of new features**](https://postgraphile.org/postgraphile/5/migrating-from-v4/v5-new-feature-summary)
23
+ - [Intro to V5 series](https://dev.to/benjie/series/23459) on dev.to
24
+ - [V5 Documentation](https://postgraphile.org/postgraphile/5)
25
+ - [V4 → V5 migration guide](https://postgraphile.org/postgraphile/5/migrating-from-v4)
26
+ - [Remaining tasks](https://github.com/orgs/graphile/projects/3)
27
+ - [💖 Sponsor us to help launch V5 sooner! 🚀](https://github.com/sponsors/benjie)
28
+
29
+ ---
30
+
1
31
  <img width="120" height="120" title="PostGraphile logo" src="https://cdn.rawgit.com/graphile/graphile.github.io/a6225f8c3052df5c276ecef28aeb0cade1aec16a/logos/postgraphile.optimized.svg" />
2
32
 
3
- # PostGraphile
33
+ # PostGraphile V4
4
34
 
5
35
  [![GitHub Sponsors](https://img.shields.io/github/sponsors/benjie?label=GitHub%20sponsors)](https://github.com/sponsors/benjie)
6
- [![Patreon sponsor button](https://img.shields.io/badge/sponsor-via%20Patreon-orange.svg)](https://patreon.com/benjie)
7
36
  [![Discord chat room](https://img.shields.io/discord/489127045289476126.svg)](http://discord.gg/graphile)
8
37
  [![Package on npm](https://img.shields.io/npm/v/postgraphile.svg?style=flat)](https://www.npmjs.com/package/postgraphile)
9
38
  ![MIT license](https://img.shields.io/npm/l/postgraphile.svg)
10
39
  [![Follow](https://img.shields.io/badge/twitter-@GraphileHQ-blue.svg)](https://twitter.com/GraphileHQ)
11
40
 
12
- _**Instant lightning-fast GraphQL API backed primarily by your PostgreSQL database. Highly customisable and extensible thanks to incredibly powerful plugin system.**_ _Formerly "PostGraphQL"._
41
+ _**Instant lightning-fast GraphQL API backed primarily by your PostgreSQL
42
+ database. Highly customisable and extensible thanks to incredibly powerful
43
+ plugin system.**_ _Formerly "PostGraphQL"._
13
44
 
14
- ## Documentation: [graphile.org/postgraphile](https://graphile.org/postgraphile)
45
+ ## V4 Documentation: [graphile.org/postgraphile](https://graphile.org/postgraphile)
15
46
 
16
47
  <!-- SPONSORS_BEGIN -->
17
48
 
18
49
  ## Crowd-funded open-source software
19
50
 
20
- To help us develop this software sustainably under the MIT license, we ask
21
- all individuals and businesses that use it to help support its ongoing
22
- maintenance and development via sponsorship.
51
+ To help us develop this software sustainably, we ask all individuals and
52
+ businesses that use it to help support its ongoing maintenance and development
53
+ via sponsorship.
23
54
 
24
55
  ### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)
25
56
 
26
57
  And please give some love to our featured sponsors 🤩:
27
58
 
28
59
  <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
60
  <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
- <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.enzuzo.com/"><img src="https://graphile.org/images/sponsors/enzuzo.png" width="90" height="90" alt="Enzuzo" /><br />Enzuzo</a> *</td>
38
- </tr><tr>
39
- <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>
40
- <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>
61
+ <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>
42
62
  </tr></table>
43
63
 
44
64
  <em>\* Sponsors the entire Graphile suite</em>
@@ -47,29 +67,67 @@ And please give some love to our featured sponsors 🤩:
47
67
 
48
68
  ## About
49
69
 
50
- **GraphQL** is a new way of communicating with your server. It eliminates the problems of over- and under-fetching, incorporates strong data types, has built-in introspection, documentation and deprecation capabilities, and is implemented in many programming languages. This all leads to gloriously low-latency user experiences, better developer experiences, and much increased productivity. Because of all this, GraphQL is typically used as a replacement for (or companion to) RESTful API services.
51
-
52
- **PostgreSQL** is the self-proclaimed “world’s most advanced open source database,” with each new release bringing more amazing features and performance gains. Thinking of your database as a plain CRUD store is now an archaic viewpoint as modern PostgreSQL can do so much for you &mdash; from authorization with Row-Level Security (RLS, introduced in PG9.5), through Foreign Data Wrappers (FDW), to real time notifications with `LISTEN`/`NOTIFY`.
53
-
54
- **PostGraphile** pairs these two incredible technologies together, helping you not only build applications more rapidly, but to build lightning-fast applications. PostGraphile allows you to access the power of PostgreSQL through a well designed, extensible, customisable and incredibly performant GraphQL server. It automatically detects tables, columns, indexes, relationships, views, types, functions, comments, and more - providing a GraphQL server that is highly intelligent about your data, and that automatically updates itself without restarting when you change your database schema.
55
-
56
- With PostGraphile, a well designed database schema should serve the basis for a well thought out API. PostgreSQL already has amazing authorization and relationship infrastructure, _why duplicate that logic_ in a custom API? A PostGraphile API is likely to provide a more performant and standards compliant GraphQL API than any created in-house, and can be built in a fraction of the time. Focus on your product and let PostGraphile worry about the API layer. Once you need to expand beyond this, we have a powerful plugin system including many [community contributed plugins](https://www.graphile.org/postgraphile/community-plugins/). For a critical evaluation of PostGraphile to determine if it fits in your tech stack, read [evaluating PostGraphile for your project](https://www.graphile.org/postgraphile/evaluating/).
70
+ **GraphQL** is a new way of communicating with your server. It eliminates the
71
+ problems of over- and under-fetching, incorporates strong data types, has
72
+ built-in introspection, documentation and deprecation capabilities, and is
73
+ implemented in many programming languages. This all leads to gloriously
74
+ low-latency user experiences, better developer experiences, and much increased
75
+ productivity. Because of all this, GraphQL is typically used as a replacement
76
+ for (or companion to) RESTful API services.
77
+
78
+ **PostgreSQL** is the self-proclaimed “world’s most advanced open source
79
+ database,” with each new release bringing more amazing features and performance
80
+ gains. Thinking of your database as a plain CRUD store is now an archaic
81
+ viewpoint as modern PostgreSQL can do so much for you &mdash; from authorization
82
+ with Row-Level Security (RLS, introduced in PG9.5), through Foreign Data
83
+ Wrappers (FDW), to real time notifications with `LISTEN`/`NOTIFY`.
84
+
85
+ **PostGraphile** pairs these two incredible technologies together, helping you
86
+ not only build applications more rapidly, but to build lightning-fast
87
+ applications. PostGraphile allows you to access the power of PostgreSQL through
88
+ a well designed, extensible, customisable and incredibly performant GraphQL
89
+ server. It automatically detects tables, columns, indexes, relationships, views,
90
+ types, functions, comments, and more - providing a GraphQL server that is highly
91
+ intelligent about your data, and that automatically updates itself without
92
+ restarting when you change your database schema.
93
+
94
+ With PostGraphile, a well designed database schema should serve the basis for a
95
+ well thought out API. PostgreSQL already has amazing authorization and
96
+ relationship infrastructure, _why duplicate that logic_ in a custom API? A
97
+ PostGraphile API is likely to provide a more performant and standards compliant
98
+ GraphQL API than any created in-house, and can be built in a fraction of the
99
+ time. Focus on your product and let PostGraphile worry about the API layer. Once
100
+ you need to expand beyond this, we have a powerful plugin system including many
101
+ [community contributed plugins](https://www.graphile.org/postgraphile/community-plugins/).
102
+ For a critical evaluation of PostGraphile to determine if it fits in your tech
103
+ stack, read
104
+ [evaluating PostGraphile for your project](https://www.graphile.org/postgraphile/evaluating/).
57
105
 
58
106
  ## Introduction
59
107
 
60
- Watch a talk by the original author [Caleb](https://twitter.com/calebmer) at GraphQL Summit for a walk-through of building an application with PostGraphile in under 7 minutes. This was using v2 (then called PostGraphQL); we're now up to v4 which has many more bells and whistles!
108
+ Watch a talk by the original author [Caleb](https://twitter.com/calebmer) at
109
+ GraphQL Summit for a walk-through of building an application with PostGraphile
110
+ in under 7 minutes. This was using v2 (then called PostGraphQL); we're now up to
111
+ v4 which has many more bells and whistles!
61
112
 
62
113
  [![PostGraphile at GraphQL Summit](https://img.youtube.com/vi/b3pwlCDy6vY/0.jpg)](https://www.youtube.com/watch?v=b3pwlCDy6vY)
63
114
 
64
- Hear from the current maintainer [Benjie](https://twitter.com/benjie) at GraphQL Finland about the benefits of Database-Driven GraphQL Development:
115
+ Hear from the current maintainer [Benjie](https://twitter.com/benjie) at GraphQL
116
+ Finland about the benefits of Database-Driven GraphQL Development:
65
117
 
66
118
  [![Database Driven GraphQL Development at GraphQL Finland](https://img.youtube.com/vi/XDOrhTXd4pE/0.jpg)](https://www.youtube.com/watch?v=XDOrhTXd4pE)
67
119
 
68
120
  ## Usage
69
121
 
70
- **Documentation: [graphile.org/postgraphile](https://graphile.org/postgraphile)**
122
+ **Documentation:
123
+ [graphile.org/postgraphile](https://graphile.org/postgraphile)**
71
124
 
72
- You can use PostGraphile via the CLI, as a Node.js middleware, or use the GraphQL schema directly. Make sure to check out the **[full usage instructions](https://graphile.org/postgraphile/usage/)** on the documentation website. We also have a [PostgreSQL schema design guide](https://www.graphile.org/postgraphile/postgresql-schema-design/) you can follow to build a fully functional PostGraphile API.
125
+ You can use PostGraphile via the CLI, as a Node.js middleware, or use the
126
+ GraphQL schema directly. Make sure to check out the
127
+ **[full usage instructions](https://graphile.org/postgraphile/usage/)** on the
128
+ documentation website. We also have a
129
+ [PostgreSQL schema design guide](https://www.graphile.org/postgraphile/postgresql-schema-design/)
130
+ you can follow to build a fully functional PostGraphile API.
73
131
 
74
132
  ### CLI
75
133
 
@@ -79,24 +137,32 @@ To get started you can install PostGraphile globally:
79
137
  npm install -g postgraphile
80
138
  ```
81
139
 
82
- …and then just run it! By default, PostGraphile will connect to your local database at `postgres://localhost:5432` and introspect the `public` schema. See [the available CLI flags](https://www.graphile.org/postgraphile/usage-cli/) with:
140
+ …and then just run it! By default, PostGraphile will connect to your local
141
+ database at `postgres://localhost:5432` and introspect the `public` schema. See
142
+ [the available CLI flags](https://www.graphile.org/postgraphile/usage-cli/)
143
+ with:
83
144
 
84
145
  ```bash
85
146
  postgraphile --help
86
147
  ```
87
148
 
88
- When you're ready to use PostGraphile for your own project, you're advised to install it locally with `yarn`, and run it with `npx`:
149
+ When you're ready to use PostGraphile for your own project, you're advised to
150
+ install it locally with `yarn`, and run it with `npx`:
89
151
 
90
152
  ```bash
91
153
  yarn add postgraphile
92
154
  npx postgraphile --help
93
155
  ```
94
156
 
95
- **macOS users**: PostGraphile has used port 5000 by default for 5+ years; recently Apple decided to bind the AirPlay service to port 5000 causing a conflict. Please use the `--port` option to bind to a different port.
157
+ **macOS users**: PostGraphile has used port 5000 by default for 5+ years;
158
+ recently Apple decided to bind the AirPlay service to port 5000 causing a
159
+ conflict. Please use the `--port` option to bind to a different port.
96
160
 
97
161
  ### Middleware
98
162
 
99
- You can also use PostGraphile as [native HTTP, Connect, Express, or Koa (experimental) middleware](https://www.graphile.org/postgraphile/usage-library/), e.g.:
163
+ You can also use PostGraphile as
164
+ [native HTTP, Connect, Express, or Koa (experimental) middleware](https://www.graphile.org/postgraphile/usage-library/),
165
+ e.g.:
100
166
 
101
167
  ```bash
102
168
  yarn add postgraphile
@@ -109,11 +175,15 @@ import postgraphile from 'postgraphile';
109
175
  createServer(postgraphile());
110
176
  ```
111
177
 
112
- Check out [hapi-postgraphile](https://github.com/mshick/hapi-postgraphile) if you're interested in using PostGraphile as a [hapi](https://github.com/hapijs/hapi) server plugin.
178
+ Check out [hapi-postgraphile](https://github.com/mshick/hapi-postgraphile) if
179
+ you're interested in using PostGraphile as a
180
+ [hapi](https://github.com/hapijs/hapi) server plugin.
113
181
 
114
182
  ### Docker
115
183
 
116
- To run via Docker, simply pass the [CLI options](https://www.graphile.org/postgraphile/usage-cli/) to the Docker container:
184
+ To run via Docker, simply pass the
185
+ [CLI options](https://www.graphile.org/postgraphile/usage-cli/) to the Docker
186
+ container:
117
187
 
118
188
  ```bash
119
189
  docker pull graphile/postgraphile
@@ -130,7 +200,8 @@ docker run --init -p 5000:5000 graphile/postgraphile --connection postgres://POS
130
200
 
131
201
  ## Read More
132
202
 
133
- **Full documentation for PostGraphile is located at [graphile.org/postgraphile](https://graphile.org/postgraphile).**
203
+ **Full documentation for PostGraphile is located at
204
+ [graphile.org/postgraphile](https://graphile.org/postgraphile).**
134
205
 
135
206
  PostGraphile features include:
136
207
 
@@ -143,12 +214,14 @@ PostGraphile features include:
143
214
  - [Custom mutations](https://www.graphile.org/postgraphile/custom-mutations/)
144
215
  - [Computed columns](https://www.graphile.org/postgraphile/computed-columns/)
145
216
  - Development UI (GraphiQL) built in
146
- - `--watch` mode, auto-detects changes in SQL schema, hot-reloads changes into GraphiQL
217
+ - `--watch` mode, auto-detects changes in SQL schema, hot-reloads changes into
218
+ GraphiQL
147
219
  - [Automatic documentation, enhanced by PostgreSQL `COMMENT`s](http://www.postgresql.org/docs/current/static/sql-comment.html)
148
220
  - [Schema customisation through smart comments](https://www.graphile.org/postgraphile/smart-comments/)
149
221
  - [Simple JWT authentication straight from the database](https://www.graphile.org/postgraphile/security/)
150
222
  - [Cursor-based pagination, Relay (classic & modern) compatible](https://www.graphile.org/postgraphile/connections/)
151
- - Global object identifiers (`nodeId` by default, but Relay-favoured `id` with `--classic-ids`)
223
+ - Global object identifiers (`nodeId` by default, but Relay-favoured `id` with
224
+ `--classic-ids`)
152
225
  - Relay-compatible mutations
153
226
  - [Use direct from the CLI](https://www.graphile.org/postgraphile/usage-cli/)
154
227
  - [Use as Express, Connect, or Koa middleware](https://www.graphile.org/postgraphile/usage-library/)
@@ -160,7 +233,8 @@ PostGraphile features include:
160
233
 
161
234
  ## Requirements
162
235
 
163
- [Full requirements are on the website](https://www.graphile.org/postgraphile/requirements/), but a basic summary is:
236
+ [Full requirements are on the website](https://www.graphile.org/postgraphile/requirements/),
237
+ but a basic summary is:
164
238
 
165
239
  - Node v8.6+
166
240
  - PostgreSQL 9.6+ (officially; but currently works with 9.4+)
@@ -173,25 +247,27 @@ Caveats:
173
247
 
174
248
  ## Supporting PostGraphile
175
249
 
176
- The fastest and easiest way you can help PostGraphile thrive is by [sponsoring
177
- ongoing development and maintenance](https://graphile.org/sponsor/).
250
+ The fastest and easiest way you can help PostGraphile thrive is by
251
+ [sponsoring ongoing development and maintenance](https://graphile.org/sponsor/).
178
252
 
179
- Want to help testing and developing PostGraphile? Check out the [contributing
180
- document](CONTRIBUTING.md) to get started quickly!
253
+ Want to help testing and developing PostGraphile? Check out the
254
+ [contributing document](CONTRIBUTING.md) to get started quickly!
181
255
 
182
256
  Commercial support, consultancy and development services are available direct
183
- from the maintainer; see [Professional Services](https://www.graphile.org/support/)
184
- for more information, or get in touch!
257
+ from the maintainer; see
258
+ [Professional Services](https://www.graphile.org/support/) for more information,
259
+ or get in touch!
185
260
 
186
- The maintainer of this project is [@Benjie](https://twitter.com/benjie) -
187
- follow him on Twitter!
261
+ The maintainer of this project is [@Benjie](https://twitter.com/benjie) - follow
262
+ him on Twitter!
188
263
 
189
264
  ## Thanks
190
265
 
191
- Huge thanks to [the individuals and companies who sponsor PostGraphile's
192
- development](SPONSORS.md) - their financial contributions enable more time to
193
- be spent on the project: from bug fixes, to code review, to new features! If
194
- you want to help the project advance more rapidly, please join them in
266
+ Huge thanks to
267
+ [the individuals and companies who sponsor PostGraphile's development](SPONSORS.md) -
268
+ their financial contributions enable more time to be spent on the project: from
269
+ bug fixes, to code review, to new features! If you want to help the project
270
+ advance more rapidly, please join them in
195
271
  [supporting this project](https://graphile.org/sponsor/) 🙏
196
272
 
197
273
  A humongous, heart-felt, thank you to the original author of PostGraphile -
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlEQUErQjtBQWEvQix1REFZMkI7QUFSekIsa0hBQUEsYUFBYSxPQUFBO0FBSWIsOEhBQUEseUJBQXlCLE9BQUE7QUFDekIsb0lBQUEsK0JBQStCLE9BQUE7QUFDL0IsaUlBQUEsNEJBQTRCLE9BQUE7QUFDNUIsMklBQUEsc0NBQXNDLE9BQUE7QUFHeEMsK0NBYXdCO0FBWnRCLDRHQUFBLFlBQVksT0FBQTtBQUNaLHdIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtIQUFBLCtCQUErQixPQUFBO0FBQy9CLDZHQUFBLGFBQWEsT0FBQTtBQUNiLDBCQUEwQjtBQUMxQiwyR0FBQSxZQUFZLE9BQWU7QUFDM0IsdUhBQUEsd0JBQXdCLE9BQTJCO0FBQ25ELHNIQUFBLHVCQUF1QixPQUEwQjtBQUNqRCxzSEFBQSx1QkFBdUIsT0FBMEI7QUFDakQsa0lBQUEsK0JBQStCLE9BQXNDO0FBR3ZFLDZEQUt3QztBQUp0QyxrSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixzSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwwSEFBQSw0QkFBNEIsT0FBQTtBQUc5Qix3REFBK0U7QUFBdEUsNEdBQUEsY0FBYyxPQUFBO0FBRXZCLGlEQUE4QztBQUM5QyxrQkFBZSwyQkFBWSxDQUFDIn0=
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, } = 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 }), { config: postgraphilerc_1.default, cliOptions: program });
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9zdGdyYXBoaWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUF5RDtBQUFoRCw0R0FBQSxPQUFPLE9BQWdCO0FBQ2hDLHFFQUE4RjtBQUFyRixrSUFBQSxPQUFPLE9BQTJCO0FBQUUsd0hBQUEsYUFBYSxPQUFBO0FBQzFELHVEQUFzRjtBQUE3RSw2SEFBQSx3QkFBd0IsT0FBQTtBQUFFLDRIQUFBLHVCQUF1QixPQUFBO0FBRTFELHNEQUF1RTtBQUE5RCxnSUFBQSwrQkFBK0IsT0FBQSJ9
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==
@@ -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';
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlEQUErQjtBQWEvQix1REFZMkI7QUFSekIsa0hBQUEsYUFBYSxPQUFBO0FBSWIsOEhBQUEseUJBQXlCLE9BQUE7QUFDekIsb0lBQUEsK0JBQStCLE9BQUE7QUFDL0IsaUlBQUEsNEJBQTRCLE9BQUE7QUFDNUIsMklBQUEsc0NBQXNDLE9BQUE7QUFHeEMsK0NBYXdCO0FBWnRCLDRHQUFBLFlBQVksT0FBQTtBQUNaLHdIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLHVIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLCtIQUFBLCtCQUErQixPQUFBO0FBQy9CLDZHQUFBLGFBQWEsT0FBQTtBQUNiLDBCQUEwQjtBQUMxQiwyR0FBQSxZQUFZLE9BQWU7QUFDM0IsdUhBQUEsd0JBQXdCLE9BQTJCO0FBQ25ELHNIQUFBLHVCQUF1QixPQUEwQjtBQUNqRCxzSEFBQSx1QkFBdUIsT0FBMEI7QUFDakQsa0lBQUEsK0JBQStCLE9BQXNDO0FBR3ZFLDZEQUt3QztBQUp0QyxrSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixzSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSx1QkFBdUIsT0FBQTtBQUN2QiwwSEFBQSw0QkFBNEIsT0FBQTtBQUc5Qix3REFBK0U7QUFBdEUsNEdBQUEsY0FBYyxPQUFBO0FBRXZCLGlEQUE4QztBQUM5QyxrQkFBZSwyQkFBWSxDQUFDIn0=
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9zdGdyYXBoaWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUF5RDtBQUFoRCw0R0FBQSxPQUFPLE9BQWdCO0FBQ2hDLHFFQUE4RjtBQUFyRixrSUFBQSxPQUFPLE9BQTJCO0FBQUUsd0hBQUEsYUFBYSxPQUFBO0FBQzFELHVEQUFzRjtBQUE3RSw2SEFBQSx3QkFBd0IsT0FBQTtBQUFFLDRIQUFBLHVCQUF1QixPQUFBO0FBRTFELHNEQUF1RTtBQUE5RCxnSUFBQSwrQkFBK0IsT0FBQSJ9
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.13.0",
3
+ "version": "4.14.1",
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.13.0",
64
- "graphile-build-pg": "4.13.0",
65
- "graphile-utils": "^4.13.0",
63
+ "graphile-build": "4.14.1",
64
+ "graphile-build-pg": "4.14.1",
65
+ "graphile-utils": "^4.14.1",
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.13.0",
76
- "postgraphile-core": "4.13.0",
75
+ "pg-sql2": "4.14.1",
76
+ "postgraphile-core": "4.14.1",
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,126 +1,60 @@
1
1
  [
2
- "ARK",
3
2
  "Alvin Ali Khaled",
3
+ "Andrew Joseph",
4
+ "Apollo",
5
+ "Apollo",
6
+ "Apollo",
4
7
  "Axinom",
5
8
  "Axinom",
6
9
  "Axinom",
7
- "Ayog Healthcare",
8
- "Ayog Healthcare",
9
- "Ayog Healthcare",
10
- "Benjamin Berman",
11
- "CJ Lazell",
12
- "CartoLab",
13
- "Chad Furman",
14
- "Chad Furman",
15
- "Chad Furman",
16
- "Chad Furman",
17
- "Chad Furman",
18
- "Chad Furman",
19
- "Chris Watland",
20
- "Daniel Einspanjer",
21
- "DocIQ",
22
- "DocIQ",
23
- "DocIQ",
24
- "Dovetail",
25
- "Dovetail",
26
- "Dovetail",
27
- "Dovetail",
28
- "Dovetail",
29
- "Dovetail",
30
- "Enzuzo",
31
- "Enzuzo",
32
- "Enzuzo",
33
- "Enzuzo",
34
- "Enzuzo",
35
- "Enzuzo",
36
- "Fanatics",
37
- "Fanatics",
38
- "Fanatics",
39
- "Fanatics",
40
- "Fanatics",
41
- "Fanatics",
42
- "Gamma Peak",
10
+ "BairesDev",
11
+ "BairesDev",
12
+ "BairesDev",
13
+ "Beacon",
14
+ "Beacon",
15
+ "Beacon",
16
+ "Charlie Hadden",
17
+ "Cintra",
18
+ "Cintra",
19
+ "Cintra",
20
+ "Dialo",
21
+ "Dimply",
22
+ "Dimply",
23
+ "Dimply",
24
+ "Ether",
43
25
  "HR-ON",
44
- "HR-ON",
45
- "HR-ON",
46
- "IFCHOR GROUP",
47
- "IaSQL",
48
- "IaSQL",
49
- "IaSQL",
50
- "IaSQL",
51
- "IaSQL",
52
- "IaSQL",
53
- "Ian Stewart",
54
- "Ian Stewart",
55
- "Ian Stewart",
56
- "James Rascoe",
57
- "Jimmy Liu",
58
- "Joe Dennis",
59
- "Joe Dennis",
60
- "Joe Dennis",
61
- "Kadi Kraman",
26
+ "Jody Hoon-Starr",
27
+ "Justin Carrus",
62
28
  "Keith Layne",
63
- "Luxor Labs",
64
- "Luxor Labs",
65
- "Luxor Labs",
66
- "Mansoor Razzaq",
67
- "Mark",
29
+ "Kiron Open Higher Education",
30
+ "Locomote",
31
+ "Locomote",
32
+ "Locomote",
68
33
  "Matt Bretl",
69
- "Nathanael Beisiegel",
70
- "Nathanael Beisiegel",
71
- "Nathanael Beisiegel",
72
- "Netflix",
73
- "Netflix",
74
- "Netflix",
75
- "Netflix",
76
- "Netflix",
77
- "Netflix",
78
- "Nicolas Penot",
79
- "Notably",
80
- "Notably",
81
- "Notably",
82
- "Olli Selamaa",
34
+ "Nate Smith",
35
+ "Ndustrial",
36
+ "Ndustrial",
37
+ "Ndustrial",
83
38
  "Paul Melnikow",
84
- "Philipp Litzenberger",
85
- "Politics Rewired",
86
- "Politics Rewired",
87
- "Politics Rewired",
88
- "Politics Rewired",
89
- "Politics Rewired",
90
- "Politics Rewired",
91
- "PostHog",
92
- "PostHog",
93
- "PostHog",
94
- "Postlight",
39
+ "Peter C. Romano",
95
40
  "Principia Mentis",
96
41
  "Principia Mentis",
97
42
  "Principia Mentis",
98
- "Qwick",
99
- "Qwick",
100
- "Qwick",
101
- "Qwick",
102
- "Qwick",
103
- "Qwick",
43
+ "Ravio",
44
+ "Ravio",
45
+ "Ravio",
104
46
  "Robert Claypool",
105
47
  "Robert Claypool",
106
48
  "Robert Claypool",
107
- "Sam Levin",
108
- "Sen Palanisami",
49
+ "SIED 70 - TE 70",
109
50
  "Simon Elliott",
110
- "Splitgraph",
111
- "Stellate",
112
- "Stellate",
113
- "Stellate",
114
- "Stellate",
115
- "Stellate",
116
- "Stellate",
117
- "Stéphane Klein",
118
- "Surge",
119
- "Surge",
120
- "Surge",
121
- "Surge",
122
- "Surge",
123
- "Surge",
51
+ "Steelhead",
52
+ "Steelhead",
53
+ "Steelhead",
54
+ "Steelhead",
55
+ "Steelhead",
56
+ "Steelhead",
57
+ "Tailos, Inc.",
124
58
  "Taiste",
125
59
  "Taiste",
126
60
  "Taiste",
@@ -130,22 +64,29 @@
130
64
  "The Guild",
131
65
  "The Guild",
132
66
  "The Guild",
133
- "Zentered",
67
+ "The Outbound Collective",
68
+ "Trigger.dev",
69
+ "Trigger.dev",
70
+ "Trigger.dev",
71
+ "Two Bit Solutions",
72
+ "Two Bit Solutions",
73
+ "Two Bit Solutions",
74
+ "Vizcom",
75
+ "WorkOS",
134
76
  "Zymego",
135
- "domonda",
136
- "domonda",
137
- "domonda",
138
- "latch.bio",
139
- "latch.bio",
140
- "latch.bio",
141
- "liteflow-labs",
142
- "nick",
77
+ "deliver.media",
78
+ "deliver.media",
79
+ "deliver.media",
80
+ "garpulon",
81
+ "kontakto-fi",
82
+ "mateo",
143
83
  "nigelrmtaylor",
144
84
  "nigelrmtaylor",
145
85
  "nigelrmtaylor",
146
86
  "nullachtvierzehn",
147
- "nullachtvierzehn",
148
- "nullachtvierzehn",
149
- "stlbucket",
150
- "svarmony"
87
+ "prodready",
88
+ "prodready",
89
+ "prodready",
90
+ "sheilamosaik",
91
+ "stlbucket"
151
92
  ]