@grafserv/persisted 0.0.0-alpha.8 → 0.0.0-beta.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/CHANGELOG.md CHANGED
@@ -1,15 +1,165 @@
1
1
  # @grafserv/persisted
2
2
 
3
+ ## 0.0.0-beta.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)
8
+ Thanks [@benjie](https://github.com/benjie)! - Bump all packages to beta
9
+
10
+ - Updated dependencies
11
+ [[`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)]:
12
+ - grafast@0.0.1-beta.1
13
+ - grafserv@0.0.1-beta.1
14
+ - graphile-config@0.0.1-beta.1
15
+ - @graphile/lru@5.0.0-beta.1
16
+
17
+ ## 0.0.0-alpha.17
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies
22
+ [[`dfefdad3c`](https://github.com/benjie/crystal/commit/dfefdad3cd5a99c36d47eb0bddd914bab4ca9a1f)]:
23
+ - grafast@0.0.1-alpha.16
24
+ - grafserv@0.0.1-alpha.16
25
+
26
+ ## 0.0.0-alpha.16
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies
31
+ [[`ea003ca3a`](https://github.com/benjie/crystal/commit/ea003ca3a8f68fb87dca603582e47981ed033996),
32
+ [`57d88b5fa`](https://github.com/benjie/crystal/commit/57d88b5fa3ed296210c1fcb223452213fd57985b),
33
+ [`a22830b2f`](https://github.com/benjie/crystal/commit/a22830b2f293b50a244ac18e1601d7579b450c7d),
34
+ [`9f87a26b1`](https://github.com/benjie/crystal/commit/9f87a26b10e5539aa88cfd9909e265513e941fd5)]:
35
+ - grafast@0.0.1-alpha.15
36
+ - graphile-config@0.0.1-alpha.7
37
+ - grafserv@0.0.1-alpha.15
38
+
39
+ ## 0.0.0-alpha.15
40
+
41
+ ### Patch Changes
42
+
43
+ - Updated dependencies
44
+ [[`d99d666fb`](https://github.com/benjie/crystal/commit/d99d666fb234eb02dd196610995fa480c596242a)]:
45
+ - grafast@0.0.1-alpha.14
46
+ - grafserv@0.0.1-alpha.14
47
+
48
+ ## 0.0.0-alpha.14
49
+
50
+ ### Patch Changes
51
+
52
+ - [#418](https://github.com/benjie/crystal/pull/418)
53
+ [`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de)
54
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul peerDependencies and
55
+ dependencies to try and eliminate duplicate modules error.
56
+
57
+ - [#417](https://github.com/benjie/crystal/pull/417)
58
+ [`9a324f195`](https://github.com/benjie/crystal/commit/9a324f195568f3ee6ade858c881fe9777c238c14)
59
+ Thanks [@benjie](https://github.com/benjie)! - Use an LRU for caching the
60
+ getter from options - prevents memory exhaustion in the case of poorly written
61
+ consumer code.
62
+ - Updated dependencies
63
+ [[`620f9e07e`](https://github.com/benjie/crystal/commit/620f9e07ec6f4d66a8dc01ed6bb054a75f7b1c8b),
64
+ [`1882e0185`](https://github.com/benjie/crystal/commit/1882e018576adf69bcae8a999224cb4d5e62a3e1),
65
+ [`881672305`](https://github.com/benjie/crystal/commit/88167230578393e3b24a364f0d673e36c5cb088d),
66
+ [`e5012f9a1`](https://github.com/benjie/crystal/commit/e5012f9a1901af63e1703ea4d717e8a22544f5e7),
67
+ [`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de),
68
+ [`47f6f018b`](https://github.com/benjie/crystal/commit/47f6f018b11761cbfaa63d709edc0e3f4f9a9924),
69
+ [`ff4395bfc`](https://github.com/benjie/crystal/commit/ff4395bfc6e6b2fb263f644dae1e984c52dd84b9),
70
+ [`502b23340`](https://github.com/benjie/crystal/commit/502b233401975637bc0d516af78721b37f6f9b7b)]:
71
+ - grafast@0.0.1-alpha.13
72
+ - grafserv@0.0.1-alpha.13
73
+
74
+ ## 0.0.0-alpha.13
75
+
76
+ ### Patch Changes
77
+
78
+ - [#407](https://github.com/benjie/crystal/pull/407)
79
+ [`9281a2d88`](https://github.com/benjie/crystal/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478)
80
+ Thanks [@benjie](https://github.com/benjie)! - Exported `version` no longer
81
+ uses `require('../package.json')` hack, instead the version number is written
82
+ to a source file at versioning time. Packages now export `version`.
83
+
84
+ - [#408](https://github.com/benjie/crystal/pull/408)
85
+ [`799007532`](https://github.com/benjie/crystal/commit/79900753258f5fae8c64160281dfd4f3c68d7b11)
86
+ Thanks [@benjie](https://github.com/benjie)! - No longer polls the persisted
87
+ queries folder every 5 seconds unless you configure it to do so. New watch
88
+ mode _untested_.
89
+ - Updated dependencies
90
+ [[`9281a2d88`](https://github.com/benjie/crystal/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478),
91
+ [`675b7abb9`](https://github.com/benjie/crystal/commit/675b7abb93e11d955930b9026fb0b65a56ecc999),
92
+ [`c5050dd28`](https://github.com/benjie/crystal/commit/c5050dd286bd6d9fa4a5d9cfbf87ba609cb148dd),
93
+ [`0d1782869`](https://github.com/benjie/crystal/commit/0d1782869adc76f5bbcecfdcbb85a258c468ca37)]:
94
+ - grafast@0.0.1-alpha.12
95
+ - graphile-config@0.0.1-alpha.6
96
+ - grafserv@0.0.1-alpha.12
97
+
98
+ ## 0.0.0-alpha.12
99
+
100
+ ### Patch Changes
101
+
102
+ - Updated dependencies
103
+ [[`644938276`](https://github.com/benjie/crystal/commit/644938276ebd48c5486ba9736a525fcc66d7d714)]:
104
+ - graphile-config@0.0.1-alpha.5
105
+ - grafast@0.0.1-alpha.11
106
+ - grafserv@0.0.1-alpha.11
107
+
108
+ ## 0.0.0-alpha.11
109
+
110
+ ### Patch Changes
111
+
112
+ - [#399](https://github.com/benjie/crystal/pull/399)
113
+ [`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd)
114
+ Thanks [@benjie](https://github.com/benjie)! - Change many of the dependencies
115
+ to be instead (or also) peerDependencies, to avoid duplicate modules.
116
+ - Updated dependencies
117
+ [[`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd),
118
+ [`b7533bd4d`](https://github.com/benjie/crystal/commit/b7533bd4dfc210cb8b113b8fa06f163a212aa5e4),
119
+ [`9feb769c2`](https://github.com/benjie/crystal/commit/9feb769c2df0c57971ed26a937be4a1bee7a7524),
120
+ [`7573bf374`](https://github.com/benjie/crystal/commit/7573bf374897228b613b19f37b4e076737db3279),
121
+ [`2c8586b36`](https://github.com/benjie/crystal/commit/2c8586b367b76af91d1785cc90455c70911fdec7),
122
+ [`c43802d74`](https://github.com/benjie/crystal/commit/c43802d7419f93d18964c654f16d0937a2e23ca0),
123
+ [`b118b8f6d`](https://github.com/benjie/crystal/commit/b118b8f6dc18196212cfb0a05486e1dd8d77ccf8),
124
+ [`9008c4f87`](https://github.com/benjie/crystal/commit/9008c4f87df53be4051c49f9836358dc2baa59df),
125
+ [`e8c81cd20`](https://github.com/benjie/crystal/commit/e8c81cd2046390ed5b6799aa7ff3d90b28a1861a)]:
126
+ - grafserv@0.0.1-alpha.10
127
+ - grafast@0.0.1-alpha.10
128
+
129
+ ## 0.0.0-alpha.10
130
+
131
+ ### Patch Changes
132
+
133
+ - Updated dependencies
134
+ [[`56237691b`](https://github.com/benjie/crystal/commit/56237691bf3eed321b7159e17f36e3651356946f),
135
+ [`ed1982f31`](https://github.com/benjie/crystal/commit/ed1982f31a845ceb3aafd4b48d667649f06778f5),
136
+ [`1fe47a2b0`](https://github.com/benjie/crystal/commit/1fe47a2b08d6e7153a22dde3a99b7a9bf50c4f84),
137
+ [`198ac74d5`](https://github.com/benjie/crystal/commit/198ac74d52fe1e47d602fe2b7c52f216d5216b25),
138
+ [`6878c589c`](https://github.com/benjie/crystal/commit/6878c589cc9fc8f05a6efd377e1272ae24fbf256),
139
+ [`2ac706f18`](https://github.com/benjie/crystal/commit/2ac706f18660c855fe20f460b50694fdd04a7768)]:
140
+ - grafast@0.0.1-alpha.9
141
+ - graphile-config@0.0.1-alpha.4
142
+ - grafserv@0.0.1-alpha.9
143
+
144
+ ## 0.0.0-alpha.9
145
+
146
+ ### Patch Changes
147
+
148
+ - Updated dependencies
149
+ [[`dd3ef599c`](https://github.com/benjie/crystal/commit/dd3ef599c7f2530fd1a19a852d334b7349e49e70)]:
150
+ - grafast@0.0.1-alpha.8
151
+ - grafserv@0.0.1-alpha.8
152
+
3
153
  ## 0.0.0-alpha.8
4
154
 
5
155
  ### Patch Changes
6
156
 
7
157
  - Updated dependencies
8
- [[`5c9d32264`](https://github.com/benjie/postgraphile-private/commit/5c9d322644028e33f5273fb9bcaaf6a80f1f7360),
9
- [`9ddaaaa96`](https://github.com/benjie/postgraphile-private/commit/9ddaaaa9617874cb44946acfcd252517ae427446),
10
- [`2fcbe688c`](https://github.com/benjie/postgraphile-private/commit/2fcbe688c11b355f0688b96e99012a829cf8b7cb),
11
- [`3a984718a`](https://github.com/benjie/postgraphile-private/commit/3a984718a322685304777dec7cd48a1efa15539d),
12
- [`adc7ae5e0`](https://github.com/benjie/postgraphile-private/commit/adc7ae5e002961c8b8286500527752f21139ab9e)]:
158
+ [[`5c9d32264`](https://github.com/benjie/crystal/commit/5c9d322644028e33f5273fb9bcaaf6a80f1f7360),
159
+ [`9ddaaaa96`](https://github.com/benjie/crystal/commit/9ddaaaa9617874cb44946acfcd252517ae427446),
160
+ [`2fcbe688c`](https://github.com/benjie/crystal/commit/2fcbe688c11b355f0688b96e99012a829cf8b7cb),
161
+ [`3a984718a`](https://github.com/benjie/crystal/commit/3a984718a322685304777dec7cd48a1efa15539d),
162
+ [`adc7ae5e0`](https://github.com/benjie/crystal/commit/adc7ae5e002961c8b8286500527752f21139ab9e)]:
13
163
  - grafast@0.0.1-alpha.7
14
164
  - grafserv@0.0.1-alpha.7
15
165
  - graphile-config@0.0.1-alpha.3
@@ -19,7 +169,7 @@
19
169
  ### Patch Changes
20
170
 
21
171
  - Updated dependencies
22
- [[`f75926f4b`](https://github.com/benjie/postgraphile-private/commit/f75926f4b9aee33adff8bdf6b1a4137582cb47ba)]:
172
+ [[`f75926f4b`](https://github.com/benjie/crystal/commit/f75926f4b9aee33adff8bdf6b1a4137582cb47ba)]:
23
173
  - grafast@0.0.1-alpha.6
24
174
  - grafserv@0.0.1-alpha.6
25
175
 
@@ -28,8 +178,8 @@
28
178
  ### Patch Changes
29
179
 
30
180
  - Updated dependencies
31
- [[`86e503d78`](https://github.com/benjie/postgraphile-private/commit/86e503d785626ad9a2e91ec2e70b272dd632d425),
32
- [`24822d0dc`](https://github.com/benjie/postgraphile-private/commit/24822d0dc87d41f0b0737d6e00cf4022de4bab5e)]:
181
+ [[`86e503d78`](https://github.com/benjie/crystal/commit/86e503d785626ad9a2e91ec2e70b272dd632d425),
182
+ [`24822d0dc`](https://github.com/benjie/crystal/commit/24822d0dc87d41f0b0737d6e00cf4022de4bab5e)]:
33
183
  - grafast@0.0.1-alpha.5
34
184
  - grafserv@0.0.1-alpha.5
35
185
 
@@ -38,7 +188,7 @@
38
188
  ### Patch Changes
39
189
 
40
190
  - Updated dependencies
41
- [[`45dcf3a8f`](https://github.com/benjie/postgraphile-private/commit/45dcf3a8fd8bad5c8b82a7cbff2db4dacb916950)]:
191
+ [[`45dcf3a8f`](https://github.com/benjie/crystal/commit/45dcf3a8fd8bad5c8b82a7cbff2db4dacb916950)]:
42
192
  - grafast@0.0.1-alpha.4
43
193
  - grafserv@0.0.1-alpha.4
44
194
 
@@ -46,8 +196,8 @@
46
196
 
47
197
  ### Patch Changes
48
198
 
49
- - [#332](https://github.com/benjie/postgraphile-private/pull/332)
50
- [`faa1c9eaa`](https://github.com/benjie/postgraphile-private/commit/faa1c9eaa25cbd6f0e25635f6a100d0dc9be6106)
199
+ - [#332](https://github.com/benjie/crystal/pull/332)
200
+ [`faa1c9eaa`](https://github.com/benjie/crystal/commit/faa1c9eaa25cbd6f0e25635f6a100d0dc9be6106)
51
201
  Thanks [@benjie](https://github.com/benjie)! - Adjust dependencies and
52
202
  peerDependencies and peerDependenciesMeta.
53
203
 
@@ -55,16 +205,16 @@
55
205
 
56
206
  ### Patch Changes
57
207
 
58
- - [`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
208
+ - [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
59
209
  Thanks [@benjie](https://github.com/benjie)! - Upgrade to the latest
60
210
  TypeScript/tslib
61
211
 
62
212
  - Updated dependencies
63
- [[`2389f47ec`](https://github.com/benjie/postgraphile-private/commit/2389f47ecf3b708f1085fdeb818eacaaeb257a2d),
64
- [`e91ee201d`](https://github.com/benjie/postgraphile-private/commit/e91ee201d80d3b32e4e632b101f4c25362a1a05b),
65
- [`865bec590`](https://github.com/benjie/postgraphile-private/commit/865bec5901f666e147f5d4088152d1f0d2584827),
66
- [`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71),
67
- [`d39a5d409`](https://github.com/benjie/postgraphile-private/commit/d39a5d409ffe1a5855740ecbff1ad11ec0bf6660)]:
213
+ [[`2389f47ec`](https://github.com/benjie/crystal/commit/2389f47ecf3b708f1085fdeb818eacaaeb257a2d),
214
+ [`e91ee201d`](https://github.com/benjie/crystal/commit/e91ee201d80d3b32e4e632b101f4c25362a1a05b),
215
+ [`865bec590`](https://github.com/benjie/crystal/commit/865bec5901f666e147f5d4088152d1f0d2584827),
216
+ [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71),
217
+ [`d39a5d409`](https://github.com/benjie/crystal/commit/d39a5d409ffe1a5855740ecbff1ad11ec0bf6660)]:
68
218
  - grafast@0.0.1-alpha.3
69
219
  - grafserv@0.0.1-alpha.3
70
220
  - graphile-config@0.0.1-alpha.2
@@ -74,9 +224,9 @@
74
224
  ### Patch Changes
75
225
 
76
226
  - Updated dependencies
77
- [[`3cf35fdb4`](https://github.com/benjie/postgraphile-private/commit/3cf35fdb41d08762e9ff838a55dd7fc6004941f8),
78
- [`7c45eaf4e`](https://github.com/benjie/postgraphile-private/commit/7c45eaf4ed6edf3b9e7bb17846d553f5504e0fb4),
79
- [`3df3f1726`](https://github.com/benjie/postgraphile-private/commit/3df3f17269bb896cdee90ed8c4ab46fb821a1509)]:
227
+ [[`3cf35fdb4`](https://github.com/benjie/crystal/commit/3cf35fdb41d08762e9ff838a55dd7fc6004941f8),
228
+ [`7c45eaf4e`](https://github.com/benjie/crystal/commit/7c45eaf4ed6edf3b9e7bb17846d553f5504e0fb4),
229
+ [`3df3f1726`](https://github.com/benjie/crystal/commit/3df3f17269bb896cdee90ed8c4ab46fb821a1509)]:
80
230
  - grafserv@0.0.1-alpha.2
81
231
  - grafast@0.0.1-alpha.2
82
232
 
@@ -84,12 +234,12 @@
84
234
 
85
235
  ### Patch Changes
86
236
 
87
- - [`759ad403d`](https://github.com/benjie/postgraphile-private/commit/759ad403d71363312c5225c165873ae84b8a098c)
237
+ - [`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)
88
238
  Thanks [@benjie](https://github.com/benjie)! - Alpha release - see
89
239
  https://postgraphile.org/news/2023-04-26-version-5-alpha
90
240
 
91
241
  - Updated dependencies
92
- [[`759ad403d`](https://github.com/benjie/postgraphile-private/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
242
+ [[`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
93
243
  - grafast@0.0.1-alpha.1
94
244
  - grafserv@0.0.1-alpha.1
95
245
  - graphile-config@0.0.1-alpha.1
@@ -98,16 +248,16 @@
98
248
 
99
249
  ### Patch Changes
100
250
 
101
- - [#297](https://github.com/benjie/postgraphile-private/pull/297)
102
- [`5a7396e2d`](https://github.com/benjie/postgraphile-private/commit/5a7396e2d1675f49b1d54cf6e748f2bc35aefe8a)
251
+ - [#297](https://github.com/benjie/crystal/pull/297)
252
+ [`5a7396e2d`](https://github.com/benjie/crystal/commit/5a7396e2d1675f49b1d54cf6e748f2bc35aefe8a)
103
253
  Thanks [@benjie](https://github.com/benjie)! - New @grafserv/persisted plugin
104
254
  to add persisted operations support to Grafserv 🎉
105
255
  - Updated dependencies
106
- [[`90ed0cb7a`](https://github.com/benjie/postgraphile-private/commit/90ed0cb7a78479b85115cd1ce045ac253107b3eb),
107
- [`56be761c2`](https://github.com/benjie/postgraphile-private/commit/56be761c29343e28ba4980c62c955b5adaef25c0),
108
- [`8d270ead3`](https://github.com/benjie/postgraphile-private/commit/8d270ead3fa8331e28974aae052bd48ad537d1bf),
109
- [`1a012bdd7`](https://github.com/benjie/postgraphile-private/commit/1a012bdd7d3748ac9a4ca9b1f771876654988f25),
110
- [`b4eaf89f4`](https://github.com/benjie/postgraphile-private/commit/b4eaf89f401ca207de08770361d07903f6bb9cb0)]:
256
+ [[`90ed0cb7a`](https://github.com/benjie/crystal/commit/90ed0cb7a78479b85115cd1ce045ac253107b3eb),
257
+ [`56be761c2`](https://github.com/benjie/crystal/commit/56be761c29343e28ba4980c62c955b5adaef25c0),
258
+ [`8d270ead3`](https://github.com/benjie/crystal/commit/8d270ead3fa8331e28974aae052bd48ad537d1bf),
259
+ [`1a012bdd7`](https://github.com/benjie/crystal/commit/1a012bdd7d3748ac9a4ca9b1f771876654988f25),
260
+ [`b4eaf89f4`](https://github.com/benjie/crystal/commit/b4eaf89f401ca207de08770361d07903f6bb9cb0)]:
111
261
  - grafserv@0.0.1-1.3
112
262
  - grafast@0.0.1-1.3
113
263
  - 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":"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"}
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.1";
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.1";
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.8",
3
+ "version": "0.0.0-beta.1",
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.7",
50
- "grafserv": "^0.0.1-alpha.7",
51
- "graphql": "^16.1.0-experimental-stream-defer.6"
49
+ "grafast": "^0.0.1-beta.1",
50
+ "grafserv": "^0.0.1-beta.1",
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.7",
55
- "grafserv": "^0.0.1-alpha.7",
59
+ "grafast": "^0.0.1-beta.1",
60
+ "grafserv": "^0.0.1-beta.1",
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
  },