- Add runtime deps: react-query, react-hook-form+zod, zustand, ky, openapi-fetch, better-auth, react-markdown, shiki, recharts, next-themes, nuqs, sonner, cmdk, vaul, embla-carousel-react, motion, date-fns, tailwind-merge, clsx, cva - Add dev tooling: vitest, testing-library, playwright, prettier(+tailwind plugin), husky, lint-staged, jsdom - Wire providers (QueryClient, Theme, NuqsAdapter, Tooltip, Sonner) into layout - Add vitest/playwright/prettier configs + lint-staged pre-commit hook - Add lib/query-client + lib/http (ky) helpers and sample unit test - Fix react-hooks/set-state-in-effect lint errors (use-mobile useSyncExternalStore, carousel async init) - Remove committed Next-generated types/ duplicates (regenerated under .next/types)
97 lines
2.4 KiB
JSON
97 lines
2.4 KiB
JSON
{
|
|
"name": "my-app",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"lint:fix": "eslint --fix",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "playwright test",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"prepare": "husky"
|
|
},
|
|
"lint-staged": {
|
|
"*.{ts,tsx}": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
],
|
|
"*.{css,json,md}": [
|
|
"prettier --write"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@base-ui/react": "^1.8.0",
|
|
"@hookform/resolvers": "^5.9.1",
|
|
"@shadcn/react": "^0.3.1",
|
|
"@tanstack/react-query": "^5.103.1",
|
|
"@tanstack/react-table": "^9.2.4",
|
|
"better-auth": "^1.7.5",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"cn": "^0.3.0",
|
|
"date-fns": "^4.4.0",
|
|
"embla-carousel-react": "^8.6.0",
|
|
"input-otp": "^1.5.0",
|
|
"ky": "^2.1.0",
|
|
"lucide-react": "^1.47.0",
|
|
"motion": "^13.4.0",
|
|
"next": "16.3.5",
|
|
"next-themes": "^0.4.6",
|
|
"nuqs": "^2.10.1",
|
|
"openapi-fetch": "^0.17.0",
|
|
"react": "19.2.8",
|
|
"react-day-picker": "^10.0.1",
|
|
"react-dom": "19.2.8",
|
|
"react-hook-form": "^7.88.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-resizable-panels": "^4.12.4",
|
|
"recharts": "^3.10.1",
|
|
"remark-gfm": "^4.0.1",
|
|
"shadcn": "^4.21.0",
|
|
"shiki": "^4.4.3",
|
|
"sonner": "^2.0.8",
|
|
"tailwind-merge": "^3.7.0",
|
|
"tw-animate-css": "^1.4.0",
|
|
"vaul": "^1.1.2",
|
|
"zod": "^4.6.5",
|
|
"zustand": "^5.0.15"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.63.0",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@testing-library/dom": "^10.4.2",
|
|
"@testing-library/jest-dom": "^7.0.1",
|
|
"@testing-library/react": "^16.3.3",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.3.5",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^30.1.0",
|
|
"lint-staged": "^17.5.1",
|
|
"prettier": "^3.9.8",
|
|
"prettier-plugin-tailwindcss": "^0.8.1",
|
|
"tailwindcss": "^4",
|
|
"typescript": "^5",
|
|
"vitest": "^5.0.1"
|
|
},
|
|
"packageManager": "bun@1.3.14",
|
|
"ignoreScripts": [
|
|
"sharp",
|
|
"unrs-resolver"
|
|
],
|
|
"trustedDependencies": [
|
|
"sharp",
|
|
"unrs-resolver"
|
|
]
|
|
}
|