preact-missing-hooks
Version:
A lightweight, extendable collection of missing React-like hooks for Preact — plus fresh, powerful new ones designed specifically for modern Preact apps.
216 lines (215 loc) • 6.82 kB
JSON
{
"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
}
}
}