Files
Portfolio/package.json
T

60 lines
1.8 KiB
JSON

{
"name": "portfolio",
"private": true,
"version": "1.0.0",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint --strict",
"build:images": "node scripts/optimize-images.js",
"generate:images": "node scripts/generate-blog-images.mjs",
"generate:images:dry": "node scripts/generate-blog-images.mjs --dry-run",
"generate:sitemap": "node scripts/generate-sitemap.js",
"generate:icons": "node scripts/generate-icons.mjs",
"generate:github": "node scripts/generate-github-readme.js",
"download:fonts": "node scripts/download-fonts.mjs",
"convert:translations": "node scripts/convert-translations.js",
"test": "vitest",
"test:coverage": "vitest run --coverage"
},
"dependencies": {
"openai": "^4.77.0",
"@mdx-js/loader": "^3.1.0",
"@mdx-js/mdx": "^3.1.0",
"@mdx-js/react": "^3.1.0",
"@next/mdx": "^15.1.0",
"@supabase/ssr": "^0.8.0",
"@supabase/supabase-js": "^2.39.7",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^11.18.2",
"gray-matter": "^4.0.3",
"lucide-react": "^0.475.0",
"next": "^15.1.0",
"next-intl": "^3.26.0",
"next-mdx-remote": "^5.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-intersection-observer": "^9.8.1",
"tailwind-merge": "^3.0.1",
"tailwindcss-animate": "^1.0.7",
"web-vitals": "^5.1.0"
},
"devDependencies": {
"@tailwindcss/forms": "^0.5.7",
"@types/mdx": "^2.0.13",
"@types/node": "^22.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"autoprefixer": "^10.4.18",
"eslint": "^9.9.1",
"eslint-config-next": "^15.1.0",
"postcss": "^8.4.35",
"sharp": "^0.34.3",
"tailwindcss": "^3.4.1",
"typescript": "^5.5.3",
"vitest": "^1.3.1"
}
}