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

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,254 @@
1
1
  # @grafserv/persisted
2
2
 
3
+ ## 0.0.0-beta.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ [[`4a4d26d87`](https://github.com/graphile/crystal/commit/4a4d26d87ce74589429b8ca5126a7bfdf30351b8),
9
+ [`b2bce88da`](https://github.com/graphile/crystal/commit/b2bce88da26c7a8965468be16fc2d935eadd3434),
10
+ [`861a8a306`](https://github.com/graphile/crystal/commit/861a8a306ef42a821da19e77903ddd7e8130bfb3),
11
+ [`2d31f058b`](https://github.com/graphile/crystal/commit/2d31f058b34d3f5ef11699582b9a4960a4ebc471)]:
12
+ - grafast@0.1.1-beta.0
13
+ - grafserv@0.1.1-beta.0
14
+
15
+ ## 0.0.0-beta.9
16
+
17
+ ### Patch Changes
18
+
19
+ - [#514](https://github.com/graphile/crystal-pre-merge/pull/514)
20
+ [`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b)
21
+ Thanks [@benjie](https://github.com/benjie)! - Update package.json repository
22
+ information
23
+
24
+ - Updated dependencies
25
+ [[`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b),
26
+ [`ede1092fe`](https://github.com/graphile/crystal-pre-merge/commit/ede1092fe197719b6fa786f4cfa75f6a1f4c56c1),
27
+ [`566983fbd`](https://github.com/graphile/crystal-pre-merge/commit/566983fbd99c4b2df8c4ebd6260521670a2b7dfc),
28
+ [`409bf6071`](https://github.com/graphile/crystal-pre-merge/commit/409bf607180d4d8faec658c803e5ec4d1a00c451)]:
29
+ - graphile-config@0.0.1-beta.3
30
+ - grafserv@0.0.1-beta.9
31
+ - grafast@0.0.1-beta.8
32
+ - @graphile/lru@5.0.0-beta.3
33
+
34
+ ## 0.0.0-beta.8
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies []:
39
+ - grafserv@0.0.1-beta.8
40
+
41
+ ## 0.0.0-beta.7
42
+
43
+ ### Patch Changes
44
+
45
+ - Updated dependencies
46
+ [[`3700e204f`](https://github.com/benjie/crystal/commit/3700e204f430db182c92ca7abc82017c81fa1f9b)]:
47
+ - grafast@0.0.1-beta.7
48
+ - grafserv@0.0.1-beta.7
49
+
50
+ ## 0.0.0-beta.6
51
+
52
+ ### Patch Changes
53
+
54
+ - [#496](https://github.com/benjie/crystal/pull/496)
55
+ [`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1)
56
+ Thanks [@benjie](https://github.com/benjie)! - Update dependencies (sometimes
57
+ through major versions).
58
+
59
+ - Updated dependencies
60
+ [[`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1),
61
+ [`e613b476d`](https://github.com/benjie/crystal/commit/e613b476d6ee867d1f7509c895dabee40e7f9a31)]:
62
+ - graphile-config@0.0.1-beta.2
63
+ - grafserv@0.0.1-beta.6
64
+ - grafast@0.0.1-beta.6
65
+ - @graphile/lru@5.0.0-beta.2
66
+
67
+ ## 0.0.0-beta.5
68
+
69
+ ### Patch Changes
70
+
71
+ - Updated dependencies
72
+ [[`53186213a`](https://github.com/benjie/crystal/commit/53186213ade962f4b66cb0d5ea8b57b5ce7ea85f)]:
73
+ - grafast@0.0.1-beta.5
74
+ - grafserv@0.0.1-beta.5
75
+
76
+ ## 0.0.0-beta.4
77
+
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies
81
+ [[`f9cc88dc4`](https://github.com/benjie/crystal/commit/f9cc88dc442d371aee154a28d4e63c6da39f6b2e),
82
+ [`22fa6230a`](https://github.com/benjie/crystal/commit/22fa6230aa7c7271e5360e619ec9e1f52c6ea49c),
83
+ [`fa8cfcf9b`](https://github.com/benjie/crystal/commit/fa8cfcf9b4ce0c3e12511f3f6392051924a719e5)]:
84
+ - grafast@0.0.1-beta.4
85
+ - grafserv@0.0.1-beta.4
86
+
87
+ ## 0.0.0-beta.3
88
+
89
+ ### Patch Changes
90
+
91
+ - Updated dependencies
92
+ [[`46cd08aa1`](https://github.com/benjie/crystal/commit/46cd08aa13e3bac4d186c72c6ce24997f37658af)]:
93
+ - grafast@0.0.1-beta.3
94
+ - grafserv@0.0.1-beta.3
95
+
96
+ ## 0.0.0-beta.2
97
+
98
+ ### Patch Changes
99
+
100
+ - Updated dependencies
101
+ [[`23bd3c291`](https://github.com/benjie/crystal/commit/23bd3c291246aebf27cf2784f40fc948485f43c9)]:
102
+ - grafast@0.0.1-beta.2
103
+ - grafserv@0.0.1-beta.2
104
+
105
+ ## 0.0.0-beta.1
106
+
107
+ ### Patch Changes
108
+
109
+ - [`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)
110
+ Thanks [@benjie](https://github.com/benjie)! - Bump all packages to beta
111
+
112
+ - Updated dependencies
113
+ [[`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)]:
114
+ - grafast@0.0.1-beta.1
115
+ - grafserv@0.0.1-beta.1
116
+ - graphile-config@0.0.1-beta.1
117
+ - @graphile/lru@5.0.0-beta.1
118
+
119
+ ## 0.0.0-alpha.17
120
+
121
+ ### Patch Changes
122
+
123
+ - Updated dependencies
124
+ [[`dfefdad3c`](https://github.com/benjie/crystal/commit/dfefdad3cd5a99c36d47eb0bddd914bab4ca9a1f)]:
125
+ - grafast@0.0.1-alpha.16
126
+ - grafserv@0.0.1-alpha.16
127
+
128
+ ## 0.0.0-alpha.16
129
+
130
+ ### Patch Changes
131
+
132
+ - Updated dependencies
133
+ [[`ea003ca3a`](https://github.com/benjie/crystal/commit/ea003ca3a8f68fb87dca603582e47981ed033996),
134
+ [`57d88b5fa`](https://github.com/benjie/crystal/commit/57d88b5fa3ed296210c1fcb223452213fd57985b),
135
+ [`a22830b2f`](https://github.com/benjie/crystal/commit/a22830b2f293b50a244ac18e1601d7579b450c7d),
136
+ [`9f87a26b1`](https://github.com/benjie/crystal/commit/9f87a26b10e5539aa88cfd9909e265513e941fd5)]:
137
+ - grafast@0.0.1-alpha.15
138
+ - graphile-config@0.0.1-alpha.7
139
+ - grafserv@0.0.1-alpha.15
140
+
141
+ ## 0.0.0-alpha.15
142
+
143
+ ### Patch Changes
144
+
145
+ - Updated dependencies
146
+ [[`d99d666fb`](https://github.com/benjie/crystal/commit/d99d666fb234eb02dd196610995fa480c596242a)]:
147
+ - grafast@0.0.1-alpha.14
148
+ - grafserv@0.0.1-alpha.14
149
+
150
+ ## 0.0.0-alpha.14
151
+
152
+ ### Patch Changes
153
+
154
+ - [#418](https://github.com/benjie/crystal/pull/418)
155
+ [`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de)
156
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul peerDependencies and
157
+ dependencies to try and eliminate duplicate modules error.
158
+
159
+ - [#417](https://github.com/benjie/crystal/pull/417)
160
+ [`9a324f195`](https://github.com/benjie/crystal/commit/9a324f195568f3ee6ade858c881fe9777c238c14)
161
+ Thanks [@benjie](https://github.com/benjie)! - Use an LRU for caching the
162
+ getter from options - prevents memory exhaustion in the case of poorly written
163
+ consumer code.
164
+ - Updated dependencies
165
+ [[`620f9e07e`](https://github.com/benjie/crystal/commit/620f9e07ec6f4d66a8dc01ed6bb054a75f7b1c8b),
166
+ [`1882e0185`](https://github.com/benjie/crystal/commit/1882e018576adf69bcae8a999224cb4d5e62a3e1),
167
+ [`881672305`](https://github.com/benjie/crystal/commit/88167230578393e3b24a364f0d673e36c5cb088d),
168
+ [`e5012f9a1`](https://github.com/benjie/crystal/commit/e5012f9a1901af63e1703ea4d717e8a22544f5e7),
169
+ [`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de),
170
+ [`47f6f018b`](https://github.com/benjie/crystal/commit/47f6f018b11761cbfaa63d709edc0e3f4f9a9924),
171
+ [`ff4395bfc`](https://github.com/benjie/crystal/commit/ff4395bfc6e6b2fb263f644dae1e984c52dd84b9),
172
+ [`502b23340`](https://github.com/benjie/crystal/commit/502b233401975637bc0d516af78721b37f6f9b7b)]:
173
+ - grafast@0.0.1-alpha.13
174
+ - grafserv@0.0.1-alpha.13
175
+
176
+ ## 0.0.0-alpha.13
177
+
178
+ ### Patch Changes
179
+
180
+ - [#407](https://github.com/benjie/crystal/pull/407)
181
+ [`9281a2d88`](https://github.com/benjie/crystal/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478)
182
+ Thanks [@benjie](https://github.com/benjie)! - Exported `version` no longer
183
+ uses `require('../package.json')` hack, instead the version number is written
184
+ to a source file at versioning time. Packages now export `version`.
185
+
186
+ - [#408](https://github.com/benjie/crystal/pull/408)
187
+ [`799007532`](https://github.com/benjie/crystal/commit/79900753258f5fae8c64160281dfd4f3c68d7b11)
188
+ Thanks [@benjie](https://github.com/benjie)! - No longer polls the persisted
189
+ queries folder every 5 seconds unless you configure it to do so. New watch
190
+ mode _untested_.
191
+ - Updated dependencies
192
+ [[`9281a2d88`](https://github.com/benjie/crystal/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478),
193
+ [`675b7abb9`](https://github.com/benjie/crystal/commit/675b7abb93e11d955930b9026fb0b65a56ecc999),
194
+ [`c5050dd28`](https://github.com/benjie/crystal/commit/c5050dd286bd6d9fa4a5d9cfbf87ba609cb148dd),
195
+ [`0d1782869`](https://github.com/benjie/crystal/commit/0d1782869adc76f5bbcecfdcbb85a258c468ca37)]:
196
+ - grafast@0.0.1-alpha.12
197
+ - graphile-config@0.0.1-alpha.6
198
+ - grafserv@0.0.1-alpha.12
199
+
200
+ ## 0.0.0-alpha.12
201
+
202
+ ### Patch Changes
203
+
204
+ - Updated dependencies
205
+ [[`644938276`](https://github.com/benjie/crystal/commit/644938276ebd48c5486ba9736a525fcc66d7d714)]:
206
+ - graphile-config@0.0.1-alpha.5
207
+ - grafast@0.0.1-alpha.11
208
+ - grafserv@0.0.1-alpha.11
209
+
210
+ ## 0.0.0-alpha.11
211
+
212
+ ### Patch Changes
213
+
214
+ - [#399](https://github.com/benjie/crystal/pull/399)
215
+ [`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd)
216
+ Thanks [@benjie](https://github.com/benjie)! - Change many of the dependencies
217
+ to be instead (or also) peerDependencies, to avoid duplicate modules.
218
+ - Updated dependencies
219
+ [[`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd),
220
+ [`b7533bd4d`](https://github.com/benjie/crystal/commit/b7533bd4dfc210cb8b113b8fa06f163a212aa5e4),
221
+ [`9feb769c2`](https://github.com/benjie/crystal/commit/9feb769c2df0c57971ed26a937be4a1bee7a7524),
222
+ [`7573bf374`](https://github.com/benjie/crystal/commit/7573bf374897228b613b19f37b4e076737db3279),
223
+ [`2c8586b36`](https://github.com/benjie/crystal/commit/2c8586b367b76af91d1785cc90455c70911fdec7),
224
+ [`c43802d74`](https://github.com/benjie/crystal/commit/c43802d7419f93d18964c654f16d0937a2e23ca0),
225
+ [`b118b8f6d`](https://github.com/benjie/crystal/commit/b118b8f6dc18196212cfb0a05486e1dd8d77ccf8),
226
+ [`9008c4f87`](https://github.com/benjie/crystal/commit/9008c4f87df53be4051c49f9836358dc2baa59df),
227
+ [`e8c81cd20`](https://github.com/benjie/crystal/commit/e8c81cd2046390ed5b6799aa7ff3d90b28a1861a)]:
228
+ - grafserv@0.0.1-alpha.10
229
+ - grafast@0.0.1-alpha.10
230
+
231
+ ## 0.0.0-alpha.10
232
+
233
+ ### Patch Changes
234
+
235
+ - Updated dependencies
236
+ [[`56237691b`](https://github.com/benjie/crystal/commit/56237691bf3eed321b7159e17f36e3651356946f),
237
+ [`ed1982f31`](https://github.com/benjie/crystal/commit/ed1982f31a845ceb3aafd4b48d667649f06778f5),
238
+ [`1fe47a2b0`](https://github.com/benjie/crystal/commit/1fe47a2b08d6e7153a22dde3a99b7a9bf50c4f84),
239
+ [`198ac74d5`](https://github.com/benjie/crystal/commit/198ac74d52fe1e47d602fe2b7c52f216d5216b25),
240
+ [`6878c589c`](https://github.com/benjie/crystal/commit/6878c589cc9fc8f05a6efd377e1272ae24fbf256),
241
+ [`2ac706f18`](https://github.com/benjie/crystal/commit/2ac706f18660c855fe20f460b50694fdd04a7768)]:
242
+ - grafast@0.0.1-alpha.9
243
+ - graphile-config@0.0.1-alpha.4
244
+ - grafserv@0.0.1-alpha.9
245
+
3
246
  ## 0.0.0-alpha.9
4
247
 
5
248
  ### Patch Changes
6
249
 
7
250
  - Updated dependencies
8
- [[`dd3ef599c`](https://github.com/benjie/postgraphile-private/commit/dd3ef599c7f2530fd1a19a852d334b7349e49e70)]:
251
+ [[`dd3ef599c`](https://github.com/benjie/crystal/commit/dd3ef599c7f2530fd1a19a852d334b7349e49e70)]:
9
252
  - grafast@0.0.1-alpha.8
10
253
  - grafserv@0.0.1-alpha.8
11
254
 
@@ -14,11 +257,11 @@
14
257
  ### Patch Changes
15
258
 
16
259
  - 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)]:
260
+ [[`5c9d32264`](https://github.com/benjie/crystal/commit/5c9d322644028e33f5273fb9bcaaf6a80f1f7360),
261
+ [`9ddaaaa96`](https://github.com/benjie/crystal/commit/9ddaaaa9617874cb44946acfcd252517ae427446),
262
+ [`2fcbe688c`](https://github.com/benjie/crystal/commit/2fcbe688c11b355f0688b96e99012a829cf8b7cb),
263
+ [`3a984718a`](https://github.com/benjie/crystal/commit/3a984718a322685304777dec7cd48a1efa15539d),
264
+ [`adc7ae5e0`](https://github.com/benjie/crystal/commit/adc7ae5e002961c8b8286500527752f21139ab9e)]:
22
265
  - grafast@0.0.1-alpha.7
23
266
  - grafserv@0.0.1-alpha.7
24
267
  - graphile-config@0.0.1-alpha.3
@@ -28,7 +271,7 @@
28
271
  ### Patch Changes
29
272
 
30
273
  - Updated dependencies
31
- [[`f75926f4b`](https://github.com/benjie/postgraphile-private/commit/f75926f4b9aee33adff8bdf6b1a4137582cb47ba)]:
274
+ [[`f75926f4b`](https://github.com/benjie/crystal/commit/f75926f4b9aee33adff8bdf6b1a4137582cb47ba)]:
32
275
  - grafast@0.0.1-alpha.6
33
276
  - grafserv@0.0.1-alpha.6
34
277
 
@@ -37,8 +280,8 @@
37
280
  ### Patch Changes
38
281
 
39
282
  - Updated dependencies
40
- [[`86e503d78`](https://github.com/benjie/postgraphile-private/commit/86e503d785626ad9a2e91ec2e70b272dd632d425),
41
- [`24822d0dc`](https://github.com/benjie/postgraphile-private/commit/24822d0dc87d41f0b0737d6e00cf4022de4bab5e)]:
283
+ [[`86e503d78`](https://github.com/benjie/crystal/commit/86e503d785626ad9a2e91ec2e70b272dd632d425),
284
+ [`24822d0dc`](https://github.com/benjie/crystal/commit/24822d0dc87d41f0b0737d6e00cf4022de4bab5e)]:
42
285
  - grafast@0.0.1-alpha.5
43
286
  - grafserv@0.0.1-alpha.5
44
287
 
@@ -47,7 +290,7 @@
47
290
  ### Patch Changes
48
291
 
49
292
  - Updated dependencies
50
- [[`45dcf3a8f`](https://github.com/benjie/postgraphile-private/commit/45dcf3a8fd8bad5c8b82a7cbff2db4dacb916950)]:
293
+ [[`45dcf3a8f`](https://github.com/benjie/crystal/commit/45dcf3a8fd8bad5c8b82a7cbff2db4dacb916950)]:
51
294
  - grafast@0.0.1-alpha.4
52
295
  - grafserv@0.0.1-alpha.4
53
296
 
@@ -55,8 +298,8 @@
55
298
 
56
299
  ### Patch Changes
57
300
 
58
- - [#332](https://github.com/benjie/postgraphile-private/pull/332)
59
- [`faa1c9eaa`](https://github.com/benjie/postgraphile-private/commit/faa1c9eaa25cbd6f0e25635f6a100d0dc9be6106)
301
+ - [#332](https://github.com/benjie/crystal/pull/332)
302
+ [`faa1c9eaa`](https://github.com/benjie/crystal/commit/faa1c9eaa25cbd6f0e25635f6a100d0dc9be6106)
60
303
  Thanks [@benjie](https://github.com/benjie)! - Adjust dependencies and
61
304
  peerDependencies and peerDependenciesMeta.
62
305
 
@@ -64,16 +307,16 @@
64
307
 
65
308
  ### Patch Changes
66
309
 
67
- - [`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
310
+ - [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
68
311
  Thanks [@benjie](https://github.com/benjie)! - Upgrade to the latest
69
312
  TypeScript/tslib
70
313
 
71
314
  - 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)]:
315
+ [[`2389f47ec`](https://github.com/benjie/crystal/commit/2389f47ecf3b708f1085fdeb818eacaaeb257a2d),
316
+ [`e91ee201d`](https://github.com/benjie/crystal/commit/e91ee201d80d3b32e4e632b101f4c25362a1a05b),
317
+ [`865bec590`](https://github.com/benjie/crystal/commit/865bec5901f666e147f5d4088152d1f0d2584827),
318
+ [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71),
319
+ [`d39a5d409`](https://github.com/benjie/crystal/commit/d39a5d409ffe1a5855740ecbff1ad11ec0bf6660)]:
77
320
  - grafast@0.0.1-alpha.3
78
321
  - grafserv@0.0.1-alpha.3
79
322
  - graphile-config@0.0.1-alpha.2
@@ -83,9 +326,9 @@
83
326
  ### Patch Changes
84
327
 
85
328
  - 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)]:
329
+ [[`3cf35fdb4`](https://github.com/benjie/crystal/commit/3cf35fdb41d08762e9ff838a55dd7fc6004941f8),
330
+ [`7c45eaf4e`](https://github.com/benjie/crystal/commit/7c45eaf4ed6edf3b9e7bb17846d553f5504e0fb4),
331
+ [`3df3f1726`](https://github.com/benjie/crystal/commit/3df3f17269bb896cdee90ed8c4ab46fb821a1509)]:
89
332
  - grafserv@0.0.1-alpha.2
90
333
  - grafast@0.0.1-alpha.2
91
334
 
@@ -93,12 +336,12 @@
93
336
 
94
337
  ### Patch Changes
95
338
 
96
- - [`759ad403d`](https://github.com/benjie/postgraphile-private/commit/759ad403d71363312c5225c165873ae84b8a098c)
339
+ - [`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)
97
340
  Thanks [@benjie](https://github.com/benjie)! - Alpha release - see
98
341
  https://postgraphile.org/news/2023-04-26-version-5-alpha
99
342
 
100
343
  - Updated dependencies
101
- [[`759ad403d`](https://github.com/benjie/postgraphile-private/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
344
+ [[`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
102
345
  - grafast@0.0.1-alpha.1
103
346
  - grafserv@0.0.1-alpha.1
104
347
  - graphile-config@0.0.1-alpha.1
@@ -107,16 +350,16 @@
107
350
 
108
351
  ### Patch Changes
109
352
 
110
- - [#297](https://github.com/benjie/postgraphile-private/pull/297)
111
- [`5a7396e2d`](https://github.com/benjie/postgraphile-private/commit/5a7396e2d1675f49b1d54cf6e748f2bc35aefe8a)
353
+ - [#297](https://github.com/benjie/crystal/pull/297)
354
+ [`5a7396e2d`](https://github.com/benjie/crystal/commit/5a7396e2d1675f49b1d54cf6e748f2bc35aefe8a)
112
355
  Thanks [@benjie](https://github.com/benjie)! - New @grafserv/persisted plugin
113
356
  to add persisted operations support to Grafserv 🎉
114
357
  - 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)]:
358
+ [[`90ed0cb7a`](https://github.com/benjie/crystal/commit/90ed0cb7a78479b85115cd1ce045ac253107b3eb),
359
+ [`56be761c2`](https://github.com/benjie/crystal/commit/56be761c29343e28ba4980c62c955b5adaef25c0),
360
+ [`8d270ead3`](https://github.com/benjie/crystal/commit/8d270ead3fa8331e28974aae052bd48ad537d1bf),
361
+ [`1a012bdd7`](https://github.com/benjie/crystal/commit/1a012bdd7d3748ac9a4ca9b1f771876654988f25),
362
+ [`b4eaf89f4`](https://github.com/benjie/crystal/commit/b4eaf89f401ca207de08770361d07903f6bb9cb0)]:
120
363
  - grafserv@0.0.1-1.3
121
364
  - grafast@0.0.1-1.3
122
365
  - graphile-config@0.0.1-1.2
package/README.md CHANGED
@@ -21,24 +21,23 @@ servers you will need different software.
21
21
 
22
22
  ## Crowd-funded open-source software
23
23
 
24
- To help us develop this software sustainably under the MIT license, we ask all
25
- individuals and businesses that use it to help support its ongoing maintenance
26
- and development via sponsorship.
24
+ To help us develop this software sustainably, we ask all individuals and
25
+ businesses that use it to help support its ongoing maintenance and development
26
+ via sponsorship.
27
27
 
28
28
  ### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)
29
29
 
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
- <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
35
  <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>
39
36
  <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>
37
+ </tr><tr>
41
38
  <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>
39
+ <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>
40
+ <td align="center"><a href="https://microteam.io/"><img src="https://graphile.org/images/sponsors/micro.png" width="90" height="90" alt="We Love Micro" /><br />We Love Micro</a> *</td>
42
41
  </tr></table>
43
42
 
44
43
  <em>\* Sponsors the entire Graphile suite</em>
@@ -48,8 +47,8 @@ And please give some love to our featured sponsors 🤩:
48
47
  ## Installation
49
48
 
50
49
  ```sh
51
- yarn add @grafserv/persisted
52
- # or: npm install --save @grafserv/persisted
50
+ yarn add @grafserv/persisted@beta
51
+ # or: npm install --save @grafserv/persisted@beta
53
52
  ```
54
53
 
55
54
  ## Usage
@@ -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":"AAUA,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
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const grafast_1 = require("grafast");
5
4
  const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
6
- const version = require("../package.json").version;
5
+ const grafast_1 = require("grafast");
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAmC;AAGnC,qCAAoC;AAQpC,gEAAgC;AAEhC,6CAAuC;AAEvC,MAAM,eAAe,GAA0B;IAC7C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,0CAA0C;IACvD,OAAO,EAAP,oBAAO;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,CAC7B,SAAiB,EACjB,eAAiC,CAAC,CAAC;IAEnC,8DAA8D;IAC9D,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAEnC,yEAAyE;IACzE,yEAAyE;IACzE,qDAAqD;IAErD,IAAI,KAAK,GAAoB,IAAI,CAAC;IAClC,+BAA+B;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,qFAAqF;IACrF,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB;;OAEG;IACH,KAAK,UAAU,aAAa;QAC1B,IAAI,QAAQ,EAAE;YACZ,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO;SACR;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,SAAS,GAAG,KAAK,CAAC;QAClB,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,QAAQ,GAAG,KAAK,CAAC;YACjB,IAAI,YAAY,KAAK,OAAO,EAAE;gBAC5B,IAAI,SAAS,EAAE;oBACb,aAAa,EAAE,CAAC;iBACjB;aACF;iBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,CAAC,EAAE;gBAChE,uEAAuE;gBACvE,uEAAuE;gBACvE,OAAO;gBACP,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;aACzC;SACF;IACH,CAAC;IAED,aAAa,EAAE,CAAC;IAChB,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,CAAC,KAAK,IAAI,EAAE;YACV,IAAI;gBACF,MAAM,OAAO,GAAG,kBAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE;oBAClC,aAAa,EAAE,CAAC;iBACjB;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;oBAAE,OAAO;gBACtC,OAAO,CAAC,KAAK,CACX,uLAAuL,CACxL,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACpB;QACH,CAAC,CAAC,EAAE,CAAC;KACN;IAED,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,EAAE,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAGvC,CAAC;AAEJ;;GAEG;AACH,SAAS,kBAAkB,CACzB,SAAiB,EACjB,YAA0C;IAE1C,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,SAAS,EAAE,CAAC;IAC3C,IAAI,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACzD,0BAA0B,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC7C;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,mEAAmE;QACnE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CACtE,OAAO,CAAC,4BAA4B,EACpC,OAAO,CAAC,wCAAwC,CACjD,CAAC;QACF,OAAO,MAAM,CAAC;KACf;SAAM;QACL,MAAM,IAAI,KAAK,CACb,oOAAoO,CACrO,CAAC;KACH;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,aAAG,CAGpC;IACA,SAAS,EAAE,GAAG;CACf,CAAC,CAAC;AAEH;;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"}
@@ -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.10";
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,kBAAkB,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.10";
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,eAAe,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.10",
4
4
  "description": "Persisted operations support for Grafserv",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "repository": {
19
19
  "type": "git",
20
- "url": "git+https://github.com/graphile/heart.git"
20
+ "url": "git+https://github.com/graphile/crystal.git"
21
21
  },
22
22
  "keywords": [
23
23
  "persisted",
@@ -35,28 +35,34 @@
35
35
  "author": "Benjie Gillam <code@benjiegillam.com>",
36
36
  "license": "MIT",
37
37
  "bugs": {
38
- "url": "https://github.com/graphile/heart/issues"
38
+ "url": "https://github.com/graphile/crystal/issues"
39
39
  },
40
- "homepage": "https://github.com/graphile/heart/tree/main/grafast/grafserv-persisted",
40
+ "homepage": "https://github.com/graphile/crystal/tree/main/grafast/grafserv-persisted",
41
41
  "dependencies": {
42
- "graphile-config": "^0.0.1-alpha.3",
43
- "tslib": "^2.5.0"
42
+ "@graphile/lru": "^5.0.0-beta.3",
43
+ "tslib": "^2.6.2"
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.1.1-beta.0",
50
+ "grafserv": "^0.1.1-beta.0",
51
+ "graphile-config": "^0.0.1-beta.3"
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",
56
- "jest": "^28.1.3",
57
- "jest-serializer-graphql-schema": "^5.0.0-alpha.2",
59
+ "grafast": "^0.1.1-beta.0",
60
+ "grafserv": "^0.1.1-beta.0",
61
+ "graphile-config": "^0.0.1-beta.3",
62
+ "jest": "^29.6.4",
63
+ "jest-serializer-graphql-schema": "^5.0.0-beta.3",
58
64
  "ts-node": "^10.9.1",
59
- "typescript": "^5.0.4"
65
+ "typescript": "^5.2.2"
60
66
  },
61
67
  "files": [
62
68
  "dist",