From 69329674e1ea3d50e29d4c65bed9e749c4a376af Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 7 Sep 2024 16:38:28 -0500 Subject: [PATCH 1/4] Add support for pglite --- .tool-versions | 2 +- deno.json | 2 ++ deno.lock | 14 +++++++++ src/config.ts | 3 +- src/db/DittoDB.ts | 12 ++++++-- src/db/adapters/DittoPglite.ts | 56 ++++++++++++++++++++++++++++++++++ 6 files changed, 84 insertions(+), 5 deletions(-) create mode 100644 src/db/adapters/DittoPglite.ts diff --git a/.tool-versions b/.tool-versions index 73d0a9db..900b9e20 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -deno 1.45.5 \ No newline at end of file +deno 1.46.3 \ No newline at end of file diff --git a/deno.json b/deno.json index 64331504..d5db42c8 100644 --- a/deno.json +++ b/deno.json @@ -28,6 +28,7 @@ "@b-fuze/deno-dom": "jsr:@b-fuze/deno-dom@^0.1.47", "@bradenmacdonald/s3-lite-client": "jsr:@bradenmacdonald/s3-lite-client@^0.7.4", "@db/sqlite": "jsr:@db/sqlite@^0.11.1", + "@electric-sql/pglite": "npm:@electric-sql/pglite@^0.2.5", "@hono/hono": "jsr:@hono/hono@^4.4.6", "@isaacs/ttlcache": "npm:@isaacs/ttlcache@^1.4.1", "@lambdalisue/async": "jsr:@lambdalisue/async@^2.1.1", @@ -37,6 +38,7 @@ "@scure/base": "npm:@scure/base@^1.1.6", "@sentry/deno": "https://deno.land/x/sentry@7.112.2/index.mjs", "@soapbox/kysely-deno-sqlite": "jsr:@soapbox/kysely-deno-sqlite@^2.1.0", + "@soapbox/kysely-pglite": "jsr:@soapbox/kysely-pglite@^0.0.5", "@soapbox/stickynotes": "jsr:@soapbox/stickynotes@^0.4.0", "@std/assert": "jsr:@std/assert@^0.225.1", "@std/cli": "jsr:@std/cli@^0.223.0", diff --git a/deno.lock b/deno.lock index cb040522..e59e513c 100644 --- a/deno.lock +++ b/deno.lock @@ -22,6 +22,7 @@ "jsr:@nostrify/nostrify@^0.30.1": "jsr:@nostrify/nostrify@0.30.1", "jsr:@nostrify/types@^0.30.0": "jsr:@nostrify/types@0.30.0", "jsr:@soapbox/kysely-deno-sqlite@^2.1.0": "jsr:@soapbox/kysely-deno-sqlite@2.2.0", + "jsr:@soapbox/kysely-pglite@^0.0.5": "jsr:@soapbox/kysely-pglite@0.0.5", "jsr:@soapbox/stickynotes@^0.4.0": "jsr:@soapbox/stickynotes@0.4.0", "jsr:@std/assert@^0.213.1": "jsr:@std/assert@0.213.1", "jsr:@std/assert@^0.217.0": "jsr:@std/assert@0.217.0", @@ -53,6 +54,7 @@ "jsr:@std/path@^0.213.1": "jsr:@std/path@0.213.1", "jsr:@std/path@^0.221.0": "jsr:@std/path@0.221.0", "jsr:@std/streams@^0.223.0": "jsr:@std/streams@0.223.0", + "npm:@electric-sql/pglite@^0.2.5": "npm:@electric-sql/pglite@0.2.5", "npm:@isaacs/ttlcache@^1.4.1": "npm:@isaacs/ttlcache@1.4.1", "npm:@noble/hashes@^1.4.0": "npm:@noble/hashes@1.4.0", "npm:@scure/base@^1.1.6": "npm:@scure/base@1.1.6", @@ -257,6 +259,12 @@ "npm:kysely@^0.27.2" ] }, + "@soapbox/kysely-pglite@0.0.5": { + "integrity": "87fc586d46cffede8dcc18598f41411db296130c14f22b044d6a5538fd6e59b5", + "dependencies": [ + "npm:kysely@^0.27.4" + ] + }, "@soapbox/stickynotes@0.4.0": { "integrity": "60bfe61ab3d7e04bf708273b1e2d391a59534bdf29e54160e98d7afd328ca1ec" }, @@ -397,6 +405,10 @@ } }, "npm": { + "@electric-sql/pglite@0.2.5": { + "integrity": "sha512-LrMX2kX0mCVN4xkhIDv1KBVukWtoOI/+P9MDQgHX5QEeZCi5S60LZOa0VWXjufPEz7mJtbuXWJRujD++t0gsHA==", + "dependencies": {} + }, "@isaacs/ttlcache@1.4.1": { "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", "dependencies": {} @@ -1920,6 +1932,7 @@ "jsr:@nostrify/db@^0.31.2", "jsr:@nostrify/nostrify@^0.30.1", "jsr:@soapbox/kysely-deno-sqlite@^2.1.0", + "jsr:@soapbox/kysely-pglite@^0.0.5", "jsr:@soapbox/stickynotes@^0.4.0", "jsr:@std/assert@^0.225.1", "jsr:@std/cli@^0.223.0", @@ -1930,6 +1943,7 @@ "jsr:@std/json@^0.223.0", "jsr:@std/media-types@^0.224.1", "jsr:@std/streams@^0.223.0", + "npm:@electric-sql/pglite@^0.2.5", "npm:@isaacs/ttlcache@^1.4.1", "npm:@noble/secp256k1@^2.0.0", "npm:@scure/base@^1.1.6", diff --git a/src/config.ts b/src/config.ts index 7954e744..145ed9e4 100644 --- a/src/config.ts +++ b/src/config.ts @@ -82,7 +82,7 @@ class Conf { * ``` */ static get databaseUrl(): string { - return Deno.env.get('DATABASE_URL') ?? 'sqlite://data/db.sqlite3'; + return Deno.env.get('DATABASE_URL') ?? 'pglite://data/pgdata'; } static db = { get url(): url.UrlWithStringQuery { @@ -92,6 +92,7 @@ class Conf { switch (Conf.db.url.protocol) { case 'sqlite:': return 'sqlite'; + case 'pglite:': case 'postgres:': case 'postgresql:': return 'postgres'; diff --git a/src/db/DittoDB.ts b/src/db/DittoDB.ts index 5ed5d15e..40d03e5f 100644 --- a/src/db/DittoDB.ts +++ b/src/db/DittoDB.ts @@ -5,6 +5,7 @@ import { NDatabaseSchema, NPostgresSchema } from '@nostrify/db'; import { FileMigrationProvider, Kysely, Migrator } from 'kysely'; import { Conf } from '@/config.ts'; +import { DittoPglite } from '@/db/adapters/DittoPglite.ts'; import { DittoPostgres } from '@/db/adapters/DittoPostgres.ts'; import { DittoSQLite } from '@/db/adapters/DittoSQLite.ts'; import { DittoTables } from '@/db/DittoTables.ts'; @@ -30,12 +31,17 @@ export class DittoDB { static async _getInstance(): Promise { const result = {} as DittoDatabase; - switch (Conf.db.dialect) { - case 'sqlite': + switch (Conf.db.url.protocol) { + case 'sqlite:': result.dialect = 'sqlite'; result.kysely = await DittoSQLite.getInstance(); break; - case 'postgres': + case 'pglite:': + result.dialect = 'postgres'; + result.kysely = await DittoPglite.getInstance(); + break; + case 'postgres:': + case 'postgresql:': result.dialect = 'postgres'; result.kysely = await DittoPostgres.getInstance(); break; diff --git a/src/db/adapters/DittoPglite.ts b/src/db/adapters/DittoPglite.ts new file mode 100644 index 00000000..ef035a3b --- /dev/null +++ b/src/db/adapters/DittoPglite.ts @@ -0,0 +1,56 @@ +import { PGlite } from '@electric-sql/pglite'; +import { NPostgresSchema } from '@nostrify/db'; +import { PgliteDialect } from '@soapbox/kysely-pglite'; +import { Kysely } from 'kysely'; + +import { Conf } from '@/config.ts'; +import { DittoTables } from '@/db/DittoTables.ts'; +import { KyselyLogger } from '@/db/KyselyLogger.ts'; + +export class DittoPglite { + static db: Kysely & Kysely | undefined; + + // deno-lint-ignore require-await + static async getInstance(): Promise & Kysely> { + if (!this.db) { + this.db = new Kysely({ + dialect: new PgliteDialect({ + database: new PGlite(this.path), + }), + log: KyselyLogger, + }) as Kysely & Kysely; + } + + return this.db; + } + + static get poolSize() { + return 1; + } + + static get availableConnections(): number { + return 1; + } + + /** Get the relative or absolute path based on the `DATABASE_URL`. */ + static get path(): string | undefined { + if (Conf.databaseUrl === 'pglite://:memory:') { + return undefined; + } + + const { host, pathname } = Conf.db.url; + + if (!pathname) return ''; + + // Get relative path. + if (host === '') { + return pathname; + } else if (host === '.') { + return pathname; + } else if (host) { + return host + pathname; + } + + return ''; + } +} From 819957da49c1e0fb7e924872cff5ea7aa06fc2e5 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 7 Sep 2024 20:56:50 -0500 Subject: [PATCH 2/4] Upgrade kysely-pglite --- deno.json | 2 +- deno.lock | 31 ++++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/deno.json b/deno.json index d5db42c8..6cd17018 100644 --- a/deno.json +++ b/deno.json @@ -38,7 +38,7 @@ "@scure/base": "npm:@scure/base@^1.1.6", "@sentry/deno": "https://deno.land/x/sentry@7.112.2/index.mjs", "@soapbox/kysely-deno-sqlite": "jsr:@soapbox/kysely-deno-sqlite@^2.1.0", - "@soapbox/kysely-pglite": "jsr:@soapbox/kysely-pglite@^0.0.5", + "@soapbox/kysely-pglite": "jsr:@soapbox/kysely-pglite@^0.0.6", "@soapbox/stickynotes": "jsr:@soapbox/stickynotes@^0.4.0", "@std/assert": "jsr:@std/assert@^0.225.1", "@std/cli": "jsr:@std/cli@^0.223.0", diff --git a/deno.lock b/deno.lock index e59e513c..bbaf3011 100644 --- a/deno.lock +++ b/deno.lock @@ -2,7 +2,7 @@ "version": "3", "packages": { "specifiers": { - "jsr:@b-fuze/deno-dom@^0.1.47": "jsr:@b-fuze/deno-dom@0.1.47", + "jsr:@b-fuze/deno-dom@^0.1.47": "jsr:@b-fuze/deno-dom@0.1.48", "jsr:@bradenmacdonald/s3-lite-client@^0.7.4": "jsr:@bradenmacdonald/s3-lite-client@0.7.6", "jsr:@db/sqlite@^0.11.1": "jsr:@db/sqlite@0.11.1", "jsr:@denosaurs/plug@1": "jsr:@denosaurs/plug@1.0.6", @@ -12,7 +12,7 @@ "jsr:@gleasonator/policy@0.4.0": "jsr:@gleasonator/policy@0.4.0", "jsr:@gleasonator/policy@0.4.1": "jsr:@gleasonator/policy@0.4.1", "jsr:@gleasonator/policy@0.4.2": "jsr:@gleasonator/policy@0.4.2", - "jsr:@hono/hono@^4.4.6": "jsr:@hono/hono@4.5.9", + "jsr:@hono/hono@^4.4.6": "jsr:@hono/hono@4.5.11", "jsr:@lambdalisue/async@^2.1.1": "jsr:@lambdalisue/async@2.1.1", "jsr:@nostrify/db@^0.31.2": "jsr:@nostrify/db@0.31.2", "jsr:@nostrify/nostrify@^0.22.1": "jsr:@nostrify/nostrify@0.22.5", @@ -22,7 +22,7 @@ "jsr:@nostrify/nostrify@^0.30.1": "jsr:@nostrify/nostrify@0.30.1", "jsr:@nostrify/types@^0.30.0": "jsr:@nostrify/types@0.30.0", "jsr:@soapbox/kysely-deno-sqlite@^2.1.0": "jsr:@soapbox/kysely-deno-sqlite@2.2.0", - "jsr:@soapbox/kysely-pglite@^0.0.5": "jsr:@soapbox/kysely-pglite@0.0.5", + "jsr:@soapbox/kysely-pglite@^0.0.6": "jsr:@soapbox/kysely-pglite@0.0.6", "jsr:@soapbox/stickynotes@^0.4.0": "jsr:@soapbox/stickynotes@0.4.0", "jsr:@std/assert@^0.213.1": "jsr:@std/assert@0.213.1", "jsr:@std/assert@^0.217.0": "jsr:@std/assert@0.217.0", @@ -40,13 +40,14 @@ "jsr:@std/encoding@^0.221.0": "jsr:@std/encoding@0.221.0", "jsr:@std/encoding@^0.224.0": "jsr:@std/encoding@0.224.3", "jsr:@std/encoding@^0.224.1": "jsr:@std/encoding@0.224.3", + "jsr:@std/encoding@^1.0.4": "jsr:@std/encoding@1.0.4", "jsr:@std/fmt@0.213.1": "jsr:@std/fmt@0.213.1", "jsr:@std/fmt@^0.221.0": "jsr:@std/fmt@0.221.0", "jsr:@std/fs@0.213.1": "jsr:@std/fs@0.213.1", "jsr:@std/fs@^0.221.0": "jsr:@std/fs@0.221.0", "jsr:@std/fs@^0.229.3": "jsr:@std/fs@0.229.3", "jsr:@std/internal@^1.0.0": "jsr:@std/internal@1.0.1", - "jsr:@std/io@^0.224": "jsr:@std/io@0.224.6", + "jsr:@std/io@^0.224": "jsr:@std/io@0.224.7", "jsr:@std/json@^0.223.0": "jsr:@std/json@0.223.0", "jsr:@std/media-types@^0.224.1": "jsr:@std/media-types@0.224.1", "jsr:@std/path@0.213.1": "jsr:@std/path@0.213.1", @@ -103,6 +104,9 @@ "jsr:@denosaurs/plug@1.0.3" ] }, + "@b-fuze/deno-dom@0.1.48": { + "integrity": "bf5b591aef2e9e9c59adfcbb93a9ecd45bab5b7c8263625beafa5c8f1662e7da" + }, "@bradenmacdonald/s3-lite-client@0.7.6": { "integrity": "2b5976dca95d207dc88e23f9807e3eecbc441b0cf547dcda5784afe6668404d1", "dependencies": [ @@ -167,6 +171,9 @@ "@hono/hono@4.5.1": { "integrity": "459748ed4d4146c6e4bdff0213ff1ac44749904066ae02e7550d6c7f28c9bc4c" }, + "@hono/hono@4.5.11": { + "integrity": "5bd6b1a3a503efb746fdcf0aae3ac536dd09229d372988bde5db0798ef64ae4f" + }, "@hono/hono@4.5.3": { "integrity": "429923b2b3c6586a1450862328d61a1346fee5841e8ae86c494250475057213c" }, @@ -259,9 +266,10 @@ "npm:kysely@^0.27.2" ] }, - "@soapbox/kysely-pglite@0.0.5": { - "integrity": "87fc586d46cffede8dcc18598f41411db296130c14f22b044d6a5538fd6e59b5", + "@soapbox/kysely-pglite@0.0.6": { + "integrity": "df88a2610c0bbfe382a0d4d060a1968458b96b79e990e4d7b85744ca819f00d9", "dependencies": [ + "jsr:@std/encoding@^1.0.4", "npm:kysely@^0.27.4" ] }, @@ -317,6 +325,9 @@ "@std/encoding@0.224.3": { "integrity": "5e861b6d81be5359fad4155e591acf17c0207b595112d1840998bb9f476dbdaf" }, + "@std/encoding@1.0.4": { + "integrity": "2266cd516b32369e3dc5695717c96bf88343a1f761d6e6187a02a2bbe2af86ae" + }, "@std/fmt@0.213.1": { "integrity": "a06d31777566d874b9c856c10244ac3e6b660bdec4c82506cd46be052a1082c3" }, @@ -376,6 +387,12 @@ "jsr:@std/bytes@^1.0.2" ] }, + "@std/io@0.224.7": { + "integrity": "a70848793c44a7c100926571a8c9be68ba85487bfcd4d0540d86deabe1123dc9", + "dependencies": [ + "jsr:@std/bytes@^1.0.2" + ] + }, "@std/json@0.223.0": { "integrity": "9a4a255931dd0397924c6b10bb6a72fe3e28ddd876b981ada2e3b8dd0764163f" }, @@ -1932,7 +1949,7 @@ "jsr:@nostrify/db@^0.31.2", "jsr:@nostrify/nostrify@^0.30.1", "jsr:@soapbox/kysely-deno-sqlite@^2.1.0", - "jsr:@soapbox/kysely-pglite@^0.0.5", + "jsr:@soapbox/kysely-pglite@^0.0.6", "jsr:@soapbox/stickynotes@^0.4.0", "jsr:@std/assert@^0.225.1", "jsr:@std/cli@^0.223.0", From 6a142721841e9299cf84550a4b622ac1907b03e2 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 10 Sep 2024 15:59:15 -0500 Subject: [PATCH 3/4] Make pglite work --- deno.json | 4 ++-- deno.lock | 61 ++++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 47 insertions(+), 18 deletions(-) diff --git a/deno.json b/deno.json index 6cd17018..840caf77 100644 --- a/deno.json +++ b/deno.json @@ -28,7 +28,7 @@ "@b-fuze/deno-dom": "jsr:@b-fuze/deno-dom@^0.1.47", "@bradenmacdonald/s3-lite-client": "jsr:@bradenmacdonald/s3-lite-client@^0.7.4", "@db/sqlite": "jsr:@db/sqlite@^0.11.1", - "@electric-sql/pglite": "npm:@electric-sql/pglite@^0.2.5", + "@electric-sql/pglite": "npm:@soapbox.pub/pglite@^0.2.10", "@hono/hono": "jsr:@hono/hono@^4.4.6", "@isaacs/ttlcache": "npm:@isaacs/ttlcache@^1.4.1", "@lambdalisue/async": "jsr:@lambdalisue/async@^2.1.1", @@ -38,7 +38,7 @@ "@scure/base": "npm:@scure/base@^1.1.6", "@sentry/deno": "https://deno.land/x/sentry@7.112.2/index.mjs", "@soapbox/kysely-deno-sqlite": "jsr:@soapbox/kysely-deno-sqlite@^2.1.0", - "@soapbox/kysely-pglite": "jsr:@soapbox/kysely-pglite@^0.0.6", + "@soapbox/kysely-pglite": "jsr:@soapbox/kysely-pglite@^0.0.1", "@soapbox/stickynotes": "jsr:@soapbox/stickynotes@^0.4.0", "@std/assert": "jsr:@std/assert@^0.225.1", "@std/cli": "jsr:@std/cli@^0.223.0", diff --git a/deno.lock b/deno.lock index bbaf3011..d9eee2d8 100644 --- a/deno.lock +++ b/deno.lock @@ -12,6 +12,7 @@ "jsr:@gleasonator/policy@0.4.0": "jsr:@gleasonator/policy@0.4.0", "jsr:@gleasonator/policy@0.4.1": "jsr:@gleasonator/policy@0.4.1", "jsr:@gleasonator/policy@0.4.2": "jsr:@gleasonator/policy@0.4.2", + "jsr:@gleasonator/policy@0.5.0": "jsr:@gleasonator/policy@0.5.0", "jsr:@hono/hono@^4.4.6": "jsr:@hono/hono@4.5.11", "jsr:@lambdalisue/async@^2.1.1": "jsr:@lambdalisue/async@2.1.1", "jsr:@nostrify/db@^0.31.2": "jsr:@nostrify/db@0.31.2", @@ -20,9 +21,12 @@ "jsr:@nostrify/nostrify@^0.22.5": "jsr:@nostrify/nostrify@0.22.5", "jsr:@nostrify/nostrify@^0.30.0": "jsr:@nostrify/nostrify@0.30.1", "jsr:@nostrify/nostrify@^0.30.1": "jsr:@nostrify/nostrify@0.30.1", - "jsr:@nostrify/types@^0.30.0": "jsr:@nostrify/types@0.30.0", + "jsr:@nostrify/nostrify@^0.31.0": "jsr:@nostrify/nostrify@0.31.0", + "jsr:@nostrify/policies@^0.33.0": "jsr:@nostrify/policies@0.33.0", + "jsr:@nostrify/types@^0.30.0": "jsr:@nostrify/types@0.30.1", + "jsr:@nostrify/types@^0.30.1": "jsr:@nostrify/types@0.30.1", "jsr:@soapbox/kysely-deno-sqlite@^2.1.0": "jsr:@soapbox/kysely-deno-sqlite@2.2.0", - "jsr:@soapbox/kysely-pglite@^0.0.6": "jsr:@soapbox/kysely-pglite@0.0.6", + "jsr:@soapbox/kysely-pglite@^0.0.1": "jsr:@soapbox/kysely-pglite@0.0.1", "jsr:@soapbox/stickynotes@^0.4.0": "jsr:@soapbox/stickynotes@0.4.0", "jsr:@std/assert@^0.213.1": "jsr:@std/assert@0.213.1", "jsr:@std/assert@^0.217.0": "jsr:@std/assert@0.217.0", @@ -40,7 +44,6 @@ "jsr:@std/encoding@^0.221.0": "jsr:@std/encoding@0.221.0", "jsr:@std/encoding@^0.224.0": "jsr:@std/encoding@0.224.3", "jsr:@std/encoding@^0.224.1": "jsr:@std/encoding@0.224.3", - "jsr:@std/encoding@^1.0.4": "jsr:@std/encoding@1.0.4", "jsr:@std/fmt@0.213.1": "jsr:@std/fmt@0.213.1", "jsr:@std/fmt@^0.221.0": "jsr:@std/fmt@0.221.0", "jsr:@std/fs@0.213.1": "jsr:@std/fs@0.213.1", @@ -55,12 +58,12 @@ "jsr:@std/path@^0.213.1": "jsr:@std/path@0.213.1", "jsr:@std/path@^0.221.0": "jsr:@std/path@0.221.0", "jsr:@std/streams@^0.223.0": "jsr:@std/streams@0.223.0", - "npm:@electric-sql/pglite@^0.2.5": "npm:@electric-sql/pglite@0.2.5", "npm:@isaacs/ttlcache@^1.4.1": "npm:@isaacs/ttlcache@1.4.1", "npm:@noble/hashes@^1.4.0": "npm:@noble/hashes@1.4.0", "npm:@scure/base@^1.1.6": "npm:@scure/base@1.1.6", "npm:@scure/bip32@^1.4.0": "npm:@scure/bip32@1.4.0", "npm:@scure/bip39@^1.3.0": "npm:@scure/bip39@1.3.0", + "npm:@soapbox.pub/pglite@^0.2.10": "npm:@soapbox.pub/pglite@0.2.10", "npm:@types/node": "npm:@types/node@18.16.19", "npm:comlink-async-generator": "npm:comlink-async-generator@0.0.1", "npm:comlink-async-generator@^0.0.1": "npm:comlink-async-generator@0.0.1", @@ -162,6 +165,13 @@ "jsr:@nostrify/nostrify@^0.22.1" ] }, + "@gleasonator/policy@0.5.0": { + "integrity": "c2882eb3b4147dfe96b6ec2870b012b5a614f686770d1d4b2f778fdc44e8b1f5", + "dependencies": [ + "jsr:@nostrify/nostrify@^0.31.0", + "jsr:@nostrify/policies@^0.33.0" + ] + }, "@hono/hono@4.4.6": { "integrity": "aa557ca9930787ee86b9ca1730691f1ce1c379174c2cb244d5934db2b6314453" }, @@ -257,19 +267,41 @@ "npm:zod@^3.23.8" ] }, + "@nostrify/nostrify@0.31.0": { + "integrity": "1c1b686bb9ca3ad8d19807e3b96ef3793a65d70fd0f433fe6ef8b3fdb9f45557", + "dependencies": [ + "jsr:@nostrify/types@^0.30.1", + "jsr:@std/encoding@^0.224.1", + "npm:@scure/bip32@^1.4.0", + "npm:@scure/bip39@^1.3.0", + "npm:lru-cache@^10.2.0", + "npm:nostr-tools@^2.7.0", + "npm:websocket-ts@^2.1.5", + "npm:zod@^3.23.8" + ] + }, + "@nostrify/policies@0.33.0": { + "integrity": "c946b06d0527298b4d7c9819d142a10f522ba09eee76c37525aa4acfc5d87aee", + "dependencies": [ + "jsr:@nostrify/types@^0.30.1", + "npm:nostr-tools@^2.7.0" + ] + }, "@nostrify/types@0.30.0": { "integrity": "1f38fa849cff930bd709edbf94ef9ac02f46afb8b851f86c8736517b354616da" }, + "@nostrify/types@0.30.1": { + "integrity": "245da176f6893a43250697db51ad32bfa29bf9b1cdc1ca218043d9abf6de5ae5" + }, "@soapbox/kysely-deno-sqlite@2.2.0": { "integrity": "668ec94600bc4b4d7bd618dd7ca65d4ef30ee61c46ffcb379b6f45203c08517a", "dependencies": [ "npm:kysely@^0.27.2" ] }, - "@soapbox/kysely-pglite@0.0.6": { - "integrity": "df88a2610c0bbfe382a0d4d060a1968458b96b79e990e4d7b85744ca819f00d9", + "@soapbox/kysely-pglite@0.0.1": { + "integrity": "7a4221aa780aad6fba9747c45c59dfb1c62017ba8cad9db5607f6e5822c058d5", "dependencies": [ - "jsr:@std/encoding@^1.0.4", "npm:kysely@^0.27.4" ] }, @@ -325,9 +357,6 @@ "@std/encoding@0.224.3": { "integrity": "5e861b6d81be5359fad4155e591acf17c0207b595112d1840998bb9f476dbdaf" }, - "@std/encoding@1.0.4": { - "integrity": "2266cd516b32369e3dc5695717c96bf88343a1f761d6e6187a02a2bbe2af86ae" - }, "@std/fmt@0.213.1": { "integrity": "a06d31777566d874b9c856c10244ac3e6b660bdec4c82506cd46be052a1082c3" }, @@ -422,10 +451,6 @@ } }, "npm": { - "@electric-sql/pglite@0.2.5": { - "integrity": "sha512-LrMX2kX0mCVN4xkhIDv1KBVukWtoOI/+P9MDQgHX5QEeZCi5S60LZOa0VWXjufPEz7mJtbuXWJRujD++t0gsHA==", - "dependencies": {} - }, "@isaacs/ttlcache@1.4.1": { "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", "dependencies": {} @@ -510,6 +535,10 @@ "@scure/base": "@scure/base@1.1.6" } }, + "@soapbox.pub/pglite@0.2.10": { + "integrity": "sha512-DEHejCr+R99RNdyOo34Nbl1FKLmpBCc0pMlPhH3yTyc/KH5HV7dPYbTGCgqRXPxODVkQhvaEuIF2266KsUlZcg==", + "dependencies": {} + }, "@types/dompurify@3.0.5": { "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", "dependencies": { @@ -1949,7 +1978,7 @@ "jsr:@nostrify/db@^0.31.2", "jsr:@nostrify/nostrify@^0.30.1", "jsr:@soapbox/kysely-deno-sqlite@^2.1.0", - "jsr:@soapbox/kysely-pglite@^0.0.6", + "jsr:@soapbox/kysely-pglite@^0.0.1", "jsr:@soapbox/stickynotes@^0.4.0", "jsr:@std/assert@^0.225.1", "jsr:@std/cli@^0.223.0", @@ -1960,10 +1989,10 @@ "jsr:@std/json@^0.223.0", "jsr:@std/media-types@^0.224.1", "jsr:@std/streams@^0.223.0", - "npm:@electric-sql/pglite@^0.2.5", "npm:@isaacs/ttlcache@^1.4.1", "npm:@noble/secp256k1@^2.0.0", "npm:@scure/base@^1.1.6", + "npm:@soapbox.pub/pglite@^0.2.10", "npm:comlink-async-generator@^0.0.1", "npm:comlink@^4.4.1", "npm:commander@12.1.0", From 25a8f27cb760311dc32e7c21c26403fa1ad2b5b9 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 10 Sep 2024 16:01:13 -0500 Subject: [PATCH 4/4] ci: upgrade deno to v1.46.3 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b97226a0..bb7838bb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: denoland/deno:1.45.5 +image: denoland/deno:1.46.3 default: interruptible: true