Files
novalon-website/package.json
T
张翔 64165c4499 feat(security,quality): implement security and code quality optimizations
Phase 6: Security Optimizations
- Install DOMPurify for XSS protection
- Create sanitize utilities (HTML, input, URL, escape)
- Implement input sanitization in contact form
- Add CSRF token generation and validation
- Integrate CSRF protection in form submissions

Phase 7: Code Quality Optimizations
- Enhance TypeScript strict mode configuration
- Add noUncheckedIndexedAccess for safer array access
- Enable noImplicitReturns and noFallthroughCasesInSwitch
- Add noUnusedLocals and noUnusedParameters
- Enable exactOptionalPropertyTypes for precise types
- Configure comprehensive ESLint rules
- Add React security rules (no-unescaped-entities, jsx-no-target-blank)
- Add TypeScript best practices rules
- Add code quality rules (prefer-const, eqeqeq, curly)

Files modified:
- package.json: Add DOMPurify dependency
- src/lib/sanitize.ts: New sanitization utilities
- src/lib/csrf.ts: New CSRF protection utilities
- src/components/sections/contact-section.tsx: Security integration
- tsconfig.json: Enhanced TypeScript configuration
- eslint.config.mjs: Comprehensive ESLint rules

Impact:
- XSS attack prevention
- CSRF attack prevention
- Better type safety
- Improved code quality
- Financial-grade security standards
2026-02-24 07:08:39 +08:00

40 lines
957 B
JSON

{
"name": "ruixin-website-react",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint"
},
"dependencies": {
"@antv/g2": "^5.4.8",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@types/three": "^0.183.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dompurify": "^3.3.1",
"framer-motion": "^12.34.3",
"lucide-react": "^0.563.0",
"next": "16.1.6",
"react": "19.2.3",
"react-dom": "19.2.3",
"tailwind-merge": "^3.4.0",
"three": "^0.183.1",
"zod": "^4.3.6"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/dompurify": "^3.0.5",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "16.1.6",
"tailwindcss": "^4",
"typescript": "^5"
}
}