{
  "name": "preact-missing-hooks",
  "version": "4.9.0",
  "description": "A lightweight, extendable collection of missing React-like hooks for Preact — plus fresh, powerful new ones designed specifically for modern Preact apps.",
  "author": "Prakhar Dubey",
  "license": "MIT",
  "main": "dist/index.js",
  "module": "dist/index.module.js",
  "types": "dist/index.d.ts",
  "source": "src/index.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": {
        "react": "./dist/react.module.js",
        "default": "./dist/index.module.js"
      },
      "require": "./dist/entry.cjs"
    },
    "./useTransition": {
      "types": "./dist/useTransition.d.ts",
      "import": "./dist/useTransition.module.js",
      "require": "./dist/useTransition.js"
    },
    "./useMutationObserver": {
      "types": "./dist/useMutationObserver.d.ts",
      "import": "./dist/useMutationObserver.module.js",
      "require": "./dist/useMutationObserver.js"
    },
    "./useEventBus": {
      "types": "./dist/useEventBus.d.ts",
      "import": "./dist/useEventBus.module.js",
      "require": "./dist/useEventBus.js"
    },
    "./useWrappedChildren": {
      "types": "./dist/useWrappedChildren.d.ts",
      "import": "./dist/useWrappedChildren.module.js",
      "require": "./dist/useWrappedChildren.js"
    },
    "./usePreferredTheme": {
      "types": "./dist/usePreferredTheme.d.ts",
      "import": "./dist/usePreferredTheme.module.js",
      "require": "./dist/usePreferredTheme.js"
    },
    "./useNetworkState": {
      "types": "./dist/useNetworkState.d.ts",
      "import": "./dist/useNetworkState.module.js",
      "require": "./dist/useNetworkState.js"
    },
    "./useClipboard": {
      "types": "./dist/useClipboard.d.ts",
      "import": "./dist/useClipboard.module.js",
      "require": "./dist/useClipboard.js"
    },
    "./useRageClick": {
      "types": "./dist/useRageClick.d.ts",
      "import": "./dist/useRageClick.module.js",
      "require": "./dist/useRageClick.js"
    },
    "./useThreadedWorker": {
      "types": "./dist/useThreadedWorker.d.ts",
      "import": "./dist/useThreadedWorker.module.js",
      "require": "./dist/useThreadedWorker.js"
    },
    "./useIndexedDB": {
      "types": "./dist/useIndexedDB.d.ts",
      "import": "./dist/useIndexedDB.module.js",
      "require": "./dist/useIndexedDB.js"
    },
    "./useWebRTCIP": {
      "types": "./dist/useWebRTCIP.d.ts",
      "import": "./dist/useWebRTCIP.module.js",
      "require": "./dist/useWebRTCIP.js"
    },
    "./useWasmCompute": {
      "types": "./dist/useWasmCompute.d.ts",
      "import": "./dist/useWasmCompute.module.js",
      "require": "./dist/useWasmCompute.js"
    },
    "./useWorkerNotifications": {
      "types": "./dist/useWorkerNotifications.d.ts",
      "import": "./dist/useWorkerNotifications.module.js",
      "require": "./dist/useWorkerNotifications.js"
    },
    "./useRefPrint": {
      "types": "./dist/useRefPrint.d.ts",
      "import": "./dist/useRefPrint.module.js",
      "require": "./dist/useRefPrint.js"
    },
    "./useRBAC": {
      "types": "./dist/useRBAC.d.ts",
      "import": "./dist/useRBAC.module.js",
      "require": "./dist/useRBAC.js"
    },
    "./usePrefetch": {
      "types": "./dist/usePrefetch.d.ts",
      "import": "./dist/usePrefetch.module.js",
      "require": "./dist/usePrefetch.js"
    },
    "./usePoll": {
      "types": "./dist/usePoll.d.ts",
      "import": "./dist/usePoll.module.js",
      "require": "./dist/usePoll.js"
    },
    "./useDeviceData": {
      "types": "./dist/useDeviceData.d.ts",
      "import": "./dist/useDeviceData.module.js",
      "require": "./dist/useDeviceData.js"
    },
    "./react": {
      "types": "./dist/index.d.ts",
      "import": "./dist/react.module.js",
      "require": "./dist/react.js"
    }
  },
  "scripts": {
    "build": "node scripts/ensure-microbundle-patch.cjs && microbundle --alias react=preact/compat && npm run build:react && node scripts/generate-entry.cjs",
    "llm:generate": "hayagriva-llm generate --mode ai --include-src --verbose",
    "build:react": "rollup -c scripts/rollup.react.config.cjs",
    "dev": "microbundle watch",
    "prepublishOnly": "npm run build",
    "test": "vitest run",
    "test:preact": "vitest run --project preact",
    "test:react": "vitest run --project react",
    "type-check": "tsc --noEmit",
    "demo": "npx serve -l 5000",
    "lint": "eslint src",
    "format": "prettier --write \"src/**/*.{ts,tsx,json,md}\"",
    "format:check": "prettier --check \"src/**/*.{ts,tsx,json,md}\"",
    "prepare": "husky && node scripts/ensure-microbundle-patch.cjs",
    "clean:cache": "node -e \"try{require('fs').rmSync('node_modules/.cache',{recursive:true,force:true});console.log('Cache cleared');}catch(e){}\"",
    "size": "npm run clean:cache && npm run build && size-limit"
  },
  "size-limit": [
    {
      "path": "dist/index.module.js",
      "limit": "20 KB"
    },
    {
      "path": "dist/index.js",
      "limit": "20 KB"
    },
    {
      "path": "dist/react.module.js",
      "limit": "20 KB"
    },
    {
      "path": "dist/react.js",
      "limit": "20 KB"
    }
  ],
  "keywords": [
    "preact",
    "hooks",
    "usetransition",
    "useMutationObserver",
    "useEventBus",
    "useWrappedChildren",
    "usePreferredTheme",
    "useNetworkState",
    "useClipboard",
    "usePrefetch",
    "usePoll",
    "useDeviceData",
    "useRageClick",
    "rage click",
    "sentry",
    "react-hooks",
    "microbundle",
    "typescript",
    "preact-hooks"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/prakhardubey2002/Preact-Missing-Hooks"
  },
  "dependencies": {
    "preact": ">=10.0.0"
  },
  "devDependencies": {
    "@eslint/js": "^9.15.0",
    "@size-limit/file": "^11.2.0",
    "@testing-library/jest-dom": "^6.6.3",
    "@testing-library/preact": "^3.2.4",
    "@testing-library/react": "^16.0.1",
    "@types/jest": "^29.5.14",
    "@types/react": "^18.3.0",
    "eslint": "^9.15.0",
    "eslint-config-prettier": "^9.1.0",
    "fake-indexeddb": "^6.0.2",
    "hayagriva-llm": "^1.2.0",
    "husky": "^9.1.7",
    "jsdom": "^26.1.0",
    "microbundle": "^0.15.1",
    "prettier": "^3.3.3",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "size-limit": "^11.2.0",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.15.0",
    "vitest": "^3.1.4"
  },
  "peerDependencies": {
    "preact": ">=10.0.0",
    "react": ">=17.0.0"
  },
  "peerDependenciesMeta": {
    "preact": {
      "optional": true
    },
    "react": {
      "optional": true
    }
  }
}
