From 24a26c24425739ff2eb09d6b3ae57d49494b37b6 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 1 Jul 2026 13:05:30 +0200 Subject: [PATCH] test(node): Update pg-native tests to use `additionalDependencies` This allows us to streamline things a bit and use common helpers/utilities. --- .../node-integration-tests/package.json | 2 +- .../tracing/postgres-streamed/package.json | 16 --- .../postgres-streamed/scenario-native.mjs | 5 +- .../suites/tracing/postgres-streamed/test.ts | 107 ++++++++++----- .../tracing/postgres-streamed/yarn.lock | 124 ------------------ .../suites/tracing/postgres/package.json | 16 --- .../tracing/postgres/scenario-native.mjs | 5 +- .../suites/tracing/postgres/test.ts | 29 ++-- .../suites/tracing/postgres/yarn.lock | 124 ------------------ yarn.lock | 53 +++----- 10 files changed, 118 insertions(+), 363 deletions(-) delete mode 100644 dev-packages/node-integration-tests/suites/tracing/postgres-streamed/package.json delete mode 100644 dev-packages/node-integration-tests/suites/tracing/postgres-streamed/yarn.lock delete mode 100644 dev-packages/node-integration-tests/suites/tracing/postgres/package.json delete mode 100644 dev-packages/node-integration-tests/suites/tracing/postgres/yarn.lock diff --git a/dev-packages/node-integration-tests/package.json b/dev-packages/node-integration-tests/package.json index 8e75f914e92a..d7f4546bfbb7 100644 --- a/dev-packages/node-integration-tests/package.json +++ b/dev-packages/node-integration-tests/package.json @@ -82,7 +82,7 @@ "node-cron": "^3.0.3", "node-schedule": "^2.1.1", "openai": "5.18.1", - "pg": "8.16.0", + "pg": "8.20.0", "pino": "9.10.0", "pino-next": "npm:pino@^9.12.0", "postgres": "^3.4.7", diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/package.json b/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/package.json deleted file mode 100644 index a8d5e85b7d3f..000000000000 --- a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "sentry-postgres-streamed-test", - "version": "1.0.0", - "description": "", - "main": "index.js", - "engines": { - "node": ">=18" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "pg": "8.20.0", - "pg-native": "3.7.0" - } -} diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/scenario-native.mjs b/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/scenario-native.mjs index 3aa62dc9208c..8842fa6f78ef 100644 --- a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/scenario-native.mjs +++ b/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/scenario-native.mjs @@ -4,7 +4,10 @@ import pg from 'pg'; const { native } = pg; const { Client } = native; -const client = new Client({ port: 5495, user: 'test', password: 'test', database: 'tests' }); +// `pg-native` uses libpq, which resolves `localhost` to IPv6 (`::1`) first and does not +// fall back to IPv4. Docker Desktop only forwards the mapped port over IPv4, so we connect +// to the IPv4 loopback explicitly to avoid an `ECONNREFUSED` on `::1`. +const client = new Client({ host: '127.0.0.1', port: 5495, user: 'test', password: 'test', database: 'tests' }); async function run() { await Sentry.startSpan( diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/test.ts b/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/test.ts index a636185a0c20..572c08674137 100644 --- a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/test.ts +++ b/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/test.ts @@ -75,9 +75,31 @@ const COMMON_DB_ATTRIBUTES = { * Builds the expected strict shape of a streamed postgres db span. * The `pg.connect` span has neither a `db.statement` nor a `sentry.origin`, * whereas query spans carry both. + * + * `host` defaults to `localhost`, but the `pg-native` scenarios connect to the + * IPv4 loopback (`127.0.0.1`) explicitly, so the reported peer name and + * connection string reflect that. */ -function expectedDbSpan({ name, statement }: { name: string; statement?: string }): unknown { - const attributes: Record = { ...COMMON_DB_ATTRIBUTES }; +function expectedDbSpan({ + name, + statement, + host = 'localhost', +}: { + name: string; + statement?: string; + host?: string; +}): unknown { + const attributes: Record = { + ...COMMON_DB_ATTRIBUTES, + 'net.peer.name': { + type: 'string', + value: host, + }, + 'db.connection_string': { + type: 'string', + value: expect.stringMatching(new RegExp(`^postgresql://${host.replace(/\./g, '\\.')}:\\d+/tests$`)), + }, + }; if (statement) { attributes['db.statement'] = { @@ -180,38 +202,53 @@ describe('postgres auto instrumentation (streamed)', () => { }); conditionalTest({ max: 25 })('pg-native', () => { - createEsmAndCjsTests(__dirname, 'scenario-native.mjs', 'instrument.mjs', (createTestRunner, test) => { - test('should auto-instrument `pg-native` package with span streaming enabled', { timeout: 90_000 }, async () => { - await createTestRunner() - .withDockerCompose({ - workingDirectory: [__dirname], - setupCommand: 'yarn', - }) - .expect({ - span: container => { - const segmentSpan = container.items.find(item => item.is_segment); - expect(segmentSpan?.name).toBe('Test Span'); - - const dbSpans = getDbSpans(container); - expect(dbSpans.length).toBe(4); - - expect(dbSpans).toEqual([ - expectedDbSpan({ name: 'pg.connect' }), - expectedDbSpan({ - name: CREATE_NATIVE_USER_TABLE_STATEMENT, - statement: CREATE_NATIVE_USER_TABLE_STATEMENT, - }), - expectedDbSpan({ - name: 'INSERT INTO "NativeUser" ("email", "name") VALUES ($1, $2)', - statement: 'INSERT INTO "NativeUser" ("email", "name") VALUES ($1, $2)', - }), - expectedDbSpan({ name: 'SELECT * FROM "NativeUser"', statement: 'SELECT * FROM "NativeUser"' }), - ]); - }, - }) - .start() - .completed(); - }); - }); + createEsmAndCjsTests( + __dirname, + 'scenario-native.mjs', + 'instrument.mjs', + (createTestRunner, test) => { + test( + 'should auto-instrument `pg-native` package with span streaming enabled', + { timeout: 120_000 }, + async () => { + await createTestRunner() + .withDockerCompose({ + workingDirectory: [__dirname], + }) + .expect({ + span: container => { + const segmentSpan = container.items.find(item => item.is_segment); + expect(segmentSpan?.name).toBe('Test Span'); + + const dbSpans = getDbSpans(container); + expect(dbSpans.length).toBe(4); + + expect(dbSpans).toEqual([ + expectedDbSpan({ name: 'pg.connect', host: '127.0.0.1' }), + expectedDbSpan({ + name: CREATE_NATIVE_USER_TABLE_STATEMENT, + statement: CREATE_NATIVE_USER_TABLE_STATEMENT, + host: '127.0.0.1', + }), + expectedDbSpan({ + name: 'INSERT INTO "NativeUser" ("email", "name") VALUES ($1, $2)', + statement: 'INSERT INTO "NativeUser" ("email", "name") VALUES ($1, $2)', + host: '127.0.0.1', + }), + expectedDbSpan({ + name: 'SELECT * FROM "NativeUser"', + statement: 'SELECT * FROM "NativeUser"', + host: '127.0.0.1', + }), + ]); + }, + }) + .start() + .completed(); + }, + ); + }, + { additionalDependencies: { 'pg-native': '3.7.0', pg: '8.20.0' } }, + ); }); }); diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/yarn.lock b/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/yarn.lock deleted file mode 100644 index 8b2e296ece0b..000000000000 --- a/dev-packages/node-integration-tests/suites/tracing/postgres-streamed/yarn.lock +++ /dev/null @@ -1,124 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -bindings@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -libpq@^1.8.15: - version "1.8.15" - resolved "https://registry.yarnpkg.com/libpq/-/libpq-1.8.15.tgz#bf9cea8e59e1a4a911d06df01d408213a09925ad" - integrity sha512-4lSWmly2Nsj3LaTxxtFmJWuP3Kx+0hYHEd+aNrcXEWT0nKWaPd9/QZPiMkkC680zeALFGHQdQWjBvnilL+vgWA== - dependencies: - bindings "1.5.0" - nan "~2.22.2" - -nan@~2.22.2: - version "2.22.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.2.tgz#6b504fd029fb8f38c0990e52ad5c26772fdacfbb" - integrity sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ== - -pg-cloudflare@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz#386035d4bfcf1a7045b026f8b21acf5353f14d65" - integrity sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ== - -pg-connection-string@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz#4084f917902bb2daae3dc1376fe24ac7b4eaccf2" - integrity sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ== - -pg-int8@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" - integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== - -pg-native@3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/pg-native/-/pg-native-3.7.0.tgz#1bd78031482c78dc5240c4350cddb291493dc34f" - integrity sha512-q2V5DynvPt4PD75q1DqZOUrieEgE4bf/flEeLCzzs8axgn8x2mRCUhd1DP0cqMz8FEdpVEDb0/zKblQWeijbGg== - dependencies: - libpq "^1.8.15" - pg-types "2.2.0" - -pg-pool@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.13.0.tgz#416482e9700e8f80c685a6ae5681697a413c13a3" - integrity sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA== - -pg-protocol@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.13.0.tgz#fdaf6d020bca590d58bb991b4b16fc448efe0511" - integrity sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w== - -pg-types@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" - integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== - dependencies: - pg-int8 "1.0.1" - postgres-array "~2.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.4" - postgres-interval "^1.1.0" - -pg@8.20.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.20.0.tgz#1a274de944cb329fd6dd77a6d371a005ba6b136d" - integrity sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA== - dependencies: - pg-connection-string "^2.12.0" - pg-pool "^3.13.0" - pg-protocol "^1.13.0" - pg-types "2.2.0" - pgpass "1.0.5" - optionalDependencies: - pg-cloudflare "^1.3.0" - -pgpass@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d" - integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== - dependencies: - split2 "^4.1.0" - -postgres-array@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" - integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" - integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== - -postgres-date@~1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" - integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== - -postgres-interval@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" - integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== - dependencies: - xtend "^4.0.0" - -split2@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres/package.json b/dev-packages/node-integration-tests/suites/tracing/postgres/package.json deleted file mode 100644 index 040e636bcb69..000000000000 --- a/dev-packages/node-integration-tests/suites/tracing/postgres/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "sentry-postgres-test", - "version": "1.0.0", - "description": "", - "main": "index.js", - "engines": { - "node": ">=18" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "pg": "8.20.0", - "pg-native": "3.7.0" - } -} diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres/scenario-native.mjs b/dev-packages/node-integration-tests/suites/tracing/postgres/scenario-native.mjs index 075b64218e19..1665280c3cc3 100644 --- a/dev-packages/node-integration-tests/suites/tracing/postgres/scenario-native.mjs +++ b/dev-packages/node-integration-tests/suites/tracing/postgres/scenario-native.mjs @@ -4,7 +4,10 @@ import pg from 'pg'; const { native } = pg; const { Client } = native; -const client = new Client({ port: 5494, user: 'test', password: 'test', database: 'tests' }); +// `pg-native` uses libpq, which resolves `localhost` to IPv6 (`::1`) first and does not +// fall back to IPv4. Docker Desktop only forwards the mapped port over IPv4, so we connect +// to the IPv4 loopback explicitly to avoid an `ECONNREFUSED` on `::1`. +const client = new Client({ host: '127.0.0.1', port: 5494, user: 'test', password: 'test', database: 'tests' }); async function run() { await Sentry.startSpan( diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres/test.ts b/dev-packages/node-integration-tests/suites/tracing/postgres/test.ts index a24b11efee42..1d0a1e86555d 100644 --- a/dev-packages/node-integration-tests/suites/tracing/postgres/test.ts +++ b/dev-packages/node-integration-tests/suites/tracing/postgres/test.ts @@ -340,17 +340,22 @@ describe('postgres auto instrumentation', () => { ]), }; - createEsmAndCjsTests(__dirname, 'scenario-native.mjs', 'instrument.mjs', (createTestRunner, test) => { - test('should auto-instrument `pg-native` package', { timeout: 90_000 }, async () => { - await createTestRunner() - .withDockerCompose({ - workingDirectory: [__dirname], - setupCommand: 'yarn', - }) - .expect({ transaction: EXPECTED_TRANSACTION }) - .start() - .completed(); - }); - }); + createEsmAndCjsTests( + __dirname, + 'scenario-native.mjs', + 'instrument.mjs', + (createTestRunner, test) => { + test('should auto-instrument `pg-native` package', { timeout: 120_000 }, async () => { + await createTestRunner() + .withDockerCompose({ + workingDirectory: [__dirname], + }) + .expect({ transaction: EXPECTED_TRANSACTION }) + .start() + .completed(); + }); + }, + { additionalDependencies: { 'pg-native': '3.7.0', pg: '8.20.0' } }, + ); }); }); diff --git a/dev-packages/node-integration-tests/suites/tracing/postgres/yarn.lock b/dev-packages/node-integration-tests/suites/tracing/postgres/yarn.lock deleted file mode 100644 index 8b2e296ece0b..000000000000 --- a/dev-packages/node-integration-tests/suites/tracing/postgres/yarn.lock +++ /dev/null @@ -1,124 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -bindings@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -libpq@^1.8.15: - version "1.8.15" - resolved "https://registry.yarnpkg.com/libpq/-/libpq-1.8.15.tgz#bf9cea8e59e1a4a911d06df01d408213a09925ad" - integrity sha512-4lSWmly2Nsj3LaTxxtFmJWuP3Kx+0hYHEd+aNrcXEWT0nKWaPd9/QZPiMkkC680zeALFGHQdQWjBvnilL+vgWA== - dependencies: - bindings "1.5.0" - nan "~2.22.2" - -nan@~2.22.2: - version "2.22.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.2.tgz#6b504fd029fb8f38c0990e52ad5c26772fdacfbb" - integrity sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ== - -pg-cloudflare@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz#386035d4bfcf1a7045b026f8b21acf5353f14d65" - integrity sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ== - -pg-connection-string@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz#4084f917902bb2daae3dc1376fe24ac7b4eaccf2" - integrity sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ== - -pg-int8@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" - integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== - -pg-native@3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/pg-native/-/pg-native-3.7.0.tgz#1bd78031482c78dc5240c4350cddb291493dc34f" - integrity sha512-q2V5DynvPt4PD75q1DqZOUrieEgE4bf/flEeLCzzs8axgn8x2mRCUhd1DP0cqMz8FEdpVEDb0/zKblQWeijbGg== - dependencies: - libpq "^1.8.15" - pg-types "2.2.0" - -pg-pool@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.13.0.tgz#416482e9700e8f80c685a6ae5681697a413c13a3" - integrity sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA== - -pg-protocol@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.13.0.tgz#fdaf6d020bca590d58bb991b4b16fc448efe0511" - integrity sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w== - -pg-types@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" - integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== - dependencies: - pg-int8 "1.0.1" - postgres-array "~2.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.4" - postgres-interval "^1.1.0" - -pg@8.20.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.20.0.tgz#1a274de944cb329fd6dd77a6d371a005ba6b136d" - integrity sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA== - dependencies: - pg-connection-string "^2.12.0" - pg-pool "^3.13.0" - pg-protocol "^1.13.0" - pg-types "2.2.0" - pgpass "1.0.5" - optionalDependencies: - pg-cloudflare "^1.3.0" - -pgpass@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d" - integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== - dependencies: - split2 "^4.1.0" - -postgres-array@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" - integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" - integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== - -postgres-date@~1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" - integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== - -postgres-interval@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" - integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== - dependencies: - xtend "^4.0.0" - -split2@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== diff --git a/yarn.lock b/yarn.lock index a413856e5de8..bea860375c0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24031,7 +24031,7 @@ periscopic@^3.1.0: estree-walker "^3.0.0" is-reference "^3.0.0" -pg-cloudflare@^1.2.5, pg-cloudflare@^1.3.0: +pg-cloudflare@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz#386035d4bfcf1a7045b026f8b21acf5353f14d65" integrity sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ== @@ -24041,25 +24041,25 @@ pg-connection-string@2.6.1: resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.1.tgz#78c23c21a35dd116f48e12e23c0965e8d9e2cbfb" integrity sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg== -pg-connection-string@^2.10.0, pg-connection-string@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.10.0.tgz#5570fd4837bd813a2b3938cd1744586c7df4a5f1" - integrity sha512-ur/eoPKzDx2IjPaYyXS6Y8NSblxM7X64deV2ObV57vhjsWiwLvUD6meukAzogiOsu60GO8m/3Cb6FdJsWNjwXg== +pg-connection-string@^2.12.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.14.0.tgz#abc26ee4f37c56c0f3ae0fcf0b0653cc4e1c0fd9" + integrity sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg== pg-int8@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== -pg-pool@^3.10.0, pg-pool@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.11.0.tgz#adf9a6651a30c839f565a3cc400110949c473d69" - integrity sha512-MJYfvHwtGp870aeusDh+hg9apvOe2zmpZJpyt+BMtzUWlVqbhFmMK6bOBXLBUPd7iRtIF9fZplDc7KrPN3PN7w== +pg-pool@^3.13.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.14.0.tgz#f35ae4eb846780cad71af24099b3edfa9781ad90" + integrity sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw== -pg-protocol@*, pg-protocol@^1.10.0, pg-protocol@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.11.0.tgz#2502908893edaa1e8c0feeba262dd7b40b317b53" - integrity sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g== +pg-protocol@*, pg-protocol@^1.13.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.15.0.tgz#758f6c0679cc0bbf4938603b7597703f333180c0" + integrity sha512-cq9sECI5s0+uPUXjbz8ioyPJni6RzsRib0US67i5IoTZKw8fNeYlVE7u8F4dG7vEJJtc5wdD1K189lCCUwqWTQ== pg-types@2.2.0, pg-types@^2.2.0: version "2.2.0" @@ -24072,27 +24072,14 @@ pg-types@2.2.0, pg-types@^2.2.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.16.0.tgz#40b08eedb5eb1834252cf3e3629503e32e6c6c04" - integrity sha512-7SKfdvP8CTNXjMUzfcVTaI+TDzBEeaUnVwiVGZQD1Hh33Kpev7liQba9uLd4CfN8r9mCVsD0JIpq03+Unpz+kg== - dependencies: - pg-connection-string "^2.9.0" - pg-pool "^3.10.0" - pg-protocol "^1.10.0" - pg-types "2.2.0" - pgpass "1.0.5" - optionalDependencies: - pg-cloudflare "^1.2.5" - -pg@^8.16.3: - version "8.17.1" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.17.1.tgz#cecf0c96d3f5004951ccbafaaa230779ebc89d35" - integrity sha512-EIR+jXdYNSMOrpRp7g6WgQr7SaZNZfS7IzZIO0oTNEeibq956JxeD15t3Jk3zZH0KH8DmOIx38qJfQenoE8bXQ== +pg@8.20.0, pg@^8.16.3: + version "8.20.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.20.0.tgz#1a274de944cb329fd6dd77a6d371a005ba6b136d" + integrity sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA== dependencies: - pg-connection-string "^2.10.0" - pg-pool "^3.11.0" - pg-protocol "^1.11.0" + pg-connection-string "^2.12.0" + pg-pool "^3.13.0" + pg-protocol "^1.13.0" pg-types "2.2.0" pgpass "1.0.5" optionalDependencies: