Fix Vercel deployment issues

- Update Node.js version from 18.x to 22.x for Neon compatibility
- Fix TypeScript errors by properly typing error objects as Error
- Resolve engine compatibility issues with @neondatabase/serverless and react-router
- Add proper error type casting in all API endpoints
- Fix FUNCTION_INVOCATION_FAILED crashes
This commit is contained in:
Randall Stillwell 2025-07-21 15:56:26 -05:00
parent 4821d1a389
commit 33345a9f51
5 changed files with 6 additions and 6 deletions

View file

@ -118,7 +118,7 @@ export default async function handler(req: NextRequest) {
`; `;
migratedCount++; migratedCount++;
} catch (error) { } catch (error) {
const errorMsg = `Error migrating card ${card.name}: ${error.message}`; const errorMsg = `Error migrating card ${card.name}: ${(error as Error).message}`;
console.error(errorMsg); console.error(errorMsg);
errors.push(errorMsg); errors.push(errorMsg);
} }
@ -146,7 +146,7 @@ export default async function handler(req: NextRequest) {
return new NextResponse(JSON.stringify({ return new NextResponse(JSON.stringify({
success: false, success: false,
error: 'Migration failed', error: 'Migration failed',
details: error.message details: (error as Error).message
}), { }), {
status: 500, status: 500,
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },

View file

@ -102,7 +102,7 @@ export default async function handler(req: NextRequest) {
console.error('API Error:', error) console.error('API Error:', error)
return new NextResponse(JSON.stringify({ return new NextResponse(JSON.stringify({
error: 'Internal server error', error: 'Internal server error',
details: process.env.NODE_ENV === 'development' ? error.message : undefined details: process.env.NODE_ENV === 'development' ? (error as Error).message : undefined
}), { }), {
status: 500, status: 500,
headers: { headers: {

View file

@ -110,7 +110,7 @@ export default async function handler(req: NextRequest) {
console.error('API Error:', error) console.error('API Error:', error)
return new NextResponse(JSON.stringify({ return new NextResponse(JSON.stringify({
error: 'Internal server error', error: 'Internal server error',
details: process.env.NODE_ENV === 'development' ? error.message : undefined details: process.env.NODE_ENV === 'development' ? (error as Error).message : undefined
}), { }), {
status: 500, status: 500,
headers: { headers: {

2
package-lock.json generated
View file

@ -38,7 +38,7 @@
"tailwindcss": "^3.4.17" "tailwindcss": "^3.4.17"
}, },
"engines": { "engines": {
"node": "18.x" "node": "22.x"
} }
}, },
"node_modules/@adobe/css-tools": { "node_modules/@adobe/css-tools": {

View file

@ -3,7 +3,7 @@
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"engines": { "engines": {
"node": "18.x" "node": "22.x"
}, },
"dependencies": { "dependencies": {
"@neondatabase/serverless": "^1.0.1", "@neondatabase/serverless": "^1.0.1",