summaryrefslogtreecommitdiff
path: root/package.json
diff options
context:
space:
mode:
authorBertrand Yuan <bert.yuan@outlook.com>2025-12-15 23:48:10 +0800
committerBertrand Yuan <bert.yuan@outlook.com>2025-12-15 23:48:10 +0800
commit5b7ccf0b671e2999b62befc729a3e517a0433728 (patch)
tree8bf476dc7c75914c221042546840dc76267366df /package.json
initial commit -- the front-end prototype
The initial code is base on Anirudh's work. More to see at: https://github.com/techwithanirudh/shadcn-blog Therefore, the code in this commit is under MIT license.
Diffstat (limited to 'package.json')
-rw-r--r--package.json100
1 files changed, 100 insertions, 0 deletions
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..04d146e
--- /dev/null
+++ b/package.json
@@ -0,0 +1,100 @@
+{
+ "name": "blog",
+ "version": "0.1.0",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "postinstall": "fumadocs-mdx",
+ "build": "next build",
+ "preview": "next build && next start",
+ "postbuild": "next-sitemap --config next-sitemap.config.cjs",
+ "dev": "next dev",
+ "start": "next start",
+ "format": "biome format --write .",
+ "lint": "tsx ./scripts/lint.mts && biome lint .",
+ "lint:write": "biome lint --write .",
+ "lint:unsafe": "biome lint --write --unsafe .",
+ "check": "biome check .",
+ "check:unsafe": "biome check --write --unsafe .",
+ "check:write": "biome check --write .",
+ "db:generate": "drizzle-kit generate",
+ "db:migrate": "drizzle-kit migrate",
+ "db:push": "drizzle-kit push",
+ "db:studio": "drizzle-kit studio",
+ "email:build": "email build",
+ "email:dev": "email dev -p 3001",
+ "email:export": "email export"
+ },
+ "dependencies": {
+ "@fuma-comment/react": "^1.2.1",
+ "@fuma-comment/server": "^1.2.1",
+ "@hookform/resolvers": "^4.1.3",
+ "@neondatabase/serverless": "^1.0.0",
+ "@radix-ui/react-accordion": "^1.2.3",
+ "@radix-ui/react-avatar": "^1.1.3",
+ "@radix-ui/react-dropdown-menu": "^2.1.6",
+ "@radix-ui/react-icons": "^1.3.2",
+ "@radix-ui/react-label": "^2.1.2",
+ "@radix-ui/react-slot": "^1.1.2",
+ "@radix-ui/react-tooltip": "^1.1.8",
+ "@react-email/components": "^0.0.34",
+ "@shikijs/transformers": "^3.2.1",
+ "@t3-oss/env-nextjs": "^0.12.0",
+ "better-auth": "^1.2.5",
+ "class-variance-authority": "^0.7.1",
+ "clsx": "^2.1.1",
+ "drizzle-orm": "^0.41.0",
+ "feed": "^4.2.2",
+ "fumadocs-core": "^15.2.0",
+ "fumadocs-docgen": "^2.0.0",
+ "fumadocs-mdx": "^11.5.7",
+ "fumadocs-twoslash": "^3.1.0",
+ "fumadocs-ui": "^15.2.0",
+ "katex": "0.16.21",
+ "lucide-react": "^0.477.0",
+ "motion": "^12.6.2",
+ "next": "^15.2.4",
+ "next-safe-action": "^7.10.4",
+ "next-sitemap": "4.2.3",
+ "next-themes": "0.4.4",
+ "react": "19.0.0",
+ "react-dom": "19.0.0",
+ "react-hook-form": "^7.55.0",
+ "react-wrap-balancer": "^1.1.1",
+ "rehype-katex": "7.0.1",
+ "remark": "^15.0.1",
+ "remark-math": "6.0.0",
+ "remark-mdx": "^3.1.0",
+ "resend": "^4.2.0",
+ "schema-dts": "^1.1.5",
+ "shiki": "^3.2.1",
+ "sonner": "^2.0.2",
+ "tailwind-merge": "^3.0.2",
+ "tailwind-scrollbar": "^4.0.2",
+ "tailwindcss-animate": "^1.0.7",
+ "usehooks-ts": "^3.1.1",
+ "zod": "^3.24.2"
+ },
+ "devDependencies": {
+ "@biomejs/biome": "1.9.4",
+ "@tailwindcss/postcss": "4.0.4",
+ "@types/mdx": "2.0.13",
+ "@types/node": "22.13.1",
+ "@types/react": "19.0.8",
+ "@types/react-dom": "19.0.3",
+ "@types/rss": "^0.0.32",
+ "drizzle-kit": "^0.30.6",
+ "fast-glob": "^3.3.3",
+ "gray-matter": "^4.0.3",
+ "next-validate-link": "^1.5.2",
+ "postcss": "8.5.1",
+ "react-email": "^4.0.2",
+ "tailwindcss": "4.0.4",
+ "tsx": "^4.19.3",
+ "typescript": "5.7.3"
+ },
+ "ct3aMetadata": {
+ "initVersion": "7.39.0"
+ },
+ "packageManager": "pnpm@10.7.0"
+}