{ "name": "personal-site", "private": true, "version": "1.0.0", "type": "module", "scripts": { "start": "powershell ./dev.ps1", "dev": "vite --host 0.0.0.0", "build": "tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview", "deploy": "powershell ./deploy.ps1", "setup": "powershell ./first-time-setup.ps1", "clean": "rimraf node_modules dist .wrangler .cloudflare", "type-check": "tsc --noEmit", "format": "prettier --write \"src/**/*.{ts,tsx,css}\"", "test": "vitest", "test:ui": "vitest --ui", "prepare": "husky install", "build:worker": "esbuild --bundle src/worker/index.ts --outfile=dist/worker/index.js --format=esm --platform=browser", "dev:worker": "wrangler dev src/worker/index.ts", "deploy:worker": "wrangler deploy src/worker/index.ts" }, "dependencies": { "@radix-ui/react-slot": "^1.0.2", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "itty-router": "^4.0.27", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.0", "tailwind-merge": "^2.2.1" }, "devDependencies": { "@cloudflare/workers-types": "4.20250129.0", "@commitlint/cli": "^18.6.0", "@commitlint/config-conventional": "^18.6.0", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", "@types/node": "20.17.16", "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react-swc": "^3.5.0", "@vitest/ui": "^1.2.2", "autoprefixer": "10.4.20", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "husky": "^9.0.10", "jsdom": "^24.0.0", "lint-staged": "^15.2.2", "lucide-react": "0.474.0", "postcss": "8.5.1", "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "rimraf": "^5.0.5", "tailwindcss": "3.4.17", "typescript": "^5.3.3", "vite": "^5.1.0", "vitest": "^1.2.2", "web-vitals": "4.2.4", "wrangler": "^3.28.0" }, "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write" ], "*.{html,css,json,md}": [ "prettier --write" ] }, "commitlint": { "extends": [ "@commitlint/config-conventional" ] }, "engines": { "node": ">=18.0.0" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] } }