{"_id":"@atcute/xrpc-server-node","_rev":"7-3a4e676a85d2785ca0766884612191c8","name":"@atcute/xrpc-server-node","dist-tags":{"latest":"2.1.2"},"versions":{"0.1.0":{"name":"@atcute/xrpc-server-node","version":"0.1.0","license":"0BSD","_id":"@atcute/xrpc-server-node@0.1.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"cc3e47667da6ee8d80beafde6ac15ce2abcc130a","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-0.1.0.tgz","fileCount":8,"integrity":"sha512-EfmxT0m9wWNATnZjuT9LEsGZ3jMFULGHMjc0e8xpS52vsTh7rO3TgAz12Pf+Ui9XJRs09UvZGgm9lquprOQQ5g==","signatures":[{"sig":"MEYCIQCa2HUKILbsW8cXRNq9oTgfO2FMr99qtK59pCrh+35MxwIhAOBItUtCraMiMRmOEEnd1pN2htmMAUhkNGaN8UcxUd21","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12655},"type":"module","_from":"file:atcute-xrpc-server-node-0.1.0.tgz","exports":{".":"./dist/main/index.js"},"scripts":{"test":"vitest run","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/aeeded0269c71b821ff7c818e9a6bbdb/atcute-xrpc-server-node-0.1.0.tgz","_integrity":"sha512-EfmxT0m9wWNATnZjuT9LEsGZ3jMFULGHMjc0e8xpS52vsTh7rO3TgAz12Pf+Ui9XJRs09UvZGgm9lquprOQQ5g==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/servers/xrpc-server-node"},"_npmVersion":"10.9.3","description":"Node.js WebSocket adapter for @atcute/xrpc-server","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/ws":"^8.5.13","@types/node":"^22.10.2","@atcute/cbor":"^2.2.7","@atcute/atproto":"^3.1.8","@hono/node-server":"^1.19.5"},"peerDependencies":{"@atcute/xrpc-server":"^0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/xrpc-server-node_0.1.0_1761365110333_0.9531996219997678","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atcute/xrpc-server-node","version":"0.1.1","license":"0BSD","_id":"@atcute/xrpc-server-node@0.1.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"c2882ed7f5e1f26af48d7632126d58e012fd28c4","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-0.1.1.tgz","fileCount":8,"integrity":"sha512-j4nfPXP04AKJKCnSjMAcTxuohmGIas/BR+v//ODIeqcT43UHYHXG+1iru3u79VNeXVe1tEq6AbdST94HBsekGw==","signatures":[{"sig":"MEQCIAnQD4tXrAigSflpOUP6uWdXaW319JlBMA9oWpiJIGlbAiAcHkNx1Rsk0NwLWEaK1WhcYMC3JGWziJ6/EQ1n6MKEtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12941},"type":"module","_from":"file:atcute-xrpc-server-node-0.1.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsgo --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/92e7095dc903ffe5027a7e6a4d39aa85/atcute-xrpc-server-node-0.1.1.tgz","_integrity":"sha512-j4nfPXP04AKJKCnSjMAcTxuohmGIas/BR+v//ODIeqcT43UHYHXG+1iru3u79VNeXVe1tEq6AbdST94HBsekGw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/servers/xrpc-server-node"},"_npmVersion":"10.9.4","description":"Node.js WebSocket adapter for @atcute/xrpc-server","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@types/ws":"^8.18.1","@types/node":"^25.3.0","@atcute/cbor":"^2.3.2","@atcute/atproto":"^3.1.10","@hono/node-server":"^1.19.9"},"peerDependencies":{"@atcute/xrpc-server":"^0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/xrpc-server-node_0.1.1_1771894876767_0.27655730239549703","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@atcute/xrpc-server-node","version":"1.0.0","license":"0BSD","_id":"@atcute/xrpc-server-node@1.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"db96df041d542f426767c2d0e222dfeba0cf65b1","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-1.0.0.tgz","fileCount":8,"integrity":"sha512-NPzmgxLhJwc8WaD63S0LtGxbdYc0S4NzelGHgXSwH6Rg3Li9Aoj4pzxiDPveT06De0+yvFw7T8mZxYpS/Nk3Rw==","signatures":[{"sig":"MEQCIDJ1cBkcY5+lTBOOjdjWC6FXhne6NS6cb1g0vmkuwX5/AiAH9vkzPO714rN1BYbdLBbZFPCxZyf9rZTKm/U7QuFZxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16138},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/servers/xrpc-server-node"},"description":"Node.js WebSocket adapter for @atcute/xrpc-server","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","@types/ws":"^8.18.1","@types/node":"^25.6.0","@atcute/cbor":"^2.3.3","@atcute/atproto":"^3.1.12","@atcute/lexicons":"^1.3.1","@remix-run/node-fetch-server":"^0.13.1"},"peerDependencies":{"@atcute/xrpc-server":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/xrpc-server-node_1.0.0_1778205634512_0.02108540652813451","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@atcute/xrpc-server-node","version":"2.0.0","license":"0BSD","_id":"@atcute/xrpc-server-node@2.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"0e9696690498c1173b3cccbd3b798107be93d7c8","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-2.0.0.tgz","fileCount":8,"integrity":"sha512-S9eMNHqW8YhJAG47m9sPuaY28lzDibAvuUs1B+qS/UUltfsk5F9YNr9sVU5Ex8ewRfyaup/wL5dSQZQ5yVBZaA==","signatures":[{"sig":"MEUCIQDuumfjJ5DObUYjVSX0x05BvFuXeli+2RUC2Wa0qDnWYQIgQnaxTsr5pX+oBVqhq9VKYNFTR7WkLJiJRSSsq+anav8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16174},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/servers/xrpc-server-node"},"description":"Node.js WebSocket adapter for @atcute/xrpc-server","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","@types/ws":"^8.18.1","@types/node":"^25.6.0","@atcute/cbor":"^2.3.3","@atcute/atproto":"^4.0.0","@atcute/lexicons":"^2.0.0","@atcute/xrpc-server":"^2.0.0","@remix-run/node-fetch-server":"^0.13.1"},"peerDependencies":{"@atcute/xrpc-server":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/xrpc-server-node_2.0.0_1778312829334_0.7767119020395961","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@atcute/xrpc-server-node","version":"2.1.0","license":"0BSD","_id":"@atcute/xrpc-server-node@2.1.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"25313132e9c886cfed6b4cd9f778e56ea50236c6","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-2.1.0.tgz","fileCount":8,"integrity":"sha512-Jssp51ZKvZjphBHMtnNfU2EOzXhioRp6+7prrswtAJEhMaBkbUfiG37+BS4OCBHfbhMZXGCrwhu35k6AeIKyYQ==","signatures":[{"sig":"MEUCIHlgpxHvjW5F/05bcXRpnrbeNNafckA6RhKPjoyMg+OKAiEAuPNiM37le7yslXMcdtbwgYzHdkZ4nApRuHrDmn8KEp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18292},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/servers/xrpc-server-node"},"description":"Node.js WebSocket adapter for @atcute/xrpc-server","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","@types/ws":"^8.18.1","@types/node":"^25.9.0","@atcute/cbor":"^2.3.3","@atcute/atproto":"^4.0.1","@atcute/lexicons":"^2.0.0","@atcute/xrpc-server":"^2.0.0","@remix-run/node-fetch-server":"^0.13.1"},"peerDependencies":{"@atcute/xrpc-server":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/xrpc-server-node_2.1.0_1779799326054_0.27604715709490546","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@atcute/xrpc-server-node","version":"2.1.1","license":"0BSD","_id":"@atcute/xrpc-server-node@2.1.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"692d173f377d4d6fd6ec411390250452d6b63f46","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-2.1.1.tgz","fileCount":5,"integrity":"sha512-NvGv0TxIVj9rxSRHCY2bWYTSmlFp+H6ugZCjTyexeTzF/6/nRYenZSQhfruI4ugr2FuO3BsqOkUmp61DuYJ/MA==","signatures":[{"sig":"MEYCIQDUEA8bsS4AFADdHQm7TbDLlmiGujJt14hnvrUeSghlJgIhAIxFmmv06U6P/7ZMZ3h6S3CVSLVeCKI/vukd9P0UfIfQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8563},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/servers/xrpc-server-node"},"description":"Node.js WebSocket adapter for @atcute/xrpc-server","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","@types/ws":"^8.18.1","@types/node":"^25.9.4","@atcute/cbor":"^2.3.5","@atcute/atproto":"^4.0.3","@atcute/lexicons":"^2.0.2","@atcute/xrpc-server":"^2.0.1","@remix-run/node-fetch-server":"^0.13.3"},"peerDependencies":{"@atcute/xrpc-server":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/xrpc-server-node_2.1.1_1782777151671_0.08935624281195031","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@atcute/xrpc-server-node","version":"2.1.2","description":"Node.js WebSocket adapter for @atcute/xrpc-server","license":"0BSD","repository":{"url":"https://tangled.org/did:plc:pljn5qch4tgadongtc7i6qij","directory":"packages/servers/xrpc-server-node"},"type":"module","exports":{".":"./dist/index.js"},"publishConfig":{"access":"public"},"dependencies":{"ws":"^8.21.3"},"devDependencies":{"@atcute/atproto":"^4.0.4","@atcute/cbor":"^2.3.7","@atcute/lexicons":"^2.1.0","@atcute/xrpc-server":"^2.0.3","@remix-run/node-fetch-server":"^0.14.1","@types/node":"^26.4.0","@types/ws":"^8.18.1","vitest":"^4.1.11"},"peerDependencies":{"@atcute/xrpc-server":"^2.0.3"},"scripts":{"build":"tsc","test":"vitest run","prepublish":"rm -rf dist; pnpm run build"},"_id":"@atcute/xrpc-server-node@2.1.2","dist":{"integrity":"sha512-o3DUH/4WcYWMHeBRh2BwqA0ImBY4+m5d7hnkZJ+ZioUrLZxqW4x0tjpEBln6MGhYgTeiLbmNQ9qq213ykGMj7w==","shasum":"2df4cdfff39b9ac95d35da9d42d2540d356bf7c2","tarball":"https://registry.npmjs.org/@atcute/xrpc-server-node/-/xrpc-server-node-2.1.2.tgz","fileCount":5,"unpackedSize":8388,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBoWVnDaaw7b4zya6JUeuf40IEWVsjnC6djyKvN3gaGcAiB1+2LAWFE2InIdYDAqfO9v1m7hysQv1betoU2wo8tG6w=="}]},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"directories":{},"maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xrpc-server-node_2.1.2_1789047720455_0.5768975915924028"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-25T04:05:10.257Z","modified":"2026-09-10T13:42:00.815Z","0.1.0":"2025-10-25T04:05:10.524Z","0.1.1":"2026-02-24T01:01:16.937Z","1.0.0":"2026-05-08T02:00:34.659Z","2.0.0":"2026-05-09T07:47:09.453Z","2.1.0":"2026-05-26T12:42:06.202Z","2.1.1":"2026-06-29T23:52:31.798Z","2.1.2":"2026-09-10T13:42:00.616Z"},"license":"0BSD","repository":{"url":"https://tangled.org/did:plc:pljn5qch4tgadongtc7i6qij","directory":"packages/servers/xrpc-server-node"},"description":"Node.js WebSocket adapter for @atcute/xrpc-server","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"readme":"# @atcute/xrpc-server-node\n\nNode.js WebSocket adapter for [`@atcute/xrpc-server`](../xrpc-server/).\n\n```sh\nnpm install @atcute/xrpc-server-node\n```\n\nsee the [subscriptions section](../xrpc-server/#subscriptions) in the main package for usage\ndetails.\n\n```ts\nimport * as http from 'node:http';\nimport { createRequestListener } from '@remix-run/node-fetch-server';\nimport { XRPCRouter } from '@atcute/xrpc-server';\nimport { createNodeWebSocket } from '@atcute/xrpc-server-node';\n\nimport { ComExampleSubscribe } from './lexicons/index.js';\n\nconst ws = createNodeWebSocket();\nconst router = new XRPCRouter({ websocket: ws.adapter });\n\nrouter.addSubscription(ComExampleSubscribe.mainSchema, {\n\tasync *handler({ params, signal }) {\n\t\twhile (!signal.aborted) {\n\t\t\tyield {\n\t\t\t\t// ...\n\t\t\t};\n\t\t}\n\t},\n});\n\nconst server = http.createServer(createRequestListener(router.fetch));\nws.injectWebSocket(server, router);\n\nserver.listen(3000, () => {\n\tconsole.log('listening on port 3000');\n});\n```\n","readmeFilename":""}