almeira-web/package.json
Carlos (Almeira) 3647602413 feat: complete rx editor, media library grid, UX logic, and XSS protection
- Added @tiptap/extension-youtube and extension-image
- Added MediaGridSelector component with robust grid UI and inline uploads
- Integrated MediaGridSelector into PublicationLayout for featured images
- Integrated inline image module in RichTextEditor linked to MediaGridSelector
- Rendered date conditionally on PostCard and disabled bubble propagation
- Added isomorphic-dompurify to mitigate XSS in the public article viewer
2026-03-28 14:34:04 -05:00

54 lines
1.5 KiB
JSON

{
"name": "almeira-web",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint",
"check-config": "node --env-file=.env.local check_config.js"
},
"dependencies": {
"@tiptap/extension-color": "^3.21.0",
"@tiptap/extension-font-family": "^3.21.0",
"@tiptap/extension-highlight": "^3.21.0",
"@tiptap/extension-image": "^3.21.0",
"@tiptap/extension-link": "^3.21.0",
"@tiptap/extension-text-align": "^3.21.0",
"@tiptap/extension-text-style": "^3.21.0",
"@tiptap/extension-underline": "^3.21.0",
"@tiptap/react": "^3.21.0",
"@tiptap/starter-kit": "^3.21.0",
"@tiptap/extension-youtube": "^3.21.0",
"@types/dompurify": "^3.0.5",
"@types/video.js": "^7.3.58",
"appwrite": "^23.0.0",
"axios": "^1.13.6",
"clsx": "^2.1.1",
"dompurify": "^3.3.3",
"isomorphic-dompurify": "^2.20.0",
"lucide-react": "^0.577.0",
"next": "16.1.6",
"node-appwrite": "^22.1.3",
"react": "19.2.3",
"react-dom": "19.2.3",
"tailwind-merge": "^3.5.0",
"video.js": "^8.23.7",
"zod": "^4.3.6",
"zustand": "^5.0.12"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.2.2",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"autoprefixer": "^10.4.27",
"eslint": "^9",
"eslint-config-next": "16.1.6",
"postcss": "^8.5.8",
"tailwindcss": "^4.2.2",
"typescript": "^5"
}
}