Upgrade all packages to latest major versions; fix two pre-existing bugs
Frontend: - next 15 → 16.2.6, react 19.0 → 19.2.6, eslint-config-next updated to match - Add missing axios dependency (was implicit, broke build) - Fix VideoPlayer.tsx broken absolute import path (pre-existing bug) - Fix uploads route handler params to async (Next.js 16 breaking change) - Remove deprecated images.domains → remotePatterns in next.config.js - Remove experimental.serverActions (promoted to stable, then removed in v16) - Update lint script: next lint removed in v16, now uses eslint directly Backend: - express 4 → 5.2.1, mongoose 8 → 9.6.2 - bcrypt 5 → 6, helmet 7 → 8, zod 3 → 4
This commit is contained in:
parent
e2e33764d3
commit
dd9c48f6cd
9 changed files with 1607 additions and 1231 deletions
1136
backend/package-lock.json
generated
1136
backend/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -13,21 +13,21 @@
|
|||
"dependencies": {
|
||||
"@ffprobe-installer/ffprobe": "^2.1.2",
|
||||
"@types/multer": "^1.4.12",
|
||||
"bcrypt": "^5.1.1",
|
||||
"bcrypt": "^6.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^16.4.0",
|
||||
"express": "^4.18.2",
|
||||
"express": "^5.2.1",
|
||||
"express-rate-limit": "^7.1.5",
|
||||
"fluent-ffmpeg": "^2.1.3",
|
||||
"fs-extra": "^11.3.0",
|
||||
"helmet": "^7.1.0",
|
||||
"helmet": "^8.2.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"mongoose": "^8.1.0",
|
||||
"mongoose": "^9.6.2",
|
||||
"morgan": "^1.10.0",
|
||||
"multer": "^1.4.5-lts.2",
|
||||
"nodemailer": "^6.9.9",
|
||||
"redis": "^4.6.12",
|
||||
"zod": "^3.22.4"
|
||||
"zod": "^4.4.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bcrypt": "^5.0.2",
|
||||
|
|
|
|||
1
frontend/next-env.d.ts
vendored
1
frontend/next-env.d.ts
vendored
|
|
@ -1,5 +1,6 @@
|
|||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
import "./.next/types/routes.d.ts";
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||
|
|
|
|||
|
|
@ -2,14 +2,12 @@
|
|||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
images: {
|
||||
domains: ['localhost'],
|
||||
remotePatterns: [
|
||||
{ protocol: 'http', hostname: 'localhost' },
|
||||
{ protocol: 'https', hostname: 'lad1908.org' },
|
||||
],
|
||||
formats: ['image/avif', 'image/webp'],
|
||||
},
|
||||
experimental: {
|
||||
serverActions: {
|
||||
allowedOrigins: ['localhost:3000', 'olathedeafclub.com'],
|
||||
},
|
||||
},
|
||||
headers: async () => {
|
||||
return [
|
||||
{
|
||||
|
|
|
|||
1647
frontend/package-lock.json
generated
1647
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -7,23 +7,24 @@
|
|||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint"
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.16.1",
|
||||
"framer-motion": "^12.6.0",
|
||||
"next": "^15.3.3",
|
||||
"next": "^16.2.6",
|
||||
"next-themes": "^0.4.6",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0"
|
||||
"react": "^19.2.6",
|
||||
"react-dom": "^19.2.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.0.15",
|
||||
"@types/node": "^20.0.0",
|
||||
"@types/react": "^19.0.12",
|
||||
"@types/react-dom": "^19.0.4",
|
||||
"@types/react": "^19.2.15",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"autoprefixer": "^10.4.0",
|
||||
"eslint": "^9.0.0",
|
||||
"eslint-config-next": "^15.2.3",
|
||||
"eslint-config-next": "^16.2.6",
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^4.0.0",
|
||||
"typescript": "^5.8.0"
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ import fs from 'fs';
|
|||
*/
|
||||
export async function GET(
|
||||
request: NextRequest,
|
||||
{ params }: { params: { path: string[] } }
|
||||
{ params }: { params: Promise<{ path: string[] }> }
|
||||
) {
|
||||
try {
|
||||
// Get the file path from the URL
|
||||
const filePath = params.path.join('/');
|
||||
const { path: pathSegments } = await params;
|
||||
const filePath = pathSegments.join('/');
|
||||
|
||||
// Construct the absolute path to the file
|
||||
// This assumes the backend is in the same directory as the frontend
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
'use client';
|
||||
|
||||
import React, { useState, useRef, useEffect } from 'react';
|
||||
import { PlayIcon, PauseIcon } from 'frontend/src/components/atoms/Icons';
|
||||
import { PlayIcon, PauseIcon } from '../atoms/Icons';
|
||||
|
||||
interface VideoPlayerProps {
|
||||
videoUrl: string;
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
"incremental": true,
|
||||
"module": "esnext",
|
||||
"esModuleInterop": true,
|
||||
"moduleResolution": "node",
|
||||
"moduleResolution": "bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
"jsx": "react-jsx",
|
||||
"plugins": [
|
||||
{
|
||||
"name": "next"
|
||||
|
|
@ -24,14 +24,17 @@
|
|||
],
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
"@/*": [
|
||||
"src/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"next-env.d.ts",
|
||||
".next/types/**/*.ts",
|
||||
"**/*.ts",
|
||||
"**/*.tsx"
|
||||
"**/*.tsx",
|
||||
".next/dev/types/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue