62 lines
1.7 KiB
JSON
62 lines
1.7 KiB
JSON
{
|
|
"name": "yap-blog",
|
|
"version": "0.1.0",
|
|
"license": "AGPL-3.0-or-later",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"typecheck": "next typegen && tsc --noEmit -p tsconfig.typecheck.json",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "drizzle-kit migrate",
|
|
"db:seed": "tsx scripts/seed.ts",
|
|
"db:studio": "drizzle-kit studio",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:e2e": "next build && tsx tests/e2e/setup-db.ts && playwright test",
|
|
"test:all": "npm run test && npm run test:e2e"
|
|
},
|
|
"dependencies": {
|
|
"@tiptap/extension-image": "^3.27.1",
|
|
"@tiptap/extension-placeholder": "^3.27.1",
|
|
"@tiptap/extension-table": "^3.27.1",
|
|
"@tiptap/pm": "^3.27.1",
|
|
"@tiptap/react": "^3.27.1",
|
|
"@tiptap/starter-kit": "^3.27.1",
|
|
"dotenv": "^17.4.2",
|
|
"drizzle-orm": "^0.45.2",
|
|
"hast-util-to-text": "^4.0.2",
|
|
"next": "16.2.10",
|
|
"pg": "^8.22.0",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"rehype-parse": "^9.0.1",
|
|
"rehype-raw": "^7.0.0",
|
|
"rehype-sanitize": "^6.0.0",
|
|
"rehype-stringify": "^10.0.1",
|
|
"remark-gfm": "^4.0.1",
|
|
"remark-parse": "^11.0.0",
|
|
"remark-rehype": "^11.1.2",
|
|
"unified": "^11.0.5",
|
|
"unist-util-visit": "^5.1.0",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.61.1",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/node": "^20",
|
|
"@types/pg": "^8.20.0",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"drizzle-kit": "^0.31.10",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.2.10",
|
|
"tailwindcss": "^4",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^5",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|