@grafserv/persisted 0.0.0-alpha.9 → 0.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,11 +1,161 @@
1
1
  # @grafserv/persisted
2
2
 
3
+ ## 0.0.0-beta.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ [[`23bd3c291`](https://github.com/benjie/crystal/commit/23bd3c291246aebf27cf2784f40fc948485f43c9)]:
9
+ - grafast@0.0.1-beta.2
10
+ - grafserv@0.0.1-beta.2
11
+
12
+ ## 0.0.0-beta.1
13
+
14
+ ### Patch Changes
15
+
16
+ - [`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)
17
+ Thanks [@benjie](https://github.com/benjie)! - Bump all packages to beta
18
+
19
+ - Updated dependencies
20
+ [[`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)]:
21
+ - grafast@0.0.1-beta.1
22
+ - grafserv@0.0.1-beta.1
23
+ - graphile-config@0.0.1-beta.1
24
+ - @graphile/lru@5.0.0-beta.1
25
+
26
+ ## 0.0.0-alpha.17
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies
31
+ [[`dfefdad3c`](https://github.com/benjie/crystal/commit/dfefdad3cd5a99c36d47eb0bddd914bab4ca9a1f)]:
32
+ - grafast@0.0.1-alpha.16
33
+ - grafserv@0.0.1-alpha.16
34
+
35
+ ## 0.0.0-alpha.16
36
+
37
+ ### Patch Changes
38
+
39
+ - Updated dependencies
40
+ [[`ea003ca3a`](https://github.com/benjie/crystal/commit/ea003ca3a8f68fb87dca603582e47981ed033996),
41
+ [`57d88b5fa`](https://github.com/benjie/crystal/commit/57d88b5fa3ed296210c1fcb223452213fd57985b),
42
+ [`a22830b2f`](https://github.com/benjie/crystal/commit/a22830b2f293b50a244ac18e1601d7579b450c7d),
43
+ [`9f87a26b1`](https://github.com/benjie/crystal/commit/9f87a26b10e5539aa88cfd9909e265513e941fd5)]:
44
+ - grafast@0.0.1-alpha.15
45
+ - graphile-config@0.0.1-alpha.7
46
+ - grafserv@0.0.1-alpha.15
47
+
48
+ ## 0.0.0-alpha.15
49
+
50
+ ### Patch Changes
51
+
52
+ - Updated dependencies
53
+ [[`d99d666fb`](https://github.com/benjie/crystal/commit/d99d666fb234eb02dd196610995fa480c596242a)]:
54
+ - grafast@0.0.1-alpha.14
55
+ - grafserv@0.0.1-alpha.14
56
+
57
+ ## 0.0.0-alpha.14
58
+
59
+ ### Patch Changes
60
+
61
+ - [#418](https://github.com/benjie/crystal/pull/418)
62
+ [`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de)
63
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul peerDependencies and
64
+ dependencies to try and eliminate duplicate modules error.
65
+
66
+ - [#417](https://github.com/benjie/crystal/pull/417)
67
+ [`9a324f195`](https://github.com/benjie/crystal/commit/9a324f195568f3ee6ade858c881fe9777c238c14)
68
+ Thanks [@benjie](https://github.com/benjie)! - Use an LRU for caching the
69
+ getter from options - prevents memory exhaustion in the case of poorly written
70
+ consumer code.
71
+ - Updated dependencies
72
+ [[`620f9e07e`](https://github.com/benjie/crystal/commit/620f9e07ec6f4d66a8dc01ed6bb054a75f7b1c8b),
73
+ [`1882e0185`](https://github.com/benjie/crystal/commit/1882e018576adf69bcae8a999224cb4d5e62a3e1),
74
+ [`881672305`](https://github.com/benjie/crystal/commit/88167230578393e3b24a364f0d673e36c5cb088d),
75
+ [`e5012f9a1`](https://github.com/benjie/crystal/commit/e5012f9a1901af63e1703ea4d717e8a22544f5e7),
76
+ [`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de),
77
+ [`47f6f018b`](https://github.com/benjie/crystal/commit/47f6f018b11761cbfaa63d709edc0e3f4f9a9924),
78
+ [`ff4395bfc`](https://github.com/benjie/crystal/commit/ff4395bfc6e6b2fb263f644dae1e984c52dd84b9),
79
+ [`502b23340`](https://github.com/benjie/crystal/commit/502b233401975637bc0d516af78721b37f6f9b7b)]:
80
+ - grafast@0.0.1-alpha.13
81
+ - grafserv@0.0.1-alpha.13
82
+
83
+ ## 0.0.0-alpha.13
84
+
85
+ ### Patch Changes
86
+
87
+ - [#407](https://github.com/benjie/crystal/pull/407)
88
+ [`9281a2d88`](https://github.com/benjie/crystal/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478)
89
+ Thanks [@benjie](https://github.com/benjie)! - Exported `version` no longer
90
+ uses `require('../package.json')` hack, instead the version number is written
91
+ to a source file at versioning time. Packages now export `version`.
92
+
93
+ - [#408](https://github.com/benjie/crystal/pull/408)
94
+ [`799007532`](https://github.com/benjie/crystal/commit/79900753258f5fae8c64160281dfd4f3c68d7b11)
95
+ Thanks [@benjie](https://github.com/benjie)! - No longer polls the persisted
96
+ queries folder every 5 seconds unless you configure it to do so. New watch
97
+ mode _untested_.
98
+ - Updated dependencies
99
+ [[`9281a2d88`](https://github.com/benjie/crystal/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478),
100
+ [`675b7abb9`](https://github.com/benjie/crystal/commit/675b7abb93e11d955930b9026fb0b65a56ecc999),
101
+ [`c5050dd28`](https://github.com/benjie/crystal/commit/c5050dd286bd6d9fa4a5d9cfbf87ba609cb148dd),
102
+ [`0d1782869`](https://github.com/benjie/crystal/commit/0d1782869adc76f5bbcecfdcbb85a258c468ca37)]:
103
+ - grafast@0.0.1-alpha.12
104
+ - graphile-config@0.0.1-alpha.6
105
+ - grafserv@0.0.1-alpha.12
106
+
107
+ ## 0.0.0-alpha.12
108
+
109
+ ### Patch Changes
110
+
111
+ - Updated dependencies
112
+ [[`644938276`](https://github.com/benjie/crystal/commit/644938276ebd48c5486ba9736a525fcc66d7d714)]:
113
+ - graphile-config@0.0.1-alpha.5
114
+ - grafast@0.0.1-alpha.11
115
+ - grafserv@0.0.1-alpha.11
116
+
117
+ ## 0.0.0-alpha.11
118
+
119
+ ### Patch Changes
120
+
121
+ - [#399](https://github.com/benjie/crystal/pull/399)
122
+ [`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd)
123
+ Thanks [@benjie](https://github.com/benjie)! - Change many of the dependencies
124
+ to be instead (or also) peerDependencies, to avoid duplicate modules.
125
+ - Updated dependencies
126
+ [[`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd),
127
+ [`b7533bd4d`](https://github.com/benjie/crystal/commit/b7533bd4dfc210cb8b113b8fa06f163a212aa5e4),
128
+ [`9feb769c2`](https://github.com/benjie/crystal/commit/9feb769c2df0c57971ed26a937be4a1bee7a7524),
129
+ [`7573bf374`](https://github.com/benjie/crystal/commit/7573bf374897228b613b19f37b4e076737db3279),
130
+ [`2c8586b36`](https://github.com/benjie/crystal/commit/2c8586b367b76af91d1785cc90455c70911fdec7),
131
+ [`c43802d74`](https://github.com/benjie/crystal/commit/c43802d7419f93d18964c654f16d0937a2e23ca0),
132
+ [`b118b8f6d`](https://github.com/benjie/crystal/commit/b118b8f6dc18196212cfb0a05486e1dd8d77ccf8),
133
+ [`9008c4f87`](https://github.com/benjie/crystal/commit/9008c4f87df53be4051c49f9836358dc2baa59df),
134
+ [`e8c81cd20`](https://github.com/benjie/crystal/commit/e8c81cd2046390ed5b6799aa7ff3d90b28a1861a)]:
135
+ - grafserv@0.0.1-alpha.10
136
+ - grafast@0.0.1-alpha.10
137
+
138
+ ## 0.0.0-alpha.10
139
+
140
+ ### Patch Changes
141
+
142
+ - Updated dependencies
143
+ [[`56237691b`](https://github.com/benjie/crystal/commit/56237691bf3eed321b7159e17f36e3651356946f),
144
+ [`ed1982f31`](https://github.com/benjie/crystal/commit/ed1982f31a845ceb3aafd4b48d667649f06778f5),
145
+ [`1fe47a2b0`](https://github.com/benjie/crystal/commit/1fe47a2b08d6e7153a22dde3a99b7a9bf50c4f84),
146
+ [`198ac74d5`](https://github.com/benjie/crystal/commit/198ac74d52fe1e47d602fe2b7c52f216d5216b25),
147
+ [`6878c589c`](https://github.com/benjie/crystal/commit/6878c589cc9fc8f05a6efd377e1272ae24fbf256),
148
+ [`2ac706f18`](https://github.com/benjie/crystal/commit/2ac706f18660c855fe20f460b50694fdd04a7768)]:
149
+ - grafast@0.0.1-alpha.9
150
+ - graphile-config@0.0.1-alpha.4
151
+ - grafserv@0.0.1-alpha.9
152
+
3
153
  ## 0.0.0-alpha.9
4
154
 
5
155
  ### Patch Changes
6
156
 
7
157
  - Updated dependencies
8
- [[`dd3ef599c`](https://github.com/benjie/postgraphile-private/commit/dd3ef599c7f2530fd1a19a852d334b7349e49e70)]:
158
+ [[`dd3ef599c`](https://github.com/benjie/crystal/commit/dd3ef599c7f2530fd1a19a852d334b7349e49e70)]:
9
159
  - grafast@0.0.1-alpha.8
10
160
  - grafserv@0.0.1-alpha.8
11
161
 
@@ -14,11 +164,11 @@
14
164
  ### Patch Changes
15
165
 
16
166
  - Updated dependencies
17
- [[`5c9d32264`](https://github.com/benjie/postgraphile-private/commit/5c9d322644028e33f5273fb9bcaaf6a80f1f7360),
18
- [`9ddaaaa96`](https://github.com/benjie/postgraphile-private/commit/9ddaaaa9617874cb44946acfcd252517ae427446),
19
- [`2fcbe688c`](https://github.com/benjie/postgraphile-private/commit/2fcbe688c11b355f0688b96e99012a829cf8b7cb),
20
- [`3a984718a`](https://github.com/benjie/postgraphile-private/commit/3a984718a322685304777dec7cd48a1efa15539d),
21
- [`adc7ae5e0`](https://github.com/benjie/postgraphile-private/commit/adc7ae5e002961c8b8286500527752f21139ab9e)]:
167
+ [[`5c9d32264`](https://github.com/benjie/crystal/commit/5c9d322644028e33f5273fb9bcaaf6a80f1f7360),
168
+ [`9ddaaaa96`](https://github.com/benjie/crystal/commit/9ddaaaa9617874cb44946acfcd252517ae427446),
169
+ [`2fcbe688c`](https://github.com/benjie/crystal/commit/2fcbe688c11b355f0688b96e99012a829cf8b7cb),
170
+ [`3a984718a`](https://github.com/benjie/crystal/commit/3a984718a322685304777dec7cd48a1efa15539d),
171
+ [`adc7ae5e0`](https://github.com/benjie/crystal/commit/adc7ae5e002961c8b8286500527752f21139ab9e)]:
22
172
  - grafast@0.0.1-alpha.7
23
173
  - grafserv@0.0.1-alpha.7
24
174
  - graphile-config@0.0.1-alpha.3
@@ -28,7 +178,7 @@
28
178
  ### Patch Changes
29
179
 
30
180
  - Updated dependencies
31
- [[`f75926f4b`](https://github.com/benjie/postgraphile-private/commit/f75926f4b9aee33adff8bdf6b1a4137582cb47ba)]:
181
+ [[`f75926f4b`](https://github.com/benjie/crystal/commit/f75926f4b9aee33adff8bdf6b1a4137582cb47ba)]:
32
182
  - grafast@0.0.1-alpha.6
33
183
  - grafserv@0.0.1-alpha.6
34
184
 
@@ -37,8 +187,8 @@
37
187
  ### Patch Changes
38
188
 
39
189
  - Updated dependencies
40
- [[`86e503d78`](https://github.com/benjie/postgraphile-private/commit/86e503d785626ad9a2e91ec2e70b272dd632d425),
41
- [`24822d0dc`](https://github.com/benjie/postgraphile-private/commit/24822d0dc87d41f0b0737d6e00cf4022de4bab5e)]:
190
+ [[`86e503d78`](https://github.com/benjie/crystal/commit/86e503d785626ad9a2e91ec2e70b272dd632d425),
191
+ [`24822d0dc`](https://github.com/benjie/crystal/commit/24822d0dc87d41f0b0737d6e00cf4022de4bab5e)]:
42
192
  - grafast@0.0.1-alpha.5
43
193
  - grafserv@0.0.1-alpha.5
44
194
 
@@ -47,7 +197,7 @@
47
197
  ### Patch Changes
48
198
 
49
199
  - Updated dependencies
50
- [[`45dcf3a8f`](https://github.com/benjie/postgraphile-private/commit/45dcf3a8fd8bad5c8b82a7cbff2db4dacb916950)]:
200
+ [[`45dcf3a8f`](https://github.com/benjie/crystal/commit/45dcf3a8fd8bad5c8b82a7cbff2db4dacb916950)]:
51
201
  - grafast@0.0.1-alpha.4
52
202
  - grafserv@0.0.1-alpha.4
53
203
 
@@ -55,8 +205,8 @@
55
205
 
56
206
  ### Patch Changes
57
207
 
58
- - [#332](https://github.com/benjie/postgraphile-private/pull/332)
59
- [`faa1c9eaa`](https://github.com/benjie/postgraphile-private/commit/faa1c9eaa25cbd6f0e25635f6a100d0dc9be6106)
208
+ - [#332](https://github.com/benjie/crystal/pull/332)
209
+ [`faa1c9eaa`](https://github.com/benjie/crystal/commit/faa1c9eaa25cbd6f0e25635f6a100d0dc9be6106)
60
210
  Thanks [@benjie](https://github.com/benjie)! - Adjust dependencies and
61
211
  peerDependencies and peerDependenciesMeta.
62
212
 
@@ -64,16 +214,16 @@
64
214
 
65
215
  ### Patch Changes
66
216
 
67
- - [`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
217
+ - [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
68
218
  Thanks [@benjie](https://github.com/benjie)! - Upgrade to the latest
69
219
  TypeScript/tslib
70
220
 
71
221
  - Updated dependencies
72
- [[`2389f47ec`](https://github.com/benjie/postgraphile-private/commit/2389f47ecf3b708f1085fdeb818eacaaeb257a2d),
73
- [`e91ee201d`](https://github.com/benjie/postgraphile-private/commit/e91ee201d80d3b32e4e632b101f4c25362a1a05b),
74
- [`865bec590`](https://github.com/benjie/postgraphile-private/commit/865bec5901f666e147f5d4088152d1f0d2584827),
75
- [`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71),
76
- [`d39a5d409`](https://github.com/benjie/postgraphile-private/commit/d39a5d409ffe1a5855740ecbff1ad11ec0bf6660)]:
222
+ [[`2389f47ec`](https://github.com/benjie/crystal/commit/2389f47ecf3b708f1085fdeb818eacaaeb257a2d),
223
+ [`e91ee201d`](https://github.com/benjie/crystal/commit/e91ee201d80d3b32e4e632b101f4c25362a1a05b),
224
+ [`865bec590`](https://github.com/benjie/crystal/commit/865bec5901f666e147f5d4088152d1f0d2584827),
225
+ [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71),
226
+ [`d39a5d409`](https://github.com/benjie/crystal/commit/d39a5d409ffe1a5855740ecbff1ad11ec0bf6660)]:
77
227
  - grafast@0.0.1-alpha.3
78
228
  - grafserv@0.0.1-alpha.3
79
229
  - graphile-config@0.0.1-alpha.2
@@ -83,9 +233,9 @@
83
233
  ### Patch Changes
84
234
 
85
235
  - Updated dependencies
86
- [[`3cf35fdb4`](https://github.com/benjie/postgraphile-private/commit/3cf35fdb41d08762e9ff838a55dd7fc6004941f8),
87
- [`7c45eaf4e`](https://github.com/benjie/postgraphile-private/commit/7c45eaf4ed6edf3b9e7bb17846d553f5504e0fb4),
88
- [`3df3f1726`](https://github.com/benjie/postgraphile-private/commit/3df3f17269bb896cdee90ed8c4ab46fb821a1509)]:
236
+ [[`3cf35fdb4`](https://github.com/benjie/crystal/commit/3cf35fdb41d08762e9ff838a55dd7fc6004941f8),
237
+ [`7c45eaf4e`](https://github.com/benjie/crystal/commit/7c45eaf4ed6edf3b9e7bb17846d553f5504e0fb4),
238
+ [`3df3f1726`](https://github.com/benjie/crystal/commit/3df3f17269bb896cdee90ed8c4ab46fb821a1509)]:
89
239
  - grafserv@0.0.1-alpha.2
90
240
  - grafast@0.0.1-alpha.2
91
241
 
@@ -93,12 +243,12 @@
93
243
 
94
244
  ### Patch Changes
95
245
 
96
- - [`759ad403d`](https://github.com/benjie/postgraphile-private/commit/759ad403d71363312c5225c165873ae84b8a098c)
246
+ - [`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)
97
247
  Thanks [@benjie](https://github.com/benjie)! - Alpha release - see
98
248
  https://postgraphile.org/news/2023-04-26-version-5-alpha
99
249
 
100
250
  - Updated dependencies
101
- [[`759ad403d`](https://github.com/benjie/postgraphile-private/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
251
+ [[`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
102
252
  - grafast@0.0.1-alpha.1
103
253
  - grafserv@0.0.1-alpha.1
104
254
  - graphile-config@0.0.1-alpha.1
@@ -107,16 +257,16 @@
107
257
 
108
258
  ### Patch Changes
109
259
 
110
- - [#297](https://github.com/benjie/postgraphile-private/pull/297)
111
- [`5a7396e2d`](https://github.com/benjie/postgraphile-private/commit/5a7396e2d1675f49b1d54cf6e748f2bc35aefe8a)
260
+ - [#297](https://github.com/benjie/crystal/pull/297)
261
+ [`5a7396e2d`](https://github.com/benjie/crystal/commit/5a7396e2d1675f49b1d54cf6e748f2bc35aefe8a)
112
262
  Thanks [@benjie](https://github.com/benjie)! - New @grafserv/persisted plugin
113
263
  to add persisted operations support to Grafserv 🎉
114
264
  - Updated dependencies
115
- [[`90ed0cb7a`](https://github.com/benjie/postgraphile-private/commit/90ed0cb7a78479b85115cd1ce045ac253107b3eb),
116
- [`56be761c2`](https://github.com/benjie/postgraphile-private/commit/56be761c29343e28ba4980c62c955b5adaef25c0),
117
- [`8d270ead3`](https://github.com/benjie/postgraphile-private/commit/8d270ead3fa8331e28974aae052bd48ad537d1bf),
118
- [`1a012bdd7`](https://github.com/benjie/postgraphile-private/commit/1a012bdd7d3748ac9a4ca9b1f771876654988f25),
119
- [`b4eaf89f4`](https://github.com/benjie/postgraphile-private/commit/b4eaf89f401ca207de08770361d07903f6bb9cb0)]:
265
+ [[`90ed0cb7a`](https://github.com/benjie/crystal/commit/90ed0cb7a78479b85115cd1ce045ac253107b3eb),
266
+ [`56be761c2`](https://github.com/benjie/crystal/commit/56be761c29343e28ba4980c62c955b5adaef25c0),
267
+ [`8d270ead3`](https://github.com/benjie/crystal/commit/8d270ead3fa8331e28974aae052bd48ad537d1bf),
268
+ [`1a012bdd7`](https://github.com/benjie/crystal/commit/1a012bdd7d3748ac9a4ca9b1f771876654988f25),
269
+ [`b4eaf89f4`](https://github.com/benjie/crystal/commit/b4eaf89f401ca207de08770361d07903f6bb9cb0)]:
120
270
  - grafserv@0.0.1-1.3
121
271
  - grafast@0.0.1-1.3
122
272
  - graphile-config@0.0.1-1.2
package/README.md CHANGED
@@ -30,15 +30,14 @@ and development via sponsorship.
30
30
  And please give some love to our featured sponsors 🤩:
31
31
 
32
32
  <table><tr>
33
- <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>
34
33
  <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>
35
34
  <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>
36
35
  <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>
37
- </tr><tr>
38
36
  <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>
37
+ </tr><tr>
39
38
  <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>
40
- <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>
41
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://www.accenture.com/"><img src="https://graphile.org/images/sponsors/accenture.svg" width="90" height="90" alt="Accenture" /><br />Accenture</a> *</td>
42
41
  </tr></table>
43
42
 
44
43
  <em>\* Sponsors the entire Graphile suite</em>
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,YAAY,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAIhE,QAAA,MAAM,eAAe,EAAE,cAAc,CAAC,MA8CrC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,YAAY,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAKhE,QAAA,MAAM,eAAe,EAAE,cAAc,CAAC,MA8CrC,CAAC;AAEF,eAAe,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const grafast_1 = require("grafast");
5
5
  const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
6
- const version = require("../package.json").version;
6
+ const lru_1 = tslib_1.__importDefault(require("@graphile/lru"));
7
+ const version_js_1 = require("./version.js");
7
8
  const PersistedPlugin = {
8
9
  name: "PersistedPlugin",
9
10
  description: "Enables persisted operations in Grafserv",
10
- version,
11
+ version: version_js_1.version,
11
12
  grafserv: {
12
13
  hooks: {
13
14
  processGraphQLRequestBody(info, event) {
@@ -61,15 +62,28 @@ function defaultHashFromPayload(payload) {
61
62
  function persistedOperationGetterForCache(cache) {
62
63
  return (key) => cache[key];
63
64
  }
64
- function makeGetterForDirectory(directory) {
65
+ function makeGetterForDirectory(directory, scanInterval = -1) {
66
+ // TODO: implement AbortController integration for timer, etc.
67
+ const abortController = new AbortController();
68
+ const { signal } = abortController;
65
69
  // NOTE: We periodically scan the folder to see what files it contains so
66
70
  // that we can reject requests to non-existent files to avoid DOS attacks
67
71
  // having us make lots of requests to the filesystem.
68
72
  let files = null;
73
+ /** is scanDirectory active? */
74
+ let scanning = false;
75
+ /** Should we scan the directory again once the current scanDirectory is complete? */
76
+ let scanAgain = false;
69
77
  /**
70
78
  * This function must never reject.
71
79
  */
72
80
  async function scanDirectory() {
81
+ if (scanning) {
82
+ scanAgain = true;
83
+ return;
84
+ }
85
+ scanning = true;
86
+ scanAgain = false;
73
87
  try {
74
88
  const allFiles = await promises_1.default.readdir(directory);
75
89
  files = allFiles.filter((name) => name.endsWith(".graphql"));
@@ -79,16 +93,37 @@ function makeGetterForDirectory(directory) {
79
93
  console.error(e);
80
94
  }
81
95
  finally {
82
- // TODO: This interval should be configurable.
83
- // TODO: This might not be needed in production, and if so should be able to be disabled.
84
- // TODO: In dev watching the folder might be a better experience.
85
- // We don't know how long the scanning takes, so rather than setting an
86
- // interval, we wait 5 seconds between scans before kicking off the next
87
- // one.
88
- setTimeout(scanDirectory, 5000);
96
+ scanning = false;
97
+ if (scanInterval === "watch") {
98
+ if (scanAgain) {
99
+ scanDirectory();
100
+ }
101
+ }
102
+ else if (typeof scanInterval === "number" && scanInterval >= 0) {
103
+ // We don't know how long the scanning takes, so rather than setting an
104
+ // interval, we wait for a scan to complete before kicking off the next
105
+ // one.
106
+ setTimeout(scanDirectory, scanInterval);
107
+ }
89
108
  }
90
109
  }
91
110
  scanDirectory();
111
+ if (scanInterval === "watch") {
112
+ (async () => {
113
+ try {
114
+ const watcher = promises_1.default.watch(directory, { signal, recursive: false });
115
+ for await (const _event of watcher) {
116
+ scanDirectory();
117
+ }
118
+ }
119
+ catch (err) {
120
+ if (err.name === "AbortError")
121
+ return;
122
+ console.error(`Error occurred whilst watching the persisted operations directory. Folder is no longer being watched. Recommend you restart your server (and file an issue explaining what happened).`);
123
+ console.error(err);
124
+ }
125
+ })();
126
+ }
92
127
  const operationFromHash = new Map();
93
128
  function getOperationFromHash(hash) {
94
129
  if (!/^[a-zA-Z0-9_-]+$/.test(hash)) {
@@ -111,17 +146,18 @@ function makeGetterForDirectory(directory) {
111
146
  }
112
147
  return operation;
113
148
  }
114
- return getOperationFromHash;
149
+ return { getter: getOperationFromHash, abortController };
115
150
  }
116
151
  const directoryGetterByDirectory = new Map();
117
152
  /**
118
153
  * Given a directory, get or make the persisted operations getter.
119
154
  */
120
- function getterForDirectory(directory) {
121
- let getter = directoryGetterByDirectory.get(directory);
155
+ function getterForDirectory(directory, scanInterval) {
156
+ const key = `${scanInterval}|${directory}`;
157
+ let getter = directoryGetterByDirectory.get(key);
122
158
  if (!getter) {
123
- getter = makeGetterForDirectory(directory);
124
- directoryGetterByDirectory.set(directory, getter);
159
+ getter = makeGetterForDirectory(directory, scanInterval);
160
+ directoryGetterByDirectory.set(key, getter);
125
161
  }
126
162
  return getter;
127
163
  }
@@ -146,16 +182,17 @@ function getterFromOptionsCore(options) {
146
182
  return persistedOperationGetterForCache(options.persistedOperations);
147
183
  }
148
184
  else if (options.persistedOperationsDirectory) {
149
- return getterForDirectory(options.persistedOperationsDirectory);
185
+ // TODO: do something with abortController? abortController.abort()
186
+ const { getter, abortController: _abortController } = getterForDirectory(options.persistedOperationsDirectory, options.persistedOperationsDirectoryScanInterval);
187
+ return getter;
150
188
  }
151
189
  else {
152
190
  throw new Error("Server misconfiguration issue: persisted operations (operation allowlist) is in place, but the server has not been told how to fetch the allowed operations. Please provide one of the persisted operations configuration options.");
153
191
  }
154
192
  }
155
- // TODO: use an LRU? For users using lots of new options objects this will
156
- // cause a memory leak. But LRUs have a performance cost... Maybe switch to LRU
157
- // once the size has grown?
158
- const getterFromOptionsCache = new Map();
193
+ const getterFromOptionsCache = new lru_1.default({
194
+ maxLength: 100,
195
+ });
159
196
  /**
160
197
  * Returns a cached getter for performance reasons.
161
198
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,qCAAoC;AAMpC,wEAAmC;AAInC,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AAEnD,MAAM,eAAe,GAA0B;IAC7C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,0CAA0C;IACvD,OAAO;IAEP,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,yBAAyB,CAAC,IAAI,EAAE,KAAK;gBACnC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,OAAO,EAAE;oBACZ,MAAM,IAAI,mBAAS,CACjB,yDAAyD,EACzD,EAAE,UAAU,EAAE,GAAG,EAAE,CACpB,CAAC;iBACH;gBACD,MAAM,SAAS,GAAG,6BAA6B,CAC7C,IAAI,EACJ,OAAO,EACP,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,CAChD,CAAC;gBACF,mBAAmB;gBACnB,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACtD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;4BACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;yBAChB;6BAAM;4BACL,MAAM,IAAI,mBAAS,CACjB,0FAA0F,EAC1F,EAAE,UAAU,EAAE,GAAG,EAAE,CACpB,CAAC;yBACH;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;wBACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;qBACxB;yBAAM;wBACL,MAAM,IAAI,mBAAS,CACjB,0FAA0F,EAC1F,EAAE,UAAU,EAAE,GAAG,EAAE,CACpB,CAAC;qBACH;iBACF;YACH,CAAC;SACF;KACF;CACF,CAAC;AAEF,kBAAe,eAAe,CAAC;AAE/B;;;GAGG;AACH,SAAS,sBAAsB,CAAC,OAAuB;IACrD,OAAO;IACL,0EAA0E;IAC1E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU;QAC/C,oEAAoE;QACpE,OAAO,EAAE,UAAU;QACnB,kBAAkB;QAClB,OAAO,EAAE,EAAE,CACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gCAAgC,CAAC,KAAgC;IACxE,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,yEAAyE;IACzE,yEAAyE;IACzE,qDAAqD;IAErD,IAAI,KAAK,GAAoB,IAAI,CAAC;IAElC;;OAEG;IACH,KAAK,UAAU,aAAa;QAC1B,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,kBAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;SAC9D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,SAAS,GAAG,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClB;gBAAS;YACR,8CAA8C;YAC9C,yFAAyF;YACzF,iEAAiE;YAEjE,uEAAuE;YACvE,wEAAwE;YACxE,OAAO;YACP,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SACjC;IACH,CAAC;IAED,aAAa,EAAE,CAAC;IAEhB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAG9B,CAAC;IACJ,SAAS,oBAAoB,CAAC,IAAY;QACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QACD,IAAI,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC;aAC3D;YACD,SAAS,GAAG,kBAAG;iBACZ,QAAQ,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC;iBAC5C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACvC,wEAAwE;YACxE,SAAS,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAGvC,CAAC;AAEJ;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,IAAI,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC3C,0BAA0B,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KACnD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAAuC;IACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3D;QACE,2BAA2B;QAC3B,8BAA8B;QAC9B,qBAAqB;KACtB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAChB,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,uEAAuE;QACvE,MAAM,IAAI,KAAK,CACb,IAAI,gBAAgB,CAAC,IAAI,CACvB,SAAS,CACV,qEAAqE,CACvE,CAAC;KACH;IACD,IAAI,OAAO,CAAC,yBAAyB,EAAE;QACrC,OAAO,OAAO,CAAC,yBAAyB,CAAC;KAC1C;SAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE;QACtC,OAAO,gCAAgC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;KACtE;SAAM,IAAI,OAAO,CAAC,4BAA4B,EAAE;QAC/C,OAAO,kBAAkB,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;KACjE;SAAM;QACL,MAAM,IAAI,KAAK,CACb,oOAAoO,CACrO,CAAC;KACH;AACH,CAAC;AAED,0EAA0E;AAC1E,+EAA+E;AAC/E,2BAA2B;AAC3B,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAGnC,CAAC;AAEJ;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAuC;IAChE,IAAI,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC7C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAoCD,SAAS,+BAA+B,CACtC,OAAuC,EACvC,KAAqC;IAErC,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC;IAC9C,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE;QACnD,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;KACzC;IACD,OAAO,CAAC,CAAC,yBAAyB,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B,CACpC,OAA0B,EAC1B,OAAuC,EACvC,yBAAkC;IAElC,IAAI;QACF,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,sBAAsB,CAAC;QAC1E,MAAM,IAAI,GAAG,eAAe,CAAC,OAAyB,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,yBAAyB,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,EAAE;gBACnE,OAAO,OAAO,CAAC,KAAK,CAAC;aACtB;YAED,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;SACH;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE5E,2EAA2E;QAC3E,6BAA6B;QAC7B,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,17 @@ declare global {
28
28
  * mitigate denial of service attacks asking for non-existent hashes.
29
29
  */
30
30
  persistedOperationsDirectory?: string;
31
+ /**
32
+ * How many milliseconds should we leave it between scans of the persisted
33
+ * operations folder, checking for new files?
34
+ *
35
+ * Set this to the string "watch" to use `fs.watch` to monitor for changes. [EXPERIMENTAL].
36
+ *
37
+ * Set to `-1` to disable.
38
+ *
39
+ * Default: -1
40
+ */
41
+ persistedOperationsDirectoryScanInterval?: number | "watch";
31
42
  /**
32
43
  * An optional string-string key-value object defining the persisted
33
44
  * operations, where the keys are the hashes, and the values are the
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,UAAU,CAAC;AAGlB;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,IAAI,EAAE,MAAM,KACT,eAAe,CAAC,MAAM,CAAC,CAAC;AAE7B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,eAAe;YACvB;;;;;;;;eAQG;YACH,eAAe,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;YAEjE;;;;;;;;eAQG;YACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;YAEtC;;;;eAIG;YACH,mBAAmB,CAAC,EAAE;gBAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;YAEjD;;;;;eAKG;YACH,yBAAyB,CAAC,EAAE,wBAAwB,CAAC;YAErD;;;;;;;;;;;;;;;;;;;eAmBG;YACH,yBAAyB,CAAC,EACtB,OAAO,GACP,CAAC,CAAC,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,CAAC;SAC1D;KACF;CACF"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,UAAU,CAAC;AAGlB;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,IAAI,EAAE,MAAM,KACT,eAAe,CAAC,MAAM,CAAC,CAAC;AAE7B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,eAAe;YACvB;;;;;;;;eAQG;YACH,eAAe,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;YAEjE;;;;;;;;eAQG;YACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;YAEtC;;;;;;;;;eASG;YACH,wCAAwC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;YAE5D;;;;eAIG;YACH,mBAAmB,CAAC,EAAE;gBAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;YAEjD;;;;;eAKG;YACH,yBAAyB,CAAC,EAAE,wBAAwB,CAAC;YAErD;;;;;;;;;;;;;;;;;;;eAmBG;YACH,yBAAyB,CAAC,EACtB,OAAO,GACP,CAAC,CAAC,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,CAAC;SAC1D;KACF;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare const version = "0.0.0-beta.2";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.version = void 0;
4
+ // This file is autogenerated by /scripts/postversion.mjs
5
+ exports.version = "0.0.0-beta.2";
6
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AAC5C,QAAA,OAAO,GAAG,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafserv/persisted",
3
- "version": "0.0.0-alpha.9",
3
+ "version": "0.0.0-beta.2",
4
4
  "description": "Persisted operations support for Grafserv",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -39,22 +39,28 @@
39
39
  },
40
40
  "homepage": "https://github.com/graphile/heart/tree/main/grafast/grafserv-persisted",
41
41
  "dependencies": {
42
- "graphile-config": "^0.0.1-alpha.3",
42
+ "@graphile/lru": "^5.0.0-beta.1",
43
43
  "tslib": "^2.5.0"
44
44
  },
45
45
  "engines": {
46
46
  "node": ">=16.10"
47
47
  },
48
48
  "peerDependencies": {
49
- "grafast": "^0.0.1-alpha.8",
50
- "grafserv": "^0.0.1-alpha.8",
51
- "graphql": "^16.1.0-experimental-stream-defer.6"
49
+ "grafast": "^0.0.1-beta.2",
50
+ "grafserv": "^0.0.1-beta.2",
51
+ "graphile-config": "^0.0.1-beta.1"
52
+ },
53
+ "peerDependenciesMeta": {
54
+ "graphile-config": {
55
+ "optional": true
56
+ }
52
57
  },
53
58
  "devDependencies": {
54
- "grafast": "^0.0.1-alpha.8",
55
- "grafserv": "^0.0.1-alpha.8",
59
+ "grafast": "^0.0.1-beta.2",
60
+ "grafserv": "^0.0.1-beta.2",
61
+ "graphile-config": "^0.0.1-beta.1",
56
62
  "jest": "^28.1.3",
57
- "jest-serializer-graphql-schema": "^5.0.0-alpha.2",
63
+ "jest-serializer-graphql-schema": "^5.0.0-beta.1",
58
64
  "ts-node": "^10.9.1",
59
65
  "typescript": "^5.0.4"
60
66
  },