{
  "name": "donutbrowser",
  "private": true,
  "license": "AGPL-3.0",
  "version": "0.5.2",
  "type": "module",
  "scripts": {
    "dev": "next dev --turbopack",
    "build": "next build",
    "start": "next start",
    "test": "pnpm test:rust",
    "test:rust": "cd src-tauri && cargo test",
    "lint": "pnpm lint:js && pnpm lint:rust",
    "lint:js": "biome check src/ && tsc --noEmit && next lint",
    "lint:rust": "cd src-tauri && cargo clippy --all-targets --all-features -- -D warnings -D clippy::all && cargo fmt --all",
    "tauri": "tauri",
    "shadcn:add": "pnpm dlx shadcn@latest add",
    "prepare": "husky && husky install",
    "format:rust": "cd src-tauri && cargo clippy --fix --allow-dirty --all-targets --all-features -- -D warnings -D clippy::all && cargo fmt --all",
    "format:js": "biome check src/ --fix",
    "format": "pnpm format:js && pnpm format:rust",
    "cargo": "cd src-tauri && cargo",
    "unused-exports:js": "ts-unused-exports tsconfig.json",
    "check-unused-commands": "cd src-tauri && cargo run --bin check_unused_commands"
  },
  "dependencies": {
    "@radix-ui/react-checkbox": "^1.3.2",
    "@radix-ui/react-dialog": "^1.1.14",
    "@radix-ui/react-dropdown-menu": "^2.1.15",
    "@radix-ui/react-label": "^2.1.7",
    "@radix-ui/react-popover": "^1.1.14",
    "@radix-ui/react-progress": "^1.1.7",
    "@radix-ui/react-scroll-area": "^1.2.9",
    "@radix-ui/react-select": "^2.2.5",
    "@radix-ui/react-slot": "^1.2.3",
    "@radix-ui/react-tooltip": "^1.2.7",
    "@tanstack/react-table": "^8.21.3",
    "@tauri-apps/api": "^2.5.0",
    "@tauri-apps/plugin-deep-link": "^2.3.0",
    "@tauri-apps/plugin-dialog": "^2.2.2",
    "@tauri-apps/plugin-fs": "~2.3.0",
    "@tauri-apps/plugin-opener": "^2.2.7",
    "ahooks": "^3.8.5",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "^1.1.1",
    "next": "^15.3.3",
    "next-themes": "^0.4.6",
    "react": "^19.1.0",
    "react-dom": "^19.1.0",
    "react-icons": "^5.5.0",
    "sonner": "^2.0.5",
    "tailwind-merge": "^3.3.1",
    "tauri-plugin-macos-permissions-api": "^2.3.0"
  },
  "devDependencies": {
    "@biomejs/biome": "1.9.4",
    "@eslint/eslintrc": "^3.3.1",
    "@eslint/js": "^9.29.0",
    "@next/eslint-plugin-next": "^15.3.3",
    "@tailwindcss/postcss": "^4.1.10",
    "@tauri-apps/cli": "^2.5.0",
    "@types/node": "^24.0.1",
    "@types/react": "^19.1.8",
    "@types/react-dom": "^19.1.6",
    "@typescript-eslint/eslint-plugin": "^8.34.0",
    "@typescript-eslint/parser": "^8.34.0",
    "@vitejs/plugin-react": "^4.5.2",
    "eslint": "^9.29.0",
    "eslint-config-next": "^15.3.3",
    "eslint-plugin-react-hooks": "^5.2.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.1.1",
    "tailwindcss": "^4.1.10",
    "ts-unused-exports": "^11.0.1",
    "tw-animate-css": "^1.3.4",
    "typescript": "~5.8.3",
    "typescript-eslint": "^8.34.0"
  },
  "packageManager": "pnpm@10.11.1",
  "lint-staged": {
    "**/*.{js,jsx,ts,tsx,json,css,md}": [
      "biome check --fix",
      "eslint --cache --fix"
    ],
    "src-tauri/**/*.rs": [
      "cd src-tauri && cargo fmt --all",
      "cd src-tauri && cargo clippy --all-targets --all-features -- -D warnings -D clippy::all",
      "cd src-tauri && cargo test"
    ]
  }
}
