0476315322
* feat(security): implement CSRF protection * chore: clean up CSRF implementation - Remove unused generateCsrfToken export from security.ts - Remove redundant /csrf-token path check (GET already exempt) - Restore defineConfig wrapper in vitest.config.ts for type safety * add K8S note in README, fix broken e2e * feat/upload-bar (#30) * feat/upload-bar: add a upload bar when user upload file, indicate the upload process * feat/save-loading-status: add save status when click back button from editor * fix: address PR review issues in upload and save features - Replace deprecated substr() with substring() in UploadContext - Fix broken error handling that checked stale task status - Fix missing useEffect dependency in UploadStatus - Fix CSS class conflict in progress bar styling - Add error recovery for save state in Editor (reset on failure) - Use .finally() instead of .then() to ensure refresh on upload failure - Fix inconsistent indentation in UploadContext * fix e2e tests --------- Co-authored-by: Zimeng Xiong <zxzimeng@gmail.com> * chore: pre-release v0.2.1-dev * Update backend/src/security.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix filename/math random UUID generation --------- Co-authored-by: AdrianAcala <adrianacala017@gmail.com> Co-authored-by: adamant368 <60790941+Yiheng-Liu@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
46 lines
1.0 KiB
JSON
46 lines
1.0 KiB
JSON
{
|
|
"name": "backend",
|
|
"version": "0.2.1",
|
|
"description": "",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"dev": "nodemon src/index.ts",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "commonjs",
|
|
"dependencies": {
|
|
"@prisma/client": "^5.22.0",
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/jsdom": "^21.1.7",
|
|
"@types/multer": "^2.0.0",
|
|
"@types/socket.io": "^3.0.1",
|
|
"archiver": "^7.0.1",
|
|
"better-sqlite3": "^12.4.6",
|
|
"cors": "^2.8.5",
|
|
"dompurify": "^3.3.0",
|
|
"dotenv": "^17.2.3",
|
|
"express": "^5.1.0",
|
|
"jsdom": "^22.1.0",
|
|
"multer": "^2.0.2",
|
|
"prisma": "^5.22.0",
|
|
"socket.io": "^4.8.1",
|
|
"zod": "^4.1.12"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.5",
|
|
"@types/node": "^24.10.1",
|
|
"@types/supertest": "^6.0.3",
|
|
"nodemon": "^3.1.11",
|
|
"supertest": "^7.1.4",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.15"
|
|
}
|
|
}
|