hostdb 0.27.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/databases.json CHANGED
@@ -15,19 +15,11 @@
15
15
  "versions": {
16
16
  "25.12.3.21": true
17
17
  },
18
- "platforms": [
19
- "linux-x64",
20
- "linux-arm64",
21
- "darwin-x64",
22
- "darwin-arm64"
23
- ],
18
+ "platforms": ["linux-x64", "linux-arm64", "darwin-x64", "darwin-arm64"],
24
19
  "cliTools": {
25
20
  "server": "clickhouse-server",
26
21
  "client": "clickhouse-client",
27
- "utilities": [
28
- "clickhouse-local",
29
- "clickhouse-benchmark"
30
- ],
22
+ "utilities": ["clickhouse-local", "clickhouse-benchmark"],
31
23
  "enhanced": []
32
24
  },
33
25
  "connection": {
@@ -64,10 +56,7 @@
64
56
  "server": "cockroach",
65
57
  "client": "cockroach",
66
58
  "utilities": [],
67
- "enhanced": [
68
- "pgcli",
69
- "usql"
70
- ],
59
+ "enhanced": ["pgcli", "usql"],
71
60
  "note": "Single binary; use 'cockroach start-single-node' for server, 'cockroach sql' for client"
72
61
  },
73
62
  "connection": {
@@ -141,9 +130,7 @@
141
130
  "server": null,
142
131
  "client": "duckdb",
143
132
  "utilities": [],
144
- "enhanced": [
145
- "usql"
146
- ]
133
+ "enhanced": ["usql"]
147
134
  },
