From 0e47fb883fd9bf358279d1cfdb86da64f6c6eed2 Mon Sep 17 00:00:00 2001 From: Randall Stillwell Date: Tue, 2 Jun 2026 00:37:03 -0500 Subject: [PATCH] Purge direct @neondatabase/serverless dependency from operational scripts. Migrate setup-neon-db.js and reset-db.js to @vercel/postgres tagged templates so the runtime uses a single SQL client; historical add-*/fix-*/seed-* scripts remain unchanged per no-go-zone. Co-authored-by: Cursor --- package-lock.json | 46 ++++++---------------------------------- package.json | 1 - scripts/reset-db.js | 4 +--- scripts/setup-neon-db.js | 3 +-- 4 files changed, 8 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 40b99e6..eb83de5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,6 @@ "name": "deck-hearth", "version": "0.1.0", "dependencies": { - "@neondatabase/serverless": "^1.0.1", "@upstash/ratelimit": "^2.0.8", "@upstash/redis": "^1.38.0", "@vercel/blob": "^1.1.1", @@ -1850,28 +1849,6 @@ "@tybys/wasm-util": "^0.10.0" } }, - "node_modules/@neondatabase/serverless": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@neondatabase/serverless/-/serverless-1.0.1.tgz", - "integrity": "sha512-O6yC5TT0jbw86VZVkmnzCZJB0hfxBl0JJz6f+3KHoZabjb/X08r9eFA+vuY06z1/qaovykvdkrXYq3SPUuvogA==", - "license": "MIT", - "dependencies": { - "@types/node": "^22.15.30", - "@types/pg": "^8.8.0" - }, - "engines": { - "node": ">=19.0.0" - } - }, - "node_modules/@neondatabase/serverless/node_modules/@types/node": { - "version": "22.16.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.5.tgz", - "integrity": "sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, "node_modules/@next/env": { "version": "16.2.6", "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.6.tgz", @@ -2599,17 +2576,6 @@ "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", "license": "MIT" }, - "node_modules/@types/pg": { - "version": "8.15.4", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.15.4.tgz", - "integrity": "sha512-I6UNVBAoYbvuWkkU3oosC8yxqH21f4/Jc4DK71JLG3dT2mdlGe1z+ep/LQGXaKaOgcvUrsQoPRqfgtMcvZiJhg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "pg-protocol": "*", - "pg-types": "^2.2.0" - } - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.59.4", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.4.tgz", @@ -7788,6 +7754,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dev": true, "license": "MIT", "dependencies": { "pg-int8": "1.0.1", @@ -8060,6 +8027,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -8069,6 +8037,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8078,6 +8047,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8087,6 +8057,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dev": true, "license": "MIT", "dependencies": { "xtend": "^4.0.0" @@ -9720,12 +9691,6 @@ "node": ">=14.0" } }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "license": "MIT" - }, "node_modules/unrs-resolver": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", @@ -10344,6 +10309,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.4" diff --git a/package.json b/package.json index 2282d33..aec3b1e 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "test:visual:update": "playwright test --project=visual --update-snapshots" }, "dependencies": { - "@neondatabase/serverless": "^1.0.1", "@upstash/ratelimit": "^2.0.8", "@upstash/redis": "^1.38.0", "@vercel/blob": "^1.1.1", diff --git a/scripts/reset-db.js b/scripts/reset-db.js index c3961ab..db5a468 100644 --- a/scripts/reset-db.js +++ b/scripts/reset-db.js @@ -20,7 +20,7 @@ import dotenv from 'dotenv'; dotenv.config({ path: '.env.local' }); -import { neon } from '@neondatabase/serverless'; +import { sql } from '@vercel/postgres'; import bcrypt from 'bcryptjs'; async function resetDatabase() { @@ -36,8 +36,6 @@ async function resetDatabase() { process.exit(1); } - const sql = neon(process.env.POSTGRES_URL); - try { console.log('✅ Connecting to Neon database...'); diff --git a/scripts/setup-neon-db.js b/scripts/setup-neon-db.js index 897d381..c55d7ff 100644 --- a/scripts/setup-neon-db.js +++ b/scripts/setup-neon-db.js @@ -19,7 +19,7 @@ import dotenv from 'dotenv'; dotenv.config({ path: '.env.local' }); import { spawn } from 'node:child_process'; -import { neon } from '@neondatabase/serverless'; +import { sql } from '@vercel/postgres'; import bcrypt from 'bcryptjs'; function runMigrations() { @@ -70,7 +70,6 @@ async function setupNeonDatabase() { await runMigrations(); console.log('✅ Connecting to Neon database to seed admin user...'); - const sql = neon(process.env.POSTGRES_URL); const hashedPassword = await bcrypt.hash(adminPassword, 12); -- 2.45.2