{"_id":"@dammers/use-signalr-preact","_rev":"3-ff15bd31252ab955420f8b878f6e88f0","name":"@dammers/use-signalr-preact","dist-tags":{"latest":"1.0.0"},"versions":{"0.4.0":{"name":"@dammers/use-signalr-preact","version":"0.4.0","keywords":["signalr","typescript","realtime","websocket","preact","hooks"],"author":{"name":"Dammers"},"license":"MIT","_id":"@dammers/use-signalr-preact@0.4.0","maintainers":[{"name":"dammers","email":"dannyheld2001@gmx.de"}],"homepage":"https://github.com/DammersCode/use-signalr/tree/main/packages/preact#readme","bugs":{"url":"https://github.com/DammersCode/use-signalr/issues"},"dist":{"shasum":"4069fad60e6728af2915b6996763e9b863ad89af","tarball":"https://registry.npmjs.org/@dammers/use-signalr-preact/-/use-signalr-preact-0.4.0.tgz","fileCount":17,"integrity":"sha512-XxQMbYl/IYTOwSOQN5KxY50U6dIOPm3PxnZ35qoWvLcywVej5uBnZOqefATqOD6eaJ0y8d7iJh5J91Z2Of0EPQ==","signatures":[{"sig":"MEUCID6LuhS+iQRJVHba6ohIN2fkNm9Uacu/Hmf5y4yc74RjAiEA/m7cMVMAjloab9c8Rb48N/bpwXXq6xPji2tbxJfnnCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23571},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d39408e64f45b5190870f5966a13251dc81c4701","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prebuild":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dammers","email":"dannyheld2001@gmx.de"},"repository":{"url":"git+https://github.com/DammersCode/use-signalr.git","type":"git","directory":"packages/preact"},"_npmVersion":"11.12.1","description":"Fully-typed multi-hub SignalR provider + hooks for Preact.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"@dammers/use-signalr-core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"preact":"^10.27.2","@microsoft/signalr":">=8","preact-render-to-string":"^6.7.0"},"peerDependencies":{"preact":">=10","@microsoft/signalr":">=8"},"_npmOperationalInternal":{"tmp":"tmp/use-signalr-preact_0.4.0_1786515041904_0.8232577195734314","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@dammers/use-signalr-preact","version":"0.5.0","keywords":["signalr","typescript","realtime","websocket","preact","hooks"],"author":{"name":"Dammers"},"license":"MIT","_id":"@dammers/use-signalr-preact@0.5.0","maintainers":[{"name":"dammers","email":"dannyheld2001@gmx.de"}],"homepage":"https://github.com/DammersCode/use-signalr/tree/main/packages/preact#readme","bugs":{"url":"https://github.com/DammersCode/use-signalr/issues"},"dist":{"shasum":"9a052a92ddd502481f7e1eeb9a8acdb9b42917fa","tarball":"https://registry.npmjs.org/@dammers/use-signalr-preact/-/use-signalr-preact-0.5.0.tgz","fileCount":17,"integrity":"sha512-YZLmS80wCAvb8+dFMsE4zmZdahRl2oxw0RWG4YvxPNW6ziCEt+7O5KftZl8j8RZmW9rYTm4Ym85QnT4BvJA0Pg==","signatures":[{"sig":"MEYCIQCS/OyLwXAuWxqpubvwEpcft0TrELHkMg9r5txLLQMGkgIhANa/ICil8nCLUqHokC8Dw5wFDNBj+xjDGUTW2YAXFbIq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dammers%2fuse-signalr-preact@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23290},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"57decf63770e4440082ce591f1a56e9fbfa6188c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prebuild":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c06713a-0e91-4974-9d8b-76a46e48315b"}},"repository":{"url":"git+https://github.com/DammersCode/use-signalr.git","type":"git","directory":"packages/preact"},"_npmVersion":"12.0.2","description":"Fully-typed multi-hub SignalR provider + hooks for Preact.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@dammers/use-signalr-core":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"preact":"^10.27.2","@microsoft/signalr":">=8","preact-render-to-string":"^6.7.0"},"peerDependencies":{"preact":">=10","@microsoft/signalr":">=8"},"_npmOperationalInternal":{"tmp":"tmp/use-signalr-preact_0.5.0_1786515999286_0.9852546531788842","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"_id":"@dammers/use-signalr-preact@1.0.0","bugs":{"url":"https://github.com/DammersCode/use-signalr/issues"},"dist":{"shasum":"ead69b5081b6996af39f84f9c3f59a3bf1dcafba","tarball":"https://registry.npmjs.org/@dammers/use-signalr-preact/-/use-signalr-preact-1.0.0.tgz","fileCount":17,"integrity":"sha512-JZMeN3NVHKRsFeOWvbgov/TH3myyHLC8dIzoz9GOWS8nX7TM1b2c7wCI+ISegxFfu5BhNxWzVy78h2Suhx6VUQ==","signatures":[{"sig":"MEUCICwI2jia+aSgyMNebWNTc+m+bC8obenZ2tvcmc7D0w5HAiEA91MKabKCK6g9HiRCM1JSxuCvlZ7eYij9LLDslFq/5Y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7Ww9KcTI6Vcm+/TH1eguMJTodDzLiitzlVZcwy/sAYQIhAIRZOmdGFzg1KHQX+8YBqWouR0C/PvW/ahA06E0JoPP4"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dammers%2fuse-signalr-preact@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22724},"main":"./dist/index.js","name":"@dammers/use-signalr-preact","type":"module","types":"./dist/index.d.ts","author":{"name":"Dammers"},"engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"73be70bba6c48beea1174cd9974c7b5737aa7f0c","license":"MIT","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prebuild":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit"},"version":"1.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"6c06713a-0e91-4974-9d8b-76a46e48315b"}},"homepage":"https://use-signalr.vercel.app/docs/preact","keywords":["signalr","typescript","realtime","websocket","preact","hooks"],"repository":{"url":"git+https://github.com/DammersCode/use-signalr.git","type":"git","directory":"packages/preact"},"_npmVersion":"12.2.0","description":"Fully-typed multi-hub SignalR provider + hooks for Preact.","directories":{},"maintainers":[{"name":"dammers","email":"dannyheld2001@gmx.de"}],"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@dammers/use-signalr-core":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"preact":"^10.20.0 || ^11.0.0","@microsoft/signalr":"^8.0.0 || ^9.0.0 || ^10.0.0","preact-render-to-string":"^6.7.0"},"peerDependencies":{"preact":"^10.20.0 || ^11.0.0","@microsoft/signalr":"^8.0.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/use-signalr-preact_1.0.0_1790872073862_0.5704677077758427"}}},"time":{"created":"2026-08-12T06:10:41.747Z","modified":"2026-10-01T16:27:55.425Z","0.4.0":"2026-08-12T06:10:42.075Z","0.5.0":"2026-08-12T06:26:39.463Z","1.0.0":"2026-10-01T16:27:53.943Z"},"bugs":{"url":"https://github.com/DammersCode/use-signalr/issues"},"author":{"name":"Dammers"},"license":"MIT","homepage":"https://use-signalr.vercel.app/docs/preact","keywords":["signalr","typescript","realtime","websocket","preact","hooks"],"repository":{"url":"git+https://github.com/DammersCode/use-signalr.git","type":"git","directory":"packages/preact"},"description":"Fully-typed multi-hub SignalR provider + hooks for Preact.","maintainers":[{"name":"dammers","email":"dannyheld2001@gmx.de"}],"readme":"# @dammers/use-signalr-preact\n\nProvider and hooks for typed [SignalR](https://learn.microsoft.com/aspnet/core/signalr) in Preact. Part of [use-signalr](https://use-signalr.vercel.app).\n\n[![npm](https://img.shields.io/npm/v/@dammers/use-signalr-preact.svg)](https://www.npmjs.com/package/@dammers/use-signalr-preact)\n[![license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/DammersCode/use-signalr/blob/main/LICENSE)\n\n## Install\n\n```bash\nnpm install @dammers/use-signalr-preact @microsoft/signalr\n```\n\nIt needs Preact ^10.20 or ^11, `@microsoft/signalr` ^8 || ^9 || ^10, and Node 20.19 or later.\n\n## Example\n\nThis file declares a hub, connects it, and reads a typed method result:\n\n<!-- hero:preact:start -->\n```tsx\nimport { useState } from \"preact/hooks\";\nimport { createSignalRClient, method } from \"@dammers/use-signalr-preact\";\n\nconst { SignalRProvider, useSignalRInvoke } = createSignalRClient({\n  hubs: {\n    \"/hubs/rooms\": {\n      methods: { GetHistory: method<[roomId: string], { text: string }[]>() },\n    },\n  },\n});\n\nfunction HistoryCount({ roomId }: { roomId: string }) {\n  const getHistory = useSignalRInvoke(\"/hubs/rooms\", \"GetHistory\");\n  const [count, setCount] = useState(0);\n  const load = () => getHistory(roomId).then((m) => setCount(m.length)).catch(console.error);\n  return <button onClick={load}>{count} messages</button>;\n}\n\nexport function App() {\n  return (\n    <SignalRProvider baseUrl=\"https://api.example.com\" accessTokenFactory={() => \"token\"}>\n      <HistoryCount roomId=\"general\" />\n    </SignalRProvider>\n  );\n}\n```\n<!-- hero:preact:end -->\n\n## Documentation\n\n- [Quick start](https://use-signalr.vercel.app/docs/preact/quick-start)\n- [Provider setup](https://use-signalr.vercel.app/docs/preact/concepts/provider)\n- [Events](https://use-signalr.vercel.app/docs/preact/concepts/events) and [calls](https://use-signalr.vercel.app/docs/preact/concepts/calls)\n- [Connection status](https://use-signalr.vercel.app/docs/preact/concepts/connection-status) and [recovery](https://use-signalr.vercel.app/docs/preact/concepts/recovery)\n- [API reference](https://use-signalr.vercel.app/docs/preact/reference/api)\n- [Troubleshooting](https://use-signalr.vercel.app/docs/preact/reference/troubleshooting)\n\n## License\n\n[MIT](https://github.com/DammersCode/use-signalr/blob/main/LICENSE) © [DammersCode](https://github.com/DammersCode)\n","readmeFilename":"README.md"}