148
135
  "connection": {
149
136
  "runtime": "embedded",
@@ -201,10 +188,7 @@
201
188
  "cliTools": {
202
189
  "server": "ferretdb",
203
190
  "client": "mongosh",
204
- "utilities": [
205
- "mongodump",
206
- "mongorestore"
207
- ],
191
+ "utilities": ["mongodump", "mongorestore"],
208
192
  "enhanced": []
209
193
  },
210
194
  "connection": {
@@ -279,15 +263,8 @@
279
263
  "cliTools": {
280
264
  "server": "mariadbd",
281
265
  "client": "mariadb",
282
- "utilities": [
283
- "mariadb-dump",
284
- "mariadb-import",
285
- "mariadb-admin"
286
- ],
287
- "enhanced": [
288
- "mycli",
289
- "usql"
290
- ]
266
+ "utilities": ["mariadb-dump", "mariadb-import", "mariadb-admin"],
267
+ "enhanced": ["mycli", "usql"]
291
268
  },
292
269
  "connection": {
293
270
  "runtime": "server",
@@ -390,10 +367,20 @@
390
367
  "protocol": null,
391
368
  "note": "",
392
369
  "versions": {
393
- "9.5.0": true,
394
- "9.1.0": true,
370
+ "9.6.0": true,
371
+ "9.5.0": {
372
+ "deprecated": true,
373
+ "note": "Deprecated; superseded by 9.6.0"
374
+ },
375
+ "9.1.0": {
376
+ "deprecated": true,
377
+ "note": "Deprecated; superseded by 9.6.0"
378
+ },
395
379
  "8.4.3": true,
396
- "8.0.40": true
380
+ "8.0.40": {
381
+ "deprecated": true,
382
+ "note": "Deprecated; use 8.4.x LTS instead"
383
+ }
397
384
  },
398
385
  "platforms": [
399
386
  "linux-x64",
@@ -405,15 +392,8 @@
405
392
  "cliTools": {
406
393
  "server": "mysqld",
407
394
  "client": "mysql",
408
- "utilities": [
409
- "mysqldump",
410
- "mysqlpump",
411
- "mysqladmin"
412
- ],
413
- "enhanced": [
414
- "mycli",
415
- "usql"
416
- ]
395
+ "utilities": ["mysqldump", "mysqlpump", "mysqladmin"],
396
+ "enhanced": ["mycli", "usql"]
417
397
  },
418
398
  "connection": {
419
399
  "runtime": "server",
@@ -458,10 +438,7 @@
458
438
  "createdb",
459
439
  "dropdb"
460
440
  ],
461
- "enhanced": [
462
- "pgcli",
463
- "usql"
464
- ]
441
+ "enhanced": ["pgcli", "usql"]
465
442
  },
466
443
  "connection": {
467
444
  "runtime": "server",
@@ -486,24 +463,12 @@
486
463
  "versions": {
487
464
  "17-0.107.0": true
488
465
  },
489
- "platforms": [
490
- "linux-x64",
491
- "linux-arm64",
492
- "darwin-x64",
493
- "darwin-arm64"
494
- ],
466
+ "platforms": ["linux-x64", "linux-arm64", "darwin-x64", "darwin-arm64"],
495
467
  "cliTools": {
496
468
  "server": "postgres",
497
469
  "client": "psql",
498
- "utilities": [
499
- "pg_dump",
500
- "pg_restore",
501
- "initdb",
502
- "pg_ctl"
503
- ],
504
- "enhanced": [
505
- "pgcli"
506
- ]
470
+ "utilities": ["pg_dump", "pg_restore", "initdb", "pg_ctl"],
471
+ "enhanced": ["pgcli"]
507
472
  },
508
473
  "connection": {
509
474
  "runtime": "server",
@@ -583,10 +548,7 @@
583
548
  "server": "questdb",
584
549
  "client": "psql",
585
550
  "utilities": [],
586
- "enhanced": [
587
- "pgcli",
588
- "usql"
589
- ],
551
+ "enhanced": ["pgcli", "usql"],
590
552
  "note": "PostgreSQL wire protocol; use psql or pgcli"
591
553
  },
592
554
  "connection": {
@@ -623,14 +585,8 @@
623
585
  "cliTools": {
624
586
  "server": "redis-server",
625
587
  "client": "redis-cli",
626
- "utilities": [
627
- "redis-benchmark",
628
- "redis-check-aof",
629
- "redis-check-rdb"
630
- ],
631
- "enhanced": [
632
- "iredis"
633
- ]
588
+ "utilities": ["redis-benchmark", "redis-check-aof", "redis-check-rdb"],
589
+ "enhanced": ["iredis"]
634
590
  },
635
591
  "connection": {
636
592
  "runtime": "server",
@@ -666,10 +622,7 @@
666
622
  "server": null,
667
623
  "client": "sqlite3",
668
624
  "utilities": [],
669
- "enhanced": [
670
- "litecli",
671
- "usql"
672
- ]
625
+ "enhanced": ["litecli", "usql"]
673
626
  },
674
627
  "connection": {
675
628
  "runtime": "embedded",
@@ -816,12 +769,8 @@
816
769
  "cliTools": {
817
770
  "server": "valkey-server",
818
771
  "client": "valkey-cli",
819
- "utilities": [
820
- "valkey-benchmark"
821
- ],
822
- "enhanced": [
823
- "iredis"
824
- ]
772
+ "utilities": ["valkey-benchmark"],
773
+ "enhanced": ["iredis"]
825
774
  },
826
775
  "connection": {
827
776
  "runtime": "server",
package/lib/databases.ts CHANGED
@@ -51,6 +51,7 @@ export type PlatformEntry = true | PlatformConfig
51
51
  // Version config with overrides (when version entry is an object)
52
52
  export type VersionConfig = {
53
53
  enabled?: boolean
54
+ deprecated?: boolean
54
55
  note?: string
55
56
  dependencies?: Dependency[]
56
57
  platforms?: Platform[] | Record<string, PlatformEntry>
@@ -105,6 +106,7 @@ export type VersionRelease = {
105
106
  version: string
106
107
  releaseTag: string
107
108
  releasedAt: string
109
+ deprecated?: boolean
108
110
  platforms: Partial<Record<Platform, PlatformAsset>>
109
111
  }
110
112
 
@@ -153,6 +155,12 @@ export function isVersionEnabled(entry: VersionEntry): boolean {
153
155
  return entry.enabled !== false
154
156
  }
155
157
 
158
+ /** Check if a version entry is deprecated */
159
+ export function isVersionDeprecated(entry: VersionEntry): boolean {
160
+ if (typeof entry === 'boolean') return false
161
+ return entry.deprecated === true
162
+ }
163
+
156
164
  /** Get set of enabled version strings for a database */
157
165
  export function getEnabledVersions(database: string): Set<string> {
158
166
  try {
package/lib/r2.ts CHANGED
@@ -158,3 +158,51 @@ export async function publishReleasesJson(options: {
158
158
  }): Promise<void> {
159
159
  await publishJsonToR2({ ...options, filename: 'releases.json' })
160
160
  }
161
+
162
+ /**
163
+ * Purge Cloudflare CDN cache for specific URLs.
164
+ *
165
+ * Required env vars: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID
166
+ * If not set, logs a warning and returns (no-op).
167
+ */
168
+ export async function purgeCloudflareCache(
169
+ urls: string[],
170
+ ): Promise<{ purged: boolean; count: number }> {
171
+ const apiToken = process.env.CLOUDFLARE_API_TOKEN
172
+ const zoneId = process.env.CLOUDFLARE_ZONE_ID
173
+
174
+ if (!apiToken || !zoneId) {
175
+ return { purged: false, count: 0 }
176
+ }
177
+
178
+ // Cloudflare allows max 30 URLs per purge request
179
+ const BATCH_SIZE = 30
180
+ let totalPurged = 0
181
+
182
+ for (let i = 0; i < urls.length; i += BATCH_SIZE) {
183
+ const batch = urls.slice(i, i + BATCH_SIZE)
184
+
185
+ const response = await fetch(
186
+ `https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`,
187
+ {
188
+ method: 'POST',
189
+ headers: {
190
+ Authorization: `Bearer ${apiToken}`,
191
+ 'Content-Type': 'application/json',
192
+ },
193
+ body: JSON.stringify({ files: batch }),
194
+ },
195
+ )
196
+
197
+ if (!response.ok) {
198
+ const body = await response.text()
199
+ throw new Error(
200
+ `Cloudflare cache purge failed: ${response.status} ${body}`,
201
+ )
202
+ }
203
+
204
+ totalPurged += batch.length
205
+ }
206
+
207
+ return { purged: true, count: totalPurged }
208
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostdb",
3
- "version": "0.27.0",
3
+ "version": "0.29.0",
4
4
  "description": "Source and download pre-built database binaries for multiple platforms, distributed via GitHub Releases",
5
5
  "private": false,
6
6
  "type": "module",
package/releases.json CHANGED
@@ -73,13 +73,13 @@
73
73
  "platforms": {
74
74
  "darwin-arm64": {
75
75
  "url": "https://registry.layerbase.host/couchdb-3.5.1/couchdb-3.5.1-darwin-arm64.tar.gz",
76
- "sha256": "e5b96ea40e6b92e441244c52add55192db0c9ffe74a3a296ebf1a87ac35c3ac0",
77
- "size": 96849038
76
+ "sha256": "444b41ecca208faa2ea6b25b57b270d2493cac55f5783c2e577aeeff9497f854",
77
+ "size": 96726799
78
78
  },
79
79
  "darwin-x64": {
80
80
  "url": "https://registry.layerbase.host/couchdb-3.5.1/couchdb-3.5.1-darwin-x64.tar.gz",
81
- "sha256": "ce596086048fffb63b224612264cd219d4f229bbe2f40aa78154f56866e25391",
82
- "size": 99325861
81
+ "sha256": "6f52214ab10b75c47577ba513bddffd4add8f5e3d509d135d0fcd4505492fc12",
82
+ "size": 99199477
83
83
  },
84
84
  "linux-arm64": {
85
85
  "url": "https://registry.layerbase.host/couchdb-3.5.1/couchdb-3.5.1-linux-arm64.tar.gz",
@@ -241,13 +241,13 @@
241
241
  "platforms": {
242
242
  "darwin-arm64": {
243
243
  "url": "https://registry.layerbase.host/mariadb-11.8.5/mariadb-11.8.5-darwin-arm64.tar.gz",
244
- "sha256": "6fdd569e40ce8ddddbbed7e45273e078c34d87a823c3581a043f560d2fe2f4fc",
245
- "size": 78302849
244
+ "sha256": "c454854be9bc25c7d3f3a662c57819a2b0d78e9802f3764e2776032fa5477c78",
245
+ "size": 80955321
246
246
  },
247
247
  "darwin-x64": {
248
248
  "url": "https://registry.layerbase.host/mariadb-11.8.5/mariadb-11.8.5-darwin-x64.tar.gz",
249
- "sha256": "2a343d94b6f6e56f46d113be7c360e68b307c9145ed1d5b4078e1c1f2497a4c2",
250
- "size": 79510963
249
+ "sha256": "268ec04d4d75963389cb15e08ad7ce669d15aeacb696276195c6266efcaced13",
250
+ "size": 83304379
251
251
  },
252
252
  "linux-arm64": {
253
253
  "url": "https://registry.layerbase.host/mariadb-11.8.5/mariadb-11.8.5-linux-arm64.tar.gz",
@@ -273,13 +273,13 @@
273
273
  "platforms": {
274
274
  "darwin-arm64": {
275
275
  "url": "https://registry.layerbase.host/mariadb-11.4.5/mariadb-11.4.5-darwin-arm64.tar.gz",
276
- "sha256": "d0b4e0d32c27d8141ace67368711ecff28ae4d3c5a6eb366e051db4cd3cf878b",
277
- "size": 77158056
276
+ "sha256": "eaf68030cd808d5db5b449d870a98cba68c41d459325f0ad0d855c3908633eaa",
277
+ "size": 79824774
278
278
  },
279
279
  "darwin-x64": {
280
280
  "url": "https://registry.layerbase.host/mariadb-11.4.5/mariadb-11.4.5-darwin-x64.tar.gz",
281
- "sha256": "0b169586f063fe294bf541eb5dd3863cb0148c049c0d66654c657c1c2dcd44a9",
282
- "size": 78331686
281
+ "sha256": "8b099ad3314c95a4e18255c5fb0cccf586b9a669a734d42ee20b8d4df19fb82f",
282
+ "size": 82119958
283
283
  },
284
284
  "linux-arm64": {
285
285
  "url": "https://registry.layerbase.host/mariadb-11.4.5/mariadb-11.4.5-linux-arm64.tar.gz",
@@ -305,13 +305,13 @@
305
305
  "platforms": {
306
306
  "darwin-arm64": {
307
307
  "url": "https://registry.layerbase.host/mariadb-10.11.15/mariadb-10.11.15-darwin-arm64.tar.gz",
308
- "sha256": "784efdf5e6d66e57b610e0d8642e1849cac678a26fe84c5ec78d3f4345205767",
309
- "size": 76998863
308
+ "sha256": "51894275a19270c9cf429788630e0725293c39ee4f5450ed696ddef8c0b8d0ac",
309
+ "size": 79653537
310
310
  },
311
311
  "darwin-x64": {
312
312
  "url": "https://registry.layerbase.host/mariadb-10.11.15/mariadb-10.11.15-darwin-x64.tar.gz",
313
- "sha256": "09d499629ba20f8a9d243d38fb2157ec61cb923748168f5cdac54fdf0c124f75",
314
- "size": 78162243
313
+ "sha256": "1d773381079b6f33e29f61ee830da021894c8302a50ea81f98980a9dad79ee23",
314
+ "size": 81943271
315
315
  },
316
316
  "linux-arm64": {
317
317
  "url": "https://registry.layerbase.host/mariadb-10.11.15/mariadb-10.11.15-linux-arm64.tar.gz",
@@ -494,7 +494,8 @@
494
494
  "sha256": "240d0fcb48663ff32a475e3e04fa4e5691ccaae489c35cf49fc0bbd000b256cd",
495
495
  "size": 302737000
496
496
  }
497
- }
497
+ },
498
+ "deprecated": true
498
499
  },
499
500
  "9.1.0": {
500
501
  "version": "9.1.0",
@@ -526,7 +527,8 @@
526
527
  "sha256": "4bc4068ae41cdc1b7bc5dfca524d90cb4f625923eab8d29d7a199a4bbbf2498d",
527
528
  "size": 302352713
528
529
  }
529
- }
530
+ },
531
+ "deprecated": true
530
532
  },
531
533
  "8.4.3": {
532
534
  "version": "8.4.3",
@@ -590,7 +592,8 @@
590
592
  "sha256": "83096828de495d32f4816f97bf59113ad294c5950fc03594aae9b4adb8ab2100",
591
593
  "size": 243702261
592
594
  }
593
- }
595
+ },
596
+ "deprecated": true
594
597
  }
595
598
  },
596
599
  "postgresql": {
@@ -833,13 +836,13 @@
833
836
  "platforms": {
834
837
  "darwin-arm64": {
835
838
  "url": "https://registry.layerbase.host/redis-8.4.0/redis-8.4.0-darwin-arm64.tar.gz",
836
- "sha256": "eeac10db13ce778c07dcab215ea4b71c8a14595ce7a62d3ef4bd3eeb4a9a00ab",
837
- "size": 1497752
839
+ "sha256": "0e2a48c3d5ae8c973b5f6c65d7fb68d1a80da9378df635e6cdc00fc2a55a5a8a",
840
+ "size": 4162572
838
841
  },
839
842
  "darwin-x64": {
840
843
  "url": "https://registry.layerbase.host/redis-8.4.0/redis-8.4.0-darwin-x64.tar.gz",
841
- "sha256": "0a11a44c16ac5df97fd2e7b3811bef5449d2bec19c7dbb51cc86f84c63611b48",
842
- "size": 1582372
844
+ "sha256": "a674bba83c259ce94a9ff6eff74258b5f5b982ae44a1637f8ed5ab880cb1b566",
845
+ "size": 4035868
843
846
  },
844
847
  "linux-arm64": {
845
848
  "url": "https://registry.layerbase.host/redis-8.4.0/redis-8.4.0-linux-arm64.tar.gz",
@@ -865,13 +868,13 @@
865
868
  "platforms": {
866
869
  "darwin-arm64": {
867
870
  "url": "https://registry.layerbase.host/redis-7.4.7/redis-7.4.7-darwin-arm64.tar.gz",
868
- "sha256": "a060ff64be58e1e9ee622222411df028293454ea58f07a6e2adbf1a089413482",
869
- "size": 1278481
871
+ "sha256": "242cb46cf12f52205e7978df520ffc70e0569f1352a01ac42bbd93d23eb256ef",
872
+ "size": 3947352
870
873
  },
871
874
  "darwin-x64": {
872
875
  "url": "https://registry.layerbase.host/redis-7.4.7/redis-7.4.7-darwin-x64.tar.gz",
873
- "sha256": "4cc319cabbf00fbd0d5e662f67abfe060d470776cfa80b8b84c4f67869bcddea",
874
- "size": 1360554
876
+ "sha256": "2bb2049471467234e2191c01032a9f5039323fd0825ece792d6248aca306245f",
877
+ "size": 3810104
875
878
  },
876
879
  "linux-arm64": {
877
880
  "url": "https://registry.layerbase.host/redis-7.4.7/redis-7.4.7-linux-arm64.tar.gz",
@@ -1035,13 +1038,13 @@
1035
1038
  "platforms": {
1036
1039
  "darwin-arm64": {
1037
1040
  "url": "https://registry.layerbase.host/valkey-9.0.1/valkey-9.0.1-darwin-arm64.tar.gz",
1038
- "sha256": "4cfd2aec2120d4d36b2a8cb8b1dd1d292ca0930f940fb7e108bcf415dfdd0183",
1039
- "size": 1391047
1041
+ "sha256": "3d49a6c92cf4656ce128d6c60b0c017cc62317ce5cc0afa8d025009066093d09",
1042
+ "size": 4059940
1040
1043
  },
1041
1044
  "darwin-x64": {
1042
1045
  "url": "https://registry.layerbase.host/valkey-9.0.1/valkey-9.0.1-darwin-x64.tar.gz",
1043
- "sha256": "bae40b31af7c2a83a58b61a39c23fa6c4d03d307199ed4668a828e6d8de01412",
1044
- "size": 1490869
1046
+ "sha256": "633f8bfc3fce675f9751c5cbc396d35169ce5790353e005cbe4056ec988cefa1",
1047
+ "size": 3941591
1045
1048
  },
1046
1049
  "linux-arm64": {
1047
1050
  "url": "https://registry.layerbase.host/valkey-9.0.1/valkey-9.0.1-linux-arm64.tar.gz",
@@ -1067,13 +1070,13 @@
1067
1070
  "platforms": {
1068
1071
  "darwin-arm64": {
1069
1072
  "url": "https://registry.layerbase.host/valkey-8.0.6/valkey-8.0.6-darwin-arm64.tar.gz",
1070
- "sha256": "17e868ed49b8b663cd1c216748133cf582419336994bcad8714ed9144be5fbef",
1071
- "size": 1285136
1073
+ "sha256": "8501a77d9f289122599f43fd932be5367863ca0d693cc792b3fe4f239425811a",
1074
+ "size": 3954916
1072
1075
  },
1073
1076
  "darwin-x64": {
1074
1077
  "url": "https://registry.layerbase.host/valkey-8.0.6/valkey-8.0.6-darwin-x64.tar.gz",
1075
- "sha256": "71b7cfb3c8033bbaac1b42d1a9dac6d4facfd4ba180c73c4147ea097859a1566",
1076
- "size": 1365448
1078
+ "sha256": "917982453b64e80fb2968ee0ea3e61c71d86f89bbaa8d513acbde7908a8bd0ce",
1079
+ "size": 3815087
1077
1080
  },
1078
1081
  "linux-arm64": {
1079
1082
  "url": "https://registry.layerbase.host/valkey-8.0.6/valkey-8.0.6-linux-arm64.tar.gz",